01.06.2013 Views

Facoltà di Ingegneria Corso di Laurea Magistrale in Ingegneria ...

Facoltà di Ingegneria Corso di Laurea Magistrale in Ingegneria ...

Facoltà di Ingegneria Corso di Laurea Magistrale in Ingegneria ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

Ambiente <strong>di</strong> sviluppo<br />

L’AID presente nel parametro to o <strong>in</strong>tended-receiver del “message envelope” può contenere<br />

più <strong>in</strong><strong>di</strong>rizzi <strong>di</strong> trasporto per un s<strong>in</strong>golo agente dest<strong>in</strong>atario.<br />

L’ACC usa il seguente metodo per cercare <strong>di</strong> consegnare il messaggio:<br />

• Prova a consegnare il messaggio al primo <strong>in</strong><strong>di</strong>rizzo <strong>di</strong> trasporto nel parametro addresses<br />

(per riflettere il fatto che la lista degli <strong>in</strong><strong>di</strong>rizzi <strong>di</strong> trasporto <strong>in</strong> un AID è or<strong>di</strong>nata a seconda<br />

della preferenza).<br />

• Se fallisce (perché l’agente o l’AP non sono <strong>di</strong>sponibili o perché l’ACC non supporta il<br />

protocollo <strong>di</strong> trasporto del messaggio appropriato, etc.), allora l’ACC crea un nuovo<br />

parametro <strong>in</strong>tended-receiver che contiene l’AID senza l’<strong>in</strong><strong>di</strong>rizzo <strong>di</strong> trasporto che ha<br />

portato al fallimento dell’operazione. L’ACC poi tenta <strong>di</strong> mandare il messaggio<br />

all’<strong>in</strong><strong>di</strong>rizzo <strong>di</strong> trasporto successivo nell’AID della lista <strong>in</strong>tended-receiver.<br />

• Se la consegna ancora non ha successo quando sono stati provati tutti gli <strong>in</strong><strong>di</strong>rizzi <strong>di</strong><br />

trasporto (o se l’AID non contiene alcun <strong>in</strong><strong>di</strong>rizzo <strong>di</strong> trasporto), l’ACC può provare a<br />

stabilire l’AID usando i servizi <strong>di</strong> risoluzione dei nomi elencati nel parametro resolvers<br />

dell’AID. Nuovamente, i servizi <strong>di</strong> risoluzione dei nomi devono essere provati nell’or<strong>di</strong>ne<br />

<strong>in</strong> cui compaiono.<br />

• Inf<strong>in</strong>e, se tutti i precedenti tentativi <strong>di</strong> consegna dei messaggi falliscono, viene mandato<br />

<strong>in</strong><strong>di</strong>etro un appropriato messaggio per il fallimento f<strong>in</strong>ale all’agente mittente.<br />

Un ACC usa le seguenti regole nel consegnare i messaggi a dest<strong>in</strong>atari multipli:<br />

• Se un ACC riceve un <strong>in</strong>volucro <strong>di</strong> messaggio senza parametro <strong>in</strong>tended-receiver e con un<br />

parametro to che contiene più <strong>di</strong> un AID, esso può o meno <strong>di</strong>viderli per formare<br />

messaggi separati. Ogni messaggio contiene un sotto<strong>in</strong>sieme degli agenti nom<strong>in</strong>ati nei<br />

parametri to e <strong>in</strong>tended-receiver.<br />

• Se un ACC riceve un <strong>in</strong>volucro <strong>di</strong> messaggio con un parametro <strong>in</strong>tended-receiver<br />

contenente più <strong>di</strong> un AID, esso può o meno <strong>di</strong>viderli per formare messaggi separati.<br />

31

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

Saved successfully!

Ooh no, something went wrong!