1) Come devono venire scelte le connessioni per la overlay network? Al momento del boostrap, un servlet stabilisce BC connessioni con altri servlets. Questi ultimi possono venire scelti considerando l'insieme S di quelli presenti nella cache e di quelli restituiti dal bootstrap server. Se la cardinalita' di S supera BC, la scelta dei vicini puo' avvenire in modo casuale. Una soluzione piu' accurata puo' considerare altri parametri, come il tempo di ping o la banda, l'affidabilita', etc. In ogni caso, il servelt non apre piu' di BC connessioni, in fase di bootstrap. Se uno dei vicini cade o lascia volontariamente la rete, il servlet rimpiazza tale vicino con un altro di sua conoscenza. MC-BC connessioni sono lasciate comunque libere per poter accettare connessioni da altri servlet durante la permanenza all'interno della rete Gnutella. BC ed MC sono parametri che possono essere scelti in fase di inizializzazione
2) A cosa serve il meccanismo del ping-pong? Quale puo' essere un valore realistico per il TTL? Il meccanismo di ping pong e' utilizzato sia per acquisire conoscenza su nuovi vicini che per conoscere lo stato dei vicini. Nel primo caso la conoscenza di questi vicini puo' essere utilizzata per sostituire eventuali vicini caduti o sostituire vicini con altri 'migliori' sotto qualche aspetto (banda, latenza, affidabilita',…) Gnutella utilizza un valore di TTL = 7.
3) Quale meccanismo viene utilizzato da un servlet per scoprire se si trova a monte di un firewall o di un NAT? Questa informazione e' specificata dall'utente all'atto della configurazione della rete
4) All'avvio dell'RMIRegistry ottengo un Unmarshalling Exception. Perche'? La soluzione piu' semplice e' quella di lanciare l'RMI Registry nella stessa cartella dove si trovano i file .class. In alternativa, quando si lancia java, va settata la proprieta' “-Djava.rmi.server.codebase”, che poi sara' usata dal RMIregistry per ricercare i file class. In questa maniera, l'RMIregistry puo' essere eseguito da qualsiasi directory. Per maggiori dettagli consulater il seguente link Forum JAVA