31.05.2013 Views

progettazione e realizzazione in java di una rete peer to peer ...

progettazione e realizzazione in java di una rete peer to peer ...

progettazione e realizzazione in java di una rete peer to peer ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2. LE COMPONENTI<br />

poi si <strong>di</strong>fferenzia a seconda della funzione che ha il messaggio e a seconda del<br />

plug-<strong>in</strong> da cui proviene o a cui è dest<strong>in</strong>a<strong>to</strong>. Se, ad esempio, si tratterà <strong>di</strong> un<br />

cocoon dest<strong>in</strong>a<strong>to</strong> a Connectivity, <strong>in</strong>capsulerà un ogget<strong>to</strong> flux che a sua volta<br />

<strong>in</strong>capsulerà un ogget<strong>to</strong> triplaDati. flux corrisponderebbe qu<strong>in</strong><strong>di</strong> al pro<strong>to</strong>collo<br />

tcp e triplaDati ad un datagramma http.<br />

Figura 2.2: L’<strong>in</strong>capsulamen<strong>to</strong> dei messaggi.<br />

Nel pacchet<strong>to</strong> core sono anche <strong>in</strong>seriti i manager per le risorse. Questi moduli<br />

hanno il compi<strong>to</strong> <strong>di</strong> assegnare e, <strong>in</strong> caso <strong>di</strong> conflit<strong>to</strong>, arbitrare le risorse. Queste<br />

operazioni però, non <strong>di</strong>pendono esclusivamente dal resource manager competen-<br />

te. L’assegnazione, <strong>in</strong>fatti, si basa su un meccanismo che co<strong>in</strong>volge il plug-<strong>in</strong><br />

richiedente e il modulo per la gestione dei cre<strong>di</strong>ti. Il plug-<strong>in</strong> che vuole usufruire,<br />

ad esempio, <strong>di</strong> <strong>una</strong> certa quantità <strong>di</strong> spazio su <strong>di</strong>sco, deve, <strong>in</strong>fatti, richiederne<br />

l’uso al ges<strong>to</strong>re locale ma deve anche “pagare” al modulo per la gestione dei cre-<br />

<strong>di</strong>ti. La transazione tende a complicarsi nel caso <strong>in</strong> cui è un altro nodo della <strong>rete</strong><br />

a <strong>in</strong>terrogare il client locale per usarne lo spazio. Infatti, il nodo remo<strong>to</strong>, deve<br />

prendere contat<strong>to</strong> col plug-<strong>in</strong> locale per controllare la <strong>di</strong>sponibilità del servizio,<br />

e, poi, deve <strong>in</strong>teragire col modulo <strong>di</strong> gestione cre<strong>di</strong>ti per accordarsi sul prezzo.<br />

In locale, il plug-<strong>in</strong> accetta <strong>di</strong> fornire il servizio al nodo remo<strong>to</strong> previa verifica<br />

<strong>di</strong> pagamen<strong>to</strong> presso il modulo gestione cre<strong>di</strong>ti. Successivamente si fa carico <strong>di</strong><br />

chiedere l’allocazione della risorsa presso il ges<strong>to</strong>re della risorsa competente. Il<br />

ges<strong>to</strong>re dovrà qu<strong>in</strong><strong>di</strong>, oltre ad accettare le richieste dei plug-<strong>in</strong>, controllare pre-<br />

18

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!