• Non ci sono risultati.

3.4. I modelli di simulazione realizzati

4.1.4. Distribuzione dei file condivisi

Lo studio condotto sulla rete Gnutella, ha permesso di comprendere le dinamiche delle reti P2P, suddividendo le peer in client-like e server-like. Tale distinzione, teoricamente inconsistente con il principio delle reti P2P secondo il quale ogni peer è sia client che server, è basata sull’osserva- zione che in pratica esistono peer con un alto numero di download che si comportano da client e peer con un alto numero di upload con un profilo server.

La Figura 4.5 mostra la distribuzione dei file condivisi dalle peer di Gnutella. Il 25% degli utenti Gnutella non condivide file con le altre peer, il 75% condivide meno di 100 file e solo il 7% condivide più di 1.000 file.

Un semplice calcolo rivela che il 7% delle peer offre al sistema più file rispetto alla somma dei file shared di tutti le altre peer, a dimostrazione che nonostante si rivendichi che ogni peer di un sistema P2P puro è sia server che client, in realtà Gnutella ha una considerevole percentuale di peer free-rider ossia peer con un profilo client-like oppure server-like.

Numero file shared Gnutella (marzo 2001)

0% 20% 40% 60% 80% 100% 1 10 100 1000 10000 Numero di file % host

numero di file shared

Il numero di file shared è uniformemente distribuito sulle peer della rete e non è influenzato dalla velocità della banda di connessione.

I nostri simulatori definiscono un sistema P2P puro nel quale tutti le peer condividono file (o oggetti) con le altre peer della rete. A differenza della rete Gnutella, ogni peer ha una propria terminologia costituita da un insieme di termini sui quali sono definite delle relazioni di sus- sunzione. Allo scopo di illustrare come sono state modellate terminologia e sussunzione, di seguito è mostrato il frammento XML del file di configurazione nel quale sono riportate le informazioni della configurazione standard.

- <CONFIGURAZIONE> - <RETE> <PEER>11440</PEER> - <TERMINOLOGIA> <MIN>1</MIN> <MAX>500</MAX> </TERMINOLOGIA> - <STORED> <MIN>0</MIN> <MAX>100</MAX> </STORED> - <ARTICOLAZIONE> <MIN>1</MIN> <MAX>4</MAX> </ARTICOLAZIONE> <MAXSOTT>25</MAXSOTT> <MAXART>6</MAXART> </RETE> </CONFIGURAZIONE>

Il modello che si è seguito è il seguente:

Il parametro <PEER> identifica la cardinalità della rete, ossia il numero di peer che la compongono. Nella configurazione standard il suo valore coincide con 11.440, ossia il punto di massimo della funzione statistica descritta dal Figura 4.1.

Il parametro <TERMINOLOGIA> è utilizzato per la generazione casuale, con distribuzione uniforme, della cardinalità della terminologia di ciascuna peer. In questo contesto,<MIN> e <MAX> sono rispettivamente il limite inferiore e il limite superiore della generazione casuale del numero di termini associati alle peer. Nella configurazione standard ogni peer ha una terminologia con cardinalità compresa fra 1 e 500.

I parametri <MIN> e <MAX> associati al parametro <STORED> sono utilizzati nella generazione casuale, con distribuzione uniforme, della cardinalità della stored interpretation associata a ciascun termine della terminologia della rete. Abbiamo assunto che a ogni termine possano essere associati non più di 100 oggetti e che esistano termini con una stored interpretation vuota.

I parametri <MIN> e <MAX> all’interno del parametro <ARTICOLAZIONE> limitano inferiormente e superiormente la scelta casuale, con distribuzione uniforme, del numero di peer articolate con la terminologia di una specifica peer. Nella nostra configurazione standard, le articolazioni di una peer possano essere definite sui termini appartenenti alla terminologia di al massimo 4 peer. Per evitare che alcune peer siano isolate dal resto della rete abbiamo assunto che ogni peer abbia almeno un’articolazione, è per questo motivo che il parametro <MIN> è stato settato a 1. Le peer articolate fra loro sono state scelte casualmente; opportune procedure hanno verificato l’assenza di eventuali partizioni del sistema, introducendo nuove articolazioni allo scopo di garantire che la rete non sia partizionata in più componenti.

Il parametro <MAXSOTT> è una percentuale, il suo valore è utilizzato nella generazione casuale, con distribuzione uniforme, di un insieme di coppie di termini, attraverso le quali sono generati i sottotermini della terminologia di ciascuna peer. Abbiamo assunto che per ogni terminologia Ti, il numero delle coppie corrisponde a una percentuale limitata

superiormente dal 25% della cardinalità di Ti. Questo significa che se una peer ha una

terminologia di 100 termini, la sua procedura di generazione dei sottotermini è limitata superiormente da 25 coppie, sulle quali viene calcolata la chiusura transitiva e riflessiva.

Il parametro <MAXART> è una percentuale utilizzata nella generazione casuale, con distribuzione uniforme, delle articolazioni della terminologia di una peer. Abbiamo assunto che per ogni terminologia Ti il numero dei termini articolati corrisponde a una

percentuale limitata superiormente dal 6% della cardinalità di Ti. Questo significa che se

una peer ha una terminologia di 100 termini, allora potrà avere al massimo 6 termini articolati con i termini appartenenti alla terminologia delle altre peer della rete.

Tutte queste informazioni hanno lo scopo di modellare una rete P2P che si adatti ai nostri studi, è per questo motivo che il sistema implementa delle catene di articolazioni, per non rendere banale il calcolo risolutivo delle query e per permettere la loro propagazione sulle peer della rete.

Nella nostra rete P2P, ogni peer ha una propria tassonomia, il numero delle articolazioni è inferiore al numero dei sottotermini, è per questo motivo che i parametri <MAXSOTT> e

<MAXART> sono stati scelti nel seguente modo:

<MAXSOTT>è

4 1

della cardinalità della terminologia.

<MAXART> è circa 2

4 1

della cardinalità della terminologia.

Documenti correlati