La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Nombrando Entidades Nombres Direcciones Identificadores

Presentaciones similares


Presentación del tema: "Nombrando Entidades Nombres Direcciones Identificadores"— Transcripción de la presentación:

1 Nombrando Entidades Nombres Direcciones Identificadores
Espacio de Nombres Resolución de Nombres Mecanismo de Cierre Ligamiento Montaje

2 Nombrando Entidades Nombres
Definición: Un nombre en un sistema distribuido es un conjunto de caracteres o bits que representan a una entidad. Las Entidades pueden ser operadas. Ejemplo: Nombre “Impresora” Entidad Interfaz Donde se puede Operar

3 Nombrando Entidades Nombres
Existe un tipo importante de nombres, denominados Nombres Humanos. Consisten en nombres destinados a ser utilizados por los seres humanos. Ejemplos: Nombres de archivo Nombres de las Variables en un Código.

4 Nombrando Entidades Direcciones Punto de Acceso:
Consiste en una entidad especial, cuyo nombre se denomina Dirección, y siempre esta asociada a una entidad. Es decir, el punto de acceso representa la dirección del cual se puede acceder la entidad al cual esta asociado. Una entidad puede tener asociado varios puntos de acceso. Ejemplo: Nombre “Host” Entidad Punto de Acceso

5 Nombrando Entidades Direcciones
Una entidad puede cambiar su punto de acceso; es decir, es asociada a un punto de acceso diferente. Ejemplo: Nombre Independiente de la Localidad “Servidor Manejador de Peticiones FTP” “Host” “Host”

6 Nombrando Entidades Identificadores
Definición: Un identificador es un nombre que cumple con las siguiente propiedades: Representa a lo sumo una entidad. Cada entidad es representada por a lo sumo un identificador. Siempre se refiere a la misma entidad. Con el uso de Identificadores se puede representar a entidades sin ambigüedades. Ejemplos: Numero de cedula de una entidad “Persona”, y el RIF de una entidad “Empresa”.

7 Nombrando Entidades Espacio de Nombres
Definición: Los nombres en un sistema distribuido se organizan en lo que se llama un Espacio de Nombres. Se representa mediante un grafo dirigido que reúne el conjunto de las entidades de un sistema distribuido. Por lo tanto cada nodo tiene asociado un identificador. En dicho grafo pueden haber 3 tipos de nodos: Nodo Terminal: Representa una entidad nombrada y tiene la propiedad de no tener sucesor alguno. Nodo Directorio: Representa una entidad nombrada y tiene la propiedad de tener uno o mas sucesores. Nodo Raíz: Nodo con la propiedad de no tener antecesor alguno. Por simplicidad se debería tener un solo nodo raíz.

8 Nombrando Entidades Espacio de Nombres
Cada nodo tiene asociado una etiqueta y un identificador asociado a la entidad que representa. Cada nodo directorio tiene asociado una tabla que contiene los pares (etiqueta,identificador) de cada uno de sus sucesores. Ejemplo: N1: “bin” N2: “home” Nodo Terminal Nodo Directorio N0 bin home N1 N2 java config Maverick N8 N3 N4 File0 javax javac N9 N5 N6

9 Nombrando Entidades Espacio de Nombres
Cada ruta en el grafo puede ser representada por una secuencia de etiquetas que corresponden a los nodos por los cuales ella atraviesa. Cada ruta puede ser relativa o absoluta. Ejemplo: N0 bin home N1 N2 java config Maverick Ruta Absoluta N8 N3 N4 Archivo1 javax javac N9 N0:<N2,N8,N9> N5 N6 N3:<N6> Ruta Relativa

10 Nombrando Entidades Espacio de Nombres
Pueden haber 2 tipos de nombres en el grafo: Nombre Global Nombre Local Ejemplo: N0 bin home N1 N2 java Andross Maverick N7 N8 N3 Archivo1 Archivo1 javax javac N4 N9 N5 N6 Nombre Global Nombres Locales

