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