--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+leecher2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+leecher3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+leecher4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+leecher5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+leecher6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+leecher7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+leecher8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+leecher9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+leecher10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+leecher11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+leecher12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+leecher13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+leecher14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+leecher15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+leecher16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+leecher17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+leecher18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+leecher19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+leecher20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher2$dlspeed <- leecher2$dlspeed*8/1000
+leecher3$dlspeed <- leecher3$dlspeed*8/1000
+leecher4$dlspeed <- leecher4$dlspeed*8/1000
+leecher5$dlspeed <- leecher5$dlspeed*8/1000
+leecher6$dlspeed <- leecher6$dlspeed*8/1000
+leecher7$dlspeed <- leecher7$dlspeed*8/1000
+leecher8$dlspeed <- leecher8$dlspeed*8/1000
+leecher9$dlspeed <- leecher9$dlspeed*8/1000
+leecher10$dlspeed <- leecher10$dlspeed*8/1000
+leecher11$dlspeed <- leecher11$dlspeed*8/1000
+leecher12$dlspeed <- leecher12$dlspeed*8/1000
+leecher13$dlspeed <- leecher13$dlspeed*8/1000
+leecher14$dlspeed <- leecher14$dlspeed*8/1000
+leecher15$dlspeed <- leecher15$dlspeed*8/1000
+leecher16$dlspeed <- leecher16$dlspeed*8/1000
+leecher17$dlspeed <- leecher17$dlspeed*8/1000
+leecher18$dlspeed <- leecher18$dlspeed*8/1000
+leecher19$dlspeed <- leecher19$dlspeed*8/1000
+leecher20$dlspeed <- leecher20$dlspeed*8/1000
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher2$percent, y=leecher2$dlspeed, label="Leecher 2"), size=1) +
+geom_point(aes(x=leecher3$percent, y=leecher3$dlspeed, label="Leecher 3"), size=1) +
+geom_point(aes(x=leecher4$percent, y=leecher4$dlspeed, label="Leecher 4"), size=1) +
+geom_point(aes(x=leecher5$percent, y=leecher5$dlspeed, label="Leecher 5"), size=1) +
+geom_point(aes(x=leecher6$percent, y=leecher6$dlspeed, label="Leecher 6"), size=1) +
+geom_point(aes(x=leecher7$percent, y=leecher7$dlspeed, label="Leecher 7"), size=1) +
+geom_point(aes(x=leecher8$percent, y=leecher8$dlspeed, label="Leecher 8"), size=1) +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 1), breaks=seq(0, 1, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-1.01: a test swarm ( 1 Seeders, 89 Leechers), alter number of seeders/leechers; 1Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-1.01-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-1.01-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher2$percent, y=leecher2$dlspeed, label="Leecher 2"), size=1) +
+geom_point(aes(x=leecher3$percent, y=leecher3$dlspeed, label="Leecher 3"), size=1) +
+geom_point(aes(x=leecher4$percent, y=leecher4$dlspeed, label="Leecher 4"), size=1) +
+geom_point(aes(x=leecher5$percent, y=leecher5$dlspeed, label="Leecher 5"), size=1) +
+geom_point(aes(x=leecher6$percent, y=leecher6$dlspeed, label="Leecher 6"), size=1) +
+geom_point(aes(x=leecher7$percent, y=leecher7$dlspeed, label="Leecher 7"), size=1) +
+geom_point(aes(x=leecher8$percent, y=leecher8$dlspeed, label="Leecher 8"), size=1) +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 1), breaks=seq(0, 1, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-1.01: a test swarm ( 1 Seeders, 89 Leechers), alter number of seeders/leechers; 1Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-1.01-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-1.01-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 1.01
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 1.01
+# Description: alter number of seeders/leechers; 1Mbit limitation
+# Number of seeders: 1
+# Number of leechers: 89
+# Maximum download: 1
+# Maximum upload: 1
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+leecher11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+leecher12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+leecher13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+leecher14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+leecher15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+leecher16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+leecher17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+leecher18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+leecher19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+leecher20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher11$dlspeed <- leecher11$dlspeed*8/1000
+leecher12$dlspeed <- leecher12$dlspeed*8/1000
+leecher13$dlspeed <- leecher13$dlspeed*8/1000
+leecher14$dlspeed <- leecher14$dlspeed*8/1000
+leecher15$dlspeed <- leecher15$dlspeed*8/1000
+leecher16$dlspeed <- leecher16$dlspeed*8/1000
+leecher17$dlspeed <- leecher17$dlspeed*8/1000
+leecher18$dlspeed <- leecher18$dlspeed*8/1000
+leecher19$dlspeed <- leecher19$dlspeed*8/1000
+leecher20$dlspeed <- leecher20$dlspeed*8/1000
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 1), breaks=seq(0, 1, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-1.02: a test swarm ( 10 Seeders, 80 Leechers), alter number of seeders/leechers; 1Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-1.02-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-1.02-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 1), breaks=seq(0, 1, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-1.02: a test swarm ( 10 Seeders, 80 Leechers), alter number of seeders/leechers; 1Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-1.02-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-1.02-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 1.02
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 1.02
+# Description: alter number of seeders/leechers; 1Mbit limitation
+# Number of seeders: 10
+# Number of leechers: 80
+# Maximum download: 1
+# Maximum upload: 1
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 1), breaks=seq(0, 1, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-1.03: a test swarm ( 20 Seeders, 70 Leechers), alter number of seeders/leechers; 1Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-1.03-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-1.03-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 1), breaks=seq(0, 1, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-1.03: a test swarm ( 20 Seeders, 70 Leechers), alter number of seeders/leechers; 1Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-1.03-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-1.03-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 1.03
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 1.03
+# Description: alter number of seeders/leechers; 1Mbit limitation
+# Number of seeders: 20
+# Number of leechers: 70
+# Maximum download: 1
+# Maximum upload: 1
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 1), breaks=seq(0, 1, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-1.04: a test swarm ( 30 Seeders, 60 Leechers), alter number of seeders/leechers; 1Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-1.04-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-1.04-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 1), breaks=seq(0, 1, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-1.04: a test swarm ( 30 Seeders, 60 Leechers), alter number of seeders/leechers; 1Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-1.04-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-1.04-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 1.04
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 1.04
+# Description: alter number of seeders/leechers; 1Mbit limitation
+# Number of seeders: 30
+# Number of leechers: 60
+# Maximum download: 1
+# Maximum upload: 1
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 1), breaks=seq(0, 1, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-1.05: a test swarm ( 40 Seeders, 50 Leechers), alter number of seeders/leechers; 1Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-1.05-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-1.05-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 1), breaks=seq(0, 1, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-1.05: a test swarm ( 40 Seeders, 50 Leechers), alter number of seeders/leechers; 1Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-1.05-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-1.05-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 1.05
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 1.05
+# Description: alter number of seeders/leechers; 1Mbit limitation
+# Number of seeders: 40
+# Number of leechers: 50
+# Maximum download: 1
+# Maximum upload: 1
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 1), breaks=seq(0, 1, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-1.06: a test swarm ( 45 Seeders, 45 Leechers), alter number of seeders/leechers; 1Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-1.06-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-1.06-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 1), breaks=seq(0, 1, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-1.06: a test swarm ( 45 Seeders, 45 Leechers), alter number of seeders/leechers; 1Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-1.06-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-1.06-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 1.06
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 1.06
+# Description: alter number of seeders/leechers; 1Mbit limitation
+# Number of seeders: 45
+# Number of leechers: 45
+# Maximum download: 1
+# Maximum upload: 1
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 1), breaks=seq(0, 1, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-1.07: a test swarm ( 50 Seeders, 40 Leechers), alter number of seeders/leechers; 1Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-1.07-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-1.07-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 1), breaks=seq(0, 1, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-1.07: a test swarm ( 50 Seeders, 40 Leechers), alter number of seeders/leechers; 1Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-1.07-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-1.07-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 1.07
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 1.07
+# Description: alter number of seeders/leechers; 1Mbit limitation
+# Number of seeders: 50
+# Number of leechers: 40
+# Maximum download: 1
+# Maximum upload: 1
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 1), breaks=seq(0, 1, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-1.08: a test swarm ( 60 Seeders, 30 Leechers), alter number of seeders/leechers; 1Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-1.08-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-1.08-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 1), breaks=seq(0, 1, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-1.08: a test swarm ( 60 Seeders, 30 Leechers), alter number of seeders/leechers; 1Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-1.08-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-1.08-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 1.08
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 1.08
+# Description: alter number of seeders/leechers; 1Mbit limitation
+# Number of seeders: 60
+# Number of leechers: 30
+# Maximum download: 1
+# Maximum upload: 1
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+seeder61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+seeder62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+seeder63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+seeder64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+seeder65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+seeder66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+seeder67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+seeder68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+seeder69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+seeder70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 1), breaks=seq(0, 1, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-1.09: a test swarm ( 70 Seeders, 20 Leechers), alter number of seeders/leechers; 1Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-1.09-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-1.09-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 1), breaks=seq(0, 1, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-1.09: a test swarm ( 70 Seeders, 20 Leechers), alter number of seeders/leechers; 1Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-1.09-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-1.09-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 1.09
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 1.09
+# Description: alter number of seeders/leechers; 1Mbit limitation
+# Number of seeders: 70
+# Number of leechers: 20
+# Maximum download: 1
+# Maximum upload: 1
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+seeder61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+seeder62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+seeder63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+seeder64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+seeder65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+seeder66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+seeder67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+seeder68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+seeder69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+seeder70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+seeder71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+seeder72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+seeder73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+seeder74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+seeder75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+seeder76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+seeder77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+seeder78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+seeder79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+seeder80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 1), breaks=seq(0, 1, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-1.10: a test swarm ( 80 Seeders, 10 Leechers), alter number of seeders/leechers; 1Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-1.10-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-1.10-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 1), breaks=seq(0, 1, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-1.10: a test swarm ( 80 Seeders, 10 Leechers), alter number of seeders/leechers; 1Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-1.10-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-1.10-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 1.10
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 1.10
+# Description: alter number of seeders/leechers; 1Mbit limitation
+# Number of seeders: 80
+# Number of leechers: 10
+# Maximum download: 1
+# Maximum upload: 1
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+seeder61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+seeder62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+seeder63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+seeder64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+seeder65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+seeder66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+seeder67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+seeder68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+seeder69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+seeder70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+seeder71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+seeder72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+seeder73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+seeder74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+seeder75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+seeder76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+seeder77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+seeder78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+seeder79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+seeder80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+seeder81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+seeder82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+seeder83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+seeder84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+seeder85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+seeder86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+seeder87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+seeder88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+seeder89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 1), breaks=seq(0, 1, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-1.11: a test swarm ( 89 Seeders, 1 Leechers), alter number of seeders/leechers; 1Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-1.11-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-1.11-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 1), breaks=seq(0, 1, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-1.11: a test swarm ( 89 Seeders, 1 Leechers), alter number of seeders/leechers; 1Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-1.11-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-1.11-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 1.11
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 1.11
+# Description: alter number of seeders/leechers; 1Mbit limitation
+# Number of seeders: 89
+# Number of leechers: 1
+# Maximum download: 1
+# Maximum upload: 1
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-10.01: a test swarm ( 60 Seeders, 30 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-10.01-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-10.01-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-10.01: a test swarm ( 60 Seeders, 30 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-10.01-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-10.01-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 10.01
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 10.01
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 60
+# Number of leechers: 30
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-10.02: a test swarm ( 60 Seeders, 30 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-10.02-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-10.02-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-10.02: a test swarm ( 60 Seeders, 30 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-10.02-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-10.02-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 10.02
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 10.02
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 60
+# Number of leechers: 30
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-10.03: a test swarm ( 60 Seeders, 30 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-10.03-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-10.03-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-10.03: a test swarm ( 60 Seeders, 30 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-10.03-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-10.03-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 10.03
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 10.03
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 60
+# Number of leechers: 30
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-10.04: a test swarm ( 60 Seeders, 30 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-10.04-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-10.04-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-10.04: a test swarm ( 60 Seeders, 30 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-10.04-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-10.04-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 10.04
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 10.04
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 60
+# Number of leechers: 30
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-10.05: a test swarm ( 60 Seeders, 30 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-10.05-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-10.05-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-10.05: a test swarm ( 60 Seeders, 30 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-10.05-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-10.05-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 10.05
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 10.05
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 60
+# Number of leechers: 30
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-10.06: a test swarm ( 60 Seeders, 30 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-10.06-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-10.06-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-10.06: a test swarm ( 60 Seeders, 30 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-10.06-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-10.06-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 10.06
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 10.06
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 60
+# Number of leechers: 30
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-10.07: a test swarm ( 60 Seeders, 30 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-10.07-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-10.07-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-10.07: a test swarm ( 60 Seeders, 30 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-10.07-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-10.07-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 10.07
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 10.07
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 60
+# Number of leechers: 30
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-10.08: a test swarm ( 60 Seeders, 30 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-10.08-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-10.08-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-10.08: a test swarm ( 60 Seeders, 30 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-10.08-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-10.08-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 10.08
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 10.08
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 60
+# Number of leechers: 30
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-10.09: a test swarm ( 60 Seeders, 30 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-10.09-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-10.09-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-10.09: a test swarm ( 60 Seeders, 30 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-10.09-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-10.09-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 10.09
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 10.09
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 60
+# Number of leechers: 30
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-10.10: a test swarm ( 60 Seeders, 30 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-10.10-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-10.10-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-10.10: a test swarm ( 60 Seeders, 30 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-10.10-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-10.10-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 10.10
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 10.10
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 60
+# Number of leechers: 30
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+seeder61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+seeder62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+seeder63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+seeder64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+seeder65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+seeder66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+seeder67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+seeder68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+seeder69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+seeder70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+seeder71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+seeder72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+seeder73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+seeder74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+seeder75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+seeder76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+seeder77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+seeder78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+seeder79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+seeder80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-11.01: a test swarm ( 80 Seeders, 10 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-11.01-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-11.01-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-11.01: a test swarm ( 80 Seeders, 10 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-11.01-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-11.01-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 11.01
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 11.01
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 80
+# Number of leechers: 10
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+seeder61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+seeder62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+seeder63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+seeder64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+seeder65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+seeder66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+seeder67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+seeder68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+seeder69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+seeder70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+seeder71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+seeder72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+seeder73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+seeder74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+seeder75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+seeder76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+seeder77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+seeder78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+seeder79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+seeder80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-11.02: a test swarm ( 80 Seeders, 10 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-11.02-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-11.02-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-11.02: a test swarm ( 80 Seeders, 10 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-11.02-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-11.02-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 11.02
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 11.02
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 80
+# Number of leechers: 10
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+seeder61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+seeder62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+seeder63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+seeder64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+seeder65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+seeder66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+seeder67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+seeder68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+seeder69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+seeder70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+seeder71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+seeder72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+seeder73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+seeder74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+seeder75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+seeder76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+seeder77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+seeder78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+seeder79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+seeder80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-11.03: a test swarm ( 80 Seeders, 10 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-11.03-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-11.03-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-11.03: a test swarm ( 80 Seeders, 10 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-11.03-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-11.03-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 11.03
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 11.03
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 80
+# Number of leechers: 10
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+seeder61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+seeder62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+seeder63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+seeder64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+seeder65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+seeder66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+seeder67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+seeder68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+seeder69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+seeder70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+seeder71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+seeder72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+seeder73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+seeder74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+seeder75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+seeder76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+seeder77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+seeder78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+seeder79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+seeder80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-11.04: a test swarm ( 80 Seeders, 10 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-11.04-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-11.04-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-11.04: a test swarm ( 80 Seeders, 10 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-11.04-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-11.04-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 11.04
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 11.04
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 80
+# Number of leechers: 10
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+seeder61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+seeder62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+seeder63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+seeder64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+seeder65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+seeder66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+seeder67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+seeder68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+seeder69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+seeder70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+seeder71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+seeder72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+seeder73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+seeder74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+seeder75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+seeder76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+seeder77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+seeder78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+seeder79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+seeder80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-11.05: a test swarm ( 80 Seeders, 10 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-11.05-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-11.05-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-11.05: a test swarm ( 80 Seeders, 10 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-11.05-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-11.05-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 11.05
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 11.05
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 80
+# Number of leechers: 10
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+seeder61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+seeder62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+seeder63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+seeder64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+seeder65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+seeder66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+seeder67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+seeder68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+seeder69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+seeder70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+seeder71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+seeder72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+seeder73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+seeder74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+seeder75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+seeder76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+seeder77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+seeder78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+seeder79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+seeder80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-11.06: a test swarm ( 80 Seeders, 10 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-11.06-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-11.06-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-11.06: a test swarm ( 80 Seeders, 10 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-11.06-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-11.06-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 11.06
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 11.06
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 80
+# Number of leechers: 10
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+seeder61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+seeder62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+seeder63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+seeder64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+seeder65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+seeder66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+seeder67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+seeder68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+seeder69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+seeder70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+seeder71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+seeder72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+seeder73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+seeder74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+seeder75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+seeder76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+seeder77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+seeder78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+seeder79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+seeder80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-11.07: a test swarm ( 80 Seeders, 10 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-11.07-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-11.07-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-11.07: a test swarm ( 80 Seeders, 10 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-11.07-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-11.07-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 11.07
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 11.07
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 80
+# Number of leechers: 10
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+seeder61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+seeder62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+seeder63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+seeder64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+seeder65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+seeder66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+seeder67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+seeder68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+seeder69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+seeder70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+seeder71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+seeder72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+seeder73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+seeder74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+seeder75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+seeder76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+seeder77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+seeder78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+seeder79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+seeder80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-11.08: a test swarm ( 80 Seeders, 10 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-11.08-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-11.08-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-11.08: a test swarm ( 80 Seeders, 10 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-11.08-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-11.08-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 11.08
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 11.08
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 80
+# Number of leechers: 10
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+seeder61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+seeder62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+seeder63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+seeder64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+seeder65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+seeder66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+seeder67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+seeder68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+seeder69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+seeder70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+seeder71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+seeder72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+seeder73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+seeder74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+seeder75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+seeder76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+seeder77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+seeder78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+seeder79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+seeder80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-11.09: a test swarm ( 80 Seeders, 10 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-11.09-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-11.09-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-11.09: a test swarm ( 80 Seeders, 10 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-11.09-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-11.09-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 11.09
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 11.09
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 80
+# Number of leechers: 10
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+seeder61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+seeder62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+seeder63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+seeder64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+seeder65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+seeder66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+seeder67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+seeder68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+seeder69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+seeder70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+seeder71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+seeder72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+seeder73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+seeder74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+seeder75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+seeder76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+seeder77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+seeder78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+seeder79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+seeder80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-11.10: a test swarm ( 80 Seeders, 10 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-11.10-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-11.10-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-11.10: a test swarm ( 80 Seeders, 10 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-11.10-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-11.10-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 11.10
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 11.10
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 80
+# Number of leechers: 10
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-12.01: a test swarm ( 30 Seeders, 60 Leechers), alter bandwidth limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-12.01-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-12.01-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-12.01: a test swarm ( 30 Seeders, 60 Leechers), alter bandwidth limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-12.01-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-12.01-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 12.01
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 12.01
+# Description: alter bandwidth limitation
+# Number of seeders: 30
+# Number of leechers: 60
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-12.02: a test swarm ( 30 Seeders, 60 Leechers), alter bandwidth limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-12.02-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-12.02-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-12.02: a test swarm ( 30 Seeders, 60 Leechers), alter bandwidth limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-12.02-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-12.02-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 12.02
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 12.02
+# Description: alter bandwidth limitation
+# Number of seeders: 30
+# Number of leechers: 60
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-12.03: a test swarm ( 30 Seeders, 60 Leechers), alter bandwidth limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-12.03-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-12.03-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-12.03: a test swarm ( 30 Seeders, 60 Leechers), alter bandwidth limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-12.03-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-12.03-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 12.03
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 12.03
+# Description: alter bandwidth limitation
+# Number of seeders: 30
+# Number of leechers: 60
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 1), breaks=seq(0, 1, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-12.04: a test swarm ( 30 Seeders, 60 Leechers), alter bandwidth limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-12.04-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-12.04-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 1), breaks=seq(0, 1, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-12.04: a test swarm ( 30 Seeders, 60 Leechers), alter bandwidth limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-12.04-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-12.04-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 12.04
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 12.04
+# Description: alter bandwidth limitation
+# Number of seeders: 30
+# Number of leechers: 60
+# Maximum download: 1
+# Maximum upload: 1
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 1 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 4), breaks=seq(0, 4, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-12.05: a test swarm ( 30 Seeders, 60 Leechers), alter bandwidth limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-12.05-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-12.05-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 4), breaks=seq(0, 4, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-12.05: a test swarm ( 30 Seeders, 60 Leechers), alter bandwidth limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-12.05-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-12.05-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 12.05
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 12.05
+# Description: alter bandwidth limitation
+# Number of seeders: 30
+# Number of leechers: 60
+# Maximum download: 4
+# Maximum upload: 4
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 4 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-12.06: a test swarm ( 30 Seeders, 60 Leechers), alter bandwidth limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-12.06-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-12.06-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-12.06: a test swarm ( 30 Seeders, 60 Leechers), alter bandwidth limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-12.06-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-12.06-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 12.06
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 12.06
+# Description: alter bandwidth limitation
+# Number of seeders: 30
+# Number of leechers: 60
+# Maximum download: 16
+# Maximum upload: 16
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-12.07: a test swarm ( 30 Seeders, 60 Leechers), alter bandwidth limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-12.07-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-12.07-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-12.07: a test swarm ( 30 Seeders, 60 Leechers), alter bandwidth limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-12.07-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-12.07-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 12.07
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 12.07
+# Description: alter bandwidth limitation
+# Number of seeders: 30
+# Number of leechers: 60
+# Maximum download: 16
+# Maximum upload: 16
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-12.08: a test swarm ( 30 Seeders, 60 Leechers), alter bandwidth limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-12.08-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-12.08-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-12.08: a test swarm ( 30 Seeders, 60 Leechers), alter bandwidth limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-12.08-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-12.08-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 12.08
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 12.08
+# Description: alter bandwidth limitation
+# Number of seeders: 30
+# Number of leechers: 60
+# Maximum download: 16
+# Maximum upload: 16
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 32), breaks=seq(0, 32, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-12.09: a test swarm ( 30 Seeders, 60 Leechers), alter bandwidth limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-12.09-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-12.09-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 32), breaks=seq(0, 32, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-12.09: a test swarm ( 30 Seeders, 60 Leechers), alter bandwidth limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-12.09-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-12.09-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 12.09
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 12.09
+# Description: alter bandwidth limitation
+# Number of seeders: 30
+# Number of leechers: 60
+# Maximum download: 32
+# Maximum upload: 32
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 32 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 32), breaks=seq(0, 32, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-12.10: a test swarm ( 30 Seeders, 60 Leechers), alter bandwidth limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-12.10-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-12.10-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 32), breaks=seq(0, 32, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-12.10: a test swarm ( 30 Seeders, 60 Leechers), alter bandwidth limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-12.10-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-12.10-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 12.10
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 12.10
+# Description: alter bandwidth limitation
+# Number of seeders: 30
+# Number of leechers: 60
+# Maximum download: 32
+# Maximum upload: 32
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 32 100 4 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 32), breaks=seq(0, 32, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-12.11: a test swarm ( 30 Seeders, 60 Leechers), alter bandwidth limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-12.11-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-12.11-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 32), breaks=seq(0, 32, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-12.11: a test swarm ( 30 Seeders, 60 Leechers), alter bandwidth limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-12.11-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-12.11-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 12.11
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 12.11
+# Description: alter bandwidth limitation
+# Number of seeders: 30
+# Number of leechers: 60
+# Maximum download: 32
+# Maximum upload: 32
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 32 100 1 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+leecher2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+leecher3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+leecher4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+leecher5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+leecher6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+leecher7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+leecher8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+leecher9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+leecher10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+leecher11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+leecher12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+leecher13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+leecher14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+leecher15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+leecher16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+leecher17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+leecher18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+leecher19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+leecher20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher2$dlspeed <- leecher2$dlspeed*8/1000
+leecher3$dlspeed <- leecher3$dlspeed*8/1000
+leecher4$dlspeed <- leecher4$dlspeed*8/1000
+leecher5$dlspeed <- leecher5$dlspeed*8/1000
+leecher6$dlspeed <- leecher6$dlspeed*8/1000
+leecher7$dlspeed <- leecher7$dlspeed*8/1000
+leecher8$dlspeed <- leecher8$dlspeed*8/1000
+leecher9$dlspeed <- leecher9$dlspeed*8/1000
+leecher10$dlspeed <- leecher10$dlspeed*8/1000
+leecher11$dlspeed <- leecher11$dlspeed*8/1000
+leecher12$dlspeed <- leecher12$dlspeed*8/1000
+leecher13$dlspeed <- leecher13$dlspeed*8/1000
+leecher14$dlspeed <- leecher14$dlspeed*8/1000
+leecher15$dlspeed <- leecher15$dlspeed*8/1000
+leecher16$dlspeed <- leecher16$dlspeed*8/1000
+leecher17$dlspeed <- leecher17$dlspeed*8/1000
+leecher18$dlspeed <- leecher18$dlspeed*8/1000
+leecher19$dlspeed <- leecher19$dlspeed*8/1000
+leecher20$dlspeed <- leecher20$dlspeed*8/1000
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher2$percent, y=leecher2$dlspeed, label="Leecher 2"), size=1) +
+geom_point(aes(x=leecher3$percent, y=leecher3$dlspeed, label="Leecher 3"), size=1) +
+geom_point(aes(x=leecher4$percent, y=leecher4$dlspeed, label="Leecher 4"), size=1) +
+geom_point(aes(x=leecher5$percent, y=leecher5$dlspeed, label="Leecher 5"), size=1) +
+geom_point(aes(x=leecher6$percent, y=leecher6$dlspeed, label="Leecher 6"), size=1) +
+geom_point(aes(x=leecher7$percent, y=leecher7$dlspeed, label="Leecher 7"), size=1) +
+geom_point(aes(x=leecher8$percent, y=leecher8$dlspeed, label="Leecher 8"), size=1) +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-2.01: a test swarm ( 1 Seeders, 89 Leechers), alter number of seeders/leechers; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-2.01-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-2.01-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher2$percent, y=leecher2$dlspeed, label="Leecher 2"), size=1) +
+geom_point(aes(x=leecher3$percent, y=leecher3$dlspeed, label="Leecher 3"), size=1) +
+geom_point(aes(x=leecher4$percent, y=leecher4$dlspeed, label="Leecher 4"), size=1) +
+geom_point(aes(x=leecher5$percent, y=leecher5$dlspeed, label="Leecher 5"), size=1) +
+geom_point(aes(x=leecher6$percent, y=leecher6$dlspeed, label="Leecher 6"), size=1) +
+geom_point(aes(x=leecher7$percent, y=leecher7$dlspeed, label="Leecher 7"), size=1) +
+geom_point(aes(x=leecher8$percent, y=leecher8$dlspeed, label="Leecher 8"), size=1) +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-2.01: a test swarm ( 1 Seeders, 89 Leechers), alter number of seeders/leechers; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-2.01-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-2.01-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 2.01
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 2.01
+# Description: alter number of seeders/leechers; 8Mbit limitation
+# Number of seeders: 1
+# Number of leechers: 89
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+leecher11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+leecher12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+leecher13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+leecher14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+leecher15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+leecher16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+leecher17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+leecher18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+leecher19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+leecher20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher11$dlspeed <- leecher11$dlspeed*8/1000
+leecher12$dlspeed <- leecher12$dlspeed*8/1000
+leecher13$dlspeed <- leecher13$dlspeed*8/1000
+leecher14$dlspeed <- leecher14$dlspeed*8/1000
+leecher15$dlspeed <- leecher15$dlspeed*8/1000
+leecher16$dlspeed <- leecher16$dlspeed*8/1000
+leecher17$dlspeed <- leecher17$dlspeed*8/1000
+leecher18$dlspeed <- leecher18$dlspeed*8/1000
+leecher19$dlspeed <- leecher19$dlspeed*8/1000
+leecher20$dlspeed <- leecher20$dlspeed*8/1000
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-2.02: a test swarm ( 10 Seeders, 80 Leechers), alter number of seeders/leechers; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-2.02-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-2.02-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-2.02: a test swarm ( 10 Seeders, 80 Leechers), alter number of seeders/leechers; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-2.02-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-2.02-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 2.02
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 2.02
+# Description: alter number of seeders/leechers; 8Mbit limitation
+# Number of seeders: 10
+# Number of leechers: 80
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-2.03: a test swarm ( 20 Seeders, 70 Leechers), alter number of seeders/leechers; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-2.03-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-2.03-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-2.03: a test swarm ( 20 Seeders, 70 Leechers), alter number of seeders/leechers; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-2.03-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-2.03-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 2.03
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 2.03
+# Description: alter number of seeders/leechers; 8Mbit limitation
+# Number of seeders: 20
+# Number of leechers: 70
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-2.04: a test swarm ( 30 Seeders, 60 Leechers), alter number of seeders/leechers; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-2.04-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-2.04-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-2.04: a test swarm ( 30 Seeders, 60 Leechers), alter number of seeders/leechers; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-2.04-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-2.04-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 2.04
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 2.04
+# Description: alter number of seeders/leechers; 8Mbit limitation
+# Number of seeders: 30
+# Number of leechers: 60
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-2.05: a test swarm ( 40 Seeders, 50 Leechers), alter number of seeders/leechers; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-2.05-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-2.05-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-2.05: a test swarm ( 40 Seeders, 50 Leechers), alter number of seeders/leechers; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-2.05-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-2.05-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 2.05
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 2.05
+# Description: alter number of seeders/leechers; 8Mbit limitation
+# Number of seeders: 40
+# Number of leechers: 50
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-2.06: a test swarm ( 45 Seeders, 45 Leechers), alter number of seeders/leechers; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-2.06-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-2.06-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-2.06: a test swarm ( 45 Seeders, 45 Leechers), alter number of seeders/leechers; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-2.06-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-2.06-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 2.06
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 2.06
+# Description: alter number of seeders/leechers; 8Mbit limitation
+# Number of seeders: 45
+# Number of leechers: 45
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-2.07: a test swarm ( 50 Seeders, 40 Leechers), alter number of seeders/leechers; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-2.07-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-2.07-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-2.07: a test swarm ( 50 Seeders, 40 Leechers), alter number of seeders/leechers; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-2.07-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-2.07-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 2.07
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 2.07
+# Description: alter number of seeders/leechers; 8Mbit limitation
+# Number of seeders: 50
+# Number of leechers: 40
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-2.08: a test swarm ( 60 Seeders, 30 Leechers), alter number of seeders/leechers; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-2.08-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-2.08-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-2.08: a test swarm ( 60 Seeders, 30 Leechers), alter number of seeders/leechers; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-2.08-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-2.08-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 2.08
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 2.08
+# Description: alter number of seeders/leechers; 8Mbit limitation
+# Number of seeders: 60
+# Number of leechers: 30
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+seeder61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+seeder62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+seeder63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+seeder64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+seeder65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+seeder66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+seeder67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+seeder68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+seeder69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+seeder70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-2.09: a test swarm ( 70 Seeders, 20 Leechers), alter number of seeders/leechers; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-2.09-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-2.09-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-2.09: a test swarm ( 70 Seeders, 20 Leechers), alter number of seeders/leechers; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-2.09-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-2.09-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 2.09
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 2.09
+# Description: alter number of seeders/leechers; 8Mbit limitation
+# Number of seeders: 70
+# Number of leechers: 20
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+seeder61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+seeder62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+seeder63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+seeder64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+seeder65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+seeder66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+seeder67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+seeder68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+seeder69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+seeder70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+seeder71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+seeder72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+seeder73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+seeder74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+seeder75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+seeder76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+seeder77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+seeder78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+seeder79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+seeder80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-2.10: a test swarm ( 80 Seeders, 10 Leechers), alter number of seeders/leechers; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-2.10-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-2.10-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-2.10: a test swarm ( 80 Seeders, 10 Leechers), alter number of seeders/leechers; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-2.10-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-2.10-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 2.10
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 2.10
+# Description: alter number of seeders/leechers; 8Mbit limitation
+# Number of seeders: 80
+# Number of leechers: 10
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+seeder61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+seeder62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+seeder63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+seeder64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+seeder65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+seeder66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+seeder67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+seeder68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+seeder69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+seeder70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+seeder71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+seeder72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+seeder73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+seeder74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+seeder75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+seeder76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+seeder77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+seeder78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+seeder79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+seeder80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+seeder81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+seeder82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+seeder83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+seeder84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+seeder85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+seeder86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+seeder87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+seeder88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+seeder89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-2.11: a test swarm ( 89 Seeders, 1 Leechers), alter number of seeders/leechers; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-2.11-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-2.11-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-2.11: a test swarm ( 89 Seeders, 1 Leechers), alter number of seeders/leechers; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-2.11-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-2.11-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 2.11
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 2.11
+# Description: alter number of seeders/leechers; 8Mbit limitation
+# Number of seeders: 89
+# Number of leechers: 1
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+leecher2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+leecher3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+leecher4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+leecher5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+leecher6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+leecher7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+leecher8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+leecher9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+leecher10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+leecher11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+leecher12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+leecher13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+leecher14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+leecher15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+leecher16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+leecher17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+leecher18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+leecher19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+leecher20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher2$dlspeed <- leecher2$dlspeed*8/1000
+leecher3$dlspeed <- leecher3$dlspeed*8/1000
+leecher4$dlspeed <- leecher4$dlspeed*8/1000
+leecher5$dlspeed <- leecher5$dlspeed*8/1000
+leecher6$dlspeed <- leecher6$dlspeed*8/1000
+leecher7$dlspeed <- leecher7$dlspeed*8/1000
+leecher8$dlspeed <- leecher8$dlspeed*8/1000
+leecher9$dlspeed <- leecher9$dlspeed*8/1000
+leecher10$dlspeed <- leecher10$dlspeed*8/1000
+leecher11$dlspeed <- leecher11$dlspeed*8/1000
+leecher12$dlspeed <- leecher12$dlspeed*8/1000
+leecher13$dlspeed <- leecher13$dlspeed*8/1000
+leecher14$dlspeed <- leecher14$dlspeed*8/1000
+leecher15$dlspeed <- leecher15$dlspeed*8/1000
+leecher16$dlspeed <- leecher16$dlspeed*8/1000
+leecher17$dlspeed <- leecher17$dlspeed*8/1000
+leecher18$dlspeed <- leecher18$dlspeed*8/1000
+leecher19$dlspeed <- leecher19$dlspeed*8/1000
+leecher20$dlspeed <- leecher20$dlspeed*8/1000
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher2$percent, y=leecher2$dlspeed, label="Leecher 2"), size=1) +
+geom_point(aes(x=leecher3$percent, y=leecher3$dlspeed, label="Leecher 3"), size=1) +
+geom_point(aes(x=leecher4$percent, y=leecher4$dlspeed, label="Leecher 4"), size=1) +
+geom_point(aes(x=leecher5$percent, y=leecher5$dlspeed, label="Leecher 5"), size=1) +
+geom_point(aes(x=leecher6$percent, y=leecher6$dlspeed, label="Leecher 6"), size=1) +
+geom_point(aes(x=leecher7$percent, y=leecher7$dlspeed, label="Leecher 7"), size=1) +
+geom_point(aes(x=leecher8$percent, y=leecher8$dlspeed, label="Leecher 8"), size=1) +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-3.01: a test swarm ( 1 Seeders, 89 Leechers), alter number of seeders/leechers; 16Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-3.01-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-3.01-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher2$percent, y=leecher2$dlspeed, label="Leecher 2"), size=1) +
+geom_point(aes(x=leecher3$percent, y=leecher3$dlspeed, label="Leecher 3"), size=1) +
+geom_point(aes(x=leecher4$percent, y=leecher4$dlspeed, label="Leecher 4"), size=1) +
+geom_point(aes(x=leecher5$percent, y=leecher5$dlspeed, label="Leecher 5"), size=1) +
+geom_point(aes(x=leecher6$percent, y=leecher6$dlspeed, label="Leecher 6"), size=1) +
+geom_point(aes(x=leecher7$percent, y=leecher7$dlspeed, label="Leecher 7"), size=1) +
+geom_point(aes(x=leecher8$percent, y=leecher8$dlspeed, label="Leecher 8"), size=1) +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-3.01: a test swarm ( 1 Seeders, 89 Leechers), alter number of seeders/leechers; 16Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-3.01-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-3.01-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 3.01
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 3.01
+# Description: alter number of seeders/leechers; 16Mbit limitation
+# Number of seeders: 1
+# Number of leechers: 89
+# Maximum download: 16
+# Maximum upload: 16
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+leecher11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+leecher12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+leecher13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+leecher14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+leecher15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+leecher16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+leecher17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+leecher18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+leecher19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+leecher20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher11$dlspeed <- leecher11$dlspeed*8/1000
+leecher12$dlspeed <- leecher12$dlspeed*8/1000
+leecher13$dlspeed <- leecher13$dlspeed*8/1000
+leecher14$dlspeed <- leecher14$dlspeed*8/1000
+leecher15$dlspeed <- leecher15$dlspeed*8/1000
+leecher16$dlspeed <- leecher16$dlspeed*8/1000
+leecher17$dlspeed <- leecher17$dlspeed*8/1000
+leecher18$dlspeed <- leecher18$dlspeed*8/1000
+leecher19$dlspeed <- leecher19$dlspeed*8/1000
+leecher20$dlspeed <- leecher20$dlspeed*8/1000
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-3.02: a test swarm ( 10 Seeders, 80 Leechers), alter number of seeders/leechers; 16Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-3.02-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-3.02-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-3.02: a test swarm ( 10 Seeders, 80 Leechers), alter number of seeders/leechers; 16Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-3.02-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-3.02-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 3.02
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 3.02
+# Description: alter number of seeders/leechers; 16Mbit limitation
+# Number of seeders: 10
+# Number of leechers: 80
+# Maximum download: 16
+# Maximum upload: 16
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-3.03: a test swarm ( 20 Seeders, 70 Leechers), alter number of seeders/leechers; 16Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-3.03-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-3.03-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-3.03: a test swarm ( 20 Seeders, 70 Leechers), alter number of seeders/leechers; 16Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-3.03-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-3.03-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 3.03
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 3.03
+# Description: alter number of seeders/leechers; 16Mbit limitation
+# Number of seeders: 20
+# Number of leechers: 70
+# Maximum download: 16
+# Maximum upload: 16
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-3.04: a test swarm ( 30 Seeders, 60 Leechers), alter number of seeders/leechers; 16Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-3.04-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-3.04-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-3.04: a test swarm ( 30 Seeders, 60 Leechers), alter number of seeders/leechers; 16Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-3.04-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-3.04-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 3.04
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 3.04
+# Description: alter number of seeders/leechers; 16Mbit limitation
+# Number of seeders: 30
+# Number of leechers: 60
+# Maximum download: 16
+# Maximum upload: 16
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-3.05: a test swarm ( 40 Seeders, 50 Leechers), alter number of seeders/leechers; 16Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-3.05-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-3.05-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-3.05: a test swarm ( 40 Seeders, 50 Leechers), alter number of seeders/leechers; 16Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-3.05-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-3.05-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 3.05
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 3.05
+# Description: alter number of seeders/leechers; 16Mbit limitation
+# Number of seeders: 40
+# Number of leechers: 50
+# Maximum download: 16
+# Maximum upload: 16
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-3.06: a test swarm ( 45 Seeders, 45 Leechers), alter number of seeders/leechers; 16Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-3.06-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-3.06-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-3.06: a test swarm ( 45 Seeders, 45 Leechers), alter number of seeders/leechers; 16Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-3.06-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-3.06-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 3.06
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 3.06
+# Description: alter number of seeders/leechers; 16Mbit limitation
+# Number of seeders: 45
+# Number of leechers: 45
+# Maximum download: 16
+# Maximum upload: 16
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-3.07: a test swarm ( 50 Seeders, 40 Leechers), alter number of seeders/leechers; 16Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-3.07-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-3.07-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-3.07: a test swarm ( 50 Seeders, 40 Leechers), alter number of seeders/leechers; 16Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-3.07-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-3.07-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 3.07
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 3.07
+# Description: alter number of seeders/leechers; 16Mbit limitation
+# Number of seeders: 50
+# Number of leechers: 40
+# Maximum download: 16
+# Maximum upload: 16
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-3.08: a test swarm ( 60 Seeders, 30 Leechers), alter number of seeders/leechers; 16Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-3.08-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-3.08-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-3.08: a test swarm ( 60 Seeders, 30 Leechers), alter number of seeders/leechers; 16Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-3.08-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-3.08-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 3.08
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 3.08
+# Description: alter number of seeders/leechers; 16Mbit limitation
+# Number of seeders: 60
+# Number of leechers: 30
+# Maximum download: 16
+# Maximum upload: 16
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+seeder61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+seeder62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+seeder63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+seeder64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+seeder65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+seeder66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+seeder67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+seeder68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+seeder69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+seeder70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-3.09: a test swarm ( 70 Seeders, 20 Leechers), alter number of seeders/leechers; 16Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-3.09-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-3.09-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-3.09: a test swarm ( 70 Seeders, 20 Leechers), alter number of seeders/leechers; 16Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-3.09-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-3.09-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 3.09
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 3.09
+# Description: alter number of seeders/leechers; 16Mbit limitation
+# Number of seeders: 70
+# Number of leechers: 20
+# Maximum download: 16
+# Maximum upload: 16
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+seeder61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+seeder62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+seeder63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+seeder64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+seeder65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+seeder66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+seeder67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+seeder68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+seeder69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+seeder70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+seeder71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+seeder72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+seeder73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+seeder74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+seeder75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+seeder76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+seeder77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+seeder78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+seeder79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+seeder80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-3.10: a test swarm ( 80 Seeders, 10 Leechers), alter number of seeders/leechers; 16Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-3.10-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-3.10-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-3.10: a test swarm ( 80 Seeders, 10 Leechers), alter number of seeders/leechers; 16Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-3.10-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-3.10-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 3.10
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 3.10
+# Description: alter number of seeders/leechers; 16Mbit limitation
+# Number of seeders: 80
+# Number of leechers: 10
+# Maximum download: 16
+# Maximum upload: 16
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+seeder61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+seeder62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+seeder63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+seeder64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+seeder65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+seeder66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+seeder67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+seeder68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+seeder69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+seeder70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+seeder71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+seeder72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+seeder73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+seeder74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+seeder75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+seeder76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+seeder77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+seeder78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+seeder79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+seeder80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+seeder81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+seeder82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+seeder83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+seeder84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+seeder85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+seeder86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+seeder87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+seeder88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+seeder89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-3.11: a test swarm ( 89 Seeders, 1 Leechers), alter number of seeders/leechers; 16Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-3.11-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-3.11-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 16), breaks=seq(0, 16, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-3.11: a test swarm ( 89 Seeders, 1 Leechers), alter number of seeders/leechers; 16Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-3.11-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-3.11-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 3.11
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 3.11
+# Description: alter number of seeders/leechers; 16Mbit limitation
+# Number of seeders: 89
+# Number of leechers: 1
+# Maximum download: 16
+# Maximum upload: 16
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 16 100 16 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+leecher2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+leecher3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+leecher4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+leecher5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+leecher6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+leecher7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+leecher8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+leecher9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+leecher10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+leecher11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+leecher12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+leecher13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+leecher14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+leecher15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+leecher16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+leecher17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+leecher18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+leecher19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+leecher20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher2$dlspeed <- leecher2$dlspeed*8/1000
+leecher3$dlspeed <- leecher3$dlspeed*8/1000
+leecher4$dlspeed <- leecher4$dlspeed*8/1000
+leecher5$dlspeed <- leecher5$dlspeed*8/1000
+leecher6$dlspeed <- leecher6$dlspeed*8/1000
+leecher7$dlspeed <- leecher7$dlspeed*8/1000
+leecher8$dlspeed <- leecher8$dlspeed*8/1000
+leecher9$dlspeed <- leecher9$dlspeed*8/1000
+leecher10$dlspeed <- leecher10$dlspeed*8/1000
+leecher11$dlspeed <- leecher11$dlspeed*8/1000
+leecher12$dlspeed <- leecher12$dlspeed*8/1000
+leecher13$dlspeed <- leecher13$dlspeed*8/1000
+leecher14$dlspeed <- leecher14$dlspeed*8/1000
+leecher15$dlspeed <- leecher15$dlspeed*8/1000
+leecher16$dlspeed <- leecher16$dlspeed*8/1000
+leecher17$dlspeed <- leecher17$dlspeed*8/1000
+leecher18$dlspeed <- leecher18$dlspeed*8/1000
+leecher19$dlspeed <- leecher19$dlspeed*8/1000
+leecher20$dlspeed <- leecher20$dlspeed*8/1000
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher2$percent, y=leecher2$dlspeed, label="Leecher 2"), size=1) +
+geom_point(aes(x=leecher3$percent, y=leecher3$dlspeed, label="Leecher 3"), size=1) +
+geom_point(aes(x=leecher4$percent, y=leecher4$dlspeed, label="Leecher 4"), size=1) +
+geom_point(aes(x=leecher5$percent, y=leecher5$dlspeed, label="Leecher 5"), size=1) +
+geom_point(aes(x=leecher6$percent, y=leecher6$dlspeed, label="Leecher 6"), size=1) +
+geom_point(aes(x=leecher7$percent, y=leecher7$dlspeed, label="Leecher 7"), size=1) +
+geom_point(aes(x=leecher8$percent, y=leecher8$dlspeed, label="Leecher 8"), size=1) +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-4.01: a test swarm ( 1 Seeders, 69 Leechers), alter number of seeders/leechers (70 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-4.01-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-4.01-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher2$percent, y=leecher2$dlspeed, label="Leecher 2"), size=1) +
+geom_point(aes(x=leecher3$percent, y=leecher3$dlspeed, label="Leecher 3"), size=1) +
+geom_point(aes(x=leecher4$percent, y=leecher4$dlspeed, label="Leecher 4"), size=1) +
+geom_point(aes(x=leecher5$percent, y=leecher5$dlspeed, label="Leecher 5"), size=1) +
+geom_point(aes(x=leecher6$percent, y=leecher6$dlspeed, label="Leecher 6"), size=1) +
+geom_point(aes(x=leecher7$percent, y=leecher7$dlspeed, label="Leecher 7"), size=1) +
+geom_point(aes(x=leecher8$percent, y=leecher8$dlspeed, label="Leecher 8"), size=1) +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-4.01: a test swarm ( 1 Seeders, 69 Leechers), alter number of seeders/leechers (70 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-4.01-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-4.01-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 4.01
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 4.01
+# Description: alter number of seeders/leechers (70 peers); 8Mbit limitation
+# Number of seeders: 1
+# Number of leechers: 69
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+leecher11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+leecher12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+leecher13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+leecher14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+leecher15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+leecher16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+leecher17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+leecher18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+leecher19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+leecher20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher11$dlspeed <- leecher11$dlspeed*8/1000
+leecher12$dlspeed <- leecher12$dlspeed*8/1000
+leecher13$dlspeed <- leecher13$dlspeed*8/1000
+leecher14$dlspeed <- leecher14$dlspeed*8/1000
+leecher15$dlspeed <- leecher15$dlspeed*8/1000
+leecher16$dlspeed <- leecher16$dlspeed*8/1000
+leecher17$dlspeed <- leecher17$dlspeed*8/1000
+leecher18$dlspeed <- leecher18$dlspeed*8/1000
+leecher19$dlspeed <- leecher19$dlspeed*8/1000
+leecher20$dlspeed <- leecher20$dlspeed*8/1000
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-4.02: a test swarm ( 10 Seeders, 60 Leechers), alter number of seeders/leechers (70 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-4.02-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-4.02-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-4.02: a test swarm ( 10 Seeders, 60 Leechers), alter number of seeders/leechers (70 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-4.02-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-4.02-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 4.02
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 4.02
+# Description: alter number of seeders/leechers (70 peers); 8Mbit limitation
+# Number of seeders: 10
+# Number of leechers: 60
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-4.03: a test swarm ( 20 Seeders, 50 Leechers), alter number of seeders/leechers (70 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-4.03-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-4.03-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-4.03: a test swarm ( 20 Seeders, 50 Leechers), alter number of seeders/leechers (70 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-4.03-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-4.03-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 4.03
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 4.03
+# Description: alter number of seeders/leechers (70 peers); 8Mbit limitation
+# Number of seeders: 20
+# Number of leechers: 50
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-4.04: a test swarm ( 30 Seeders, 40 Leechers), alter number of seeders/leechers (70 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-4.04-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-4.04-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-4.04: a test swarm ( 30 Seeders, 40 Leechers), alter number of seeders/leechers (70 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-4.04-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-4.04-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 4.04
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 4.04
+# Description: alter number of seeders/leechers (70 peers); 8Mbit limitation
+# Number of seeders: 30
+# Number of leechers: 40
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-4.05: a test swarm ( 35 Seeders, 35 Leechers), alter number of seeders/leechers (70 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-4.05-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-4.05-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-4.05: a test swarm ( 35 Seeders, 35 Leechers), alter number of seeders/leechers (70 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-4.05-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-4.05-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 4.05
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 4.05
+# Description: alter number of seeders/leechers (70 peers); 8Mbit limitation
+# Number of seeders: 35
+# Number of leechers: 35
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-4.06: a test swarm ( 40 Seeders, 30 Leechers), alter number of seeders/leechers (70 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-4.06-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-4.06-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-4.06: a test swarm ( 40 Seeders, 30 Leechers), alter number of seeders/leechers (70 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-4.06-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-4.06-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 4.06
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 4.06
+# Description: alter number of seeders/leechers (70 peers); 8Mbit limitation
+# Number of seeders: 40
+# Number of leechers: 30
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-4.07: a test swarm ( 50 Seeders, 20 Leechers), alter number of seeders/leechers (70 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-4.07-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-4.07-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-4.07: a test swarm ( 50 Seeders, 20 Leechers), alter number of seeders/leechers (70 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-4.07-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-4.07-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 4.07
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 4.07
+# Description: alter number of seeders/leechers (70 peers); 8Mbit limitation
+# Number of seeders: 50
+# Number of leechers: 20
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-4.08: a test swarm ( 60 Seeders, 10 Leechers), alter number of seeders/leechers (70 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-4.08-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-4.08-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-4.08: a test swarm ( 60 Seeders, 10 Leechers), alter number of seeders/leechers (70 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-4.08-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-4.08-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 4.08
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 4.08
+# Description: alter number of seeders/leechers (70 peers); 8Mbit limitation
+# Number of seeders: 60
+# Number of leechers: 10
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+seeder50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+seeder51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+seeder52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+seeder53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+seeder54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+seeder55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+seeder56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+seeder57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+seeder58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+seeder59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+seeder60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+seeder61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+seeder62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+seeder63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+seeder64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+seeder65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+seeder66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+seeder67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+seeder68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+seeder69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-4.09: a test swarm ( 69 Seeders, 1 Leechers), alter number of seeders/leechers (70 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-4.09-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-4.09-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-4.09: a test swarm ( 69 Seeders, 1 Leechers), alter number of seeders/leechers (70 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-4.09-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-4.09-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 4.09
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 4.09
+# Description: alter number of seeders/leechers (70 peers); 8Mbit limitation
+# Number of seeders: 69
+# Number of leechers: 1
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+leecher2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+leecher3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+leecher4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+leecher5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+leecher6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+leecher7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+leecher8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+leecher9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+leecher10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+leecher11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+leecher12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+leecher13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+leecher14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+leecher15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+leecher16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+leecher17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+leecher18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+leecher19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+leecher20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher2$dlspeed <- leecher2$dlspeed*8/1000
+leecher3$dlspeed <- leecher3$dlspeed*8/1000
+leecher4$dlspeed <- leecher4$dlspeed*8/1000
+leecher5$dlspeed <- leecher5$dlspeed*8/1000
+leecher6$dlspeed <- leecher6$dlspeed*8/1000
+leecher7$dlspeed <- leecher7$dlspeed*8/1000
+leecher8$dlspeed <- leecher8$dlspeed*8/1000
+leecher9$dlspeed <- leecher9$dlspeed*8/1000
+leecher10$dlspeed <- leecher10$dlspeed*8/1000
+leecher11$dlspeed <- leecher11$dlspeed*8/1000
+leecher12$dlspeed <- leecher12$dlspeed*8/1000
+leecher13$dlspeed <- leecher13$dlspeed*8/1000
+leecher14$dlspeed <- leecher14$dlspeed*8/1000
+leecher15$dlspeed <- leecher15$dlspeed*8/1000
+leecher16$dlspeed <- leecher16$dlspeed*8/1000
+leecher17$dlspeed <- leecher17$dlspeed*8/1000
+leecher18$dlspeed <- leecher18$dlspeed*8/1000
+leecher19$dlspeed <- leecher19$dlspeed*8/1000
+leecher20$dlspeed <- leecher20$dlspeed*8/1000
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher2$percent, y=leecher2$dlspeed, label="Leecher 2"), size=1) +
+geom_point(aes(x=leecher3$percent, y=leecher3$dlspeed, label="Leecher 3"), size=1) +
+geom_point(aes(x=leecher4$percent, y=leecher4$dlspeed, label="Leecher 4"), size=1) +
+geom_point(aes(x=leecher5$percent, y=leecher5$dlspeed, label="Leecher 5"), size=1) +
+geom_point(aes(x=leecher6$percent, y=leecher6$dlspeed, label="Leecher 6"), size=1) +
+geom_point(aes(x=leecher7$percent, y=leecher7$dlspeed, label="Leecher 7"), size=1) +
+geom_point(aes(x=leecher8$percent, y=leecher8$dlspeed, label="Leecher 8"), size=1) +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-5.01: a test swarm ( 1 Seeders, 49 Leechers), alter number of seeders/leechers (50 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-5.01-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-5.01-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher2$percent, y=leecher2$dlspeed, label="Leecher 2"), size=1) +
+geom_point(aes(x=leecher3$percent, y=leecher3$dlspeed, label="Leecher 3"), size=1) +
+geom_point(aes(x=leecher4$percent, y=leecher4$dlspeed, label="Leecher 4"), size=1) +
+geom_point(aes(x=leecher5$percent, y=leecher5$dlspeed, label="Leecher 5"), size=1) +
+geom_point(aes(x=leecher6$percent, y=leecher6$dlspeed, label="Leecher 6"), size=1) +
+geom_point(aes(x=leecher7$percent, y=leecher7$dlspeed, label="Leecher 7"), size=1) +
+geom_point(aes(x=leecher8$percent, y=leecher8$dlspeed, label="Leecher 8"), size=1) +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-5.01: a test swarm ( 1 Seeders, 49 Leechers), alter number of seeders/leechers (50 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-5.01-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-5.01-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 5.01
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 5.01
+# Description: alter number of seeders/leechers (50 peers); 8Mbit limitation
+# Number of seeders: 1
+# Number of leechers: 49
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+leecher11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+leecher12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+leecher13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+leecher14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+leecher15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+leecher16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+leecher17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+leecher18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+leecher19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+leecher20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher11$dlspeed <- leecher11$dlspeed*8/1000
+leecher12$dlspeed <- leecher12$dlspeed*8/1000
+leecher13$dlspeed <- leecher13$dlspeed*8/1000
+leecher14$dlspeed <- leecher14$dlspeed*8/1000
+leecher15$dlspeed <- leecher15$dlspeed*8/1000
+leecher16$dlspeed <- leecher16$dlspeed*8/1000
+leecher17$dlspeed <- leecher17$dlspeed*8/1000
+leecher18$dlspeed <- leecher18$dlspeed*8/1000
+leecher19$dlspeed <- leecher19$dlspeed*8/1000
+leecher20$dlspeed <- leecher20$dlspeed*8/1000
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-5.02: a test swarm ( 10 Seeders, 40 Leechers), alter number of seeders/leechers (50 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-5.02-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-5.02-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-5.02: a test swarm ( 10 Seeders, 40 Leechers), alter number of seeders/leechers (50 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-5.02-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-5.02-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 5.02
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 5.02
+# Description: alter number of seeders/leechers (50 peers); 8Mbit limitation
+# Number of seeders: 10
+# Number of leechers: 40
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-5.03: a test swarm ( 20 Seeders, 30 Leechers), alter number of seeders/leechers (50 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-5.03-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-5.03-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-5.03: a test swarm ( 20 Seeders, 30 Leechers), alter number of seeders/leechers (50 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-5.03-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-5.03-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 5.03
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 5.03
+# Description: alter number of seeders/leechers (50 peers); 8Mbit limitation
+# Number of seeders: 20
+# Number of leechers: 30
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-5.04: a test swarm ( 20 Seeders, 10 Leechers), alter number of seeders/leechers (30 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-5.04-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-5.04-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-5.04: a test swarm ( 20 Seeders, 10 Leechers), alter number of seeders/leechers (30 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-5.04-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-5.04-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 5.04
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 5.04
+# Description: alter number of seeders/leechers (30 peers); 8Mbit limitation
+# Number of seeders: 20
+# Number of leechers: 10
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-5.05: a test swarm ( 29 Seeders, 1 Leechers), alter number of seeders/leechers (30 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-5.05-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-5.05-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-5.05: a test swarm ( 29 Seeders, 1 Leechers), alter number of seeders/leechers (30 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-5.05-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-5.05-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 5.05
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 5.05
+# Description: alter number of seeders/leechers (30 peers); 8Mbit limitation
+# Number of seeders: 29
+# Number of leechers: 1
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-5.06: a test swarm ( 40 Seeders, 10 Leechers), alter number of seeders/leechers (50 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-5.06-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-5.06-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-5.06: a test swarm ( 40 Seeders, 10 Leechers), alter number of seeders/leechers (50 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-5.06-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-5.06-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 5.06
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 5.06
+# Description: alter number of seeders/leechers (50 peers); 8Mbit limitation
+# Number of seeders: 40
+# Number of leechers: 10
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+seeder31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+seeder32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+seeder33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+seeder34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+seeder35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+seeder36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+seeder37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+seeder38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+seeder39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+seeder40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+seeder41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+seeder42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+seeder43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+seeder44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+seeder45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+seeder46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+seeder47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+seeder48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+seeder49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-5.07: a test swarm ( 49 Seeders, 1 Leechers), alter number of seeders/leechers (50 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-5.07-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-5.07-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-5.07: a test swarm ( 49 Seeders, 1 Leechers), alter number of seeders/leechers (50 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-5.07-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-5.07-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 5.07
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 5.07
+# Description: alter number of seeders/leechers (50 peers); 8Mbit limitation
+# Number of seeders: 49
+# Number of leechers: 1
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+leecher2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+leecher3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+leecher4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+leecher5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+leecher6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+leecher7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+leecher8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+leecher9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+leecher10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+leecher11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+leecher12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+leecher13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+leecher14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+leecher15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+leecher16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+leecher17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+leecher18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+leecher19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+leecher20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher2$dlspeed <- leecher2$dlspeed*8/1000
+leecher3$dlspeed <- leecher3$dlspeed*8/1000
+leecher4$dlspeed <- leecher4$dlspeed*8/1000
+leecher5$dlspeed <- leecher5$dlspeed*8/1000
+leecher6$dlspeed <- leecher6$dlspeed*8/1000
+leecher7$dlspeed <- leecher7$dlspeed*8/1000
+leecher8$dlspeed <- leecher8$dlspeed*8/1000
+leecher9$dlspeed <- leecher9$dlspeed*8/1000
+leecher10$dlspeed <- leecher10$dlspeed*8/1000
+leecher11$dlspeed <- leecher11$dlspeed*8/1000
+leecher12$dlspeed <- leecher12$dlspeed*8/1000
+leecher13$dlspeed <- leecher13$dlspeed*8/1000
+leecher14$dlspeed <- leecher14$dlspeed*8/1000
+leecher15$dlspeed <- leecher15$dlspeed*8/1000
+leecher16$dlspeed <- leecher16$dlspeed*8/1000
+leecher17$dlspeed <- leecher17$dlspeed*8/1000
+leecher18$dlspeed <- leecher18$dlspeed*8/1000
+leecher19$dlspeed <- leecher19$dlspeed*8/1000
+leecher20$dlspeed <- leecher20$dlspeed*8/1000
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher2$percent, y=leecher2$dlspeed, label="Leecher 2"), size=1) +
+geom_point(aes(x=leecher3$percent, y=leecher3$dlspeed, label="Leecher 3"), size=1) +
+geom_point(aes(x=leecher4$percent, y=leecher4$dlspeed, label="Leecher 4"), size=1) +
+geom_point(aes(x=leecher5$percent, y=leecher5$dlspeed, label="Leecher 5"), size=1) +
+geom_point(aes(x=leecher6$percent, y=leecher6$dlspeed, label="Leecher 6"), size=1) +
+geom_point(aes(x=leecher7$percent, y=leecher7$dlspeed, label="Leecher 7"), size=1) +
+geom_point(aes(x=leecher8$percent, y=leecher8$dlspeed, label="Leecher 8"), size=1) +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-6.01: a test swarm ( 1 Seeders, 29 Leechers), alter number of seeders/leechers (30 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-6.01-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-6.01-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher2$percent, y=leecher2$dlspeed, label="Leecher 2"), size=1) +
+geom_point(aes(x=leecher3$percent, y=leecher3$dlspeed, label="Leecher 3"), size=1) +
+geom_point(aes(x=leecher4$percent, y=leecher4$dlspeed, label="Leecher 4"), size=1) +
+geom_point(aes(x=leecher5$percent, y=leecher5$dlspeed, label="Leecher 5"), size=1) +
+geom_point(aes(x=leecher6$percent, y=leecher6$dlspeed, label="Leecher 6"), size=1) +
+geom_point(aes(x=leecher7$percent, y=leecher7$dlspeed, label="Leecher 7"), size=1) +
+geom_point(aes(x=leecher8$percent, y=leecher8$dlspeed, label="Leecher 8"), size=1) +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-6.01: a test swarm ( 1 Seeders, 29 Leechers), alter number of seeders/leechers (30 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-6.01-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-6.01-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 6.01
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 6.01
+# Description: alter number of seeders/leechers (30 peers); 8Mbit limitation
+# Number of seeders: 1
+# Number of leechers: 29
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+leecher11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+leecher12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+leecher13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+leecher14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+leecher15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+leecher16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+leecher17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+leecher18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+leecher19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+leecher20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher11$dlspeed <- leecher11$dlspeed*8/1000
+leecher12$dlspeed <- leecher12$dlspeed*8/1000
+leecher13$dlspeed <- leecher13$dlspeed*8/1000
+leecher14$dlspeed <- leecher14$dlspeed*8/1000
+leecher15$dlspeed <- leecher15$dlspeed*8/1000
+leecher16$dlspeed <- leecher16$dlspeed*8/1000
+leecher17$dlspeed <- leecher17$dlspeed*8/1000
+leecher18$dlspeed <- leecher18$dlspeed*8/1000
+leecher19$dlspeed <- leecher19$dlspeed*8/1000
+leecher20$dlspeed <- leecher20$dlspeed*8/1000
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-6.02: a test swarm ( 10 Seeders, 20 Leechers), alter number of seeders/leechers (30 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-6.02-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-6.02-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-6.02: a test swarm ( 10 Seeders, 20 Leechers), alter number of seeders/leechers (30 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-6.02-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-6.02-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 6.02
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 6.02
+# Description: alter number of seeders/leechers (30 peers); 8Mbit limitation
+# Number of seeders: 10
+# Number of leechers: 20
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+leecher16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+leecher17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+leecher18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+leecher19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+leecher20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher16$dlspeed <- leecher16$dlspeed*8/1000
+leecher17$dlspeed <- leecher17$dlspeed*8/1000
+leecher18$dlspeed <- leecher18$dlspeed*8/1000
+leecher19$dlspeed <- leecher19$dlspeed*8/1000
+leecher20$dlspeed <- leecher20$dlspeed*8/1000
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-6.03: a test swarm ( 15 Seeders, 15 Leechers), alter number of seeders/leechers (30 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-6.03-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-6.03-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-6.03: a test swarm ( 15 Seeders, 15 Leechers), alter number of seeders/leechers (30 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-6.03-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-6.03-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 6.03
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 6.03
+# Description: alter number of seeders/leechers (30 peers); 8Mbit limitation
+# Number of seeders: 15
+# Number of leechers: 15
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+leecher2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+leecher3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+leecher4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+leecher5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+leecher6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+leecher7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+leecher8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+leecher9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+leecher10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher2$dlspeed <- leecher2$dlspeed*8/1000
+leecher3$dlspeed <- leecher3$dlspeed*8/1000
+leecher4$dlspeed <- leecher4$dlspeed*8/1000
+leecher5$dlspeed <- leecher5$dlspeed*8/1000
+leecher6$dlspeed <- leecher6$dlspeed*8/1000
+leecher7$dlspeed <- leecher7$dlspeed*8/1000
+leecher8$dlspeed <- leecher8$dlspeed*8/1000
+leecher9$dlspeed <- leecher9$dlspeed*8/1000
+leecher10$dlspeed <- leecher10$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher2$percent, y=leecher2$dlspeed, label="Leecher 2"), size=1) +
+geom_point(aes(x=leecher3$percent, y=leecher3$dlspeed, label="Leecher 3"), size=1) +
+geom_point(aes(x=leecher4$percent, y=leecher4$dlspeed, label="Leecher 4"), size=1) +
+geom_point(aes(x=leecher5$percent, y=leecher5$dlspeed, label="Leecher 5"), size=1) +
+geom_point(aes(x=leecher6$percent, y=leecher6$dlspeed, label="Leecher 6"), size=1) +
+geom_point(aes(x=leecher7$percent, y=leecher7$dlspeed, label="Leecher 7"), size=1) +
+geom_point(aes(x=leecher8$percent, y=leecher8$dlspeed, label="Leecher 8"), size=1) +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-7.01: a test swarm ( 1 Seeders, 9 Leechers), alter number of seeders/leechers (10 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-7.01-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-7.01-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher2$percent, y=leecher2$dlspeed, label="Leecher 2"), size=1) +
+geom_point(aes(x=leecher3$percent, y=leecher3$dlspeed, label="Leecher 3"), size=1) +
+geom_point(aes(x=leecher4$percent, y=leecher4$dlspeed, label="Leecher 4"), size=1) +
+geom_point(aes(x=leecher5$percent, y=leecher5$dlspeed, label="Leecher 5"), size=1) +
+geom_point(aes(x=leecher6$percent, y=leecher6$dlspeed, label="Leecher 6"), size=1) +
+geom_point(aes(x=leecher7$percent, y=leecher7$dlspeed, label="Leecher 7"), size=1) +
+geom_point(aes(x=leecher8$percent, y=leecher8$dlspeed, label="Leecher 8"), size=1) +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-7.01: a test swarm ( 1 Seeders, 9 Leechers), alter number of seeders/leechers (10 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-7.01-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-7.01-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 7.01
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 7.01
+# Description: alter number of seeders/leechers (10 peers); 8Mbit limitation
+# Number of seeders: 1
+# Number of leechers: 9
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+leecher3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+leecher4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+leecher5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+leecher6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+leecher7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+leecher8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+leecher9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+leecher10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher3$dlspeed <- leecher3$dlspeed*8/1000
+leecher4$dlspeed <- leecher4$dlspeed*8/1000
+leecher5$dlspeed <- leecher5$dlspeed*8/1000
+leecher6$dlspeed <- leecher6$dlspeed*8/1000
+leecher7$dlspeed <- leecher7$dlspeed*8/1000
+leecher8$dlspeed <- leecher8$dlspeed*8/1000
+leecher9$dlspeed <- leecher9$dlspeed*8/1000
+leecher10$dlspeed <- leecher10$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher3$percent, y=leecher3$dlspeed, label="Leecher 3"), size=1) +
+geom_point(aes(x=leecher4$percent, y=leecher4$dlspeed, label="Leecher 4"), size=1) +
+geom_point(aes(x=leecher5$percent, y=leecher5$dlspeed, label="Leecher 5"), size=1) +
+geom_point(aes(x=leecher6$percent, y=leecher6$dlspeed, label="Leecher 6"), size=1) +
+geom_point(aes(x=leecher7$percent, y=leecher7$dlspeed, label="Leecher 7"), size=1) +
+geom_point(aes(x=leecher8$percent, y=leecher8$dlspeed, label="Leecher 8"), size=1) +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-7.02: a test swarm ( 2 Seeders, 8 Leechers), alter number of seeders/leechers (10 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-7.02-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-7.02-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher3$percent, y=leecher3$dlspeed, label="Leecher 3"), size=1) +
+geom_point(aes(x=leecher4$percent, y=leecher4$dlspeed, label="Leecher 4"), size=1) +
+geom_point(aes(x=leecher5$percent, y=leecher5$dlspeed, label="Leecher 5"), size=1) +
+geom_point(aes(x=leecher6$percent, y=leecher6$dlspeed, label="Leecher 6"), size=1) +
+geom_point(aes(x=leecher7$percent, y=leecher7$dlspeed, label="Leecher 7"), size=1) +
+geom_point(aes(x=leecher8$percent, y=leecher8$dlspeed, label="Leecher 8"), size=1) +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-7.02: a test swarm ( 2 Seeders, 8 Leechers), alter number of seeders/leechers (10 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-7.02-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-7.02-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 7.02
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 7.02
+# Description: alter number of seeders/leechers (10 peers); 8Mbit limitation
+# Number of seeders: 2
+# Number of leechers: 8
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+leecher4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+leecher5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+leecher6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+leecher7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+leecher8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+leecher9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+leecher10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher4$dlspeed <- leecher4$dlspeed*8/1000
+leecher5$dlspeed <- leecher5$dlspeed*8/1000
+leecher6$dlspeed <- leecher6$dlspeed*8/1000
+leecher7$dlspeed <- leecher7$dlspeed*8/1000
+leecher8$dlspeed <- leecher8$dlspeed*8/1000
+leecher9$dlspeed <- leecher9$dlspeed*8/1000
+leecher10$dlspeed <- leecher10$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher4$percent, y=leecher4$dlspeed, label="Leecher 4"), size=1) +
+geom_point(aes(x=leecher5$percent, y=leecher5$dlspeed, label="Leecher 5"), size=1) +
+geom_point(aes(x=leecher6$percent, y=leecher6$dlspeed, label="Leecher 6"), size=1) +
+geom_point(aes(x=leecher7$percent, y=leecher7$dlspeed, label="Leecher 7"), size=1) +
+geom_point(aes(x=leecher8$percent, y=leecher8$dlspeed, label="Leecher 8"), size=1) +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-7.03: a test swarm ( 3 Seeders, 7 Leechers), alter number of seeders/leechers (10 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-7.03-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-7.03-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher4$percent, y=leecher4$dlspeed, label="Leecher 4"), size=1) +
+geom_point(aes(x=leecher5$percent, y=leecher5$dlspeed, label="Leecher 5"), size=1) +
+geom_point(aes(x=leecher6$percent, y=leecher6$dlspeed, label="Leecher 6"), size=1) +
+geom_point(aes(x=leecher7$percent, y=leecher7$dlspeed, label="Leecher 7"), size=1) +
+geom_point(aes(x=leecher8$percent, y=leecher8$dlspeed, label="Leecher 8"), size=1) +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-7.03: a test swarm ( 3 Seeders, 7 Leechers), alter number of seeders/leechers (10 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-7.03-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-7.03-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 7.03
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 7.03
+# Description: alter number of seeders/leechers (10 peers); 8Mbit limitation
+# Number of seeders: 3
+# Number of leechers: 7
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+leecher5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+leecher6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+leecher7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+leecher8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+leecher9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+leecher10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher5$dlspeed <- leecher5$dlspeed*8/1000
+leecher6$dlspeed <- leecher6$dlspeed*8/1000
+leecher7$dlspeed <- leecher7$dlspeed*8/1000
+leecher8$dlspeed <- leecher8$dlspeed*8/1000
+leecher9$dlspeed <- leecher9$dlspeed*8/1000
+leecher10$dlspeed <- leecher10$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher5$percent, y=leecher5$dlspeed, label="Leecher 5"), size=1) +
+geom_point(aes(x=leecher6$percent, y=leecher6$dlspeed, label="Leecher 6"), size=1) +
+geom_point(aes(x=leecher7$percent, y=leecher7$dlspeed, label="Leecher 7"), size=1) +
+geom_point(aes(x=leecher8$percent, y=leecher8$dlspeed, label="Leecher 8"), size=1) +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-7.04: a test swarm ( 4 Seeders, 6 Leechers), alter number of seeders/leechers (10 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-7.04-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-7.04-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher5$percent, y=leecher5$dlspeed, label="Leecher 5"), size=1) +
+geom_point(aes(x=leecher6$percent, y=leecher6$dlspeed, label="Leecher 6"), size=1) +
+geom_point(aes(x=leecher7$percent, y=leecher7$dlspeed, label="Leecher 7"), size=1) +
+geom_point(aes(x=leecher8$percent, y=leecher8$dlspeed, label="Leecher 8"), size=1) +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-7.04: a test swarm ( 4 Seeders, 6 Leechers), alter number of seeders/leechers (10 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-7.04-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-7.04-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 7.04
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 7.04
+# Description: alter number of seeders/leechers (10 peers); 8Mbit limitation
+# Number of seeders: 4
+# Number of leechers: 6
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+leecher6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+leecher7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+leecher8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+leecher9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+leecher10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher6$dlspeed <- leecher6$dlspeed*8/1000
+leecher7$dlspeed <- leecher7$dlspeed*8/1000
+leecher8$dlspeed <- leecher8$dlspeed*8/1000
+leecher9$dlspeed <- leecher9$dlspeed*8/1000
+leecher10$dlspeed <- leecher10$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher6$percent, y=leecher6$dlspeed, label="Leecher 6"), size=1) +
+geom_point(aes(x=leecher7$percent, y=leecher7$dlspeed, label="Leecher 7"), size=1) +
+geom_point(aes(x=leecher8$percent, y=leecher8$dlspeed, label="Leecher 8"), size=1) +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-7.05: a test swarm ( 5 Seeders, 5 Leechers), alter number of seeders/leechers (10 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-7.05-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-7.05-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher6$percent, y=leecher6$dlspeed, label="Leecher 6"), size=1) +
+geom_point(aes(x=leecher7$percent, y=leecher7$dlspeed, label="Leecher 7"), size=1) +
+geom_point(aes(x=leecher8$percent, y=leecher8$dlspeed, label="Leecher 8"), size=1) +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-7.05: a test swarm ( 5 Seeders, 5 Leechers), alter number of seeders/leechers (10 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-7.05-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-7.05-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 7.05
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 7.05
+# Description: alter number of seeders/leechers (10 peers); 8Mbit limitation
+# Number of seeders: 5
+# Number of leechers: 5
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+leecher7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+leecher8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+leecher9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+leecher10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher7$dlspeed <- leecher7$dlspeed*8/1000
+leecher8$dlspeed <- leecher8$dlspeed*8/1000
+leecher9$dlspeed <- leecher9$dlspeed*8/1000
+leecher10$dlspeed <- leecher10$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher7$percent, y=leecher7$dlspeed, label="Leecher 7"), size=1) +
+geom_point(aes(x=leecher8$percent, y=leecher8$dlspeed, label="Leecher 8"), size=1) +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-7.06: a test swarm ( 6 Seeders, 4 Leechers), alter number of seeders/leechers (10 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-7.06-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-7.06-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher7$percent, y=leecher7$dlspeed, label="Leecher 7"), size=1) +
+geom_point(aes(x=leecher8$percent, y=leecher8$dlspeed, label="Leecher 8"), size=1) +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-7.06: a test swarm ( 6 Seeders, 4 Leechers), alter number of seeders/leechers (10 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-7.06-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-7.06-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 7.06
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 7.06
+# Description: alter number of seeders/leechers (10 peers); 8Mbit limitation
+# Number of seeders: 6
+# Number of leechers: 4
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+leecher8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+leecher9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+leecher10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher8$dlspeed <- leecher8$dlspeed*8/1000
+leecher9$dlspeed <- leecher9$dlspeed*8/1000
+leecher10$dlspeed <- leecher10$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher8$percent, y=leecher8$dlspeed, label="Leecher 8"), size=1) +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-7.07: a test swarm ( 7 Seeders, 3 Leechers), alter number of seeders/leechers (10 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-7.07-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-7.07-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher8$percent, y=leecher8$dlspeed, label="Leecher 8"), size=1) +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-7.07: a test swarm ( 7 Seeders, 3 Leechers), alter number of seeders/leechers (10 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-7.07-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-7.07-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 7.07
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 7.07
+# Description: alter number of seeders/leechers (10 peers); 8Mbit limitation
+# Number of seeders: 7
+# Number of leechers: 3
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+leecher9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+leecher10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher9$dlspeed <- leecher9$dlspeed*8/1000
+leecher10$dlspeed <- leecher10$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-7.08: a test swarm ( 8 Seeders, 2 Leechers), alter number of seeders/leechers (10 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-7.08-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-7.08-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher9$percent, y=leecher9$dlspeed, label="Leecher 9"), size=1) +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-7.08: a test swarm ( 8 Seeders, 2 Leechers), alter number of seeders/leechers (10 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-7.08-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-7.08-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 7.08
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 7.08
+# Description: alter number of seeders/leechers (10 peers); 8Mbit limitation
+# Number of seeders: 8
+# Number of leechers: 2
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+leecher10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher10$dlspeed <- leecher10$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-7.09: a test swarm ( 9 Seeders, 1 Leechers), alter number of seeders/leechers (10 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-7.09-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-7.09-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher10$percent, y=leecher10$dlspeed, label="Leecher 10"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-7.09: a test swarm ( 9 Seeders, 1 Leechers), alter number of seeders/leechers (10 peers); 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-7.09-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-7.09-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 7.09
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 7.09
+# Description: alter number of seeders/leechers (10 peers); 8Mbit limitation
+# Number of seeders: 9
+# Number of leechers: 1
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 0 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+leecher11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+leecher12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+leecher13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+leecher14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+leecher15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+leecher16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+leecher17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+leecher18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+leecher19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+leecher20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher11$dlspeed <- leecher11$dlspeed*8/1000
+leecher12$dlspeed <- leecher12$dlspeed*8/1000
+leecher13$dlspeed <- leecher13$dlspeed*8/1000
+leecher14$dlspeed <- leecher14$dlspeed*8/1000
+leecher15$dlspeed <- leecher15$dlspeed*8/1000
+leecher16$dlspeed <- leecher16$dlspeed*8/1000
+leecher17$dlspeed <- leecher17$dlspeed*8/1000
+leecher18$dlspeed <- leecher18$dlspeed*8/1000
+leecher19$dlspeed <- leecher19$dlspeed*8/1000
+leecher20$dlspeed <- leecher20$dlspeed*8/1000
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-8.01: a test swarm ( 10 Seeders, 80 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-8.01-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-8.01-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-8.01: a test swarm ( 10 Seeders, 80 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-8.01-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-8.01-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 8.01
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 8.01
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 10
+# Number of leechers: 80
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+leecher11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+leecher12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+leecher13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+leecher14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+leecher15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+leecher16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+leecher17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+leecher18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+leecher19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+leecher20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher11$dlspeed <- leecher11$dlspeed*8/1000
+leecher12$dlspeed <- leecher12$dlspeed*8/1000
+leecher13$dlspeed <- leecher13$dlspeed*8/1000
+leecher14$dlspeed <- leecher14$dlspeed*8/1000
+leecher15$dlspeed <- leecher15$dlspeed*8/1000
+leecher16$dlspeed <- leecher16$dlspeed*8/1000
+leecher17$dlspeed <- leecher17$dlspeed*8/1000
+leecher18$dlspeed <- leecher18$dlspeed*8/1000
+leecher19$dlspeed <- leecher19$dlspeed*8/1000
+leecher20$dlspeed <- leecher20$dlspeed*8/1000
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-8.02: a test swarm ( 10 Seeders, 80 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-8.02-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-8.02-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-8.02: a test swarm ( 10 Seeders, 80 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-8.02-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-8.02-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 8.02
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 8.02
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 10
+# Number of leechers: 80
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+leecher11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+leecher12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+leecher13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+leecher14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+leecher15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+leecher16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+leecher17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+leecher18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+leecher19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+leecher20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher11$dlspeed <- leecher11$dlspeed*8/1000
+leecher12$dlspeed <- leecher12$dlspeed*8/1000
+leecher13$dlspeed <- leecher13$dlspeed*8/1000
+leecher14$dlspeed <- leecher14$dlspeed*8/1000
+leecher15$dlspeed <- leecher15$dlspeed*8/1000
+leecher16$dlspeed <- leecher16$dlspeed*8/1000
+leecher17$dlspeed <- leecher17$dlspeed*8/1000
+leecher18$dlspeed <- leecher18$dlspeed*8/1000
+leecher19$dlspeed <- leecher19$dlspeed*8/1000
+leecher20$dlspeed <- leecher20$dlspeed*8/1000
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-8.03: a test swarm ( 10 Seeders, 80 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-8.03-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-8.03-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-8.03: a test swarm ( 10 Seeders, 80 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-8.03-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-8.03-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 8.03
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 8.03
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 10
+# Number of leechers: 80
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+leecher11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+leecher12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+leecher13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+leecher14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+leecher15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+leecher16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+leecher17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+leecher18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+leecher19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+leecher20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher11$dlspeed <- leecher11$dlspeed*8/1000
+leecher12$dlspeed <- leecher12$dlspeed*8/1000
+leecher13$dlspeed <- leecher13$dlspeed*8/1000
+leecher14$dlspeed <- leecher14$dlspeed*8/1000
+leecher15$dlspeed <- leecher15$dlspeed*8/1000
+leecher16$dlspeed <- leecher16$dlspeed*8/1000
+leecher17$dlspeed <- leecher17$dlspeed*8/1000
+leecher18$dlspeed <- leecher18$dlspeed*8/1000
+leecher19$dlspeed <- leecher19$dlspeed*8/1000
+leecher20$dlspeed <- leecher20$dlspeed*8/1000
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-8.04: a test swarm ( 10 Seeders, 80 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-8.04-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-8.04-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-8.04: a test swarm ( 10 Seeders, 80 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-8.04-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-8.04-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 8.04
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 8.04
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 10
+# Number of leechers: 80
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+leecher11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+leecher12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+leecher13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+leecher14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+leecher15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+leecher16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+leecher17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+leecher18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+leecher19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+leecher20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher11$dlspeed <- leecher11$dlspeed*8/1000
+leecher12$dlspeed <- leecher12$dlspeed*8/1000
+leecher13$dlspeed <- leecher13$dlspeed*8/1000
+leecher14$dlspeed <- leecher14$dlspeed*8/1000
+leecher15$dlspeed <- leecher15$dlspeed*8/1000
+leecher16$dlspeed <- leecher16$dlspeed*8/1000
+leecher17$dlspeed <- leecher17$dlspeed*8/1000
+leecher18$dlspeed <- leecher18$dlspeed*8/1000
+leecher19$dlspeed <- leecher19$dlspeed*8/1000
+leecher20$dlspeed <- leecher20$dlspeed*8/1000
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-8.05: a test swarm ( 10 Seeders, 80 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-8.05-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-8.05-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-8.05: a test swarm ( 10 Seeders, 80 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-8.05-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-8.05-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 8.05
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 8.05
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 10
+# Number of leechers: 80
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+leecher11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+leecher12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+leecher13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+leecher14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+leecher15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+leecher16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+leecher17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+leecher18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+leecher19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+leecher20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher11$dlspeed <- leecher11$dlspeed*8/1000
+leecher12$dlspeed <- leecher12$dlspeed*8/1000
+leecher13$dlspeed <- leecher13$dlspeed*8/1000
+leecher14$dlspeed <- leecher14$dlspeed*8/1000
+leecher15$dlspeed <- leecher15$dlspeed*8/1000
+leecher16$dlspeed <- leecher16$dlspeed*8/1000
+leecher17$dlspeed <- leecher17$dlspeed*8/1000
+leecher18$dlspeed <- leecher18$dlspeed*8/1000
+leecher19$dlspeed <- leecher19$dlspeed*8/1000
+leecher20$dlspeed <- leecher20$dlspeed*8/1000
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-8.06: a test swarm ( 10 Seeders, 80 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-8.06-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-8.06-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-8.06: a test swarm ( 10 Seeders, 80 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-8.06-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-8.06-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 8.06
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 8.06
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 10
+# Number of leechers: 80
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+leecher11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+leecher12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+leecher13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+leecher14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+leecher15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+leecher16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+leecher17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+leecher18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+leecher19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+leecher20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher11$dlspeed <- leecher11$dlspeed*8/1000
+leecher12$dlspeed <- leecher12$dlspeed*8/1000
+leecher13$dlspeed <- leecher13$dlspeed*8/1000
+leecher14$dlspeed <- leecher14$dlspeed*8/1000
+leecher15$dlspeed <- leecher15$dlspeed*8/1000
+leecher16$dlspeed <- leecher16$dlspeed*8/1000
+leecher17$dlspeed <- leecher17$dlspeed*8/1000
+leecher18$dlspeed <- leecher18$dlspeed*8/1000
+leecher19$dlspeed <- leecher19$dlspeed*8/1000
+leecher20$dlspeed <- leecher20$dlspeed*8/1000
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-8.07: a test swarm ( 10 Seeders, 80 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-8.07-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-8.07-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-8.07: a test swarm ( 10 Seeders, 80 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-8.07-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-8.07-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 8.07
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 8.07
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 10
+# Number of leechers: 80
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+leecher11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+leecher12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+leecher13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+leecher14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+leecher15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+leecher16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+leecher17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+leecher18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+leecher19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+leecher20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher11$dlspeed <- leecher11$dlspeed*8/1000
+leecher12$dlspeed <- leecher12$dlspeed*8/1000
+leecher13$dlspeed <- leecher13$dlspeed*8/1000
+leecher14$dlspeed <- leecher14$dlspeed*8/1000
+leecher15$dlspeed <- leecher15$dlspeed*8/1000
+leecher16$dlspeed <- leecher16$dlspeed*8/1000
+leecher17$dlspeed <- leecher17$dlspeed*8/1000
+leecher18$dlspeed <- leecher18$dlspeed*8/1000
+leecher19$dlspeed <- leecher19$dlspeed*8/1000
+leecher20$dlspeed <- leecher20$dlspeed*8/1000
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-8.08: a test swarm ( 10 Seeders, 80 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-8.08-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-8.08-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-8.08: a test swarm ( 10 Seeders, 80 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-8.08-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-8.08-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 8.08
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 8.08
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 10
+# Number of leechers: 80
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+leecher11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+leecher12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+leecher13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+leecher14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+leecher15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+leecher16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+leecher17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+leecher18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+leecher19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+leecher20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher11$dlspeed <- leecher11$dlspeed*8/1000
+leecher12$dlspeed <- leecher12$dlspeed*8/1000
+leecher13$dlspeed <- leecher13$dlspeed*8/1000
+leecher14$dlspeed <- leecher14$dlspeed*8/1000
+leecher15$dlspeed <- leecher15$dlspeed*8/1000
+leecher16$dlspeed <- leecher16$dlspeed*8/1000
+leecher17$dlspeed <- leecher17$dlspeed*8/1000
+leecher18$dlspeed <- leecher18$dlspeed*8/1000
+leecher19$dlspeed <- leecher19$dlspeed*8/1000
+leecher20$dlspeed <- leecher20$dlspeed*8/1000
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-8.09: a test swarm ( 10 Seeders, 80 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-8.09-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-8.09-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-8.09: a test swarm ( 10 Seeders, 80 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-8.09-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-8.09-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 8.09
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 8.09
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 10
+# Number of leechers: 80
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+leecher11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+leecher12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+leecher13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+leecher14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+leecher15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+leecher16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+leecher17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+leecher18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+leecher19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+leecher20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+leecher21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+leecher22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+leecher23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+leecher24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+leecher25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+leecher26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+leecher27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+leecher28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+leecher29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+leecher30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher11$dlspeed <- leecher11$dlspeed*8/1000
+leecher12$dlspeed <- leecher12$dlspeed*8/1000
+leecher13$dlspeed <- leecher13$dlspeed*8/1000
+leecher14$dlspeed <- leecher14$dlspeed*8/1000
+leecher15$dlspeed <- leecher15$dlspeed*8/1000
+leecher16$dlspeed <- leecher16$dlspeed*8/1000
+leecher17$dlspeed <- leecher17$dlspeed*8/1000
+leecher18$dlspeed <- leecher18$dlspeed*8/1000
+leecher19$dlspeed <- leecher19$dlspeed*8/1000
+leecher20$dlspeed <- leecher20$dlspeed*8/1000
+leecher21$dlspeed <- leecher21$dlspeed*8/1000
+leecher22$dlspeed <- leecher22$dlspeed*8/1000
+leecher23$dlspeed <- leecher23$dlspeed*8/1000
+leecher24$dlspeed <- leecher24$dlspeed*8/1000
+leecher25$dlspeed <- leecher25$dlspeed*8/1000
+leecher26$dlspeed <- leecher26$dlspeed*8/1000
+leecher27$dlspeed <- leecher27$dlspeed*8/1000
+leecher28$dlspeed <- leecher28$dlspeed*8/1000
+leecher29$dlspeed <- leecher29$dlspeed*8/1000
+leecher30$dlspeed <- leecher30$dlspeed*8/1000
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-8.10: a test swarm ( 10 Seeders, 80 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-8.10-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-8.10-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher11$percent, y=leecher11$dlspeed, label="Leecher 11"), size=1) +
+geom_point(aes(x=leecher12$percent, y=leecher12$dlspeed, label="Leecher 12"), size=1) +
+geom_point(aes(x=leecher13$percent, y=leecher13$dlspeed, label="Leecher 13"), size=1) +
+geom_point(aes(x=leecher14$percent, y=leecher14$dlspeed, label="Leecher 14"), size=1) +
+geom_point(aes(x=leecher15$percent, y=leecher15$dlspeed, label="Leecher 15"), size=1) +
+geom_point(aes(x=leecher16$percent, y=leecher16$dlspeed, label="Leecher 16"), size=1) +
+geom_point(aes(x=leecher17$percent, y=leecher17$dlspeed, label="Leecher 17"), size=1) +
+geom_point(aes(x=leecher18$percent, y=leecher18$dlspeed, label="Leecher 18"), size=1) +
+geom_point(aes(x=leecher19$percent, y=leecher19$dlspeed, label="Leecher 19"), size=1) +
+geom_point(aes(x=leecher20$percent, y=leecher20$dlspeed, label="Leecher 20"), size=1) +
+geom_point(aes(x=leecher21$percent, y=leecher21$dlspeed, label="Leecher 21"), size=1) +
+geom_point(aes(x=leecher22$percent, y=leecher22$dlspeed, label="Leecher 22"), size=1) +
+geom_point(aes(x=leecher23$percent, y=leecher23$dlspeed, label="Leecher 23"), size=1) +
+geom_point(aes(x=leecher24$percent, y=leecher24$dlspeed, label="Leecher 24"), size=1) +
+geom_point(aes(x=leecher25$percent, y=leecher25$dlspeed, label="Leecher 25"), size=1) +
+geom_point(aes(x=leecher26$percent, y=leecher26$dlspeed, label="Leecher 26"), size=1) +
+geom_point(aes(x=leecher27$percent, y=leecher27$dlspeed, label="Leecher 27"), size=1) +
+geom_point(aes(x=leecher28$percent, y=leecher28$dlspeed, label="Leecher 28"), size=1) +
+geom_point(aes(x=leecher29$percent, y=leecher29$dlspeed, label="Leecher 29"), size=1) +
+geom_point(aes(x=leecher30$percent, y=leecher30$dlspeed, label="Leecher 30"), size=1) +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-8.10: a test swarm ( 10 Seeders, 80 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-8.10-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-8.10-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 8.10
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 8.10
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 10
+# Number of leechers: 80
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-9.01: a test swarm ( 30 Seeders, 60 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-9.01-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-9.01-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-9.01: a test swarm ( 30 Seeders, 60 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-9.01-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-9.01-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 9.01
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 9.01
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 30
+# Number of leechers: 60
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 10 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-9.02: a test swarm ( 30 Seeders, 60 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-9.02-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-9.02-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-9.02: a test swarm ( 30 Seeders, 60 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-9.02-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-9.02-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 9.02
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 9.02
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 30
+# Number of leechers: 60
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 20 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-9.03: a test swarm ( 30 Seeders, 60 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-9.03-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-9.03-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-9.03: a test swarm ( 30 Seeders, 60 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-9.03-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-9.03-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 9.03
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 9.03
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 30
+# Number of leechers: 60
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 30 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-9.04: a test swarm ( 30 Seeders, 60 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-9.04-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-9.04-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-9.04: a test swarm ( 30 Seeders, 60 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-9.04-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-9.04-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 9.04
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 9.04
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 30
+# Number of leechers: 60
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 40 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-9.05: a test swarm ( 30 Seeders, 60 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-9.05-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-9.05-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-9.05: a test swarm ( 30 Seeders, 60 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-9.05-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-9.05-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 9.05
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 9.05
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 30
+# Number of leechers: 60
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 50 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-9.06: a test swarm ( 30 Seeders, 60 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-9.06-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-9.06-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-9.06: a test swarm ( 30 Seeders, 60 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-9.06-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-9.06-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 9.06
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 9.06
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 30
+# Number of leechers: 60
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 60 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-9.07: a test swarm ( 30 Seeders, 60 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-9.07-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-9.07-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-9.07: a test swarm ( 30 Seeders, 60 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-9.07-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-9.07-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 9.07
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 9.07
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 30
+# Number of leechers: 60
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 70 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-9.08: a test swarm ( 30 Seeders, 60 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-9.08-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-9.08-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-9.08: a test swarm ( 30 Seeders, 60 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-9.08-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-9.08-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 9.08
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 9.08
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 30
+# Number of leechers: 60
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 80 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-9.09: a test swarm ( 30 Seeders, 60 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-9.09-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-9.09-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-9.09: a test swarm ( 30 Seeders, 60 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-9.09-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-9.09-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 9.09
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 9.09
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 30
+# Number of leechers: 60
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 90 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+# Read transmitted command line arguments
+args <- commandArgs(trailingOnly = TRUE)
+
+# The data files are located in the target folder. Also, the graph will be saved in the target folder.
+target_folder <- args[2]
+campaign_name <- args[3]
+rm(args)
+
+# read data from the data file
+seeder1=read.table(paste(target_folder, "p2p-next-01-101.log.data", sep="/"), header=T, sep=" ")
+seeder2=read.table(paste(target_folder, "p2p-next-01-102.log.data", sep="/"), header=T, sep=" ")
+seeder3=read.table(paste(target_folder, "p2p-next-01-103.log.data", sep="/"), header=T, sep=" ")
+seeder4=read.table(paste(target_folder, "p2p-next-01-104.log.data", sep="/"), header=T, sep=" ")
+seeder5=read.table(paste(target_folder, "p2p-next-01-105.log.data", sep="/"), header=T, sep=" ")
+seeder6=read.table(paste(target_folder, "p2p-next-01-106.log.data", sep="/"), header=T, sep=" ")
+seeder7=read.table(paste(target_folder, "p2p-next-01-107.log.data", sep="/"), header=T, sep=" ")
+seeder8=read.table(paste(target_folder, "p2p-next-01-108.log.data", sep="/"), header=T, sep=" ")
+seeder9=read.table(paste(target_folder, "p2p-next-01-109.log.data", sep="/"), header=T, sep=" ")
+seeder10=read.table(paste(target_folder, "p2p-next-01-110.log.data", sep="/"), header=T, sep=" ")
+seeder11=read.table(paste(target_folder, "p2p-next-03-101.log.data", sep="/"), header=T, sep=" ")
+seeder12=read.table(paste(target_folder, "p2p-next-03-102.log.data", sep="/"), header=T, sep=" ")
+seeder13=read.table(paste(target_folder, "p2p-next-03-103.log.data", sep="/"), header=T, sep=" ")
+seeder14=read.table(paste(target_folder, "p2p-next-03-104.log.data", sep="/"), header=T, sep=" ")
+seeder15=read.table(paste(target_folder, "p2p-next-03-105.log.data", sep="/"), header=T, sep=" ")
+seeder16=read.table(paste(target_folder, "p2p-next-03-106.log.data", sep="/"), header=T, sep=" ")
+seeder17=read.table(paste(target_folder, "p2p-next-03-107.log.data", sep="/"), header=T, sep=" ")
+seeder18=read.table(paste(target_folder, "p2p-next-03-108.log.data", sep="/"), header=T, sep=" ")
+seeder19=read.table(paste(target_folder, "p2p-next-03-109.log.data", sep="/"), header=T, sep=" ")
+seeder20=read.table(paste(target_folder, "p2p-next-03-110.log.data", sep="/"), header=T, sep=" ")
+seeder21=read.table(paste(target_folder, "p2p-next-04-101.log.data", sep="/"), header=T, sep=" ")
+seeder22=read.table(paste(target_folder, "p2p-next-04-102.log.data", sep="/"), header=T, sep=" ")
+seeder23=read.table(paste(target_folder, "p2p-next-04-103.log.data", sep="/"), header=T, sep=" ")
+seeder24=read.table(paste(target_folder, "p2p-next-04-104.log.data", sep="/"), header=T, sep=" ")
+seeder25=read.table(paste(target_folder, "p2p-next-04-105.log.data", sep="/"), header=T, sep=" ")
+seeder26=read.table(paste(target_folder, "p2p-next-04-106.log.data", sep="/"), header=T, sep=" ")
+seeder27=read.table(paste(target_folder, "p2p-next-04-107.log.data", sep="/"), header=T, sep=" ")
+seeder28=read.table(paste(target_folder, "p2p-next-04-108.log.data", sep="/"), header=T, sep=" ")
+seeder29=read.table(paste(target_folder, "p2p-next-04-109.log.data", sep="/"), header=T, sep=" ")
+seeder30=read.table(paste(target_folder, "p2p-next-04-110.log.data", sep="/"), header=T, sep=" ")
+leecher31=read.table(paste(target_folder, "p2p-next-05-101.log.data", sep="/"), header=T, sep=" ")
+leecher32=read.table(paste(target_folder, "p2p-next-05-102.log.data", sep="/"), header=T, sep=" ")
+leecher33=read.table(paste(target_folder, "p2p-next-05-103.log.data", sep="/"), header=T, sep=" ")
+leecher34=read.table(paste(target_folder, "p2p-next-05-104.log.data", sep="/"), header=T, sep=" ")
+leecher35=read.table(paste(target_folder, "p2p-next-05-105.log.data", sep="/"), header=T, sep=" ")
+leecher36=read.table(paste(target_folder, "p2p-next-05-106.log.data", sep="/"), header=T, sep=" ")
+leecher37=read.table(paste(target_folder, "p2p-next-05-107.log.data", sep="/"), header=T, sep=" ")
+leecher38=read.table(paste(target_folder, "p2p-next-05-108.log.data", sep="/"), header=T, sep=" ")
+leecher39=read.table(paste(target_folder, "p2p-next-05-109.log.data", sep="/"), header=T, sep=" ")
+leecher40=read.table(paste(target_folder, "p2p-next-05-110.log.data", sep="/"), header=T, sep=" ")
+leecher41=read.table(paste(target_folder, "p2p-next-06-101.log.data", sep="/"), header=T, sep=" ")
+leecher42=read.table(paste(target_folder, "p2p-next-06-102.log.data", sep="/"), header=T, sep=" ")
+leecher43=read.table(paste(target_folder, "p2p-next-06-103.log.data", sep="/"), header=T, sep=" ")
+leecher44=read.table(paste(target_folder, "p2p-next-06-104.log.data", sep="/"), header=T, sep=" ")
+leecher45=read.table(paste(target_folder, "p2p-next-06-105.log.data", sep="/"), header=T, sep=" ")
+leecher46=read.table(paste(target_folder, "p2p-next-06-106.log.data", sep="/"), header=T, sep=" ")
+leecher47=read.table(paste(target_folder, "p2p-next-06-107.log.data", sep="/"), header=T, sep=" ")
+leecher48=read.table(paste(target_folder, "p2p-next-06-108.log.data", sep="/"), header=T, sep=" ")
+leecher49=read.table(paste(target_folder, "p2p-next-06-109.log.data", sep="/"), header=T, sep=" ")
+leecher50=read.table(paste(target_folder, "p2p-next-06-110.log.data", sep="/"), header=T, sep=" ")
+leecher51=read.table(paste(target_folder, "p2p-next-07-101.log.data", sep="/"), header=T, sep=" ")
+leecher52=read.table(paste(target_folder, "p2p-next-07-102.log.data", sep="/"), header=T, sep=" ")
+leecher53=read.table(paste(target_folder, "p2p-next-07-103.log.data", sep="/"), header=T, sep=" ")
+leecher54=read.table(paste(target_folder, "p2p-next-07-104.log.data", sep="/"), header=T, sep=" ")
+leecher55=read.table(paste(target_folder, "p2p-next-07-105.log.data", sep="/"), header=T, sep=" ")
+leecher56=read.table(paste(target_folder, "p2p-next-07-106.log.data", sep="/"), header=T, sep=" ")
+leecher57=read.table(paste(target_folder, "p2p-next-07-107.log.data", sep="/"), header=T, sep=" ")
+leecher58=read.table(paste(target_folder, "p2p-next-07-108.log.data", sep="/"), header=T, sep=" ")
+leecher59=read.table(paste(target_folder, "p2p-next-07-109.log.data", sep="/"), header=T, sep=" ")
+leecher60=read.table(paste(target_folder, "p2p-next-07-110.log.data", sep="/"), header=T, sep=" ")
+leecher61=read.table(paste(target_folder, "p2p-next-08-101.log.data", sep="/"), header=T, sep=" ")
+leecher62=read.table(paste(target_folder, "p2p-next-08-102.log.data", sep="/"), header=T, sep=" ")
+leecher63=read.table(paste(target_folder, "p2p-next-08-103.log.data", sep="/"), header=T, sep=" ")
+leecher64=read.table(paste(target_folder, "p2p-next-08-104.log.data", sep="/"), header=T, sep=" ")
+leecher65=read.table(paste(target_folder, "p2p-next-08-105.log.data", sep="/"), header=T, sep=" ")
+leecher66=read.table(paste(target_folder, "p2p-next-08-106.log.data", sep="/"), header=T, sep=" ")
+leecher67=read.table(paste(target_folder, "p2p-next-08-107.log.data", sep="/"), header=T, sep=" ")
+leecher68=read.table(paste(target_folder, "p2p-next-08-108.log.data", sep="/"), header=T, sep=" ")
+leecher69=read.table(paste(target_folder, "p2p-next-08-109.log.data", sep="/"), header=T, sep=" ")
+leecher70=read.table(paste(target_folder, "p2p-next-08-110.log.data", sep="/"), header=T, sep=" ")
+leecher71=read.table(paste(target_folder, "p2p-next-09-101.log.data", sep="/"), header=T, sep=" ")
+leecher72=read.table(paste(target_folder, "p2p-next-09-102.log.data", sep="/"), header=T, sep=" ")
+leecher73=read.table(paste(target_folder, "p2p-next-09-103.log.data", sep="/"), header=T, sep=" ")
+leecher74=read.table(paste(target_folder, "p2p-next-09-104.log.data", sep="/"), header=T, sep=" ")
+leecher75=read.table(paste(target_folder, "p2p-next-09-105.log.data", sep="/"), header=T, sep=" ")
+leecher76=read.table(paste(target_folder, "p2p-next-09-106.log.data", sep="/"), header=T, sep=" ")
+leecher77=read.table(paste(target_folder, "p2p-next-09-107.log.data", sep="/"), header=T, sep=" ")
+leecher78=read.table(paste(target_folder, "p2p-next-09-108.log.data", sep="/"), header=T, sep=" ")
+leecher79=read.table(paste(target_folder, "p2p-next-09-109.log.data", sep="/"), header=T, sep=" ")
+leecher80=read.table(paste(target_folder, "p2p-next-09-110.log.data", sep="/"), header=T, sep=" ")
+leecher81=read.table(paste(target_folder, "p2p-next-10-101.log.data", sep="/"), header=T, sep=" ")
+leecher82=read.table(paste(target_folder, "p2p-next-10-102.log.data", sep="/"), header=T, sep=" ")
+leecher83=read.table(paste(target_folder, "p2p-next-10-103.log.data", sep="/"), header=T, sep=" ")
+leecher84=read.table(paste(target_folder, "p2p-next-10-104.log.data", sep="/"), header=T, sep=" ")
+leecher85=read.table(paste(target_folder, "p2p-next-10-105.log.data", sep="/"), header=T, sep=" ")
+leecher86=read.table(paste(target_folder, "p2p-next-10-106.log.data", sep="/"), header=T, sep=" ")
+leecher87=read.table(paste(target_folder, "p2p-next-10-107.log.data", sep="/"), header=T, sep=" ")
+leecher88=read.table(paste(target_folder, "p2p-next-10-108.log.data", sep="/"), header=T, sep=" ")
+leecher89=read.table(paste(target_folder, "p2p-next-10-109.log.data", sep="/"), header=T, sep=" ")
+leecher90=read.table(paste(target_folder, "p2p-next-10-110.log.data", sep="/"), header=T, sep=" ")
+
+# transform KB/s to Mbit/s
+leecher31$dlspeed <- leecher31$dlspeed*8/1000
+leecher32$dlspeed <- leecher32$dlspeed*8/1000
+leecher33$dlspeed <- leecher33$dlspeed*8/1000
+leecher34$dlspeed <- leecher34$dlspeed*8/1000
+leecher35$dlspeed <- leecher35$dlspeed*8/1000
+leecher36$dlspeed <- leecher36$dlspeed*8/1000
+leecher37$dlspeed <- leecher37$dlspeed*8/1000
+leecher38$dlspeed <- leecher38$dlspeed*8/1000
+leecher39$dlspeed <- leecher39$dlspeed*8/1000
+leecher40$dlspeed <- leecher40$dlspeed*8/1000
+leecher41$dlspeed <- leecher41$dlspeed*8/1000
+leecher42$dlspeed <- leecher42$dlspeed*8/1000
+leecher43$dlspeed <- leecher43$dlspeed*8/1000
+leecher44$dlspeed <- leecher44$dlspeed*8/1000
+leecher45$dlspeed <- leecher45$dlspeed*8/1000
+leecher46$dlspeed <- leecher46$dlspeed*8/1000
+leecher47$dlspeed <- leecher47$dlspeed*8/1000
+leecher48$dlspeed <- leecher48$dlspeed*8/1000
+leecher49$dlspeed <- leecher49$dlspeed*8/1000
+leecher50$dlspeed <- leecher50$dlspeed*8/1000
+leecher51$dlspeed <- leecher51$dlspeed*8/1000
+leecher52$dlspeed <- leecher52$dlspeed*8/1000
+leecher53$dlspeed <- leecher53$dlspeed*8/1000
+leecher54$dlspeed <- leecher54$dlspeed*8/1000
+leecher55$dlspeed <- leecher55$dlspeed*8/1000
+leecher56$dlspeed <- leecher56$dlspeed*8/1000
+leecher57$dlspeed <- leecher57$dlspeed*8/1000
+leecher58$dlspeed <- leecher58$dlspeed*8/1000
+leecher59$dlspeed <- leecher59$dlspeed*8/1000
+leecher60$dlspeed <- leecher60$dlspeed*8/1000
+leecher61$dlspeed <- leecher61$dlspeed*8/1000
+leecher62$dlspeed <- leecher62$dlspeed*8/1000
+leecher63$dlspeed <- leecher63$dlspeed*8/1000
+leecher64$dlspeed <- leecher64$dlspeed*8/1000
+leecher65$dlspeed <- leecher65$dlspeed*8/1000
+leecher66$dlspeed <- leecher66$dlspeed*8/1000
+leecher67$dlspeed <- leecher67$dlspeed*8/1000
+leecher68$dlspeed <- leecher68$dlspeed*8/1000
+leecher69$dlspeed <- leecher69$dlspeed*8/1000
+leecher70$dlspeed <- leecher70$dlspeed*8/1000
+leecher71$dlspeed <- leecher71$dlspeed*8/1000
+leecher72$dlspeed <- leecher72$dlspeed*8/1000
+leecher73$dlspeed <- leecher73$dlspeed*8/1000
+leecher74$dlspeed <- leecher74$dlspeed*8/1000
+leecher75$dlspeed <- leecher75$dlspeed*8/1000
+leecher76$dlspeed <- leecher76$dlspeed*8/1000
+leecher77$dlspeed <- leecher77$dlspeed*8/1000
+leecher78$dlspeed <- leecher78$dlspeed*8/1000
+leecher79$dlspeed <- leecher79$dlspeed*8/1000
+leecher80$dlspeed <- leecher80$dlspeed*8/1000
+leecher81$dlspeed <- leecher81$dlspeed*8/1000
+leecher82$dlspeed <- leecher82$dlspeed*8/1000
+leecher83$dlspeed <- leecher83$dlspeed*8/1000
+leecher84$dlspeed <- leecher84$dlspeed*8/1000
+leecher85$dlspeed <- leecher85$dlspeed*8/1000
+leecher86$dlspeed <- leecher86$dlspeed*8/1000
+leecher87$dlspeed <- leecher87$dlspeed*8/1000
+leecher88$dlspeed <- leecher88$dlspeed*8/1000
+leecher89$dlspeed <- leecher89$dlspeed*8/1000
+leecher90$dlspeed <- leecher90$dlspeed*8/1000
+
+# plot dlspeed-percent data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Percent", limits=c(0, 100), breaks=seq(0, 100, 10)) +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-9.10: a test swarm ( 30 Seeders, 60 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-9.10-dlspeed-percent.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-9.10-dlspeed-percent.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
+
+
+# plot dlspeed-time data
+p <- ggplot() +
+geom_point(aes(x=leecher31$percent, y=leecher31$dlspeed, label="Leecher 31"), size=1) +
+geom_point(aes(x=leecher32$percent, y=leecher32$dlspeed, label="Leecher 32"), size=1) +
+geom_point(aes(x=leecher33$percent, y=leecher33$dlspeed, label="Leecher 33"), size=1) +
+geom_point(aes(x=leecher34$percent, y=leecher34$dlspeed, label="Leecher 34"), size=1) +
+geom_point(aes(x=leecher35$percent, y=leecher35$dlspeed, label="Leecher 35"), size=1) +
+geom_point(aes(x=leecher36$percent, y=leecher36$dlspeed, label="Leecher 36"), size=1) +
+geom_point(aes(x=leecher37$percent, y=leecher37$dlspeed, label="Leecher 37"), size=1) +
+geom_point(aes(x=leecher38$percent, y=leecher38$dlspeed, label="Leecher 38"), size=1) +
+geom_point(aes(x=leecher39$percent, y=leecher39$dlspeed, label="Leecher 39"), size=1) +
+geom_point(aes(x=leecher40$percent, y=leecher40$dlspeed, label="Leecher 40"), size=1) +
+geom_point(aes(x=leecher41$percent, y=leecher41$dlspeed, label="Leecher 41"), size=1) +
+geom_point(aes(x=leecher42$percent, y=leecher42$dlspeed, label="Leecher 42"), size=1) +
+geom_point(aes(x=leecher43$percent, y=leecher43$dlspeed, label="Leecher 43"), size=1) +
+geom_point(aes(x=leecher44$percent, y=leecher44$dlspeed, label="Leecher 44"), size=1) +
+geom_point(aes(x=leecher45$percent, y=leecher45$dlspeed, label="Leecher 45"), size=1) +
+geom_point(aes(x=leecher46$percent, y=leecher46$dlspeed, label="Leecher 46"), size=1) +
+geom_point(aes(x=leecher47$percent, y=leecher47$dlspeed, label="Leecher 47"), size=1) +
+geom_point(aes(x=leecher48$percent, y=leecher48$dlspeed, label="Leecher 48"), size=1) +
+geom_point(aes(x=leecher49$percent, y=leecher49$dlspeed, label="Leecher 49"), size=1) +
+geom_point(aes(x=leecher50$percent, y=leecher50$dlspeed, label="Leecher 50"), size=1) +
+geom_point(aes(x=leecher51$percent, y=leecher51$dlspeed, label="Leecher 51"), size=1) +
+geom_point(aes(x=leecher52$percent, y=leecher52$dlspeed, label="Leecher 52"), size=1) +
+geom_point(aes(x=leecher53$percent, y=leecher53$dlspeed, label="Leecher 53"), size=1) +
+geom_point(aes(x=leecher54$percent, y=leecher54$dlspeed, label="Leecher 54"), size=1) +
+geom_point(aes(x=leecher55$percent, y=leecher55$dlspeed, label="Leecher 55"), size=1) +
+geom_point(aes(x=leecher56$percent, y=leecher56$dlspeed, label="Leecher 56"), size=1) +
+geom_point(aes(x=leecher57$percent, y=leecher57$dlspeed, label="Leecher 57"), size=1) +
+geom_point(aes(x=leecher58$percent, y=leecher58$dlspeed, label="Leecher 58"), size=1) +
+geom_point(aes(x=leecher59$percent, y=leecher59$dlspeed, label="Leecher 59"), size=1) +
+geom_point(aes(x=leecher60$percent, y=leecher60$dlspeed, label="Leecher 60"), size=1) +
+geom_point(aes(x=leecher61$percent, y=leecher61$dlspeed, label="Leecher 61"), size=1) +
+geom_point(aes(x=leecher62$percent, y=leecher62$dlspeed, label="Leecher 62"), size=1) +
+geom_point(aes(x=leecher63$percent, y=leecher63$dlspeed, label="Leecher 63"), size=1) +
+geom_point(aes(x=leecher64$percent, y=leecher64$dlspeed, label="Leecher 64"), size=1) +
+geom_point(aes(x=leecher65$percent, y=leecher65$dlspeed, label="Leecher 65"), size=1) +
+geom_point(aes(x=leecher66$percent, y=leecher66$dlspeed, label="Leecher 66"), size=1) +
+geom_point(aes(x=leecher67$percent, y=leecher67$dlspeed, label="Leecher 67"), size=1) +
+geom_point(aes(x=leecher68$percent, y=leecher68$dlspeed, label="Leecher 68"), size=1) +
+geom_point(aes(x=leecher69$percent, y=leecher69$dlspeed, label="Leecher 69"), size=1) +
+geom_point(aes(x=leecher70$percent, y=leecher70$dlspeed, label="Leecher 70"), size=1) +
+geom_point(aes(x=leecher71$percent, y=leecher71$dlspeed, label="Leecher 71"), size=1) +
+geom_point(aes(x=leecher72$percent, y=leecher72$dlspeed, label="Leecher 72"), size=1) +
+geom_point(aes(x=leecher73$percent, y=leecher73$dlspeed, label="Leecher 73"), size=1) +
+geom_point(aes(x=leecher74$percent, y=leecher74$dlspeed, label="Leecher 74"), size=1) +
+geom_point(aes(x=leecher75$percent, y=leecher75$dlspeed, label="Leecher 75"), size=1) +
+geom_point(aes(x=leecher76$percent, y=leecher76$dlspeed, label="Leecher 76"), size=1) +
+geom_point(aes(x=leecher77$percent, y=leecher77$dlspeed, label="Leecher 77"), size=1) +
+geom_point(aes(x=leecher78$percent, y=leecher78$dlspeed, label="Leecher 78"), size=1) +
+geom_point(aes(x=leecher79$percent, y=leecher79$dlspeed, label="Leecher 79"), size=1) +
+geom_point(aes(x=leecher80$percent, y=leecher80$dlspeed, label="Leecher 80"), size=1) +
+geom_point(aes(x=leecher81$percent, y=leecher81$dlspeed, label="Leecher 81"), size=1) +
+geom_point(aes(x=leecher82$percent, y=leecher82$dlspeed, label="Leecher 82"), size=1) +
+geom_point(aes(x=leecher83$percent, y=leecher83$dlspeed, label="Leecher 83"), size=1) +
+geom_point(aes(x=leecher84$percent, y=leecher84$dlspeed, label="Leecher 84"), size=1) +
+geom_point(aes(x=leecher85$percent, y=leecher85$dlspeed, label="Leecher 85"), size=1) +
+geom_point(aes(x=leecher86$percent, y=leecher86$dlspeed, label="Leecher 86"), size=1) +
+geom_point(aes(x=leecher87$percent, y=leecher87$dlspeed, label="Leecher 87"), size=1) +
+geom_point(aes(x=leecher88$percent, y=leecher88$dlspeed, label="Leecher 88"), size=1) +
+geom_point(aes(x=leecher89$percent, y=leecher89$dlspeed, label="Leecher 89"), size=1) +
+geom_point(aes(x=leecher90$percent, y=leecher90$dlspeed, label="Leecher 90"), size=1) +
+theme_bw() +
+scale_x_continuous("Time(s)") +
+scale_y_continuous("Download speed (Mbit/s)", limits=c(0, 8), breaks=seq(0, 8, 0.5)) +
+coord_cartesian() +
+scale_colour_manual("Legend") +
+opts(title=paste(campaign_name, "performance-swarm-metrics-9.10: a test swarm ( 30 Seeders, 60 Leechers), alter number of connections; 8Mbit limitation", sep="\n"))
+
+# plot data as an eps file
+postscript(paste(target_folder, "performance-swarm-metrics-9.10-dlspeed-time.eps", sep="/"))
+print(p)
+dev.off()
+
+# plot data as an png file
+png(paste(target_folder, "performance-swarm-metrics-9.10-dlspeed-time.png", sep="/"), width = 1280, height = 800)
+print(p)
+dev.off()
--- /dev/null
+#
+# Campaign performance-swarm-metrics; scenario 9.10
+#
+### BEGIN SCENARIO INFO
+# Campaign: performance-swarm-metrics
+# Id: 9.10
+# Description: alter number of connections; 8Mbit limitation
+# Number of seeders: 30
+# Number of leechers: 60
+# Maximum download: 8
+# Maximum upload: 8
+# Client type: hrktorrent (libtorrent-rasterbar)
+### END SCENARIO INFO
+
+# Hostname SSHport User RemoteFolder NetInterface Download(Mbps) DownloadBurst(K) Upload(Mbps) UploadBurst(K) OverallNoOfConnections PreRunScript PostRunScript ClientType TorrentFile Periods
+p2p-next-01.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-01.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-03.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-04.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_seeder_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-05.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-06.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-07.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-08.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-09.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10122 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10222 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10322 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10422 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10522 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10622 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10722 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10822 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 10922 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
+p2p-next-10.ncit.pub.ro 11022 p2p /home/p2p/george eth0 8 100 8 100 100 pre-run_nop.sh post-run_nop.sh hrktorrent_leecher_limit Data.700.ct.torrent (0,-)
--- /dev/null
+#
+# performance-swarm-metrics
+#
+# Scenario description R script for plotting
+performance-swarm-metrics-1.01.cfg performance-swarm-metrics-1.01.R
+performance-swarm-metrics-1.02.cfg performance-swarm-metrics-1.02.R
+performance-swarm-metrics-1.03.cfg performance-swarm-metrics-1.03.R
+performance-swarm-metrics-1.04.cfg performance-swarm-metrics-1.04.R
+performance-swarm-metrics-1.05.cfg performance-swarm-metrics-1.05.R
+performance-swarm-metrics-1.06.cfg performance-swarm-metrics-1.06.R
+performance-swarm-metrics-1.07.cfg performance-swarm-metrics-1.07.R
+performance-swarm-metrics-1.08.cfg performance-swarm-metrics-1.08.R
+performance-swarm-metrics-1.09.cfg performance-swarm-metrics-1.09.R
+performance-swarm-metrics-1.10.cfg performance-swarm-metrics-1.10.R
+performance-swarm-metrics-1.11.cfg performance-swarm-metrics-1.11.R
+performance-swarm-metrics-2.01.cfg performance-swarm-metrics-2.01.R
+performance-swarm-metrics-2.02.cfg performance-swarm-metrics-2.02.R
+performance-swarm-metrics-2.03.cfg performance-swarm-metrics-2.03.R
+performance-swarm-metrics-2.04.cfg performance-swarm-metrics-2.04.R
+performance-swarm-metrics-2.05.cfg performance-swarm-metrics-2.05.R
+performance-swarm-metrics-2.06.cfg performance-swarm-metrics-2.06.R
+performance-swarm-metrics-2.07.cfg performance-swarm-metrics-2.07.R
+performance-swarm-metrics-2.08.cfg performance-swarm-metrics-2.08.R
+performance-swarm-metrics-2.09.cfg performance-swarm-metrics-2.09.R
+performance-swarm-metrics-2.10.cfg performance-swarm-metrics-2.10.R
+performance-swarm-metrics-2.11.cfg performance-swarm-metrics-2.11.R
+performance-swarm-metrics-3.01.cfg performance-swarm-metrics-3.01.R
+performance-swarm-metrics-3.02.cfg performance-swarm-metrics-3.02.R
+performance-swarm-metrics-3.03.cfg performance-swarm-metrics-3.03.R
+performance-swarm-metrics-3.04.cfg performance-swarm-metrics-3.04.R
+performance-swarm-metrics-3.05.cfg performance-swarm-metrics-3.05.R
+performance-swarm-metrics-3.06.cfg performance-swarm-metrics-3.06.R
+performance-swarm-metrics-3.07.cfg performance-swarm-metrics-3.07.R
+performance-swarm-metrics-3.08.cfg performance-swarm-metrics-3.08.R
+performance-swarm-metrics-3.09.cfg performance-swarm-metrics-3.09.R
+performance-swarm-metrics-3.10.cfg performance-swarm-metrics-3.10.R
+performance-swarm-metrics-3.11.cfg performance-swarm-metrics-3.11.R
+performance-swarm-metrics-4.01.cfg performance-swarm-metrics-4.01.R
+performance-swarm-metrics-4.02.cfg performance-swarm-metrics-4.02.R
+performance-swarm-metrics-4.03.cfg performance-swarm-metrics-4.03.R
+performance-swarm-metrics-4.04.cfg performance-swarm-metrics-4.04.R
+performance-swarm-metrics-4.05.cfg performance-swarm-metrics-4.05.R
+performance-swarm-metrics-4.06.cfg performance-swarm-metrics-4.06.R
+performance-swarm-metrics-4.07.cfg performance-swarm-metrics-4.07.R
+performance-swarm-metrics-4.08.cfg performance-swarm-metrics-4.08.R
+performance-swarm-metrics-4.09.cfg performance-swarm-metrics-4.09.R
+performance-swarm-metrics-5.01.cfg performance-swarm-metrics-5.01.R
+performance-swarm-metrics-5.02.cfg performance-swarm-metrics-5.02.R
+performance-swarm-metrics-5.03.cfg performance-swarm-metrics-5.03.R
+performance-swarm-metrics-5.04.cfg performance-swarm-metrics-5.04.R
+performance-swarm-metrics-5.05.cfg performance-swarm-metrics-5.05.R
+performance-swarm-metrics-5.06.cfg performance-swarm-metrics-5.06.R
+performance-swarm-metrics-5.07.cfg performance-swarm-metrics-5.07.R
+performance-swarm-metrics-6.01.cfg performance-swarm-metrics-6.01.R
+performance-swarm-metrics-6.02.cfg performance-swarm-metrics-6.02.R
+performance-swarm-metrics-6.03.cfg performance-swarm-metrics-6.03.R
+performance-swarm-metrics-5.04.cfg performance-swarm-metrics-5.04.R
+performance-swarm-metrics-5.05.cfg performance-swarm-metrics-5.05.R
+performance-swarm-metrics-7.01.cfg performance-swarm-metrics-7.01.R
+performance-swarm-metrics-7.02.cfg performance-swarm-metrics-7.02.R
+performance-swarm-metrics-7.03.cfg performance-swarm-metrics-7.03.R
+performance-swarm-metrics-7.04.cfg performance-swarm-metrics-7.04.R
+performance-swarm-metrics-7.05.cfg performance-swarm-metrics-7.05.R
+performance-swarm-metrics-7.06.cfg performance-swarm-metrics-7.06.R
+performance-swarm-metrics-7.07.cfg performance-swarm-metrics-7.07.R
+performance-swarm-metrics-7.08.cfg performance-swarm-metrics-7.08.R
+performance-swarm-metrics-7.09.cfg performance-swarm-metrics-7.09.R
+performance-swarm-metrics-8.01.cfg performance-swarm-metrics-8.01.R
+performance-swarm-metrics-8.02.cfg performance-swarm-metrics-8.02.R
+performance-swarm-metrics-8.03.cfg performance-swarm-metrics-8.03.R
+performance-swarm-metrics-8.04.cfg performance-swarm-metrics-8.04.R
+performance-swarm-metrics-8.05.cfg performance-swarm-metrics-8.05.R
+performance-swarm-metrics-8.06.cfg performance-swarm-metrics-8.06.R
+performance-swarm-metrics-8.07.cfg performance-swarm-metrics-8.07.R
+performance-swarm-metrics-8.08.cfg performance-swarm-metrics-8.08.R
+performance-swarm-metrics-8.09.cfg performance-swarm-metrics-8.09.R
+performance-swarm-metrics-8.10.cfg performance-swarm-metrics-8.10.R
+performance-swarm-metrics-9.01.cfg performance-swarm-metrics-9.01.R
+performance-swarm-metrics-9.02.cfg performance-swarm-metrics-9.02.R
+performance-swarm-metrics-9.03.cfg performance-swarm-metrics-9.03.R
+performance-swarm-metrics-9.04.cfg performance-swarm-metrics-9.04.R
+performance-swarm-metrics-9.05.cfg performance-swarm-metrics-9.05.R
+performance-swarm-metrics-9.06.cfg performance-swarm-metrics-9.06.R
+performance-swarm-metrics-9.07.cfg performance-swarm-metrics-9.07.R
+performance-swarm-metrics-9.08.cfg performance-swarm-metrics-9.08.R
+performance-swarm-metrics-9.09.cfg performance-swarm-metrics-9.09.R
+performance-swarm-metrics-9.10.cfg performance-swarm-metrics-9.10.R
+performance-swarm-metrics-10.01.cfg performance-swarm-metrics-10.01.R
+performance-swarm-metrics-10.02.cfg performance-swarm-metrics-10.02.R
+performance-swarm-metrics-10.03.cfg performance-swarm-metrics-10.03.R
+performance-swarm-metrics-10.04.cfg performance-swarm-metrics-10.04.R
+performance-swarm-metrics-10.05.cfg performance-swarm-metrics-10.05.R
+performance-swarm-metrics-10.06.cfg performance-swarm-metrics-10.06.R
+performance-swarm-metrics-10.07.cfg performance-swarm-metrics-10.07.R
+performance-swarm-metrics-10.08.cfg performance-swarm-metrics-10.08.R
+performance-swarm-metrics-10.09.cfg performance-swarm-metrics-10.09.R
+performance-swarm-metrics-10.10.cfg performance-swarm-metrics-10.10.R
+performance-swarm-metrics-11.01.cfg performance-swarm-metrics-11.01.R
+performance-swarm-metrics-11.02.cfg performance-swarm-metrics-11.02.R
+performance-swarm-metrics-11.03.cfg performance-swarm-metrics-11.03.R
+performance-swarm-metrics-11.04.cfg performance-swarm-metrics-11.04.R
+performance-swarm-metrics-11.05.cfg performance-swarm-metrics-11.05.R
+performance-swarm-metrics-11.06.cfg performance-swarm-metrics-11.06.R
+performance-swarm-metrics-11.07.cfg performance-swarm-metrics-11.07.R
+performance-swarm-metrics-11.08.cfg performance-swarm-metrics-11.08.R
+performance-swarm-metrics-11.09.cfg performance-swarm-metrics-11.09.R
+performance-swarm-metrics-11.10.cfg performance-swarm-metrics-11.10.R
+performance-swarm-metrics-12.01.cfg performance-swarm-metrics-12.01.R
+performance-swarm-metrics-12.02.cfg performance-swarm-metrics-12.02.R
+performance-swarm-metrics-12.03.cfg performance-swarm-metrics-12.03.R
+performance-swarm-metrics-12.04.cfg performance-swarm-metrics-12.04.R
+performance-swarm-metrics-12.05.cfg performance-swarm-metrics-12.05.R
+performance-swarm-metrics-12.06.cfg performance-swarm-metrics-12.06.R
+performance-swarm-metrics-12.07.cfg performance-swarm-metrics-12.07.R
+performance-swarm-metrics-12.08.cfg performance-swarm-metrics-12.08.R
+performance-swarm-metrics-12.09.cfg performance-swarm-metrics-12.09.R
+performance-swarm-metrics-12.10.cfg performance-swarm-metrics-12.10.R
+performance-swarm-metrics-12.11.cfg performance-swarm-metrics-12.11.R
--- /dev/null
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>Swarm metrics validation campaign</title>
+ <style TYPE="text/css">
+ <!--
+ #centered-content {
+ margin: 0 auto;
+ width: 1000px;
+ text-align: center;
+ }
+ body {
+ margin: 0px;
+ padding: 0px;
+ }
+
+ #header {
+ background: #d0dafd;
+ color: #339;
+ font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
+ font-size: 14px;
+ width: 100%;
+ text-align: center;
+ padding: 5px;
+ }
+ #leftcol {
+ background: #fff;
+ float: left;
+ width: 5%;
+ }
+ #rightcol {
+ background: #fff;
+ float: right;
+ width: 5%;
+ }
+ #content {
+ background: #fff;
+ float: left;
+ width: 100%;
+ }
+ #footer {
+ background: #d0dafd;
+ color: #339;
+ font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
+ font-size: 12px;
+ clear: both;
+ width: 100%;
+ text-align: center;
+ padding: 5px;
+ }
+
+ #box-table-a {
+ font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
+ font-size: 12px;
+ margin: 10px;
+ width: 1000px;
+ text-align: left;
+ border-collapse: collapse;
+ }
+ #box-table-a th {
+ font-size: 14px;
+ font-weight: normal;
+ padding: 8px;
+ background: #b9c9fe;
+ border-top: 4px solid #aabcfe;
+ border-bottom: 1px solid #fff;
+ color: #039;
+ }
+ #box-table-a td {
+ padding: 12px;
+ background: #e8edff;
+ border-bottom: 2px solid #fff;
+ color: #669;
+ }
+ #box-table-a tr:hover td {
+ background: #d0dafd;
+ color: #339;
+ }
+
+ a:link {
+ color: #0000ff;
+ }
+ a:visited {
+ color: #808080;
+ }
+ a:hover {
+ color: #ff0000;
+ text-decoration: none;
+ }
+ a:active {
+ color: #777777;
+ }
+ -->
+ </style>
+ </head>
+ <body>
+ <div id="header">Swarm metrics validation campaign - Results
+ </div>
+
+ <div id="leftcol">
+ </div>
+
+ <div id="rightcol">
+ </div>
+
+ <div id="content">
+ <div id="centered-content">
+ <table id="box-table-a" summary="performance-swarm-metrics results">
+ <thead>
+ <tr>
+ <th scope="col">Name</th>
+ <th scope="col">No. of Seeders</th>
+ <th scope="col">No. of Leechers</th>
+ <th scope="col">Bandwidth Rectrictions</th>
+ <th scope="col">Graphs</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>performance-swarm-metrics-1.01</td>
+ <td>1</td>
+ <td>89</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-1.01.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-1.01.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-1.02</td>
+ <td>10</td>
+ <td>80</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-1.02.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-1.02.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-1.03</td>
+ <td>20</td>
+ <td>70</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-1.03.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-1.03.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-1.04</td>
+ <td>30</td>
+ <td>60</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-1.04.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-1.04.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-1.05</td>
+ <td>40</td>
+ <td>50</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-1.05.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-1.05.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-1.06</td>
+ <td>45</td>
+ <td>45</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-1.06.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-1.06.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-1.07</td>
+ <td>50</td>
+ <td>40</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-1.07.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-1.07.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-1.08</td>
+ <td>60</td>
+ <td>30</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-1.08.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-1.08.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-1.09</td>
+ <td>70</td>
+ <td>20</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-1.09.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-1.09.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-1.10</td>
+ <td>80</td>
+ <td>10</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-1.10.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-1.10.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-1.11</td>
+ <td>89</td>
+ <td>1</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-1.11.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-1.11.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-2.01</td>
+ <td>1</td>
+ <td>89</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-2.01.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-2.01.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-2.02</td>
+ <td>10</td>
+ <td>80</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-2.02.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-2.02.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-2.03</td>
+ <td>20</td>
+ <td>70</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-2.03.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-2.03.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-2.04</td>
+ <td>30</td>
+ <td>60</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-2.04.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-2.04.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-2.05</td>
+ <td>40</td>
+ <td>50</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-2.05.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-2.05.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-2.06</td>
+ <td>45</td>
+ <td>45</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-2.06.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-2.06.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-2.07</td>
+ <td>50</td>
+ <td>40</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-2.07.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-2.07.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-2.08</td>
+ <td>60</td>
+ <td>30</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-2.08.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-2.08.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-2.09</td>
+ <td>70</td>
+ <td>20</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-2.09.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-2.09.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-2.10</td>
+ <td>80</td>
+ <td>10</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-2.10.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-2.10.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-2.11</td>
+ <td>89</td>
+ <td>1</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-2.11.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-2.11.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-3.01</td>
+ <td>1</td>
+ <td>89</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-3.01.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-3.01.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-3.02</td>
+ <td>10</td>
+ <td>80</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-3.02.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-3.02.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-3.03</td>
+ <td>20</td>
+ <td>70</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-3.03.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-3.03.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-3.04</td>
+ <td>30</td>
+ <td>60</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-3.04.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-3.04.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-3.05</td>
+ <td>40</td>
+ <td>50</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-3.05.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-3.05.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-3.06</td>
+ <td>45</td>
+ <td>45</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-3.06.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-3.06.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-3.07</td>
+ <td>50</td>
+ <td>40</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-3.07.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-3.07.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-3.08</td>
+ <td>60</td>
+ <td>30</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-3.08.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-3.08.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-3.09</td>
+ <td>70</td>
+ <td>20</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-3.09.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-3.09.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-3.10</td>
+ <td>80</td>
+ <td>10</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-3.10.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-3.10.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-3.11</td>
+ <td>89</td>
+ <td>1</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-3.11.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-3.11.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-4.01</td>
+ <td>1</td>
+ <td>69</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-4.01.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-4.01.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-4.02</td>
+ <td>10</td>
+ <td>60</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-4.02.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-4.02.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-4.03</td>
+ <td>20</td>
+ <td>50</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-4.03.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-4.03.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-4.04</td>
+ <td>30</td>
+ <td>40</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-4.04.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-4.04.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-4.05</td>
+ <td>35</td>
+ <td>35</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-4.05.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-4.05.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-4.06</td>
+ <td>40</td>
+ <td>30</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-4.06.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-4.06.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-4.07</td>
+ <td>50</td>
+ <td>20</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-4.07.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-4.07.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-4.08</td>
+ <td>60</td>
+ <td>10</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-4.08.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-4.08.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-4.09</td>
+ <td>69</td>
+ <td>1</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-4.09.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-4.09.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-5.01</td>
+ <td>1</td>
+ <td>49</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-5.01.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-5.01.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-5.02</td>
+ <td>10</td>
+ <td>40</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-5.02.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-5.02.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-5.03</td>
+ <td>20</td>
+ <td>30</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-5.03.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-5.03.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-5.04</td>
+ <td>25</td>
+ <td>25</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-5.04.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-5.04.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-5.05</td>
+ <td>30</td>
+ <td>20</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-5.05.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-5.05.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-5.06</td>
+ <td>40</td>
+ <td>10</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-5.06.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-5.06.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-5.07</td>
+ <td>49</td>
+ <td>1</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-5.07.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-5.07.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-6.01</td>
+ <td>1</td>
+ <td>29</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-6.01.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-6.01.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-6.02</td>
+ <td>10</td>
+ <td>20</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-6.02.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-6.02.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-6.03</td>
+ <td>15</td>
+ <td>15</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-6.03.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-6.03.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-5.04</td>
+ <td>20</td>
+ <td>10</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-5.04.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-5.04.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-5.05</td>
+ <td>29</td>
+ <td>1</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-5.05.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-5.05.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-7.01</td>
+ <td>1</td>
+ <td>9</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-7.01.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-7.01.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-7.02</td>
+ <td>2</td>
+ <td>8</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-7.02.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-7.02.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-7.03</td>
+ <td>3</td>
+ <td>7</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-7.03.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-7.03.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-7.04</td>
+ <td>4</td>
+ <td>6</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-7.04.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-7.04.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-7.05</td>
+ <td>5</td>
+ <td>5</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-7.05.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-7.05.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-7.06</td>
+ <td>6</td>
+ <td>4</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-7.06.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-7.06.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-7.07</td>
+ <td>7</td>
+ <td>3</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-7.07.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-7.07.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-7.08</td>
+ <td>8</td>
+ <td>2</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-7.08.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-7.08.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-7.09</td>
+ <td>9</td>
+ <td>1</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-7.09.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-7.09.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-8.01</td>
+ <td>10</td>
+ <td>80</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-8.01.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-8.01.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-8.02</td>
+ <td>10</td>
+ <td>80</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-8.02.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-8.02.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-8.03</td>
+ <td>10</td>
+ <td>80</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-8.03.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-8.03.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-8.04</td>
+ <td>10</td>
+ <td>80</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-8.04.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-8.04.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-8.05</td>
+ <td>10</td>
+ <td>80</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-8.05.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-8.05.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-8.06</td>
+ <td>10</td>
+ <td>80</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-8.06.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-8.06.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-8.07</td>
+ <td>10</td>
+ <td>80</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-8.07.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-8.07.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-8.08</td>
+ <td>10</td>
+ <td>80</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-8.08.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-8.08.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-8.09</td>
+ <td>10</td>
+ <td>80</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-8.09.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-8.09.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-8.10</td>
+ <td>10</td>
+ <td>80</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-8.10.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-8.10.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-9.01</td>
+ <td>30</td>
+ <td>60</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-9.01.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-9.01.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-9.02</td>
+ <td>30</td>
+ <td>60</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-9.02.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-9.02.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-9.03</td>
+ <td>30</td>
+ <td>60</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-9.03.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-9.03.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-9.04</td>
+ <td>30</td>
+ <td>60</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-9.04.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-9.04.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-9.05</td>
+ <td>30</td>
+ <td>60</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-9.05.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-9.05.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-9.06</td>
+ <td>30</td>
+ <td>60</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-9.06.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-9.06.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-9.07</td>
+ <td>30</td>
+ <td>60</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-9.07.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-9.07.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-9.08</td>
+ <td>30</td>
+ <td>60</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-9.08.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-9.08.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-9.09</td>
+ <td>30</td>
+ <td>60</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-9.09.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-9.09.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-9.10</td>
+ <td>30</td>
+ <td>60</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-9.10.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-9.10.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-10.01</td>
+ <td>60</td>
+ <td>30</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-10.01.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-10.01.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-10.02</td>
+ <td>60</td>
+ <td>30</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-10.02.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-10.02.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-10.03</td>
+ <td>60</td>
+ <td>30</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-10.03.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-10.03.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-10.04</td>
+ <td>60</td>
+ <td>30</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-10.04.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-10.04.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-10.05</td>
+ <td>60</td>
+ <td>30</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-10.05.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-10.05.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-10.06</td>
+ <td>60</td>
+ <td>30</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-10.06.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-10.06.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-10.07</td>
+ <td>60</td>
+ <td>30</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-10.07.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-10.07.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-10.08</td>
+ <td>60</td>
+ <td>30</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-10.08.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-10.08.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-10.09</td>
+ <td>60</td>
+ <td>30</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-10.09.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-10.09.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-10.10</td>
+ <td>60</td>
+ <td>30</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-10.10.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-10.10.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-11.01</td>
+ <td>80</td>
+ <td>10</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-11.01.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-11.01.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-11.02</td>
+ <td>80</td>
+ <td>10</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-11.02.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-11.02.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-11.03</td>
+ <td>80</td>
+ <td>10</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-11.03.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-11.03.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-11.04</td>
+ <td>80</td>
+ <td>10</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-11.04.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-11.04.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-11.05</td>
+ <td>80</td>
+ <td>10</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-11.05.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-11.05.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-11.06</td>
+ <td>80</td>
+ <td>10</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-11.06.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-11.06.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-11.07</td>
+ <td>80</td>
+ <td>10</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-11.07.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-11.07.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-11.08</td>
+ <td>80</td>
+ <td>10</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-11.08.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-11.08.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-11.09</td>
+ <td>80</td>
+ <td>10</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-11.09.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-11.09.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-11.10</td>
+ <td>80</td>
+ <td>10</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-11.10.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-11.10.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-12.01</td>
+ <td>30</td>
+ <td>60</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-12.01.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-12.01.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-12.02</td>
+ <td>30</td>
+ <td>60</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-12.02.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-12.02.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-12.03</td>
+ <td>30</td>
+ <td>60</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-12.03.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-12.03.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-12.04</td>
+ <td>30</td>
+ <td>60</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-12.04.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-12.04.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-12.05</td>
+ <td>30</td>
+ <td>60</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-12.05.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-12.05.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-12.06</td>
+ <td>30</td>
+ <td>60</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-12.06.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-12.06.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-12.07</td>
+ <td>30</td>
+ <td>60</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-12.07.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-12.07.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-12.08</td>
+ <td>30</td>
+ <td>60</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-12.08.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-12.08.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-12.09</td>
+ <td>30</td>
+ <td>60</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-12.09.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-12.09.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-12.10</td>
+ <td>30</td>
+ <td>60</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-12.10.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-12.10.png">dlspeed vs time</a></td>
+ </tr>
+ <tr>
+ <td>performance-swarm-metrics-12.11</td>
+ <td>30</td>
+ <td>60</td>
+ <td>TODO</td>
+ <td><a href="performance-swarm-metrics/performance-swarm-metrics-12.11.png">dlspeed vs percent</a>; <a href="performance-swarm-metrics/performance-swarm-metrics-12.11.png">dlspeed vs time</a></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+
+ <div id="footer">For further information please contact George Milescu (george.milescu [at] gmail.com) and Răzvan Deaconescu (razvan.deaconescu [at] cs.pub.ro)
+ </div>
+
+ </body>
+</html>