NOTE IMPLEMENTATIVE

 

  

per l’implementazione abbiamo scelto di estendere il package per la gestione degli agenti mobili implementato da Lorenzo Bettini e presentato nella rivista on-line MokaByte del Luglio ’98. Si è optato per questa scelta soprattutto per la semplicità del package che, anche se meno efficiente rispetto ad altre implementazioni, si presta bene alle esigenze di questo progetto.

   

Consideriamo un server concorrente e parallelo, quindi si avrà un thread in esecuzione per ogni agente che si presenta.

Vantaggi di questa scelta:

Svantaggio:

  

Quando un agente migra da un nodo A ad un nodo B, porta in B le liste di A.

Il nodo B potrebbe inviare al nodo A la conferma della ricezione dell'agente ed anche le sue liste.

Si è scelto di rinunciare alla "propagazione all'indietro" delle liste per evitare traffico aggiuntivo.

  

    

  

Si è optato per questa scelta implementativa per poter ottenere una semplificazione nel comportamento dell'agente, rinunciando a eventuali ottimizzazioni che comporterebbero però l'introduzione di particolari controlli sullo stato della query in corso.

L’agente di ricerca verrà inviato soltanto quando l’agente principale si troverà nell’impossibilità di eseguire le rimanenti sottoquery.

 

La migrazione dell’agente è stata protetta crittografando l’agente stesso utilizzando la chiave pubblica del server di destinazione (per problemi incontrati nell’utilizzazione del sistema RSA, si è optato per il sistema a chiave segreta DES; viene trascurato il problema della distribuzione iniziale delle chiavi segrete…).  

L’AFFIDABILITA’ di un nodo è garantita attraverso una certificazione che viaggia insieme all’agente.

 

Se un tentativo di migrazione fallisce, in generale l’agente non farà ulteriori tentativi.

Nelle situazioni particolari come il ritorno dell’agente con dei risultati, si è considerato accettabile il costo di ulteriori tentativi di trasmissione.

  

Per semplificazione le query sono state implementate come un generico accesso a file, la cui esecuzione consiste nella lettura del suo contenuto.

 

 

 

 

 

    SCHEMA GENERALE DEL PROGETTO