11 Nombrando Entidades Resolución de Nombres
Definición: Dado una ruta, al proceso de obtener el contenido del nodo que dicha ruta apunta, se le denomina Resolución de Nombres. Ejemplo: Dado la ruta N0:<N2,N8,N9>, N1: “bin” N2: “home” N7: “Andross” N8: “Maverick” N0 home bin N2 N9: “Archivo1” N1 Andross Maverick N7 N8 Archivo1 Archivo1 La ruta original queda resuelta a “/home/Maverick/Archivo1” N4 N9

12 Nombrando Entidades Mecanismo de Cierre
Definición: Mecanismo que indica donde se debe comenzar el proceso de resolución de nombres y como se debe hacer. Ejemplo: El mecanismo de cierre asegura que los nombres locales siempre se resuelven en el nodo directorio asociado a ella. N0 home N2 Andross Maverick N7 N8 Archivo1 Archivo1 N4 N9

13 Nombrando Entidades Ligamiento
Un Alias consiste en el uso de otro nombre para una entidad. Ejemplos: Las variables de entorno que se usan en Windows tal como: Classpath = C:\Archivos de programa\Java\clases

14 “/home/Maverick/Archivo1”
Nombrando Entidades Ligamiento Hay 2 maneras de representar un alias en el grafo: Permitir que varias rutas resuelvan al mismo nodo. Ejemplo: Ruta original: “/home/Maverick/Archivo1” Ruta Añadida: “/bin/java/Archivo1” N0 bin home N2 N1 Maverick java N7 Archivo1 N3 Archivo1 javax javac “Hard Links” N4 N5 N6

15 Nombrando Entidades Ligamiento
Hay 2 maneras de representar un alias en el grafo: 2) Utilización de “Symbolic Link” Ejemplo: Se dice que “N5 es un link simbólico a N4” N0 bin home N2 N1 Maverick java N7 N3 Archivo1 Archivo1 N4 N5 “/home/Maverick/Archivo1”

16 Nombrando Entidades Montaje
El proceso de resolución de nombres también puede ser utilizado para unir diferentes espacios de nombres. Un “Mount Point” es un nodo directorio que en su tabla contiene una entrada que hace referencia a un nodo en otro espacio de nombres. Un “Mounting Point” consiste en el nodo que esta siendo referenciado por algún nodo en otro espacio de nombres.

17 Espacio de Nombres Foráneo EN2
Nombrando Entidades Montaje Ejemplo: Espacio de Nombres Foráneo EN2 Espacio de Nombres EN1 N0 L0 home home N2 L2 Andross Maverick Andora N9:”Archivo1” L4:”code.cpp” N7 N8 L7 Archivo1 Archivo1 code.cpp N4 N9 L4 “Mounting Point” “Mount Point”

18 Nombrando Entidades Montaje
Considere un par de espacios de nombres que se encuentran distribuidos en diferentes máquinas. Si se desea montar un “mount point” en EN1 que haga referencia a EN2, se necesita: El nombre de un protocolo de acceso El nombre de la maquina que maneja EN2. El nombre del mounting point en el espacio de nombres foráneo, EN2.

19 >>cd /home/Maverick
Nombrando Entidades Montaje Ventaja del uso del Montaje: N0 home L0 home N2 L2 Andross Maverick Andora N9:”Archivo1” L4:”code.cpp” N7 N8 L7 Archivo1 Archivo1 code.cpp N4 N9 L4 >>cd /home/Maverick >>ls –l >>Archivo1 code.cpp

20 Implementación de un Espacio de Nombres (Name Space)

