Laboratorio II: Sistemi Operativi - a.a.
1997/98
Analisi dell'archivio di log di un sito web
I siti Web mantengono traccia degli accessi avvenuti alle loro Universal
Resource Location (URL) locali in un archivio (archivio di log).
Ciascuna linea di questo archivio contiene i seguenti sette campi standard
separati da uno spazio (Common Log Format):
SistemaRemoto Info Utente Data/Ora Richiesta
Stato N.byte
-
SistemaRemoto: l'indirizzo Internet del sistema che ha inviato
la richiesta;
-
Info: informazioni sull'utente specificate in RFC931, "-" se non
è stato possibile reperire le informazioni;
-
Utente: il nome utente fornito per documenti protetti da password,
"-" se il documento non ha password;
-
Data/Ora: data e ora dell'accesso;
-
Richiesta: URL locale acceduta
-
Stato: codice di risposta fornito dal server, 200 indica OK;
-
N. byte: il numero di byte trasferiti, "-" altrimenti (ad esempio
c'è stato un errore)
Esempi:
ppp-310.flashnet.it - - [08/Oct/1996:17:27:35 +0200] "GET /LaboratorioII
HTTP/1.0" 302 -
mac30.dsi.uniroma1.it - - [08/Oct/1996:10:03:17 +0200] "GET /~bongio/Reti1_html/toc.html
HTTP/1.0" 200 11990
net130-092.mclink.it - - [09/Oct/1996:21:47:16 +0200] "GET /LaboratorioII/PerlTut1/index.html
HTTP/1.0" 200 4900
proxy1.flashnet.it - - [09/Oct/1996:22:09:53 +0200] "GET /LaboratorioII/PerlTut1/index.html
HTTP/1.0" 200 4900
ns2.uni.net - - [10/Oct/1996:10:12:40 +0200] "GET /corso.gif HTTP/1.0"
200 32964
Lo scopo di questo laboratorio è lo studio e la realizzazione
in Perl di un analizzatore interattivo efficiente per tale archivio
di log che produca una serie di statistiche sull'utilizzo del sito Web
in esame. In particolare, si richiede:
-
di realizzare due varianti dell'analizzatore, la prima variante consiste
di un programma sequenziale, la seconda variante prevede il coordinamento
tramite IPC di più processi concorrenti;
-
di specificare una soluzione flessibile che permetta, ad esempio, di limitare
l'analisi dell'archivio di log almeno ad un sottinsieme dei siti di provenienza
delle richieste, a singole URL richieste e a determinati periodi di tempo
anche divisi in fasce orarie. Tutte le opzioni devono essere fornite nella
linea di comando nel formato opzione = parametri;
-
di verificare le buone prestazioni del prototipo e di confrontare le prestazioni
della versione sequenziale e di quella concorrente misurando la relazione
fra i tempi di analisi e la lunghezza dell'archivio di log;
Ogni gruppo deve consegnare a) una documentazione su carta con le informazioni
dettagliate di seguito; e b) un dischetto contenente il codice dell'analizzatore
in Perl e il manuale d'uso del programma.
Sia i dischetti sia la documentazione su carta devono recare chiara
l'indicazione dei componenti del gruppo: nome, matricola, anno accademico,
e recapito.
La documentazione allegata va organizzata come segue:
-
Definizione del progetto
-
Descrizione delle soluzioni proposte (descrivere, in particolare, il formato
dell'ingresso e dell'uscita del programma, le statistiche prodotte, la
struttura del programma, le strutture dati e le variabili globali utilizzate,
e il protocollo di cooperazione per la versione concorrente);
-
Descrizione dei test effettuati (modalita' dell'esperimento e delle misure);
-
Risultati sperimentali (includere tabelle e grafici);
-
Commenti sui risultati sperimentali;
-
Appedice 1. Manuale d'uso del programma (usare il formato, la struttura
e la notazione standard dei manuali Unix, elencare le opzioni che è
possibile specificare);
-
Appendice2. Codice sorgente in Perl;
La consegna va effettuata entro
23 gennaio 1998.
I prototipi che risulteranno migliori saranno istallati nella pagina
principale del sito web cesare.dsi.uniroma1.it.
.
--
AntonioValletta - 14 Nov 2001