Semantiche di Invocazione Remota, Architetture a Livelli e Comunicazione Sincrona nei Sistemi Distribuiti
Classificato in Informatica
Scritto il in italiano con una dimensione di 3,14 KB
1. Semantica "Potrebbe essere"
Questa semantica (ad esempio, UDP, metodi CORBA che restituiscono risultati) implica che non è certo se un oggetto sia stato eseguito una sola volta o nessuna. Non si applica alcuna misura di tolleranza ai guasti. Può subire guasti di omissione se si perde l'invocazione o la risposta. Se il server che contiene l'oggetto remoto fallisce, non riuscirebbe a rispondere a tale domanda. Se si imposta un timeout, la risposta potrebbe essere ricevuta dopo la sua scadenza (asincrono). È una semantica utile in applicazioni dove è accettabile avere due invocazioni fallite.
2. Semantica "Almeno una volta"
Questa semantica (ad esempio, consultazioni, SUN RPC) implica che si ricevono risultati con la pretesa che il metodo sia stato eseguito almeno una volta, oppure si è verificata un'eccezione che indica che non si è ricevuto alcun risultato. Può realizzare la trasmissione di messaggi che non hanno ricevuto risposta. A seconda che l'errore si sia verificato nell'invio al server o nella risposta del server, si possono avere fallimenti arbitrari (ad esempio, è possibile ottenere due invocazioni e che il metodo venga eseguito due volte). È una semantica valida quando il metodo è idempotente.
3. Semantica "Al massimo una volta"
Questa semantica (ad esempio, TCP, Java RMI, CORBA) implica che si conosce con certezza che il metodo è stato eseguito esattamente una volta, oppure si riceve un'eccezione che indica che non è stato eseguito, quindi l'esecuzione avviene una sola volta o nessuna. Attua tutte le misure di tolleranza ai guasti. Non ci sono errori di omissione, perché se un messaggio fallisce, viene ripetuto. Poiché l'esecuzione avviene una sola volta o nessuna, non ci possono essere fallimenti arbitrari.
Architettura a Livelli
Presentation Layer
- Modulo di inizializzazione
- Session Manager
- Gestore di dialogo
- Adattamento e convalida dell'Input
- Adattatore Channel
- Modelli di presentazione
- Gestione dei contenuti
Business Layer
- Attuazione delle operazioni
- Servizi alle imprese
Integration Layer
- Data Access Manager
- Access Manager Servizi Business
- Manager di specifici adattamenti
Comunicazione Sincrona e Proprietà dei Messaggi Multicast
La comunicazione sincrona genera ulteriori garanzie per quanto riguarda l'ordine di consegna degli avvisi e la distribuzione di messaggi multicast in contesti di viste (views):
Integrità
Un processo consegna ogni messaggio una sola volta. Se un processo consegna un messaggio, lo invia a un membro della sua vista.
Accordo (o Consenso)
I processi corretti consegnano gli stessi messaggi in ciascuna vista.
Validità
I processi corretti recapitano sempre i messaggi inviati.
La mancata consegna (MAQ) implica che i messaggi vengono consegnati immediatamente alla vista m senza q.