21 Distribución de un Espacio de Nombres
Cheriton y Mann (1989) Capa global: Está formada por el nodo raíz y sus nodos hijos. Los nodos pertenecientes a esta capa se caracterizan por su estabilidad, dado que sus tablas de directorio cambian poco. estos nodos pueden representar organizaciones o grupo de organizaciones. Capa Administrativa: Está formada por nodos directorio que juntos son manejados dentro de una organización. ellos se caracterizan porque ellos representan grupos de entidades que pertenecen a la misma organización o unidad de administración. Capa Directiva: Está formada por nodos que cambian con regularidad. Su principal característica es que dichos nodos no son mantenidos solo por administradores del sistema, sino también por usuarios finales; Ya que esta capa contiene los directorios y archivos de dichos usuarios.

22 Distribución de un Espacio de Nombres – Ejemplo:

23 Distribución de un Espacio de Nombres
ITEM GLOBAL ADMINISTRATIVA DIRECTIVA Escala geográfica de la red Mundial Organización Departamento Numero total de nodos Pocos Muchos Números vastos Tiempo de respuesta Segundos Milisegundos Inmediato Propagación de actualizaciones Floja Inmediata Numero de replicas Muchas Ninguna o pocas Ninguna Caching del lado del cliente Si A veces

24 Implementación de Resolución de Nombres
La distribución del Espacio de nombres a través de muchos servidores de nombres afecta la implementación de Resolución de Nombre. Dos métodos: Resolución de nombres iterativa Resolución de nombres recursiva

25 Resolución de nombres iterativa

26 Resolución de nombres recursiva

27 Resolución de nombres recursiva

28 Iterativo Vs. Recursivo

29 El Domain Name System (DNS)
DNS es uno de los mas grandes servicios de naming distribuidos usados en la actualidad. Es utilizado principalmente para conocer direcciones de hosts y de servidores de correos.

30 El Espacio de Nombres de DNS
baraka.ldc.usb.ve. Esta organizado jerárquicamente como un árbol con raíz. Una etiqueta es un String (case-insensitive) de caracteres alfanuméricos. Con un largo máximo de 63 caracteres. El largo máximo de un nombre de camino completo no puede exceder los 255 caracteres. La representación de un nombre de camino consiste de una lista de etiquetas separadas por puntos, comenzando con la que se encuentra mas a la derecha. Como cada nodo en el espacio de nombres de DNS tiene exactamente un solo arco entrante (excepto la raíz que no tiene ninguno) la etiqueta del arco que llega al nodo se usa como nombre del nodo. Un subárbol se denomina Dominio El camino al nodo raíz es denominado Nombre del Dominio. El contenido de un nodo esta formado por una colección de "registros de recursos"

31 Registros de recursos

32 Implementación de DNS La implementación de DNS es muy similar a lo descrito anteriormente. En esencia este servicio puede ser dividido en una capa global y una capa de administración. la capa de manejo esta formada por sistemas de archivos locales, esta no es formalmente parte de DNS y por lo tanto no es manejada por dicho servicio. Cada zona es implementada por un servidor de nombres, el cual es siempre replicado para mayor disponibilidad. Los cambios en una zona especifica son manejados por el servidor de nombres primario. Los cambios se realizan modificando la base de datos local de DNS del servidor primario. Los servidores de nombre secundarios no acceden a la base de datos directamente, sino que solicitan al servidor primario que transfiera su contenido. Una base de datos de DNS es implementada como una pequeña colección de archivos , de los cuales el mas importante contiene todos los registros de recursos de todos los nodos de una zona particular. Esto permite que los nodos sean identificados simplemente a través de su nombre de dominio.

33 Base de Datos de DNS

34 Entidades Móviles Los mecanismos de resolución de nombres vistos hasta ahora se utilizan para entidades “fijas”, y no soportan asociaciones de nombre-dirección que cambian periódicamente

35 Naming vs. Locating Entities
Tipos de nombres Nombre “amistoso” humano Identificadores Direcciones DNS Nombre “amistoso” humano  Dirección

36 Naming vs. Locating Entities
cs.vu.nl ftp

37 Naming vs. Locating Entities
cs.vu.nl cs.unisa.edu.au ftp ftp

