Problema del naming - Dipartimento di Ingegneria Industriale e dell

Transcript

Problema del naming - Dipartimento di Ingegneria Industriale e dell
31/10/2014
Sistemi Distribuiti
Problema del naming
1
Modello di Naming
• Conoscenza reciproca delle entità / servizi
In una relazione cliente/servitore il cliente deve avere un
riferimento al servitore
• Problema della trasparenza
I riferimenti sono distribuiti nel codice dei clienti, degli
utilizzatori, delle librerie, ecc. Si deve garantire la
consistenza
• Quando si risolvono i nomi (binding)?
binding statico: i riferimenti sono risolti prima della
esecuzione
binding dinamico: i riferimenti sono risolti al bisogno.
Nasce la necessità di un servizio di nomi (name server)
2
1
31/10/2014
Naming: definizioni
In un sistema distribuito
• Un nome è semplicemente una stringa.
• Un’entità è una risorsa generica.
• Un
U access point
i è un modo
d per accedere
d e operare sulla
ll
risorsa.
• Il nome di un access point viene chiamato indirizzo
Ex: Entità: persona:
Access point: telefono
Indirizzo: num. tel.
Entità: File system
Access point: ftp server
Indirizzo: IP-port number
3
Naming: definizioni
• Un’entità può offrire più access point ciascun identificato
da un indirizzo
• In realtà anche ll’indirizzo
indirizzo di un access point può cambiare
perché può essere dipendente dall’allocazione: allo stesso
access point può essere associato un nuovo indirizzo e lo
stesso indirizzo può essere assegnato all’access point di
un’altra entità.
• Un indirizzo viene chiamato identificatore quando:
– l’indirizzo si riferisce al ppiù ad un access ppoint
– ciascun access point viene riferito da un solo indirizzo
– un indirizzo fa sempre riferimento alla stesso access
point (non c’è riuso)
Ex. indirizzo MAC di una scheda di rete
4
2
31/10/2014
Sistema di Naming
• Un indirizzo di una risorsa può essere specificato
con un nome logico.
• Un servizio di naming, in genere, effettua la
traduzione tra nome logico e indirizzo.
• Nei sistemi aperti il modello di naming deve
consentire di inserire nuovi nomi compatibili con il
sistema esistente e di aggiornare la singola voce.
• L’implementazione di un sistema di naming può
essere:
– Centralizzato
– Centralizzato ma replicato
– Distribuito
5
Modello di Naming
• Naming semplice (nome flat che non contiene
nessuna informazione per la sua risoluzione).
Alcuni Approcci:
–
–
–
–
Polling broadcast o multicasting (Protocollo ARP)
Home based
Hash table distribuiti
Gerarchico
• Naming strutturato
– Spazio dei nomi (File system, DNS)
• Naming basato sugli attributi
– Directory service
6
3
31/10/2014
Broadcast e multicasting:protocollo ARP
• La richiesta è inoltrata in broadcast sulla sottorete
• La macchina che ha l’indirizzo IP risponde col suo
indirizzo MAC
IP: 10.6.1.26
Mask: 255.255.255.0
IP: 10.6.1.5
Mask: 255.255.255.0
IP: 10.6.1.25
Mask: 255.255.255.0
IP Source: 10.6.1.25
IP Dest:
10.6.1.26
MAC Source: 00:E0:98:2D:09:97
MAC Dest: FF:FF:FF:FF:FF:FF
who-has 10.6.1.26 tell 10.6.1.3
reply 10.6.1.26 is-at 0:0:39:7c:83:db
IP Source: 10.6.1.26
IP Dest:
10.6.1.25
MAC Source: 00:00:39:7C:83:DB
MAC Dest: 00:E0:98:2D:09:97
7
Home-Based Approaches
Mobile IP
8
4
31/10/2014
Distributed Hash Tables
5
6
8
12
20
Chord system.
9
Approccio gerarchico
•
•
Un nodo radice di un sotto-albero contiene una entry per ogni entità E.
Il location record contiene un puntatore al directory node del successivo
sotto-dominio del livello più basso che contiene l’entità E.
10
5
31/10/2014
Approccio gerarchico: replicazione di entità
•
Figure 5-6.
5 6 An example of storing
information of an entity
having two addresses in different leaf
domains.
11
Approccio gerarchico: ricerca
Fasi della ricerca di una risorsa E
12
6
31/10/2014
Approccio gerarchico:inserimento nuova risorsa
a) richiesta di inserimento di una risorsa E
b) inserimento di una risorsa E
13
Spazio dei nomi (file system)
14
7
31/10/2014
Spazio dei nomi distribuito (DNS)
15
Implementation of Name Resolution
(Soluzione iterativa)
16
8
31/10/2014
Implementation of Name Resolution
(Soluzione ricorsiva)
17
Implementation of Name Resolution
(confronto soluzione ricorsiva e iterativa)
• Le due soluzioni possono avere costi di comunicazione
differenti.
18
9
31/10/2014
Naming basato sugli attributi
• L’entità è descritta in termini di coppie (attributo,
valore). Ad un’entità possono essere associati un
insieme di attributi
attributi.
• Il compito del sistema di naming è di restituire una
o più entità che corrispondano alla richiesta fatta
dall’utente in termini di uno o più attributi.
• I sistemi di namingg basati sugli
g attribuiti sono noti
come directory service.
• Si basano su diversi modelli per la descrizione
delle entità ( ad es. Resource Description
Framework RDF)
19
Esempio RDF
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description
df D
i ti
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
<cd:artist>Bob Dylan</cd:artist>
<cd:country>USA</cd:country>
<cd:company>Columbia</cd:company>
<cd:price>10.90</cd:price>
<cd:year>1985</cd:year>
</rdf:Description>
Il modello di dati RDF è formato da risorse,
proprietà e valori.
Title
Artist
Empire
Bob
Burlesque Dylan
Country Company Price
Year
USA
1985
Columbia 10.90
</rdf:RDF>
20
10