Di seguito riportiamo tutti i parametri di configurazione necessari a valutare le strategie di service discovery proposte:
• Numero di simulazioni: Le simulazioni sono state eseguite un numero di volte tale da ottenere una confidenza statistica del 97.5% con una probabilit`a di errore pari a 0.025. A tal proposito a seconda della metrica di interesse (accuracy, proacti- vity, query response time, forwarding cache e service cache) e variando l’algoritmo di service discovery, l’algoritmo di routing e la traccia di co-locazione si `e calcolato il limite inferiore del numero di simulazioni necessarie ad ottenere la confidenza statistica desiderata:
Scelte R0 = 30 simulazioni iniziali, α = 0.025 il margine di errore e tn,α il quantile
della distribuzione di t-student, si calcola la media ¯x e la deviazione standard σ di una data metrica. Il limite inferiore R `e dato da:
R ≥
t
n,α× σ
α × ¯x
2(4.12)
Nella tabella 4.1 riportiamo i limiti inferiori delle simulazioni da eseguire per COR- DIAL con Cambridge e per CORDIAL con MDC Nokia; mentre nella tabella 4.2 riporteremo i valori riguardanti Flooding sia con Cambridge che con MDC Nokia. In particolare dalla tabella 4.1 possiamo notare che la metrica riguardante la di-
mensione della forwarding cache verr`a rappresentata con una confidenza del 95%
perch´e non `e possibile effettuare un numero di simulazioni elevate (risultanti da una confidenza al 97,5% ) data la non sufficiente potenza di calcolo dell’hardware utilizzato per gli esperimenti. Tuttavia, per tutte le metriche analizzate la confi-
denza statistica `e sempre maggiore del 95%, un valore che garantisce robustezza
Tabella 4.1: Numero di esecuzioni in CORDIAL per la confidenza statistica CORDIAL
Cambridge
BubbleRap Epidemic Prophet Spray&Wait
Accuracy 1 1 1 1
Proactivity 18 20 17 10
Query response time 24 19 28 43
Forwarding cache (95%) 51 57 70 58
Service cache 72 82 153 99
Valore massimo 153
MDC Nokia
BubbleRap Epidemic Prophet Spray&Wait
Accuracy 1 1 1 1
Proactivity 81 110 67 57
Query response time 74 104 69 144
Forwarding cache (95%) 107 179 248 204
Service cache 319 239 191 215
Valore massimo 319
Il numero di simulazioni effettuate, per ogni algoritmo di service discovery e per ogni traccia di co-locazione, corrisponde a ai valori massimi rappresentati nelle tabelle corrispondenti.
Tabella 4.2: Numero di esecuzioni in Flooding per la confidenza statistica FLOODING
Cambridge
BubbleRap Epidemic Prophet Spray&Wait
Accuracy 98 70 73 68
Proactivity 12 21 18 13
Query response time 27 25 29 15
Service cache 14 12 11 9
Valore massimo 98
MDC Nokia
BubbleRap Epidemic Prophet Spray&Wait
Accuracy 62 45 48 53
Proactivity 109 95 62 80
Query response time 62 74 76 47
Service cache 36 50 67 75
• Durata della simulazione: E’ espressa in secondi, ed `e stata fissata a 144 ore pari a 6 giorni per entrambe le tracce. La scelta della durata permette di valutare le performance degli algoritmi di service discovery considerando due fasi fondamentali delle interazioni sociali degli utenti delle tracce: (i) giorni lavorativi caratterizzati da una maggiore densit`a di contatti e (ii) giorni festivi caratterizzati da una minor densit`a dei contatti.
• Trasmissione dati: La velocit`a del trasferimento `e impostata a 2 Mbps = 250kBps, mentre il raggio di trasmissione `e impostato a 10mt. Tale configurazione `e tipica delle trasmissioni dei dati mediante un’ interfaccia Bluetooth.
• Numero di nodi: Il numero dei nodi dipende da quelli presenti nelle varie tracce, in Cambridge sono presenti 36 nodi, mentre in MDC Nokia 185. Avendo selezionato solo i primi sei giorni della durata totale delle tracce, il numero dei nodi presenti in MDC Nokia si restringe a 98.
• Buffer dei nodi: Ogni nodo mantiene un buffer in cui memorizza i messaggi, tale buffer ha una dimensione di 2M.
• Service provider: I nodi scelti come service provider che potranno generare advertisement sono 20.
• Interessi: Il numero totale di interessi esistenti nella rete sono 100, ad ogni nodo, attraverso la distribuzione Zipf, ne vengono assegnati inizialmente 10 interessi, mentre ad ogni messaggio (query o advertisement) ne viene assegnato solo 1 in modo da facilitare il confronto attraverso l’indice di similarit`a.
• Generazione delle query: Il tasso di generazione delle query permette di generare in media 2 query (λ = 2) ogni 30 minuti.
• Generazione dei servizi: Ogni service provider genera 5 advertisement e li me- morizza nella sua cache. Ad ogni advertisement viene assegnato 1 interesse scelto permutando l’insieme degli interessi associati al nodo e prelevando il primo. • Indice di similarit`a: La soglia utilizzata per confrontare una query con un adver-
tisement corrispondente `e τ = 1. Con questa configurazione gli algoritmi di service discovery cercano una corrispondenza perfetta tra l’interessi associato alla query e quello associato all’advertisement. Riducendo tale soglia si ottengono performance migliori, in particolare aumenta il numero di query che trovano una risposta, ma in compenso l’accuratezza peggiora.
• Fase proattiva e reattiva degli algoritmi di service discovery: La fase proat- tiva e reattiva dei due algoritmi di service discovery viene eseguita ogni 10 minuti. E’ importante precisare che l’esecuzione della fase reattiva dipende dall’istante di tempo in cui vengono generate le query e dal numero di nodi scelti dalla distribu- zione di Poisson a cui vengono distribuite. Considerando che la fase reattiva pu`o essere eseguita ogni 10 minuti ma le query vengono generate ogni 30 minuti, il primo istante disponibile in cui pu`o essere effettivamente eseguita la fase reattiva `e quindi 40 minuti, sempre nel caso in cui 10 minuti prima era stata generata almeno una query.
• Parametri dell’algoritmo K-Clique: Il valore della Familiar threshold Tth `e
impostato a 700, mentre K = 5, come fatto in [7].
• Parametri degli algoritmi di routing: I parametri che seguono sono di default tratti dalle implementazioni originali.
– BubbleRap: Il tempo di vita dei messaggi `e impostato a 1440s ossia 24h. – Spray and Wait: Il numero massimo di copie di un messaggio che possono
essere diffuse nella rete ed `e impostato a 10.
– Prophet: La costante di inizializzazione Pinit `e impostata a 0.5; la costante
di invecchiamento γ della delivery predictability `e impostato a 0.999885791, mentre la costante transitiva β `e impostata a 0.9.
Nel successivo capitolo andremo a valutare gli algoritmi di routing presentati senza l’utilizzo di alcun algoritmo di service discovery e le tracce di co-locazione indipendenti sia dall’algoritmo di service discovery, sia dagli algoritmi di routing. A tal proposito alcuni parametri descritti in precedenza vengono modificati come segue:
• Numero di simulazioni: In questo caso a seconda delle metriche di interesse (message delivery e message delay) variando algoritmo di routing e traccia di co- locazione i valori del numero minimo di simulazioni da effettuare risultati dal calcolo descritto in precedenza sono per ogni combinazione R ≥ 1.
• Durata della simulazione: Considerando che `e necessaria un’unica simulazione si `e ritenuto utile valutare la traccia Cambridge per la sua intera durata, 987529s pari a circa 12 giorni; e la traccia MDC Nokia per 2592113s pari a circa 30 giorni. • Numero di nodi: Il numero di nodi presenti nella traccia MDC Nokia di durata
• Generatore di messaggi: (valido solo per valutare gli algoritmi di routing) Non sfruttando alcun algoritmo di service discovery che genera il traffico dei messaggi nella rete `e necessario utilizzare il generatore di messaggi di TheONE per poterli creare. A tal proposito viene creato un nuovo messaggio ogni 25−35 secondi (valore di default) e la dimensione `e stata impostata a 1, 46kB.
• Buffer dei nodi: Per poter ottenere un tasso di successo nelle consegne del 40/50% si `e aumentato il buffer utilizzato dai nodi per memorizzare i messaggi a 10M.