38 Naming vs. Locating Entities
Soluciones Guardar la dirección de la nueva maquina DNS cs.vu.nl ftp.cs.unisa.edu.au ftp.cs.berkely.edu

39 Naming vs. Locating Entities
Soluciones (continuación) Guardar el nombre de la nueva maquina ftp ftp.cs.unisa.edu.au DNS cs.vu.nl ftp cs.unisa.edu.au ftp.cs.berkely.edu

40 Naming vs. Locating Entities
nombre nombre nombre nombre dirección dirección dirección dirección

41 Naming vs. Locating Entities
nombre nombre nombre nombre Servicio de nombres identificador Servicio de localización dirección dirección dirección dirección

42 Soluciones Simples Broadcasting y Multicasting
Apuntadores: cadena de pares stub - scion

43 Broadcasting y Multicasting
Principio usado en Address Resolution Protocol (ARP) A B Quien es “X”? X

44 Apuntadores: pares (stub, scion)
Usado en SSPC (Stub Scion Pairs Chains) Proceso P2 Proceso P3 Proceso P4 Proceso P1

45 Apuntadores: pares (stub, scion)
Provee un mecanismo para cortar la cadena Proceso P2 Proceso P3 Proceso P1

46 Home-Based Approaches
Broadcasting y Multicasting  díficiles de implementar eficientemente en grandes escalas de redes donde largas cadenas de apuntadores introducen problemas de desempeño y son suceptibles a enlaces rotos Solución  home location

47 Ejemplo Ubicación “home” del host Manda paquete a la
2. Retorna dirección de ubicación actual Ubicación del cliente 3. Desvío del paquete a la ubicación actual 4. Manda próximos paquetes a la ubicación actual Ubicación actual del host

48 Aproximaciones de jerarquía
Mecanismo general La red está dividida en un conjunto de dominios  similar a la organización del DNS Raíz de T Nivel tope del dominio T Nodo del dominio Subdominio S de T Hoja del dominio, contenida en S

49 Aproximaciones de jerarquía
Mecanismo general (Continuación…) Cada entidad es representada por un “record de ubicación” en el nodo En una hoja  se almacena la dirección actual de la entidad En los niveles externos  se guarda un apuntador al nodo del nivel inferior que contiene la entidad

50 Ejemplo: Búsqueda de ubicación
El nodo conoce a E, la petición es mandada al hijo M El nodo no tiene record de E, la petición es mandada al padre Dominio D Pedido de búsqueda

51 Ejemplo: Actualización
El nodo conoce a E, la petición no se vuelve a enviar M El nodo no tiene record de E, la petición es mandada al padre Dominio D Pedido de inserción

52 Ejemplo: Actualización (cont.)
El nodo crea el record y guarda el apuntador M El nodo crea el record y guarda la dirección

53 Pointer Caches En servicios de nombramiento tradicionales, el mapping entre el nombre y la dirección se asume que es estable Caching solamente es efectivo si la data guardada raramente cambia

54 Ejemplo: Caching a reference
Dominio D Cached pointers E se mueve regularmente entre dos subdominios

55 Scalability Issues Problema  sin ninguna medida especial, la raíz puede ser requerida para manejar muchas búsquedas y actualizaciones, lo cual producirá enbotellamiento Solución  particionar la raíz y otros nodos de alto nivel en subnodos  distribuir los nodos uniformemente a lo largo de la red

56 Ejemplo: Usuario móvil
Dominio donde reside E actualmente Subnodo de la raíz, responsable de atender requerimientos de E Alternativo, y mejor opción para atender requerimientos de E Ruta actual de la búsqueda del requerimiento Ruta alterna para la búsqueda del requerimiento El cliente pide la dirección actual de E

57 Entidades No Referenciadas
El problema de las entidades no referenciadas “Broken links” en Internet Referencias Cíclicas Referencias Inalcanzables Ref. Cíclicas Ref. Alcanzables Ref. Inalcanzables

58 Entidades No Referenciadas
Problemas a Resolver Localización de entidades no referenciadas Eliminación de entidades Fallas en las conexiones y redes Solución Recolector de Basura (Garbage Collector)

59 Entidades No Referenciadas
Conteo de Referencias Esqueleto Proceso P Objeto O

60 Entidades No Referenciadas
Problemas Pérdida/Duplicación de Mensajes Esqueleto Proceso P Objeto O Se pierde el ACK El proxy p fue contado dos veces

61 Entidades No Referenciadas
Problemas (continuación) Condición de Carrera P1 envía una referencia a P2 P1 elimina la referencia a O P1 “avisa” a O que va a enviar una referencia P1 elimina la referencia a O O ya fue eliminado Tiempo Tiempo P2 informa a O que tiene una referencia P1 envía una referencia a P2 O confirma la referencia a P2

62 Entidades No Referenciadas
Conteo de Referencias con peso Peso parcial del objeto divido a la mitad Esqueleto Objeto O Peso Parcial del proxy Proceso P Peso Total Peso Parcial

63 Entidades No Referenciadas
Conteo de Referencias con peso Proceso P2 P2 obtiene la mitad del peso del proxy de P1 El peso parcial del esqueleto no se modifica P1 pasa la referencia a P2 Proceso P1

64 Entidades No Referenciadas
Conteo de Referencias con peso P1 no tiene peso y crea un esqueleto adicional El objeto no tiene peso parcial Proceso P1 Proceso P2 P2 referencia al objeto o través de P1 Peso Total Peso Parcial

65 Entidades No Referenciadas
Conteo de Referencias con generaciones Proceso P2 P1 pasa la referencia a P2 El objeto posee una tabla con cantidad de copias por generación Proceso P1 Contador de copias Generación

66 Entidades No Referenciadas
Conteo de Referencias con generaciones Al eliminar una referencia, el esqueleto recibe el número de copias numCopia y de generación gen G[gen] -1 G[gen+1] + numCopia

67 Definición Operaciones Idempotentes Ventajas
Lista de Referencias Definición Operaciones Idempotentes Ventajas

68 Lista de Referencias Definición
Es una estructura que tiene cada proxy que mantiene los proxies que apuntan hacia éste. En vez de contar las referencias se mantiene una lista explicita de los proxies incidentes.

69 Lista de Referencias Operaciones Idempotentes Agregar
Agregar un proxie ya listado a la lista de referencia no tiene efecto. Eliminar Eliminar un proxie ya borrado de la lista no tiene efecto.

70 Lista de Referencias Operaciones Idempotentes
El agregar por primera vez debe ser cuidadosa. Ejemplo.

71 Lista de Referencias Ventajas
Facil de mantener la lista en caso de fallas, el esqueleto chequea de vez en cuando que las referencias estén vivas. Puede escalar mas fácilmente

72 Lista de Referencias Desventajas
Si la lista es muy grande, puede que no escale muy bien. Una solución es que se limite la cantidad de tiempo que estará una referencia en la lista.

73 Identificando Entidades Inalcanzables
Marcado Ingenuo (Naive Tracing) Marcado en Grupos

74 Entidades Inalcanzables
Marcado Ingenuo. Recordando mark-and-sweep. “Stop the world”. Mark-and-sweep modificado. (algoritmo de los tres colores). Emerald.

75 Entidades Inalcanzables
Marcado Ingenuo Ventaja: Se logran eliminar las entidades que no son alcanzables desde el conjunto raíz Desventajas: durante el proceso de marcado y borrado el grafo no puede cambiar.

76 Entidades Inalcanzables
Marcado en grupos Consiste en dividir y conquistar Cuando los sub-problemas son combinados. Ventaja: Reduce el overhead Desventaja: Cuando se combinan los sub-problemas.

77 Preguntas


Descargar ppt "Nombrando Entidades Nombres Direcciones Identificadores"

Presentaciones similares


Anuncios Google