Progetto di Reti di Calcolatori LS
a cura di
Gesualdi Marco
Miniello Giuseppe
Vukovic Veljko
Obiettivi
 Realizzare un sistema di distribuzione di notizie su
larga scala da parte di un’agenzia di stampa
 Mettere in comunicazione fonti e fruitori
 Entità eterogenee
 Diverse qualità di servizio
 Robustezza
 Gestione di 2 diverse tipologie di comunicazione: pull
e push
Architettura del sistema
Supplier
Consumer
Consumer
Consumer
Notification
System
Supplier
Supplier
Notification System
Entità utilizzata per gestire:
 Comunicazione con supplier e consumer
 Registrazione e deregistrazione delle entità
 Persistenza delle news nel sistema attraverso uso di un
vettore con eliminazione news scadute
 Mantenimento argomenti disponibili in base a quelli
inviati dai supplier
 Contratto stabilito con consumer
Consumer
Componente molto leggero
 Riceve news in base al filtraggio stabilito
 Stabilisce un contratto con il Notification System
 Gestione comunicazione pull e push (attraverso Proxy)
 Connessione e disconnessione dal Notification System
Supplier
Componente leggero con i seguenti servizi
 Creazione ed eliminazione di argomenti
 Creazione ed invio di news
 Connessione e disconnessione dal Notification System
 Gestione contratto con Notification System
Gestione argomenti
 Una lista di argomenti per ogni supplier
 Modifiche di tale lista implicano comunicazione con
Notification System
 Tutti gli argomenti “ereditano” da un argomento padre
General
Comunicazione con Notification
System
Due tipi di comunicazione:
 pull, il supplier salva le news su un file
 push, utilizzato handler per creare eventi di invio news
e per ricevere conferma da parte del Notification
System
Filtraggio
Passaggio
filtri
una modalità
di comunicazione
 Utilizzo
deidei
filtri
deldaNotification
Service
di CORBA
ad un’altra
attraverso ildel
passaggio
dell’oggetto
 Utilizzo
di estensione
Trader Constraint
Language,
FilterInfo,
caratterizzato da:
basato
su BNF
 Filter: filtro
rappresentante
argomenti
 Effettuato
a livello
del Notification
Serviceeper
sottoargomenti
negoziati
migliorare
le prestazioni:
consumer e proxy ricevono
 filterId:
id interesse
del filtro e non tutti gli eventi (overhead
solo
eventi di
eccessivo)
 exclusiveFilter: filtro rappresentante gli argomenti e
sottoargomenti esclusivi negoziati
 exclusiveFilterId: id del filtro esclusivo
Filtraggio: Esempio
Filtraggio per notizie non esclusive con argomento
Sport e sottoargomento Calcio
$isExclusive == FALSE and $argument == 'Sport’
and $subArguments == ‘Calcio’
notizie non esclusive
sottoargomento Calcio
argomento Sport
Test su intero sistema
 Due categorie di test:
 Operational Test: verifica delle funzionalità del sistema
 Load test: per analizzare il comportamento in caso di
overloading
 Sono state inviate un numero crescente di news, da 25
a 1000
 Entità suddivise su 3 macchine differenti:
 Notification System e Proxy Factory Manager
 Proxy Factory
 Consumer e Supplier
Test su intero sistema
 Modalità push:
 Andamento curve simile se normalizziamo
 Ritardo medio nel distribuito: 137 ms. Legato al traffico in rete
 Modalità pull:
 A causa del timeout per il pull del Notification Service di CORBA
comportamento molto simile tra distribuito e locale
Modalità push
Modalità push: ritardo medio
tra invio e ricezione
Modalità pull
Test specifici
Per verificare corretto comportamento del supplier:
 creazione di file xml di configurazione corretto e non
corretto e analisi del comportamento,
 verifica corretto comportamento in caso di caduta del
supplier o semplice disconnessione,
 analisi comportamento in caso di inserimento errato
dei parametri di una news
 verifica del corretta creazione e cancellazione di
argomenti
 verifica del filtraggio
Conclusioni
 Entità leggera e performante
 Filtraggio efficace, facile da modificare e da estendere
 Gestione efficace della comunicazione (impiego di
poca banda)
 Sviluppi futuri:
 aggiungere altri parametri per il filtraggio
 gestire in modo più efficace l’esclusività della news e
l’attendibilità di un supplier
Scarica

presentazione