Performing tasks on the cloud

abstract

Il progetto si pone l'obiettivo di realizzare una piattaforma JADE che renda fruibile all'utente una factory di server remoti al fine di svolgere le proprie computazioni utilizzandone la potenza di calcolo. Le caratteristiche dei server saranno astratte e rappresentate su una scala di valori compresa fra 0 e 100.

Il sistema si comporrà di 3 entità principali:

  • L'agente Worker

L'agente Worker incapsulerà le operazioni da effettuare (ricevute sotto forma di file .class) e si occuperà di eseguirle sul server con le maggiori risorse disponibili. Una volta terminata la propria computazione ritornerà il risultato al server per poi terminarsi in maniera autonoma.

  • L'agente Spawner

Compito dello Spawner sarà invece quello di fungere da interfaccia fra utente e factory. Gestirà e coordinerà l'istanziamento dei vari agenti; ogni qual volta verrà caricato un file .class genererà un nuovo Worker associandoglielo.

  • L'agente Server

L'agente Server fungerà da contenitore per i vari Workers. Nel momento in cui l'agente rilascerà le risorse fornitegli sarà compito suo comunicare l'esito allo Spawner. Lo spazio di archiviazione occupato dal Worker per la memorizzazione del risultato ottenuto non verrà rilasciato immediatamente ma mantenuto al fine di poter essere visualizzabile in un secondo momento dall'utente finale.

references