Upload
valeriano-bertoni
View
215
Download
2
Embed Size (px)
Citation preview
Progetto di Reti di Calcolatori LSa cura di
Gesualdi MarcoMiniello Giuseppe
Vukovic Veljko
ObiettiviRealizzare un sistema di distribuzione di
notizie su larga scala da parte di un’agenzia di stampa
Mettere in comunicazione fonti e fruitoriEntità eterogeneeDiverse qualità di servizioRobustezza
Gestione di 2 diverse tipologie di comunicazione: pull e push
Architettura del sistema
Consumer
Consumer
Consumer
Notification System
Supplier
Supplier
Supplier
Notification SystemEntità utilizzata per gestire:Comunicazione con supplier e consumerRegistrazione 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
ConsumerComponente molto leggeroRiceve news in base al filtraggio stabilitoStabilisce un contratto con il Notification
SystemGestione comunicazione pull e push
(attraverso Proxy)Connessione e disconnessione dal
Notification System
SupplierComponente leggero con i seguenti serviziCreazione ed eliminazione di argomentiCreazione ed invio di newsConnessione e disconnessione dal
Notification SystemGestione contratto con Notification System
Gestione argomentiUna lista di argomenti per ogni supplierModifiche di tale lista implicano
comunicazione con Notification SystemTutti gli argomenti “ereditano” da un
argomento padre General
Comunicazione con Notification SystemDue tipi di comunicazione:pull, il supplier salva le news su un filepush, utilizzato handler per creare eventi di
invio news e per ricevere conferma da parte del Notification System
FiltraggioUtilizzo dei filtri del Notification Service di
CORBAUtilizzo di estensione del Trader Constraint
Language, basato su BNFEffettuato a livello del Notification Service per
migliorare le prestazioni: consumer e proxy ricevono solo eventi di interesse e non tutti gli eventi (overhead eccessivo)
Passaggio dei filtri da una modalità di comunicazione ad un’altra attraverso il passaggio dell’oggetto FilterInfo, caratterizzato da:Filter: filtro rappresentante argomenti e
sottoargomenti negoziatifilterId: id del filtroexclusiveFilter: filtro rappresentante gli
argomenti e sottoargomenti esclusivi negoziati
exclusiveFilterId: id del filtro esclusivo
Filtraggio: EsempioFiltraggio per notizie non esclusive con argomento Sport e sottoargomento Calcio
$isExclusive == FALSE and $argument == 'Sport’
and $subArguments == ‘Calcio’
notizie non esclusive sottoargomento
Calcioargomento Sport
Test su intero sistemaDue 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 ManagerProxy FactoryConsumer e Supplier
Test su intero sistemaModalità 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à pullModalità push: ritardo medio tra invio e ricezione
Test specificiPer 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 newsverifica del corretta creazione e cancellazione di
argomentiverifica del filtraggio
ConclusioniEntità leggera e performanteFiltraggio efficace, facile da modificare e da
estendereGestione efficace della comunicazione
(impiego di poca banda)Sviluppi futuri:
aggiungere altri parametri per il filtraggiogestire in modo più efficace l’esclusività della
news e l’attendibilità di un supplier