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


This topic: Lab_so_1/AL > Prog1997
Topic revision: r2 - 2002-10-31 - AlessandroMei
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback