MXPA02010378A - Enmascaramiento programatico de unidades de almacenamiento. - Google Patents

Enmascaramiento programatico de unidades de almacenamiento.

Info

Publication number
MXPA02010378A
MXPA02010378A MXPA02010378A MXPA02010378A MXPA02010378A MX PA02010378 A MXPA02010378 A MX PA02010378A MX PA02010378 A MXPA02010378 A MX PA02010378A MX PA02010378 A MXPA02010378 A MX PA02010378A MX PA02010378 A MXPA02010378 A MX PA02010378A
Authority
MX
Mexico
Prior art keywords
node
programmable
data structure
storage units
programmable data
Prior art date
Application number
MXPA02010378A
Other languages
English (en)
Inventor
Peter Weiland
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of MXPA02010378A publication Critical patent/MXPA02010378A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access

Abstract

Se describen un sistema y metodo para programaticamente manejar el acceso entre uno o mas nodos (12) y una pluralidad de dispositivos asociados (16, 18, 20, 22), tal como unidades de almacenamiento compartidas. Cada nodo (12) es programado para incluir una estructura de datos (40, 46), la cual identifica si un dispositivo asociado (16, 18, 20, 22) va a estar dentro del alcance del nodo respectivo (12). La estructura de datos (40, 46) puede incluir listas persistentes y/o temporales (48, 50). Cada dispositivo (16, 18, 20, 22) puede ser programaticamente enmascarado con relacion al nodo (12) modificando dinamicamente la estructura de datos (40, 46) del nodo (12), tal como empleando una internas predeterminada (60, 70, 80, 90).

Description

ENMASCARAMIENTO PROGRAMÁTICO DE UNIDADES DE ALMACENAMIENTO CAMPO DE LA INVENCIÓN La presente invención se refiere generalmente al control del acceso a los dispositivos y, más particularmente, a un sistema y método para sistemática o proramáticamente manejar el acceso a través de un sistema huésped a uno o más dispositivos operativamente conectados al sistema huésped.
ANTECEDENTES DE LA TÉCNICA Con el fin de seguir siendo competitivo y para manejar cambios tecnológicos, los sistemas de computadora se están volviendo cada vez más poderosos y más complejos. Una motivación principal para esto ha sido las aplicaciones de base de datos extensas y más aplicaciones intensivas de datos. Ya que los sistemas se han incrementado en complejidad, tienen demandas para un almacenamiento de datos y capacidades de comunicaciones mejorados. Las arquitecturas de computadora históricamente se encontraron en el principio de que los dispositivos de almacenamiento eran "poseídos" por una computadora huésped o nodo al cual estaban unidas. Más recientemente, los modelos de arquitectura de computadora están moviendo inteligencia incrementada para dispositivos de almacenamiento de datos y canales para facilitar la transmisión y almacenamiento de datos. Los canales y redes son dos tipos básicos de topologías de comunicaciones de datos típicamente empleados entre procesadores y entre un procesador y periféricos. Un "canal" proporciona una conexión directa o intercambiada de punto a punto entre los dispositivos de comunicación. La tarea principal de un canal es transportar datos a la velocidad de datos posible más alta con la menor cantidad de retraso. Los canales típicamente desarrollan una corrección de error simple en el hardware. Una "red", en contraste, es una agregación de nodos distribuidos (por ejemplo, estaciones de trabajo, unidades de almacenamiento masivo, etc.) con su propio protocolo el cual soporta la interacción entre estos nodos. Típicamente, cada nodo mantiene un medio de transmisión, y cada nodo debe ser capaz de reconocer condiciones de error en la red y debe proporcionar la administración del error requerida para recuperarse de condiciones de error. Una interconexión de comunicaciones de tipo híbrido es el Canal de Fibra, el cual intenta combinar los beneficios de ambos, canal y tecnologías de red. El protocolo del Canal de Fibra está siendo desarrollado y adoptado bajo El Estándar Nacional Americano de Sistemas de Información (ANSÍ) (American National Standard for Information Systems). Definido brevemente, el Canal de Fibra es un protocolo intercambiado que permite la comunicación concurrente entre estaciones de trabajo, su percomputadoras y varios periféricos. El ancho total de banda de la red provisto por el Canal de Fibra puede estar en el orden de un terabit por segundo. El Canal de Fibra es capaz de transmitir marcos a velocidades que exceden 1 gigabit por segundo en ambas direcciones simultáneamente. También es capaz de transportar comandos y datos de acuerdo con protocolos existentes, tales como el protocolo de Internet (IP). Interfase del sistema de computadora pequeño (SCSI) a través del cable óptico y de cobre. La evolución y estandarización del Canal de Fibra ha tenido un profundo impacto relacionado con el almacenamiento de datos. El Canal de Fibra permite tanto más rápido acceso como acceso a mayor distancia (por ejemplo, en exceso de 10 km) que otras topologías de almacenamiento de datos convencionales. Debido a que el Canal de Fibra permite mayor distancia entre dispositivos, también tiene ventajas en situaciones de recuperación de desastres, tales como los dispositivos de almacenamiento pueden ser colocados remotamente. Una arena de almacenamiento de datos en particular en la cual el Canal de Fibra estimula un interés substancial es los sistemas de almacenamiento compartidos, tal como redes de área de almacenamiento (SANs), a través de las cuales una pluralidad de huéspedes pueden compartir acceso a una red de dispositivos de almacenamiento asociados. Una arquitectura de SAN típica está formada de sistemas de almacenamiento múltiples y una red aislada lógicamente. Los sistemas de almacenamiento pueden incluir virtualmente cualquier tipo de dispositivo de almacenamiento, tal como un disco, cinta, etc. La porción de la red incluye adaptadores, cableado, puentes, concentradores, interruptores y directores. Descritos brevemente, los adaptadores unen servidores y periféricos a un cableado (por ejemplo, fibras ópticas u otros cableados) en la red. Los puentes convierten de un protocolo a otro, tal como de SCSI a Canal de Fibra. Los concentradores, interruptores y directores, proporcionan un punto de conexión central y capacidad de direccionamiento en un concentrador de datos SAN típico. Un ambiente SAN habilita a una pluralidad de dispositivos de almacenamiento a ser considerados un fondo de almacenamiento compartido capaz de ser accesado a través de maquinas de huéspedes múltiples. Ya que más de un dispositivo puede requerir acceso para un dispositivo de almacenamiento dado al mismo tiempo, las dificultades pueden surgir en el manejo del acceso a los dispositivos de almacenamiento del SAN.
Se ha propuesto una arquitectura de intercambio basada en hardware para selectivamente controlar el acceso a los dispositivos de almacenamiento conectados a un SAN. Por ejemplo, los interruptores del Canal de Fibra son empleados para crear zonas que restringen la habilidad de los nodos de un Canal de Fibra individual en el SAN para comunicarse uno con otro y con los dispositivos de almacenamiento asociados. En una arquitectura de almacenamiento en la cual están organizados múltiples dispositivos de almacenamiento como un arreglo de unidades lógicas (por ejemplo, dentro de un gabinete), otro método es implementar enmascaramiento LUN basado en hardware. En el enmascaramiento LUN, los interruptores son empleados, usualmente en el SAN, para controlar el acceso entre una máquina huésped y unidades lógicas seleccionadas correspondientes a los dispositivos de almacenamiento asociados. Por ejemplo, un interruptor del Canal de Fibra determina para cual nodo del Canal de Fibra y a cual número de unidad lógica un comando particular está dirigido y realiza enmascaramiento en el nivel del número de unidad lógica. Debido a que se han desarrollado estándares insuficientes para la interfase utilizada para controlar los interruptores de hardware, sin embargo, será difícil efectivamente implementar enmascaramiento LUN en la mayoría de los sistemas, En particular, la interfase de administración para cada dispositivos de almacenamiento y máquina huésped usualmente varía entre fabricantes. Consecuentemente, son requeridas diferentes interfases cuando un sistema comprende dispositivos de almacenamiento y/o maquinas huésped de diferentes fabricantes. Además, el hardware por si mismo (por ejemplo, los interruptores y el gabinete) por lo general puede ser prohibitivamente costoso para ipe <\ <... - ; r. s organizaciones que puedan desear emplearlos pasas sá, "•'-..,.•. ".;-. miento compartido. También, en donde diferentes ma ir .1 ; K. ,ped conectadas al sistema SAN emplean diferentes sisft-ezsE c -. ra ti vos, las dificultades pueden surgir cuento las dí&ep-ffiri o -, maquinas intentan accesar el mismo dispositivos de ala-naasf, srr. ie, o (o unidad lógica) simultáneamente.
Asfij- sra ! mente, si múltiples huéspedes están conectados a los m'tsKptas i ositivos de almacenamiento, existe un probabilidad i n ÜPBÍT" :' .t de los sistemas de archivo estando corruptos, tal coar-EBó. i os de monitoreo periódico de los dispositivos para DESCRIPCIÓN DE LA INVENCIÓN í¿ .•..••: ite invención se refiere a un sistema y método para sisliBHB?r ' '•••,' , ente manejar el acceso entre un nodo y uno o más d i s s t i o v. asociados, tales como unidades de almacenamiento. Ureaßccss estructuras de datos pueden ser programadas en el no.a®f :-ra identificar si un dispositivo asociado estará dentro del alcaß dei nodo. El alcance del nodo está determinado con base en fi» structura de datos del nodo, la cual puede ser din'a ..- e pte cambiada a través de modificación sistemática de I a EÉte'- ti".-? de datos. ¡fe ;? uerdo con un aspecto de la presente invención, se em$Stas u • - ::• interfase para identificar dispositivos unidos al nodo. Eil nodo, por ejemplo, tiene una primera estructura de datos la cual indica los dispositivos unidos al nodo. El nodo también tiene una segunda estructura de datos indicando si un dispositivo asociado será escondido o expuesto relativo al nodo. Por ejemplo, la segunda estructura de datos puede estar en la forma de una lista de inclusión, indicando cual dispositivo(s) está dentro del alcance del nodo, y/o una lista de exclusión indicando cual dispositivo(s) identificado no está dentro del alcance del nodo. Una interfase sistemática puede ser empleada para modificar la segunda estructura de datos en una forma seleccionada. Como resultado, los dispositivos unidos seleccionados pueden ser dinámicamente traídos a y/o fuera del alcance del nodo. En el sistema de almacenamiento compartido, la interfase simplifica la administración de los dispositivos de almacenamiento compartidos y mitiga los conflictos de dispositivo. El tiempo de inicio también puede ser reducido por un nodo configurado de acuerdo con la presente invención, ya que el sistema operativo necesita acceso y unos dispositivos asociados montados con base en la segunda estructura de datos del nodo. De acuerdo con otro aspecto de la presente invención, uno o más controladores pueden ser operativamente acoplados a un sistema de almacenamiento compartido que tiene múltiples unidades de almacenamiento objetivo. Cada controlador emplea una estructura de datos programable, la cual define los dispositivos asociados operativamente unidos a I nodo que serán expuestos funcionalmente u ocultados en relación al controlador. La estructura de datos puede incluir componentes persistentes y/o temporales. Los componentes persistentes y/o temporales pueden ser modificados a través de una interfase empleada en una forma predeterminada. El objeto de un dispositivo es creado en el controlador para cada dispositivo asociado, según definido por la estructura de datos del controlador. Cada objeto del dispositivo está enlazado a un propósito de mayor nivel, tal como un controlador de clase, para controlar la operación del dispositivo asociado en respuesta a los comandos del controlador. De acuerdo con otro aspecto de la presente invención, un objeto de dispositivo para un dispositivo asociado es removido (o agregado) dinámicamente con base en los cambios de la estructura de datos del nodo. Cuando un objeto del dispositivo es removido, por ejemplo, un objeto de dispositivo no de alto nivel (por ejemplo, un controlador de clase) es cargado para el objeto del dispositivo respectivo y el dispositivo correspondiente ya no está dentro del alcance del nodo. Como resultado, los mecanismos de comunicación tradicionales (por ejemplo, comandos de lectura y/o escritura) son inhibidos en la comunicación con el dispositivo. Un objeto de dispositivo para un segundo nodo, sin embargo, puede ser creado para un dispositivo asociado (por ejemplo, a través de la modificación sistemática de la estructura de datos de un segundo nodo) para establecer un canal de comunicaciones entre el segundo nodo y el dispositivo asociado. En esta forma, un aspecto de la presente invención puede ser emplear para facilitar el intercambio sistemático, dispositivos entre un juego de nodos interconectados. De acuerdo aún con otro aspecto de la invención, un enlace entre el objeto del dispositivo y su objeto de dispositivo de nivel más alto de un dispositivo asociado puede ser sistemáticamente roto o agregado de acuerdo a si el dispositivo asociado está identificado por la estructura de datos del nodo. Cuando el enlace entre el objeto del dispositivo y su objeto de dispositivo de nivel más lato está roto, el dispositivo asociado ya no está dentro del alcance de nodo, de tal forma que el acceso a éste a través del nodo está bloqueado. Un nuevo objeto de dispositivo de nivel más alto puede ser creado y, a su vez, enlazado al objeto del dispositivo para exponer el dispositivo asociado con relación al nodo, tal como una respuesta al cambio sistemático en la estructura de datos del nodo.
BREVE DESCRIPCIÓN DE LOS DIBUJOS La Figura 1 es una representación de bloque esquemático de un sistema de acuerdo con la presente invención; La Figura 2a es un diagrama de bloque funcional de un sistema programado de acuerdo con la presente invención, ilustrando una primera condición del sistema; La Figura 2b es un diagrama de bloque funcional del sistema de la Figura 2a, ilustrando una segunda condición del sistema de acuerdo con la presente invención; La Figura 2c es un diagrama de bloque funcional del sistema de la Figura 2a, ilustrando una tercera condición del sistema de un dispositivo de acuerdo con otro aspecto de la presente invención; La Figura 3 es un diagrama de bloque funcional de un sistema ilustrando un nodo acoplado a una pluralidad de objetivos a través de una pluralidad de buses (grupo de cables dentro de un sistema ordenador), los cuales pueden estar configurados de acuerdo con la presente invención; La Figura 4 es una representación en bloque de un sistema que tiene una pluralidad de nodos conectados a un sistema de almacenamiento compartido de acuerdo con la presente invención; La Figura 5 es una representación en bloque de un sistema que tiene una pluralidad de nodos conectados a través de una red a un sistema de almacenamiento compartido de acuerdo con la presente invención; La Figura 6 es una representación en bloque de un sistema basado en Internet que tiene una pluralidad de nodos conectados a un sistema de almacenamiento compartido de acuerdo con la presente invención ; La Figura 7 es un ambiente operativo ilustrativo para un sistema configurado de acuerdo con la presente invención; La Figura 8 es un diagrama de flujo ilustrando una metodología para inicializar el criterio de enmascaramiento de un nodo de acuerdo con la presente invención; La Figura 9a es un diagrama de flujo ilustrando la metodología para el acceso al enmascaramiento a través de un nodo relativo a un dispositivo de acuerdo con la presente invención; La Figura 9b es un diagrama de flujo ilustrando, con mayor detalle, parte del proceso de la Figura 9a de acuerdo un aspecto de la presente invención; y La Figura 9c es un diagrama de flujo ilustrando, con mayor detalle, parte del proceso de la Figura 9a, de acuerdo con otro aspecto de la presente invención.
MODO(S) DE LLEVAR A CABO LA INVENCIÓN La presente invención se refiere a un sistema y método para sistemáticamente manejar el acceso entre un nodo y uno o más dispositivos asociados, tales como unidades funcionales de almacenamiento. Una o más estructuras de datos pueden ser programadas en el nodo para identificar si un dispositivo asociado está dentro del alcance del nodo. El alcance del nodo define si cada dispositivo asociado está funcionalmente expuesto u oculto en relación al nodo. El alcance del nodo puede ser dinámicamente cambiado a través de modificación sistemática de la estructura de datos de acuerdo con un aspecto de la presente invención. La Figura 1 es una representación en bloque simplificada de un sistema 10, el cual puede estar programado para implementar el enmascaramiento de acuerdo con la presente invención. El sistema incluye un nodo 12 operativamente acoplado a través de un bus o barra colectora 14 a una pluralidad de dispositivos 16, 18, 20 y 22. El nodo es una computadora, tal como una maquina cliente, una estación de trabajo, un servidor u otra máquina. Los dispositivos 16, 18, 20 y 22 pueden estar en la forma de unidades funcionales de almacenamiento (por ejemplo, unidad de disco duro, CD-ROM, DVD, cinta, etc.) u otros dispositivos periféricos los cuales pueden ser utilizados en conjunción con el nodo 12. El bus o barra colectora 14 puede estar en la forma de una red, canales, u otros medios de conexión para habilitar la comunicación de datos entre el nodo 12 y los dispositivos de almacenamiento 16, 18, 20 y 22. De acuerdo con un aspecto de la presente invención, el nodo 12 incluye un controlador 14 que tiene una estructura de datos asociada, tal como en la forma de una o más listas programables, las cuales definen el criterio de alcance para determinar los parámetros de enmascaramiento empleados por el nodo. Se entenderá y apreciará que, a menos que se describa específicamente de otra manera o el contexto requiera una interpretación diferente, el término "enmascaramiento" como se utiliza en la presente y las reivindicaciones anexas está construido en sentido amplio, y que todas las construcciones de los términos intentan caer dentro del alcance de las reivindicaciones anexas a la misma. Por ejemplo, "enmascarar" un dispositivo relativo a un nodo puede ser inclusive tanto traer el dispositivo dentro del alcance del nodo como traer el dispositivo fuera del alcance del nodo. Cuando un dispositivo no está dentro del alcance del nodo 12, la comunicación entre el nodo y el dispositivo está bloqueada, así como si el dispositivo está oculto con relación a las capas superiores del software en el nodo. En contraste, cuando un dispositivo está dentro del alcance del nodo 12, el nodo puede accesar al dispositivo empleando un protocolo de comunicación apropiado. Las Figuras 2a-2c son diagramas de bloque funcionales representando características de sistema operativo (por ejemplo, grupo de controladores) de un nodo 12 el cual puede estar programado y/o configurado para enmascarar trayectorias de comunicación entre el nodo y los dispositivos (no mostrado) operativamente acopladas al nodo. Haciendo referencia a la Figura 2a, el nodo 12 incluye un adaptador de bus huésped 28, el cual, por ejemplo, puede ser un adaptador de bus SCSI. El adaptador de bus huésped 28 incluye un controlador 30 configurado y/o programado para manejar las trayectorias de comunicación o canales entre el nodo 12 y los dispositivos operativamente conectados al nodo a través de un bus asociado. Específicamente, el controlador 30 crea un objeto de dispositivo 32a, 32b, 32c (colectivamente denominados como "objetos de dispositivo 32") para los dispositivos conectados al bus. Cada objeto de dispositivo 32 es un objeto de dispositivo funcional que identifica a dispositivo incluyendo, por ejemplo, su ubicación (por ejemplo, un número de unidad lógica) y características de operación del dispositivo. Se apreciará que el término dispositivo, como se utiliza en la presente, intenta ser ampliamente construido de tal forma que, por ejemplo, corresponda a un dispositivo de hardware o a una unidad funcional del dispositivo, tal como una unidad lógica de almacenamiento de datos asociada con un dispositivo de almacenamiento. Otro objeto de dispositivo de nivel más alto 34a, 34b, 34c (colectivamente denominados como "objetos de dispositivo de nivel más alto 34") es cargado para cada objeto de dispositivo respectivo 32a, 32b, 32c Cada objeto de dispositivo de nivel más alto 34a, 34b, 34c, está asociado con el objeto de dispositivo respectivo a través de un enlace operativo indicado en 36a, 36b, 36c, respectivamente. Los objetos de dispositivo de más alto nivel 34 con objetos de dispositivo físicos, tales como, por ejemplo, controladores de clase, las cuales controlan el comportamiento del dispositivo asociado proporcionando comandos apropiados a o de un dispositivo correspondiente en respuesta a solicitudes de controlador 30 del nodo 12. Después de que objeto de dispositivo de nivel más alto 34 es cargado y enlazado a un objeto de dispositivo asociado 32, el dispositivo correspondiente está dentro del alcance del nodo (por ejemplo, el nodo puede accesar el dispositivo correspondiente). El nodo 12 o, más particularmente, el controlador 30 incluye una estructura de datos 40 para la información de almacenamiento indicativa de los dispositivos y sus relaciones operativas con el nodo. A manera de ejemplo, un aspecto de la estructura de datos 40 corresponde a una base de datos o lista 42 identificando todos los dispositivos operativamente conectados al bus del controlador (de aquí en adelante la "lista mundial 42"). La lista mundial 42 incluye dispositivos que son, de acuerdo con la presente invención, funcionalmente expuestos y ocultados con relación al nodo 12. Otro aspecto de la estructura de datos 40 es una base de datos o lista 44 que identifica todos los dispositivos que tienen objetos de dispositivo que son demostrados. Esto es, la lista demostrada de los objetos 44 identifica aquellos dispositivos operativamente conectados al controlador 30 (o al nodo 12) para el cual un objeto de dispositivo 32 existe. Un tercer aspecto de la estructura de datos 40 es el alcance de la estructura de datos de datos 46, adecuadamente en la forma de lista (de aquí en adelante denominada como "la lista de control de alcance 46"), la cual almacena un mapa de trabajo de criterio de enmascaramiento para el nodo 12. La lista de control de alcance 46 es programable, de tal manera que el criterio de enmascaramiento puede ser modificado a traer dispositivos seleccionados dinámicamente dentro/o traer dispositivos seleccionados fuera del alcance del nodo 12 sin requerir el inicio del sistema. El criterio de enmascaramiento puede incluir, por ejemplo, una lista de exclusión, una de inclusión, o ambas. Las listas (inclusión o exclusión) pueden ser configuradas en cualquier forma de estructura de datos. Una lista de inclusión define los dispositivos (tales como de acuerdo con los números de unidad lógicos y otras características de identificación) que están dentro del alcance del nodo. En contraste, una lista de exclusión identifica los dispositivos que no están dentro del alcance del nodo; todos los dispositivos que no están en la lista de exclusión están dentro del alcance del nodo. Por consiguiente, si una lista de exclusión es empleada, cuando un dispositivo nuevo es operativamente acoplado al nodo 12 estará expuesto con relación al nodo, tal como empleando un control de Conectar-y-Usar (PNP). Y sea para proporcionar el criterio de enmascaramiento en la forma de una lista de inclusión como una lista de exclusión, hablando en general, es un asunto de la selección del diseño, así como cada una puede tener ventajas dependiendo de la configuración del sistema y la razón del enmascaramiento que está siendo implementado. Para propósitos de brevedad, los siguientes ejemplos describen la lista de control de alcance 46 como una lista de inclusión, en la cual los dispositivos en una lista de inclusión están dentro del alcance del nodo. Se apreciará que, sin embargo, los principios fijados en la presente son igualmente aplicables a ambas, la lista de inclusión y la de exclusión. Además, mientras que lista de control de alcance 46 ha sido descrita como estando operativamente asociada con un controlador 30 de un nodo, se apreciará que otros arreglos de almacenamiento de datos pueden ser utilizados. Por ejemplo, una estructura de datos de alcance común puede ser mantenida por el nodo 12 para indicar globalmente cuales dispositivos están enmascarados con relación al nodo 12. Alternativamente, una lista de control de alcance puede ser mantenida separadamente para cada bus. De acuerdo con un aspecto de la presente invención, dos tipos de listas de inclusión (y/o exclusión) pueden estar operativamente asociados con la lista de control de alcance 46, particularmente, una lista de inclusión persistente 48 y una lista de inclusión temporal 50. Los términos "persistente" y "temporal" se refieren a características de almacenamiento de las listas respectivas. Una lista de inclusión persistente, por ejemplo, no supera un reinicio del sistema o la deshabilitación de un controlador correspondiente. La lista temporal 50, por ejemplo, es almacenada en la memoria temporal del nodo (por ejemplo, dispositivo de almacenamiento volátil), tal como RAM, y es mantenida durante todo el tiempo que el sistema esté corriendo y el controlador 30 permanece habilitado. La lista de inclusión persistente 48 preferiblemente es capaz de sobrevivir un reinicio de sistema o una colisión así como otras situaciones del sistema, tales como pérdida de energía, o cuando el controlador 30 o el 12 es deshabilitado. La lista persistente, por ejemplo, es almacenada en la memoria persistente (por ejemplo, almacenamiento no volátil), tal como el registro del sistema. Ambas, la lista persistente y la temporal 49 y 50, respectivamente, son programables, de tal manera que, por ejemplo, un administrador o servicio de más alto nivel puede modificar una lista seleccionada, lo cual da como resultado, dinámicamente un cambio del alcance del nodo 12. Varias interfases (por ejemplo, aplicación de las interfases de programación (API's)) pueden ser provistas, por ejemplo, ver el contenido de las listas seleccionadas o para sistemáticamente cambiar el contenido de una lista o listas seleccionadas. A través del ejemplo, una interfase 60, tal como la interfase CONFIGURAR_LISTA_INCLUSION (o API), es provista para habilitar enmascaramiento sistemático de un dispositivo con relación al nodo 12, de acuerdo con la presente invención. Un agente, tal como una aplicación (o servicio) un administrador de mayor nivel, emplea la interfase 60 para modificar una lista de inclusión (o exclusión). La interfase 60 causa la correspondiente identificación de datos para uno o más dispositivos para ser removidos de (o agregados) a una lista de inclusión apropiada (persistente o temporal). Las instrucciones provistas a la interfase 60, tal como a través de una aplicación de nivel más alto o administrador del sistema, determinan el tipo y extensión de los cambios de la lista. Además para controlar si un dispositivo particular está dentro del alcance del nodo 12, también puede ser deseable eliminar la lista de control del alcance totalmente de tal manera que las características de enmascaramiento del sistema asociadas con esa lista no afectan el comportamiento del sistema (por ejemplo, ningún enmascaramiento es intentado). Para implementar tal operación, por ejemplo, con relación a una lista de inclusión, una ¡nterfase apropiada o API, tal como una interfase BORRAR_LISTA_INCLUSION 70, puede ser proporcionada. Un Administrador (manualmente) o una aplicación de nivel más alto (operación iniciada) puede emplear la interfase 70 indicando cual lista de inclusión (o listas) serán eliminadas. El efecto de esta interfase 70 es determinado de acuerdo con el tipo de lista(s) de control de alcance. Por ejemplo, si solo existe una lista y esta es eliminada a través de la interfase BORRAR_LISTA_INCLUSION, el sistema revierte esto a un comportamiento por omisión, el cual, por ejemplo, puede ser exponer cada dispositivo visible al sistema. Alternativamente, si existen listas de control de alcance mixtas (por ejemplo, existen ambas listas tanto de inclusión como de exclusión), el comportamiento del sistema variará de acuerdo con cual lista es eliminada. Por ejemplo, si una lista de inclusión es eliminada a través de la interfase, entonces cada dispositivo identificado en la lista de exclusión es excluido. Si una lista de exclusión es eliminada de la lista mixta, entonces todo lo que esté identicazo en la lista de inclusión es incluido. La operación de la modificación del alcance del nodo ocurre, por ejemplo, de acuerdo con uno de los métodos antes descritos. Esto es, los objetos del dispositivo por ellos mismos pueden ser removidos o agregados (ver, por ejemplo, Figura 2B) o los enlaces entre los objetos del dispositivo y los controladores de clase de respectivos pueden ser rotos o creados (ver, por ejemplo, Figura 2C). Con el fin de determinar un estado actual de una lista de inclusión (o exclusión), un nodo, un administrador, o una aplicación puede emplear otra interfase, tal como una interfase de OBTENER_LISTA_INCLUSION 80, para devolver información indicativa de la lista de inclusión actual (temporal y/o persistente). La interfase OBTENER_LISTA_INCLUSION 80 puede ser accesada en el nodo a través de cualquier aplicación o usuario. Otras interfases, INVESTIGAR_DISPOSITIVOS_UNIDOS 90, también pueden ser empleadas para devolver una lista de dispositivos al controlador junto con características de identificación de los dispositivos respectivos. Esto, por ejemplo, puede ser basado en una recuperación de los datos investigados en respuesta a una investigación SCSI y puede ser accesado por cualquier usuario o aplicación asociada con el nodo. La Figura 2b ¡lustra una representación funcional de un método que puede ser empleado, de acuerdo con un aspecto particular de la presente, para controlar si el dispositivo está dentro del alcance del nodo 12. Números de referencia similares, a los cuales un símbolo principal (') ha sido asignado, se refiere a los componentes correspondientes previamente identificados con respecto a la Figura 2a. En particular, este método se refiere a manipular (por ejemplo, agregando o removiendo) un objeto de dispositivo asociado 32c' para implementar el enmascaramiento en un nodo relativo a un dispositivo asociado. A manera de ejemplo, con el fin de remover un dispositivo expuesto actualmente del alcance del nodo 12, el objeto de dispositivo (por ejemplo, 32c') asociado con el dispositivo particular es removido. Esto se ilustra en la Figura 2b a través de el carácter de referencia 32X, el cual indica la ausencia del objeto de dispositivo 32c (figura 2a). La remoción del objeto de dispositivo puede ser iniciada, por ejemplo, empleando la interfase CONFIGURAR_LISTA_INCLUSION 60' para remover un dispositivo seleccionado de la lista de inclusión. La interfase 60' instruye al módulo de Conectar-y-Usar (PNP) o a una interfase privada (no mostrada) para remover el objeto de dispositivo respectivo. La remoción del objeto de dispositivo 32c, a su vez, da como resultado la remoción o descarga del controlador de clase correspondiente 34c (figura 2a). El dispositivo también es removido de la lista de objeto demostrado 44'. Debido a que ningún objeto de dispositivo y ningún controlador de clase están asociados con el dispositivo, no existen ningún canal útil a través del cual cualesquiera objetos de nivel más alto o controladores asociados con el nodo 12 se pueden comunicar con el dispositivo y, por lo tanto, el acceso a través del nodo al dispositivo es efectivamente bloqueado. Con el fin de traer un dispositivo no expuesto actualmente dentro del alcance del nodo 12, un objeto de dispositivo 32 es sistemáticamente creado en el nodo para el dispositivo. Con referencia a la Figura 2b, esto se puede implementar, por ejemplo, a través de una aplicación de más alto nivel o un administrador empleando la interfase CONFIGURAR_LISTA_INCLUSION 60' para agregar una lista de inclusión datos de identidad apropiados para el dispositivo. La interfase 60' instruye al control PNP u otra interfase agregar un objeto de dispositivo para el dispositivo y controlador de clase 34c (ver Figura 2a). El dispositivo también puede ser agregado a cualquiera de la lista de inclusión persistente o temporal 48', 50' dependiendo de, por ejemplo, las razones por las que el canal de comunicaciones entre el nodo y el dispositivo están siendo establecidas. Cuando el objeto de dispositivo 32c es creado, el dispositivo también es agregado a la lista de objetos demostrados 44. Si el dispositivo que está siendo agregado es un dispositivo nuevo al sistema, también puede ser agregado a lista mundial 42. Un administrador o aplicación de nivel más alto o módulo también puede emplear la interfase BORRAR_LISTA_INCLUSION 70' para borrar la lista de control de alcance. Como se mencionó anteriormente, si un dispositivo es traído dentro o fuera del alcance del nodo 12' depende de si la lista es una lista de inclusión o de exclusión. La figura 2c es un representación funcional de otro método que puede ser utilizado en el nodo 12', de acuerdo con la presente invención, para sistemáticamente controlar si un dispositivo está dentro del alcance del nodo 12'. Números de referencia similares, a los cuales un símbolo principal doble (") ha sido agregado, se refiere a los componentes correspondientes previamente identificados con respecto a la Figura 2a. En este métodos, un canal de comunicaciones entre un objeto de dispositivo 32" y el objeto de dispositivo de más alto nivel correspondiente 34" y objeto de controlador de clase correspondiente 34c existe para un dispositivo, el dispositivo puede ser traído fuera del alcance del nodo 12 rompiendo dinámicamente (o removiendo) el enlace 36c entre el objeto de dispositivo y el controlador de clase. Esto se muestra en la Figura 2c a través del número de referencia 36X, el cual indica la ausencia del enlace 36c (Figura 2a). Un dispositivo no está dentro del alcance del nodo 12 pero que ya es parte del mundo 42" puede ser traído al alcance del nodo 12", por ejemplo, agregando un enlace 36c entre el objeto de dispositivo 32c y el controlador de clase 34c para el dispositivo, como se muestra en la Figura 2a. El enmascaramiento puede ser implementado en una forma similar al método descrito con respecto a la Figura 2b. Descrito brevemente, un administrador o una aplicación de nivel más alto utiliza una interfase apropiada, tal como la interfase CONFIGURAR_LISTA_INCLUSION 60", para modificar una lista de inclusión (temporal 50" o permanente 48"). La lista de control de alcance 46" incorpora los cambios a la lista de inclusión respectiva. La interfase 60"también instruye a una interfase privada o control PNP para agregar o romper un enlace 36" de acuerdo a si el dispositivo está funcionando oculto o expuesto con relación al nodo. Si ningún objeto de dispositivo o controlador de clase ha sido creado para un dispositivo que será expuesto con relación al nodo 12" (por ejemplo, un nuevo dispositivo que está siendo conectado al sistema), un objeto de dispositivo correspondiente 32c y un controlador de clase 34c son creados y enlazados, como se mostró previamente y se describió con respecto a la Figura 2a. Una bandera asociada con cada objeto de dispositivo 32 también puede ser configurada a un valor lógico (VERDADERO o FALSO) para indicar si el objeto de dispositivo corresponde a un dispositivo visible que está dentro del alcance del nodo. La Figura 3 ilustra un ejemplos del ambiente del sistema 100 está operativamente acoplado a una pluralidad de dispositivos de objetivo de 120 a través de una pluralidad de buses 130 y 140. El nodo 110 incluye un controlador 150. 160 operativamente asociado con cada bus respectivo 130, 140 para establecer y controlar las trayectorias (canales) de comunicación entre el nodo y cada uno de los dispositivo de objetivos. Cada dispositivo de objetivo 120 tiene una dirección objetivo asociada al mismo e incluye una o más unidades lógicas 179. Las unidades lógicas 170, por ejemplo, proporcionan interfases a unidades de almacenamiento funcionales de los dispositivos objetivo respectivos 120. Cada unidad lógica 170 tiene un número de unidad lógica de almacenamiento asociada (u otras características de identificación). El nodo 110 y los controladores 150 y 160 están configurados para funcionar substancialmente idénticos a nodo y los controladores mostrados y descritos con respecto a las Figuras 2A-2C. En particular, el nodo 110 puede incluir una lista de inclusión persistente almacenada en el registro del sistema identificando una o más unidades lógicas que están dentro del alcance del nodo. Durante el inicio del sistema o durante la inicialización, una lista de inclusión persistente puede ser utilizada para establecer las trayectorias o canales de comunicación entre el nodo 100 y cada dispositivo 120 o unidad lógica 170 indicada en la lista. A modo de ejemplo, en la inicialización el nodo 110 o los controladores 150 y 160 configuran una lista de control de alcance con base en la lista de inclusión persistente almacenada en el registro del sistema. Si no es proporcionada ninguna lista persistente, el nodo puede estar configurado, por omisión, ya sea exponiendo funcionalmente cada dispositivo operativamente conectado al nodo o no exponiendo los dispositivos. El siguiente ejemplo asume que una lista de inclusión persistente es provista.
Cada controlador 150, 160 explora el bus y envía una consulta a cada objetivo 120 en cada bus respectivo 130, 140, tal como determinar los números de unidades lógicas asociadas con cada dispositivo objetivo. Los controladores 150 y 160 pueden realizar una consulta adicional para determinar el tipo de dispositivo asociado con cada unidad lógica y para obtener un dato de identidad particular para cada unidad lógica, tal como, por ejemplo, número de serie. Cada controlador 150, 160 además verifica la lista de control de alcance para determinar si, con base en los datos de identidad, un dispositivo o unidad lógica está dentro de la lista. Si la unidad lógica está dentro del alcance del controlador, un objeto de dispositivo es creado para esa unidad lógica y la unidad lógica puede ser marcada como visible, tal como a través de la configuración de una bandera apropiada asociada con el objeto de dispositivo. Las características de la unidad lógica asociada con cada objeto de dispositivo también son agregadas a la lista de objetos demostrados. Si una unidad lógica no está dentro del alcance del nodo 110, sin embargo, no se crea ningún objeto de dispositivo correspondiente. En cualquier situación, sin embargo, las características de identificación de cada unidad lógica están agregadas a la lista mundial del nodo 110. Este proceso es repetido hasta que cada unidad lógica 170 de cada dispositivo objetivo 120 de cada bus 130, 140 es por consiguiente procesado. Bajo algunas circunstancias, tales como un inicio de sistema, puede ser deseable fijar sistemáticamente una lista de control de alcance nulo en el cual todas las entradas son removidas de la lista de control de alcance. Por ejemplo, una lista de inclusión nula da como resultado que todos los dispositivos 120 o unidades lógicas 170 sean removidas del alcance del nodo 110. En contraste, una lista de exclusión nula da como resultado que los todos los dispositivos anexos al bus estén incluidos en el alcance. En dicha situación, el nodo 110 no tiene ningún dispositivo identificado en una lista de inclusión (persistente o temporal), y por lo tanto, ningún dispositivo identificado por la lista de control de alcance. Si el controlador no tiene una lista de inclusión, no se realiza ninguna verificación de dispositivos operativamente conectados al bus durante una exploración del bus. Esto substancialmente mitiga el tiempo de inicio, ya que no necesario implementar procedimientos para verificar la operación del dispositivo apropiada o verificar sistemas de archivo asociados con el dispositivo. El tiempo de inicio también puede ser reducido a través de la programación inicial de la lista de inclusión de un nodo para identificar solamente un número relativamente pequeño de dispositivos, de tal manera que pocos dispositivos están dentro del alcance del nodo (por ejemplo, cuando es sistema es unido a un almacén de datos de gran cantidad, tal como un ambiente SAN). También son mitigados los conflictos de sobrecarga de trayectorias y conflicto de dispositivos. La Figura 4 es una representación funcional de una configuración de sistema ilustrativo 200, de acuerdo con la presente invención, en el cual una pluralidad de nodos 202 y 204 están conectados a través de las conexiones 206 y 208, respectivamente, a un sistema de almacenamiento compartido 210. El sistema de almacenamiento compartido 210, por ejemplo, incluye una red de área de almacenamiento (SAN) 212, operativamente acoplado a una pluralidad de unidades de almacenamiento 220a, 220b, 220c, 220d y 220e (colectivamente denominados como "unidades de almacenamiento 220") (ópticas o electrónicas). Cada unidad 220 puede ser, por ejemplo, un disco, una cinta o cualquier otro forma de medio almacenamiento (óptica o electrónica). El SAN 212, por ejemplo, incluye una configuración de adaptadores, puentes, concentradores, interruptores y directores para controlar el direccionamiento y la conexión entre las unidades de almacenamiento 220 y los nodos 202 y 204. Brevemente descrito, los adaptadores unen a los nodos o servidores y periféricos al cableado (por ejemplo, fibras ópticas u otros cableados) en el SAN 212. Los puentes convierten de un protocolo a otro, tales como de Canal de Fibra a IP o SCSI a Canal de Fibra. Los concentradores, interruptores y directores proporcionan un punto de conexión central y capacidades de direccionamiento en el bus de datos del SAN. Con el fin de incrementar el ancho de banda del sistema y, a su vez, velocidades de transferencia de datos, el SAN 212 puede emplear un Canal de Fibra fabricado para conectar dispositivos en una configuración de intercambio de punto cruzado, incluyendo unidades de almacenamiento 220, y nodos 202 y 204. Un enlace de comunicaciones opcional 230 puede ser provisto entre los nodos 202 y 204 para permitir la comunicación entre los nodos. El enlace de comunicación 230 puede estar en la forma de una red (LAN, WAN), un enlace de telecomunicaciones, u otro mecanismo a través del cual los nodos 202 y 204 y/o usuarios del mismo se pueden comunicar. Los enlaces de comunicaciones también pueden ser corridos a través del SAN utilizando cualquier número de protocolos de comunicaciones entre procesos (por ejemplo, IP H1PP1, VI, etc.). A manera de ejemplo, los nodos 202 y 204 emplean el protocolo SCSI a través de enlaces de comunicaciones 206 y 208 al San 212, el cual utiliza el Canal de Fibra para las unidades de almacenamiento 220. Cada nodo 202, 204 está programado para incluir una estructura de datos, tal como una lista de inclusión y/o exclusión, para definir cuales unidades de almacenamiento 220 están dentro del alcance del nodo respectivo. La estructura de datos puede incluir listas persistentes y/o temporales. Una aplicación de más alto nivel o agente realiza la administración concerniente a que unidades de almacenamiento están dentro del alcance o no están dentro del alcance de cada nodo. Como se mencionó anteriormente, la lista de inclusión de cada nodo puede ser sistemáticamente modificada para dinámicamente enmascarar el acceso entre cada uno de los nodos y las unidades de almacenamiento seleccionadas. Por ejemplo, el nodo 202 puede tener una lista de inclusión que contiene la unidad de almacenamiento 220a y el nodo 204 puede tener una lista de inclusión que contenga las unidades de almacenamiento 220b y 220c. Antes de que el nodo 202 accese la unidad de almacenamiento 220b, el nodo 204 puede ser dirigido para renunciar al propietario. Esto puede ser implementado por una aplicación de nivel más alto o un administrador utilizando una ¡nterfase (CONFIGURAR_LISTA_INCLUSION) para remover la unidad de almacenamiento 220b de la lista de inclusión del nodo 204. Al modificar la lista de inclusión en esta forma da como resultado un cambio correspondiente en la lista de control de alcance. Una interfase o control PNP puede ser utilizado para bloquear el acceso a través del nodo 204 a la unidad de almacenamiento 220b en el nivel del objeto de dispositivo, tal como se acuerdo con una de las implementaciones mostradas y descritas con respecto a las Figuras 2a-2c. Cuando la unidad de almacenamiento 220b no está dentro del alcance del nodo 204, el nodo 204 (o un usuario del mismo) se puede comunicar con el nodo 202 a través del enlace de comunicaciones 230 indicando que el propietario de la unidad de almacenamiento ha sido liberado. Un administrador o aplicación de nivel más alto (ya sea en el nodo 202 o en el nodo 204 a través de enlaces de comunicaciones 230) puede entonces utilizar una interfase (por ejemplo, CONFIGURAR_LISTA_INCLUSION) para agregar la unidad de almacenamiento 220b a la alista de inclusión del nodo 202. La lista de control de alcance es, a su vez, por consiguiente modificada. La interfase también instruye a otra interfase o control PNP para traer el dispositivo 220b dentro del alcen del nodo 202, tal como a través de la emisión de comandos apropiados para agregar un objeto de dispositivo correspondiente a la unidad de almacenamiento 220b y/o un enlace al objeto de dispositivo a un controlador de clase correspondiente para la unidad de almacenamiento 220b. Debido, a que el objeto de dispositivo del nodo 202 está enlazada a un controlador de clase apropiado, el acceso a la unidad de almacenamiento respectiva 220b es habilitado (por ejemplo, el dispositivo está dentro del alcance del nodo 202). El acceso a través de los nodos 202 y 204 relativos a las otras unidades de almacenamiento 220 puede ser sistemáticamente enmascarado en una forma similar. Un administrador, por ejemplo, puede proporcionar a cada nodo 202, 204 un nivel apropiado de almacenamiento adecuado con las demandas de cada nodo. Además, cada nodo 202, 204 puede ser programado para accesar la misa unidad(es) de almacenamiento 220 para habilitar una reducción en los requerimientos de almacenamiento por el sistema 200 como un todo. Como resultado, no existe la necesidad de almacenar datos duplicados para nodos múltiples. El acceso enmascarado de esta forma también mitiga la sobrecarga de trayectorias y conflictos de dispositivos que pueden surgir, cuando más de un nodo debe tratar de accesar simultáneamente una unidad de almacenamiento. La Figura 5 es un ejemplo de otra estrategia del sistema 300, de acuerdo con la presente invención, en donde una pluralidades de nodos cliente 302 y 304 están enlazados a una pluralidad de nodos servidor 306 y 398 a través de la infraestructura de una red convencional 310, tal como una LAN o WAN. Los nodos servidor 306 y 308 están operativamente acoplados a un sistema de almacenamiento compartido 318. En particular, los nodos servidor 306 y 308 están acoplados a una pluralidad de unidades de almacenamiento 320a, 320b, 320c, 320d, y 320e (colectivamente denominadas como "unidades de almacenamiento 320") a través de un SAN 330, el cual puede incluir topología de estructura de Canal de Fibra. De acuerdo con un aspecto de la presente invención, cada uno de los nodos cliente 302 y 304 incluye una o más estructuras de datos programables, tales como en la forma de una lista de inclusión y/o exclusión, para definir cuales unidades de almacenamiento están dentro del alcance de cada nodo cliente respectivo. Como se mencionó anteriormente, la estructura de datos puede estar en la forma de listas de inclusión temporales y/o persistentes. La estructura de datos también puede corresponder a una lista de inclusión nula, indicando que ninguna unidad de almacenamiento está dentro del alcance del nodo cliente respectivo. Se apreciará que cada uno de los nodos servidor 306 y 308 también pueden ser programados para incluir listas de inclusión (o exclusión) para además controlar el acceso a unidades de almacenamiento seleccionadas. De acuerdo con la presente invención, una o más unidades de almacenamiento pueden estar dinámicamente enmascaradas con relación a cada nodo 302, 304, 306, 308 utilizando una interfase apropiada para sistemáticamente agregar o remover una o más unidades de almacenamiento de una lista de inclusión de un nodo respectivo.
A manera de ejemplo, el nodo cliente 302 tiene una lista de inclusión que identifica unidades de almacenamiento 320a y 320c, y el nodo 304 tiene una lista de inclusión nula (por ejemplo, todos los dispositivos en el bus son ejecutados a partir de su alcance). Con el fin de que el nodo 304 accese la unidad de almacenamiento 320c, la unidad de almacenamiento es agregada a su lista de inclusión (o removida de su lista de exclusión). Esto puede ser implementado, por ejemplo, por una aplicación de nivel más alto o un administrador utilizando una interfase (CONFIGUAR_LISTA_INCLUSION) para agregar la unidad de almacenamiento 320c a la lista de inclusión del nodo 304. La adición puede ser persistente o temporal de acuerdo con cual lista de inclusión (temporal o persistente) la unidad de almacenamiento es agregada. Al modificar la lista de inclusión en esta forma origina un cambio correspondiente en la lista de control de alcance del nodo 304. Un control PNP también puede se instruido para, por ejemplo, crear un objeto de dispositivo para la unidad de almacenamiento (asumiendo que realmente no existe una). El objeto de dispositivo es enlazado a través de una trayectoria de comunicaciones a un controlador de clase para comunicar instrucciones de comando a la unidad de almacenamiento 320c (por ejemplo, proporcionando comandos de lectura o escritura en respuesta a solicitudes l/O). También puede ser deseable llevar la unidad de almacenamiento 320c fuera del alcance del nodo 302 antes de la exposición de la unidad al otro nodo 304. Uno de los nodos servidor 306 o 308 o el nodo cliente 304, de esta manera, puede comunicarse con el nodo cliente 302 a través de la infraestructura de la red 310 y solicitar que el nodo 302 abandone al propietario de la unidad de almacenamiento 320c, tal como mediante la programación de enmascaramiento a través del nodo 302 en relación a la unidad de almacenamiento. Una interfase (CONFIGURAR LISTAJNCLUSION) puede ser utilizada para iniciar el enmascaramiento en el nodo cliente 302, tal como de acuerdo con cualquiera de las implementaciones mostradas y descritas en la presente. Debido a que la unidad de almacenamiento 320c está funcionalmente oculta con relación al nodo cliente 302, se mitigan la sobrecarga de trayectoria o posibles conflicto que podrían ocurrir, si dos o más nodos simultáneamente accesan el dispositivo, son mitigados. La Figura 6 ilustra un ejemplo de un sistema con base en Internet 400 el cuál puede utilizar el enmascaramiento , de acuerdo con la presente invención, para dinámicamente manejar el acceso a una pluralidad de unidades de almacenamiento 410a, 410b, 410c, 410d y 410e (colectivamente denominadas en la presente como "unidades de almacenamiento 410"). Una pluralidad de servidores de Internet 430 y 440 están operativamente acoplados al Internet 450. Cada servidor 430, 440 también incluye un dispositivo de almacenamiento respectivo 460, 462 físicamente asociado con cada servidor. Los servidores 430 y 440, por ejemplo, corresponden a los servidores de Internet de un negocio de comercio electrónico, el cual recibe órdenes y realiza aspectos pre-seleccionados del procesamiento de transacciones para un área particular de negocios. Otro servidor 470 es un servidor maestro para llevar a cabo el procesamiento de transacción adicional o administración de datos (por ejemplo, extracción de datos), tal como, con base en los datos de la transacción obtenidos de cada uno se los servidores del Internet 430, 440. El servidor maestro 470 también incluye un dispositivo de almacenamiento 472 que es poseído exclusivamente por el servidor. Todos los servidores 430, 440 y 470 están operativamente acoplados a las unidades de almacenamiento 410 a través de un SAN 474 de un sistema de almacenamiento compartido 420. De acuerdo con un la presente invención, cada servidor, 430, 440, 440 puede ser programado para incluir una estructura de datos, tal como en la forma de una lista de inclusión y/o exclusión, la cual identifica el criterio de enmascaramiento para cada servidor respectivo. Como se mencionó anteriormente, la lista puede incluir listas persistentes y/o temporales que identifican si un dispositivo de almacenamiento particular está dentro del alcance de un servidor respectivo. Una unidad de almacenamiento 410 puede ser sistemáticamente agregada a, o removida de la estructura de datos de uno de los servidores 430, 440, 470, de acuerdo con un aspecto de la presente invención, para dinámicamente enmascarar la unidad con de almacenamiento relativa a un servidor respectivo. A manera de ejemplo, el servidor de Internet 430 corresponde a un servidor para recibir y procesar órdenes del Internet 450 relacionadas con una primer área de un negocio de Internet. El servidor 430 puede almacenar datos de transacciones en su dispositivo asociado 460, pero requiere de espacio adicional en la unidad para además procesar los datos. El sistema de almacenamiento compartido 420 proporciona suficiente almacenamiento, tal como una unidad de almacenamiento 410b, para lleva a cabo el procesamiento de datos de aplicación intensiva. Con el fin de accesar la unidad de almacenamiento 410b, el servidor sistemáticamente trae la unidad de almacenamiento dentro del alcance del servidor 430. De acuerdo con la presente invención, una interfase (CONFIGURAR_LISTA_INCLUSION) puede ser utilizada, tal como a través de un administrador o una aplicación de nivel más alto, para agregar la unidades de almacenamiento 410b a una lista de inclusión seleccionada del servidor 430 (por ejemplo, temporal o persistente). La lista de control de alcance del servidor 430 es modificada de acuerdo con los cambios en la lista de inclusión temporal. Además, se activa una interfase privada o control PNP para traer la unidades de almacenamiento 410b dentro del alcance del servidor 430, de acuerdo con una de las implementaciones ilustrativas mostradas y descritas con respecto a las Figuras 2a-2c. Mientras que la unidad de almacenamiento 410b está dentro del alcance del servidor de Internet 430, el servidor puede utilizar la unidad de almacenamiento para procesar y almacenar los datos de transacciones, sí como de cualquier dispositivo poseído por el propietario. Después de que el procesamiento es completado, el servidor 430 puede abandonar la propiedad de la unidades de almacenamiento 410b, empleando la interfase (CONFIGURA_LISTA_INCLUSION) para remover la unidades de almacenamiento de su lista de inclusión temporal. Debido, en el ejemplo anterior, a que la unidades de almacenamiento 410b está siendo accesada para un propósito particular, particularmente, el procesamiento y la transferencia de datos a otra máquina, al unidades de almacenamiento puede ser agregada a la lista de inclusión temporal. Por consiguiente, si el servidor 430 o su controlador asociado se colisiona durante el procesamiento, las unidades de almacenamiento en su lista de inclusión temporal no continuarán estando dentro del alcance del servidor 430. En su lugar, el servidor puede tiene una renegociación con el propietario de dichas unidades de almacenamiento para continuar procesando los datos de transacciones. El servidor 430 (o usuario del mismo) también puede comunicarse con el servidor maestro 470 (o su usuario) a través de un enlace de comunicaciones 480 para informar que tiene un acceso abandonado a la unidades de almacenamiento 410b y que el servidor maestro 470 puede tomar la propiedad de la unidades de almacenamiento 410b, agregando la unidades de almacenamiento a su lista de inclusión. Las instrucciones sistemáticas pueden acompañar la comunicación para iniciar la interfase CONFIGURA_LISTA_INCLUSION en el servidor maestro 470 para agregar una unidades de almacenamiento 410b a la lista de inclusión del servidor maestro. Se apreciará que cualquier modo de comunicación puede ser utilizado para comunicar la información acerca del servidor de Internet 430 y los datos proporcionados por la unidades de almacenamiento 410b, incluyendo un mecanismo manual o automatizado, alámbrico o inalámbrico, etc. Después de que el servidor maestro 470 sistemáticamente trae la unidades de almacenamiento 410b dentro de su alcance, esta puede procesar y almacenar los datos en una memoria adicional 472 poseída exclusivamente por el, mantener los datos en la unidades de almacenamiento 410b, o puede transferir los datos a una diferente de las unidades de almacenamiento 410 después de negociar la propiedad de la misma. El servidor 440 puede comunicarse con el servidor maestro 470 a través de un enlace de comunicación 482 para proporcionar información del estado acerca del servidor 440 y proporcionar la información de estado y/o instrucciones relacionadas con las unidades de almacenamiento 410. Ventajosamente, grandes cantidades de datos pueden ser construidas por maquinas servidores de Internet individuales 430 y 440 y ser transferidas a unidades de almacenamiento 410 del sistema de almacenamiento compartido 420 para el procesamiento a través del servidor maestro 470. El Servidor maestro 470, por ejemplo, puede ser utilizado como un servidor de archivo para el sistema completo 400. Además, esta metodología puede ser utilizada para eficientemente crear copias de respaldo de los datos seleccionados, los datos pueden ser mantenidos remotamente localizados en las unidades de almacenamiento 410 con base en limitaciones logísticas del SAN. Por ejemplo, el Canal de Fibra permite hasta por lo menos 10 kilómetros entre los dispositivos de almacenamiento y las computadoras huésped que pueden tener acceso a dichos dispositivos. Con el fin de proporcionar un contexto para los varios aspectos de la invención, la Figura 7 y la siguiente discusión intentan proporcionar una breve, descripción general de un ambiente de computadora adecuado en el cual los varios aspectos de la invención pueden ser implementados. Ya que la invención ha sido descrita anteriormente en el contexto general de instrucciones ejecutadas por un programa de computadora que corre en una computadora huésped o nodo en varias configuraciones de sistema, aquellos con experiencia en la técnica reconocerán que la invención también se puede implementar en combinación con otros módulos de programa. En general, los módulos de programa incluyen rutinas, programas, componentes, estructuras de datos, etc. que realizan tareas particulares o implementan tipos de datos abstractos particulares. Además, aquellos con experiencia en la técnica apreciarán que los métodos de la invención pueden ser practicados con otras configuraciones de sistema de computadora, incluyendo un procesador individual o sistemas de computadora multiprocesador, minicomputadoras, computadoras de marco principal, así como computadoras personales, dispositivos de computadora portátiles, con base en microprocesadores o clientes electrónicos programables, y similares, cada uno de los cuales puede estar operativamente acoplado a uno o más dispositivos. Los aspectos ilustrados de la invención también pueden practicarse en ambientes de computadora distribuidos en donde algunas tareas son realizadas a través de dispositivos de procesamiento remotos que están enlazados a través de una red de comunicaciones. Sin embargo, algunos, pero no todos, los aspectos de la invención pueden ser practicados en computadoras autónomas, tal como en donde múltiples procesadores están operativamente asociados con una pluralidad de unidades de almacenamiento compartidas (por ejemplo, almacenamiento de discos segmentados). En un ambiente de computadora distribuida, los módulos de programas pueden estar localizados en ambos dispositivos de almacenamiento de memoria, local y remoto. Sin embargo, se apreciará que el enmascaramiento, de acuerdo con la presente invención, se implementa a un nivel bajo (por ejemplo, en grupos de memorias) dentro de cada computadora o nodo para así proporcionar capacidades de enmascaramiento como se describe en la presente. Con referencia a la Figura 7, un sistema ilustrativo 500 para implementar los varios aspectos de la invención incluyen una computadora servidor convencional 502, que incluye una unidad de procesamiento 504, una memoria de sistema 506, y un bus del sistema 508 que acopla varios componentes del sistema incluyendo la memoria del sistema a la unidad de procesamiento 504. La unidad de procesamiento 504 puede ser cualquiera de los varios procesadores disponibles comercialmente, incluyendo pero no limitándose a Intel x86, Pentium y microprocesadores compatibles de Intel y otros, incluyendo Cyrix, AMD y Nexgen; Alpha de Digital; MIPS de MIPS Technology, NEC, IDT, Siemens, y otros; y la PowerPC de IBM y Motorota. Los microprocesadores duales y otras arquitecturas de multiprocesador también pueden ser utilizados como unidades de procesamiento 504. El bus del sistema 508 puede ser cualquiera de varios tipos de estructuras de buses incluyendo un bus de memoria o controlador de memoria, un bus periférico, y un bus local utilizando cualquiera de una variedad de arquitecturas de bus convencionales tales como PCI, VESA, MicroChannel, ISA, y EISA, por nombrar algunos. La memoria del sistema 500 incluye memoria de solo lectura (ROM) 510y memoria de acceso aleatorio (RAM) 5121. Un sistema de entrada/salida básico (BIOS), conteniendo las rutinas básicas que ayudan a transferir la información entre elementos dentro de la computadora servidor 502, tal como durante el arranque, es almacenado en ROM 510. La computadora servidor 502 además incluye una unidad de disco duro 514, una unidad de disco magnético 516, por ejemplo para leer desde o escribir a un disco removible 518, y una unidad de disco óptico 520, por ejemplo, para leer un disco CD-ROM 522 o para leer desde o escribir en otro medio óptico. La unidad de disco duro 514, la unidad de disco magnético 516, y la unidad de disco óptico 520 están conectadas al bus del sistema 508 a través de una interfase de unidad de disco duro 524, una interfase de unidad de disco magnético 526 y una interfase de unidad de disco óptico 528, respectivamente. Las unidades y los medios legibles por computadora asociados a estos proporcionan almacenamiento de datos no volátiles, estructuras de datos, instrucciones ejecutables por computadora, etc. para la computadora servidor 502. Aunque la descripción del medio legible por computadora anterior se refiere a un disco duro, un disco magnético removible y un CD, se debe apreciar por aquellos expertos en la técnica que otros tipos de medios los cuales son legibles por computadora, tales como casetes magnéticos, tarjetas de memoria intermitente, discos de video digitales, cartuchos Bernoulli, y similares, también pueden ser utilizados en el ambiente de operación ilustrativo, y además que cualquiera de dichos medios pueden contener instrucciones ejecutables por computadora para llevar a cabo los métodos de la presente invención. Adicionalmente, cada uno de los dispositivos 514-522, los cuales forman parte de la computadora servidor 502 son considerados como "propios" por la computadora servidor. Sin embargo, se debe apreciar que tales dispositivos alternativamente pueden ser localizados remotamente con relación a la computadora servidor 502y compartirlos con una o más computadoras, con ambas, la computadora servidor y otras computadoras que están siendo programadas para emplear el enmascaramiento de acuerdo con la presente invención. Un número de módulos de programa pueden ser almacenados en las unidades y RAM 512, incluyendo el sistema operativo 530, uno o más programas de aplicación, otros módulos de programa 534, y datos de programa 536. El sistema operativo 530 en la computadora ilustrativa es, por ejemplo, el sistema operativo de Servidor "Microsoft Windows 2000", aunque se apreciará que la presente invención puede ser implementada con otros sistemas operativos o combinaciones de sistemas operativos. Un usuario debe introducir comandos e información en la computadora servidor 502 a través de un teclado 538 y un dispositivo de señalamiento, tal como un ratón 540. Otros dispositivos de entrada (no mostrados) pueden incluir un micrófono, una palanca de juego, una almohadilla de juego, un disco de satélite, un explorador (scanner) o similares. Estos y otros dispositivos de entrada a menudo están conectados a la unidad de procesamiento 504 a través de una interfase puerto serial 542 que está acoplada al bus del sistema 508, pero puede conectarse a través de otras interfases, tales como un puerto paralelo, un puerto de juegos o un bus serial universal (USB). Un monitor 544 y otro u otro tipo de dispositivo de pantalla también está conectado al bus del sistema 508 a través de una interfase, tal como un adaptador de video 546. Además del monitor, una computadora típicamente incluye otros dispositivos de salida periféricos (no mostrados), tales como bocinas, impresoras, etc. La computadora servidor 502 también puede estar operativamente acoplada a un sistema de almacenamiento compartido 550, tal como a través de un SAN 552. Por ejemplo, la computadora servidor 502 está conectada al SAN 552 a través de una interfase de almacenamiento o adaptador 554. El SAN está ilustrado como imaginario para indicar que es opcional, así como la computadora servidor 502 puede estar directamente acoplada al sistema de almacenamiento compartido 550 a través del adaptador de almacenamiento apropiado. La computadora servidor 502 puede operar en un ambiente conectado en red utilizando conexiones lógicas a una o más computadoras remotas, tales como una computadora cliente o nodo 560. La computadora remota 560 puede ser una estación de trabajo, una computadora servidor, un direccionador, un dispositivo de peer (en una conexión de punta a punta se refiere a cada uno de los extremos) o un nodo de red común, y típicamente incluye muchos o todos los elementos descritos con relación a la computadora servidor 502, aunque, para propósitos de brevedad, solamente un dispositivo de almacenamiento de memoria 562 está ilustrado en la Figura 7. Además, la computadora remota 562 puede estar programada para emplear enmascaramiento de acuerdo con la presente invención, con relación a uno o más dispositivos operativamente asociados con eso, incluyendo parte de la computadora servidor 502 o el sistema de almacenamiento compartido 550 conectado a la computadora servidor a través del SAN 552. Las conexiones lógicas descritas en la Figura 7 incluyen una red de área local (LAN) 564 y una red de área amplia (WAN) 566. Dichos ambientes de conexiones de red son habituales en las oficinas, en redes de computador de grandes empresas, intranets y el Internet. Cuando se utiliza en un ambiente de conexión de red LAN, la computadora servidor 502 está conectada a la red local 564 a través de una ¡nterfase de red o adaptador 568. Cuando se utiliza en un ambiente de conexión de red WAN, la computadora servidor 502 típicamente incluye un módem 566, o está conectada a un servidor de comunicaciones en la LAN, o tiene medio s para establecer comunicaciones a través de la WAN 566, tal como el Internet. El módem 570, el cual puede ser interno o externo, está conectado al bus del sistema 508 a través de la interfase de puerto serial 542. En un ambiente de conexión de red, los módulos de programa descritos con relación a la computadora servidor 562 y/o en el dispositivo de almacenamiento compartido 550. Se apreciará que las conexiones de red mostradas son ilustrativas y otros medios de establecimiento de un enlace de comunicaciones entre las computadoras que pueden ser utilizadas. De acuerdo con las prácticas de expertos en la técnica de programación de computadoras, la presente invención ha sido descrita con referencia a acciones y representaciones simbólicas de operaciones que son realizadas por una computadora, tales como la computadora servidor 502 o la computadora remota 560, a menos que se indique otra cosa. Dichas acciones y operaciones algunas veces son denominadas como siendo ejecutadas por computadora. Se apreciará que las acciones y operaciones representadas simbólicamente incluyen la manipulación a través de la unidad de procesamiento 504 de señales eléctricas representando bits de datos los cuales originan una transformación resultante o reducción de la representación de la señal eléctrica y el mantenimiento de los bits de datos en las ubicaciones del sistema de memoria (incluyendo la memoria del sistema 506, disco duro 514, discos flexibles 518, CD-ROM 522 y sistema de almacenamiento compartido 550) para de esta manera reconfigurar o de otra manera alterar la operación del sistema de computadora, así como otro procesamiento de señales. Las ubicaciones de la memoria en donde dichos bits de datos son mantenidos en locaciones físicas que tienen propiedades eléctricas, magnéticas, u ópticas particulares correspondientes a los bits de datos. En vista de los ejemplos anteriores de un ambiente operativo y configuraciones de sistema ilustrativos, una metodología de enmascaramiento, de acuerdo con la presente invención, será mejor apreciado con referencia a los diagramas de flujo descritos en las Figuras 8-9c. La metodología ilustrativa ilustrada en cada una de estas figuras se describe con respecto a una configuración de sistema similar a la mostrada en la Figura 3. Brevemente descrito, cada dispositivo objetivo además incluye una o más unidades lógicas (LU's). Cada LU proporciona una interfase a un aspecto correspondiente de un dispositivo asociado, tal como parte (por ejemplo, un segmento o disco) de un dispositivo objetivo. Cada LU tiene un número de unidad lógico (LUN) u otras características de identificación para identificar la unidad lógica del respectivo dispositivo objetivo. Este ejemplo asume que el nodo está programado para incluir una lista de inclusión persistente, la cual puede estar almacenada en el registro del sistema. La lista de inclusión persistente identifica cuales dispositivos están inícialmente dentro del alcance del nodo. Para propósitos de brevedad, la siguiente descripción describe la metodología de enmascaramiento utilizando solamente listas de inclusión, aunque las listas de exclusión pueden alternativamente o adicionalmente ser implementadas de acuerdo con la presente invención. También se apreciará que cada nodo puede ser programado, de acuerdo con la presente invención, para implementar la metodología ¡lustrada en las Figuras 8-9c. Haciendo referencia a la Figura 8, una metodología es ilustrada para establecer inicialmente el criterio de enmascaramiento para un nodo con relación a cada uno de la pluralidad de dispositivos objetivo operativamente conectados al nodo. El proceso empieza en el paso 700 en el cual el sistema o nodo es inicializado, por ejemplo, un inicio de sistema. Justo antes del inicio, ningún dispositivo está dentro del alcance del nodo. El proceso procede en el paso 710, en el cual una lista de inclusión persistente es cargada desde la memoria. Enseguida, en el paso 720, la lista de control de alcance es definida con base en la lista de inclusión persistente. Desde el paso 720, el proceso procede al paso 724, en el cual el nodo accesa el siguiente bus asociado con el nodo, el cual es esta situación es un primer bus. El proceso entonces realiza un investigación concerniente a cada dispositivo objetivo operativamente acoplado al bus. En el paso 730, el nodo obtiene o carga la dirección de siguiente objetivo asociado con el bus que está siendo explorado. Enseguida, se hace una investigación con relación con el dispositivo objetivo (paso 740) operativamente conectado al nodo. En particular, el comando de investigar, el cual puede ser empleado como un protocolo de comando SCSI, es dirigido a la unidad lógica cero del objetivo actual del bus que está siendo explorado. Cada dispositivo objetivo incluye por lo menos una unidad lógica cero que es capaz de responder a comandos básicos, tales como una investigación acerca de otros LU's asociados con el dispositivo objetivo. Enseguida, en el paso 750, un reporte de comandos LUN es enviado a la unidad lógica cero del dispositivo objetivo actual del bus actual que está siendo explorado. Esto origina que la unidad lógica cero responda proporcionando una lista de todos los LUs asociados con ese objetivo. Si, por alguna razón, un reporte identificando el LU no es provisto en respuesta a la investigación en el paso 750, el nodo puede realizar una exploración de todos los LUs potenciales los cuales pueden estar asociados con el primer dispositivo objetivo. El proceso entonces procede al paso 760, en el cual el nodo oculta un primer número de unidad lógica para realizar investigaciones adicionales con relación a los LUs del dispositivo objetivo respectivo. En el paso 770, una investigación general es hecha con relación al LU ocultado asociado con el objetivo actual. Esta investigación, por ejemplo, puede incluir una solicitud para información concerniente al tipo o configuración del dispositivo representado por el LU (por ejemplo, que es el dispositivo), Enseguida, en el paso 780, se hace otra investigación para obtener las características de identificación o datos asociados con el dispositivo representado por el LU, tal como su número de serie. Una ves que se ha recolectado suficiente información para identificar el dispositivo, el proceso continúa en el paso 790. En el paso 790, se hace una determinación según si el LU identificado está dentro del alcance (estructura de datos) del nodo. En este ejemplo, consecuente al paso 720, el alcance es identificado a través de los dispositivos identificados por la lista de inclusión persistente. Si el LU no está dentro del alcance del nodo, el proceso avanza al paso 800, en donde el LU del dispositivo objetivo es agregado al mundo, tal como a través del almacenamiento de sus características de identificación en la lista mundial. Se puede utilizar opcionalmente una bandera asociada con un dispositivo que no está dentro del alcance para ser configurada como lógicamente FALSA (por ejemplo, visible = FALSA), Debido, a que en este ejemplo, FALSO es un estado por omisión, no se necesita configurar ninguna bandera explícitamente. Si, en el paso 790, el LU identificado está dentro del alcance del nodo, sin embargo, el proceso procede al paso 810 en donde la bandera es fijada como VERDADERO lógico (por ejemplo, visi ble = VERDADERO). A partir del paso 810, el proceso procede al paso 820, en el cual un objeto de dispositivo correspondiente es creado. La creación de un objeto de dispositivo puede ser implementada empleando, por ejemplo, una interfase privada o control PNP. El objeto de dispositivo está operati amente asociado con el LU actual del objetivo actual. Debido a que el objeto de dispositivo fue creado para el dispositivo, en el paso 840, los datos de identificación correspondientes al dispositivo también son agregados a la lista de los objetos demostrados (ver Figuras 2a-2c). El proceso entonces procede al paso 800, en el cual la identificación de las características para el dispositivo también son agregadas a la lista mundial. El proceso entonces procede al paso 850. En el paso 850, se hace la determinación como si el dispositivo objetivo actual incluye cualesquiera LUs adicionales para los cuales las investigaciones fueron hechas. Si un LU adicional existe, el proceso procede al paso 860 en el cual el siguiente LUN es ocultado. El proceso entonces regresa al paso 770 para repetir los pasos anteriores para el siguiente LUN. Si, en el paso 850, se logra una determinación de que no existe ningún LU adicional (por ejemplo, todos los LUNs del objetivo actual han sido procesados), el proceso procede al paso 870. En el paso 870, se hace una determinación como si existieran cualesquiera dispositivos objetivo adicionales asociados con el bus que está siendo explorado. Si esta determinación es afirmativa, indicando que objetivos adicionales están conectados al bus, el proceso regresa al paso 730, en el cual el nodo obtiene la dirección del siguiente dispositivo objetivo conectado al bus actual. El proceso entonces es repetido para cada LU del dispositivo objetivo. Si la determinación en el paso 870 es negativa, indicando que no hay dispositivos objetivo adicionales asociado con el bus, el proceso procede al paso 880. En el paso 880, una determinación es hecha como si cualesquiera buses adicionales están operativamente asociados con el nodo. Si ningún bus ha sido explorado y procesado aún, el proceso regresa al paso 724, en el cual el siguiente bus accesado es explorado de acuerdo con el proceso anterior. Si la determinación en el paso 880 es negativa, indicando que todos los buses conectados al nodo han sido procesados, el proceso procede al paso 884. En el paso 884, un objeto de dispositivo de nivel más alto correspondiente a un controlador de clase para cada objeto de dispositivo es cargado y enlazado operativamente a cada objeto de dispositivo respectivo que fue creado en el paso 820. Esto puede ser implementado, por ejemplo, reportando a un control PNP los resultados de la exploración del bus (por ejemplo, incluyendo que dispositivos no están enmascarados). El control PNP, a su vez, emite comandos al controlador de dispositivo de nivel más alto para unirse a los objetos de dispositivo nuevo respectivo que han sido seleccionados para estar dentro del alcance del nodo. A partir del paso 884, el proceso termina en el paso 890. A través de la implementación de tal metodología, la lista de inclusión persistente define si cada dispositivo está dentro del alcance inicial del nodo. Los dispositivos restantes no están dentro del alcance del nodo y, de esta manera, están funcionalmente ocultos con relación al nodo. Todos los dispositivos unidos operativamente, sin embargo, están incluidos en el mundo. Se apreciará que una lista de exclusión también puede ser utilizada, de tal forma que los dispositivos identificados en la lista pueden estar fuera del alcance del nodo y todos los otros dispositivos pueden estar dentro del alcance del nodo. Las Figura 9a-9c son diagramas de flujo ilustrando, a manera de ejemplo, una metodología para sistemáticamente modificar el criterio de enmascaramiento asociado con el nodo. Este puede ser una respuesta a la interfase utilizada CONFIGURAR_LISTAJNCLUSION, tal como se describió con respecto a las Figuras 2a-2c. Con referencia a la Figura 9a, el proceso inicia en el paso 950 activando una interfase, tal como CONFIGURAR_LISTA_INCLUSIÓN descrita en la presente. Esta interfase, por ejemplo, puede ser un comando SCSI, tal como un control de entrada/salida. La configuración apropiada de los datos es provista cuando se utiliza la interfase para identificar el dispositivo que está siendo enmascarado con relación al nodo, así como si los cambios están siendo hechos a una lista persistente y/o temporal. Como se mencionó anteriormente, esta interfase puede ser activada manualmente, tal como a través de un administrador del sistema, o ser una operación iniciada, tal como una aplicación de alto nivel o agente inteligente. A partir del paso 950, el proceso procede al paso 960 en el cual una lista de inclusión apropiada (temporal y/o persistente) es modificada con base en las características de la interfase que se proporcionó. Enseguida, en el paso 970, una nueva lista de inclusión es almacenada en la memoria apropiada, incluyendo los cambios provistos en el paso 960. A manera de ejemplo?, si se hacen cambios a una lista de inclusión persistente, la lista revisada es almacenada en la memoria no volátil adecuada, tal como el registro del sistema. Los cambios hechos a una lista de inclusión temporal son almacenados, por ejemplo, en la memoria volátil, la cual permanece en su lugar mientras el sistema está corriendo o el controlador permanece habilitado. El proceso entonces procede al paso 980, en el cual la lista de control de alcance es actualizada para corresponder a los cambios hechos en la lista de inclusión. Se apreciará que la lista de control de alcance puede contener objetos correspondientes a las listas temporales o persistentes o puede incluir copias de trabajo de ambas listas almacenadas en la memoria volátil. A partir del paso 980, el proceso procede al paso 990 para implementar el enmascaramiento de uno o más dispositivos en respuesta a las revisiones hechas a la lista de control de alcance. Las Figuras 9a y 9c están dirigidas a dos posibles implementaciones de la metodología de enmascaramiento (Paso 990). La Figura 9b describe una metodología de enmascaramiento generalmente correspondiendo a la Figura 2b y la descripción que la acompaña. Debido a que el enmascaramiento puede corresponder a cualquier dispositivo seleccionado expuesto u oculto con relación al nodo, un primer paso 1000 después de la iniciación del paso de proceso de enmascaramiento 990 corresponde a la determinación de si un dispositivo debe estar dentro del alcance del nodo. Esto está basado en, por ejemplo, si la lista modificada es una lista de inclusión (identificando dispositivos que estarán dentro del alcance del nodo) o una lista de exclusión (identificando dispositivos que serán ejecutados a partir del alcance del nodo). La determinación también es dependiente de si la lista ha sido revisada par incluir un dispositivo adicional o para eliminar un dispositivo existente. Provisto que los datos de enmascaramiento indican que el dispositivo está dentro del alcance del nodo, el proceso procede al paso 1010. En el paso 1010, el objeto de dispositivo es creado en el nodo para el dispositivo, tal como se describió anteriormente. Enseguida, en el paso 1020, se fija una bandera asociada con el objeto de dispositivo como lógico VERDADERO (por ejemplo, visíble = VERDADERO). El proceso entonces procede al paso 1030, en el cual la lista de objetos demostrados es revisada para incluir datos de identificación para el dispositivo correspondiente al objeto de dispositivo recién creado (paso 1010). A partir del paso 1030, el proceso procede al paso 1050 para determinar si cualesquiera dispositivos adicionales serán enmascarados. Si la determinación es afirmativa, indicando que dispositivos adicionales requieren enmascaramiento, el proceso procede al paso 1060 para obtener el LU y/u otros datos de identificación para el siguiente dispositivo a ser enmascarado. A partir del paso 1060, el proceso regresa la paso 1000. Si en el paso 1000, los datos de enmascaramiento indican que el dispositivo que será excluido del alcance del nodo, el proceso procede al paso 1070. En el paso 1070, el objeto de dispositivo correspondiente al dispositivo que está siendo enmascarado es removido. Esto puede ser implementado, por ejemplo, a través de una interfase privada o control PNP efectuando la remoción del objeto de dispositivo. Enseguida, en el paso 1080, se puede fijar una bandera asociada con el objeto de dispositivo a una lógica FALSA (por ejemplo, visible = FALSO). El proceso entonces procede al paso 1090, en el cual el objeto de dispositivo es removido de la lista de los objetos demostrados. Como resultado, el dispositivo es funcionalmente ocultado con relación al nodo. El proceso entonces procede al paso 1050 para determinar si cualquier enmascaramiento adicional aún es requerido. Si la determinación en el paso 1050 es negativa, el proceso procede al paso 1100 en el cual el controlador de clase es cargado y enlazado operativamente a cada objeto de dispositivo respectivo que debe estar dentro del alcance del nodo. Como se mencionó anteriormente, esto puede ser implementado, por ejemplo, en respuesta a comandos del control PNP para los controladores de nivel superior para unir a los objetos de los dispositivos apropiados, tales como con base en la condición de bandera VISIBLE. Una vez que el controlador de clase es cargado y enlazado al objeto de dispositivo, el dispositivo está dentro del alcance del nodo. A partir de paso 1100, el proceso de enmascaramiento termina en el paso 1110. La Figura 9c ilustra otra metodología de enmascaramiento, la cual puede ser implementada de acuerdo con la presente invención. Este aspecto del enmascaramiento generalmente corresponde al método mostrado y descrito con respecto a la Figura 2c. El proceso inicia en el paso 990, en respuesta a la iniciación del proceso de enmascaramiento predefinido. El proceso entonces procede al paso 1200, en el cual una determinación es hecha como si los datos de enmascaramiento indicaran que el dispositivo que está siendo enmascarado estará dentro del alcance del nodo. Cuando el análisis revela que el dispositivo estará dentro del alcance del nodo, el proceso procede al paso 1210. En el paso 1210, se hace la determinación de si el dispositivo que se está trayendo dentro del alcance del nodo es uno nuevo (todavía no esparte del mundo). Esto puede ser determinado a través de la verificación de la lista mundial mantenida por el nodo para identificar los datos correspondientes al dispositivo o verificando la lista de objetos demostrados. Se recordará, que de acuerdo con este aspecto de la presente invención, en enlace entre un objeto de dispositivo y su correspondiente controlador de clase está roto o bloqueado y el objeto de dispositivo permanece aún aunque el dispositivo no está dentro del alcance del nodo. Consecuentemente, un objeto de dispositivo es creado para cada dispositivo en el mundo. Si la determinación en el paso 1210 es afirmativa, indicando que el dispositivo es un dispositivo recién agregado, el proceso procede al paso 1220. Los pasos 1220-1250 son substancialmente idénticos a los pasos 101-1040 de la Figura 8b. Brevemente descrito, en el paso 1220 un objeto de dispositivo es creado en el nodo para el dispositivo, tal como empleando PNP o una interfase privada. El proceso entonces procede al paso 1230, en el cual una bandera asociada con el objeto de dispositivo es fijado como lógica VERDADERO (por ejemplo, visible = VERDADERO). Enseguida, en el paso 1240, la lista de objetos demostrados es revisada para incluir la identificación de los datos para el dispositivo que está siendo agregado. A partir del paso 1240, el proceso procede al paso 1260 para determinar si dispositivos adicionales requieren de enmascaramiento. Si dispositivos adicionales requieren enmascaramiento, el proceso procede al paso 1270 en el cual el siguiente LU u otros datos asociados con el dispositivo son cargados. Si la determinación en el paso anterior 1210 es negativa, indicando que el dispositivo que está siendo traído dentro del alcance del nodo es no está recientemente agregado al sistema, el proceso procede al paso 1280. En el paso 1280, un objeto de dispositivo existente asociado con el dispositivo localizado y una condición de bandera correspondiente es fijado con lógica VERDADERO (por ejemplo, vis i b le = VERD ADERO). El proceso entonces procede al paso 1290 en el cual es objeto de dispositivo está enlazado al controlador de la clase correspondiente. Este aspecto funcional de entrelazar el objeto de dispositivo a un controlador de clase correspondiente puede se manejado a través de un control PNP o a través de una interfase privada emitiendo los comandos apropiados a un controlador de clase de nivel superior para enlazarse a un objeto de dispositivo respectivo. A partir de paso 1290, el proceso procede al paso 1260 para determinar si cualesquiera dispositivos adicionales serán enmascarados. Si, de regreso en el paso 1200, se determina que los datos enmascarados indican que el dispositivo será removido del alcance del nodo, le proceso procede al paso 1300. En el paso 1300, la bandera 1300 asociada con el objeto de dispositivo es fijada en la lógica FALSO (por ejemplo, visible = FALSO). El proceso entonces procede al paso 1310, en el cual el enlace entre el objeto de dispositivo y su correspondiente controlador de clase está roto. La remoción puede, por ejemplo, ser manejada como una solicitud de remoción por una interfase apropiada o control PNP. Como resultado de romper el enlace, el dispositivo es efectivamente removido del alcance del nodo de tal manera que el acceso a través del controlador del nodo al dispositivo es bloqueado. Se deben tomar pasos adicionales para asegurar cualesquiera trayectorias de comunicaciones que vayan directamente al controlador de clase, de tal forma que la trayectoria de comunicación entre el nodo y el dispositivo es bloqueado. A partir del paso 1310, el proceso procede al paso 1260 para, como se describió anteriormente, determinar si algún dispositivo adicional requiere enmascaramiento de acuerdo con la metodología de la Figura 9c. Si no es requerido enmascaramiento adicional, el proceso procede al paso 1320 en el cual el controlador de clase es cargada y operativamente enlazado uno con otro con respecto al objeto de dispositivo que estará dentro del alcance del nodo (por ejemplo, de acuerdo con VISIBLE = VERDADERO). A partir del paso 1320, el proceso procede al paso 1330, en el cual el proceso termina. Mientras que las metodologías de las Figuras 9b y 9c ha sido descritas como siendo métodos de enmascaramiento separados, se apreciará que un nodo dado puede ser programado y/o configurado para implementar ambos tipos de enmascaramientos, así como un tipo de enmascaramiento hacerse mas deseable que el otro. Además, el enmascaramiento de LUN con base en hardware descrito en la presente, tal como un ambiente SAN operativamente conectado a uno o más nodos. El método sistemático de enmascaramiento LUN, de acuerdo con la presente invención, habilita a un nodo dado a efectivamente y dinámicamente enmascarar el acceso relativo a uno o más dispositivos asociados aun en donde la configuración del hardware pueda no ser capaz. Además, el método de enmascaramiento sistemático habilita los cambios en la configuración para ocurrir dinámicamente dentro de un nodo sin requerir un reinicio. Como resultado, múltiples huésped interconectados son capaces de sistemáticamente intercambiar unidades de almacenamiento u otros dispositivos compartidos. Lo que ha sido descrito anteriormente son ejemplos de la presente invención. Esto es, por supuesto, no es posible describir cada combinación concebible de componentes o metodologías para propósitos de describir la presente, pero alguien con experiencia en la técnica reconocerá que muchas combinaciones adicionales y permutaciones de la presente invención son posibles. Por consiguiente, la presente invención intenta abarcar todas esas alteraciones, modificaciones y variaciones que caen dentro del espíritu y alcance de las reivindicaciones anexas.
APLICABILIDAD INDUSTRIAL Esta invención tiene una aplicabilidad industrial en el área de las ciencias de computadoras.

Claims (44)

REIVINDICACIONES
1. Un sistema, que comprende: un sistema de almacenamiento compartido incluyendo una pluralidad de unidades de almacenamiento; un nodo operativamente conectado al sistema de almacenamiento compartido, el nodo estando programado para identificar cada unidad de almacenamiento operativamente conectado al nodo y enmascarar el acceso mediante el nodo de por lo menos una de las unidades de almacenamiento.
2. El sistema de acuerdo con la reivindicación 1, en donde el nodo además incluye una estructura de datos programable, la cual identifica si las unidades de almacenamiento del sistema de almacenamiento compartido están dentro del alcance del nodo, el acceso de enmascaramiento del nodo a las unidades de almacenamiento con base en la estructura de datos programable.
3. El sistema de acuerdo con la reivindicación 2, en donde la estructura de datos programable incluye por lo menos una porción correspondiente a los datos persistentes programables.
4. El sistema de acuerdo con la reivindicación 3, en donde la estructura de datos además incluye otra porción correspondiente a los datos temporales programables.
5. El sistema de acuerdo con la reivindicación 2, en donde el nodo además está configurado para por lo menos crear y remover sistemáticamente un enlace dentro del nodo que proporciona un canal de comunicaciones entre el nodo y la unidades de almacenamiento en la estructura de datos programable.
6. El sistema de acuerdo con la reivindicación 5, en donde el enlace sistemático o programático incluye un objeto de dispositivo asociado con el nodo y a una unidad de almacenamiento, el objeto de dispositivo demostrado con base en la estructura de datos programable.
7. El sistema de acuerdo con la reivindicación 5, en donde el enlace sistemático incluye una conexión programable que proporciona una trayectoria de comunicación entre un objeto de dispositivo operativamente asociado con el nodo y un objeto de dispositivo de nivel más alto operativamente asociado con una de las unidades de almacenamiento, la trayectoria de comunicaciones estando enmascarada de acuerdo con la estructura de datos programable.
8. El sistema de acuerdo con la reivindicación 1, en donde el nodo además incluye por lo menos una de la estructura de datos temporal programable y una estructura de datos persistentes programable, la cual identifica el criterio de enmascaramiento del nodo.
9. El sistema de acuerdo con la reivindicación 1, en donde el sistema de almacenamiento compartido además incluye una red de área de almacenamiento operativamente conectando el nodo a la pluralidad de unidades de almacenamiento.
10. Un sistema, que comprende: una pluralidad de dispositivos; y por lo menos un bus o barra colectora conectando cada uno de la pluralidad de dispositivo uno con el otro de una pluralidad de nodos; en donde cada uno de la pluralidad de nodos está programado para identificar cada uno de la .pluralidad de dispositivos, cada uno de la pluralidad de nodos teniendo una estructura de datos programable y estando programado para enmascarar el acceso a través del nodo a por lo menos uno de la pluralidad de dispositivos de acuerdo con la estructura de datos programable.
11. El sistema de acuerdo con la reivindicación 10, en donde la estructura de datos programable de un nodo correspondiente identifica si cada uno de la pluralidad de dispositivos va a estar dentro del alcance del nodo correspondiente, el nodo correspondiente enmascarando el acceso a los dispositivos con base en la estructura de datos programable asociada con el mismo.
12. El sistema de acuerdo con la reivindicación 11, en donde la estructura de datos programable de un nodo correspondiente incluye datos persistentes programables identificando por lo menos un dispositivo que va a ser enmascarado con relación al nodo correspondiente.
13. El sistema de acuerdo con la reivindicación 11, en donde la estructura de datos programable del nodo correspondiente incluye datos temporales programables identificando por lo menos un dispositivo que va a ser enmascarado con relación al nodo correspondiente.
14. El sistema de acuerdo con la reivindicación 11, en donde la estructura de datos programable del nodo correspondiente incluye datos persistentes programables y datos temporales programables identificando los dispositivos que van a ser enmascarados con relación al nodo correspondiente.
15. El sistema de acuerdo con la reivindicación 11, en donde cada uno de la pluralidad de nodos además está configurado para por lo menos agregar y remover un enlace programable dentro del nodo correspondiente con base en la estructura de datos programable, el enlace programable proporcionando un canal de comunicaciones entre el nodo correspondiente y uno de una pluralidad de dispositivos.
16. El sistema de acuerdo con la reivindicación 15, en donde el enlace programable incluye un objeto de dispositivo asociado con el nodo correspondiente y uno correspondiendo a uno de una pluralidad de dispositivos, el objeto de dispositivo estando demostrado con base en la estructura de datos prog ramable.
17. El sistema de acuerdo con la reivindicación 15, en donde el enlace programable incluye una trayectoria de comunicaciones programable entre un objeto de dispositivo operativamente asociado con el nodo correspondiente y un objeto de dispositivo de nivel más alto operativamente asociado con uno de la pluralidad de dispositivos, la trayectoria de comunicaciones estando enmascarada de acuerdo con la estructura de datos programable del nodo correspondiente.
18. El sistema de acuerdo con la reivindicación 10, en donde el nodo además incluye por lo menos una de una estructura de datos temporales programable y una estructura de datos persistentes programable, la cual identifica el criterio de enmascaramiento del nodo.
19. El sistema de acuerdo con la reivindicación 10, en donde por lo menos uno de la pluralidad de dispositivos son unidades de almacenamiento de un sistema de almacenamiento compartido operativamente conectado con el nodo a través de una red de área de almacenamiento.
20. Un sistema para administrar el acceso a una pluralidad de unidades de almacenamiento en un sistema de almacenamiento compartido, que comprende: un nodo operativamente conectado a la pluralidad de unidades de almacenamiento, el nodo teniendo una estructura de datos programable indicando si cada uno de la pluralidad de unidades de almacenamiento va a ser enmascarada con relación al nodo; y una interfase para selectivamente modificar la estructura de datos programable en respuesta a una instrucción de programa para enmascarar el acceso a través del nodo con relación a por lo menos una de la pluralidad de unidades de almacenamiento.
21. El sistema de acuerdo con la reivindicación 20, en donde la estructura de datos programable del nodo incluye datos persistentes programables identificando por lo menos una de la pluralidad de unidades de almacenamiento que van a ser enmascaradas con relación al nodo.
22. El sistema de acuerdo con la reivindicación 20, en donde la estructura de datos programable del nodo incluye datos temporales programables identificando por lo menos una de la pluralidad de unidades de almacenamiento que van a ser enmascaradas con relación al nodo.
23. El sistema de acuerdo con la reivindicación 20, en donde la estructura de datos programable del nodo incluye datos persistentes programables y datos temporales programables identificando unidades de almacenamiento que van a ser enmascaradas con relación al nodo.
24. El sistema de acuerdo con la reivindicación 20, en donde el nodo además está configurado para por lo menos agregar o remover un enlace programable que proporciona un canal de comunicaciones entre el nodo y la unidad de almacenamiento correspondiente en respuesta a los cambios en la estructura de datos programable.
25. El sistema de acuerdo con la reivindicación 24, en donde el enlace programable incluye un objeto de dispositivo asociado con el nodo y la unidad de almacenamiento correspondiente, el objeto de dispositivo estando demostrado con base en la estructura de datos programable.
26. El sistema de acuerdo con la reivindicación 24, en donde el enlace programable incluye una trayectoria de comunicaciones programable entre un objeto de dispositivo operativamente asociado con el nodo y un objeto de nivel más alto operativamente asociado con la unidad de almacenamiento correspondiente, la trayectoria de comunicaciones variando como una función de la estructura de datos programable.
27. Un medio de almacenamiento legible por computadora que tiene instrucciones ejecutables por computadora para llevar a cabo los pasos de: identificar las unidades de almacenamiento operativamente conectadas al nodo; enmascarar el acceso a través del nodo con relación a por lo menos una unidad de almacenamiento sistemáticamente seleccionada.
28. Un medio de almacenamiento legible por computadora que tiene instrucciones ejecutables por computadora para llevar a cabo los pasos de: identificar las unidades de almacenamiento operativamente conectadas al nodo; crear una estructura de datos programable en el nodo indicativo de las unidades de almacenamiento seleccionadas; y enmascarar el acceso a través del nodo con relación a por lo menos una unidad de una estructura de datos programable.
29. El medio de almacenamiento legible por computadora de acuerdo con la reivindicación 28, que además tiene instrucciones ejecutables por computadora para llevar a cabo el paso de almacenar en la memoria persistente del nodo datos los cuales identifican por lo menos una de la pluralidad de unidades de almacenamiento que será enmascarada con relación al nodo.
30. El medio de almacenamiento legible por computadora de acuerdo con la reivindicación 29, que tiene además instrucciones ejecutables por computadora para llevar a cabo el paso de almacenar en la memoria temporal del nodo datos los cuales identifican por lo menos una de la pluralidad de unidades de almacenamiento que va a ser enmascarada con relación al nodo.
31. El medio de almacenamiento legible por computadora de acuerdo con la reivindicación 30, que además tiene instrucciones ejecutables por computadora para llevar a cabo el paso de definir la estructura de datos programable con base en los datos almacenados en por lo menos una de la memoria persistente y de la memoria temporal.
32. El medio de almacenamiento legible por computadora de acuerdo con la reivindicación 28, que además tiene instrucciones ejecutables por computadora para llevar a cabo el paso almacenar en la memoria persistente del nodo datos que identifican por lo menos una de la pluralidad de unidades de almacenamiento que van a ser enmascaradas con relación al nodo y definir la estructura de datos programable con base en los datos almacenados en la memoria persistente.
33. El medio de almacenamiento legible por computadora de acuerdo con la reivindicación 28, que además tiene instrucciones ejecutables por computadora para, en repuesta a los cambios en la estructura de datos programable, llevar a cabo el paso de agregar o remover un enlace programable entre el nodo y una de las unidades de almacenamiento correspondientes.
34. El medio de almacenamiento legible por computadora de acuerdo con la reivindicación 33, en donde el enlace programable incluye un objeto de dispositivo asociado con el nodo y una de una pluralidad de unidades de almacenamiento correspondiente, el medio de almacenamiento legible por computadora tiene además instrucciones ejecutables por computadora para llevar a cabo el paso de demostrar el objeto de dispositivo con base en la estructura de datos programable.
35. El medio de almacenamiento legible por computadora de acuerdo con la reivindicación 28, en donde el enlace programable incluye una trayectoria de comunicaciones programable entre un objeto de dispositivo operativamente asociado con el nodo y un objeto de dispositivo de nivel más alto operativamente asociado con una de las unidades de almacenamiento, el medio legible por computadora además tiene instrucciones ejecutables por computadora para, en respuesta a los cambios en la estructura de datos programable, llevar a cabo el paso de agregar o remover la trayectoria de comunicaciones.
36. Un método para manejar el acceso a una pluralidad de unidades de almacenamiento compartidas a través de una pluralidad de computadoras, que comprende los pasos de: sistemáticamente o programáticamente identificar la pluralidad de unidades de almacenamiento; sistemáticamente o programáticamente enmascarar el acceso a través de una de la pluralidad de computadoras a por lo menos una de la pluralidad de unidades de almacenamiento.
37. El método de acuerdo con la reivindicación 36, que incluye además el paso de almacenar una estructura de datos programable en por lo menos una computador indicativa del criterio de enmascaramiento de si una unidad de almacenamiento va a ser enmascarada con relación a por lo menos una computadora, el paso de sistemáticamente enmascarar siendo desarrollado con base en la estructura de datos programable.
38. El método de acuerdo con la reivindicación 37, que además incluye el paso de almacenar en la memoria persistente de por lo menos una computadora los datos que identifican por lo menos una de la pluralidad de unidades de almacenamiento que van a ser enmascaradas con relación a por lo menos una computadora.
39. El método de acuerdo con la reivindicación 38, que incluye además el paso de almacenar en la memoria temporal de por lo menos una computadora los datos que identifican por lo menos una de la pluralidad de unidades de almacenamiento que va a ser enmascarada con relación a por lo menos una computadora.
40. El método de acuerdo con la reivindicación 39, que incluye además el paso de definir la estructura de datos programable con base en los datos almacenados en por lo menos una de la memoria persistente y la memoria temporal.
41. El método de acuerdo con la reivindicación 37, que incluye además los pasos de almacenar en por lo menos una computadora por lo menos uno de los datos persistentes y temporales, los cuales identifican por lo menos una de la pluralidad de unidades de almacenamiento que van a ser enmascaradas con relación a por lo menos una computadora y definir la estructura de datos programable con base en por lo menos uno de los datos persistes y temporales.
42. El método de acuerdo con la reivindicación 37, que incluye además el paso de agregar o remover un enlace programable en por lo menos una computadora que proporciona un canal de comunicaciones entre por lo menos una computadora y una unidad de almacenamiento programable en respuesta a los cambios en al estructura de datos programable.
43. El método de acuerdo con la reivindicación 42, en donde el enlace programable incluye un objeto de dispositivo asociado con por lo menos una computadora y una de una pluralidad de unidades de almacenamiento correspondiente, el método además incluye el paso de demostrar el objeto de dispositivo en por lo menos una computadora con base en la estructura de datos programable.
44. El método de acuerdo con la reivindicación 42, en donde el enlace programable incluye una trayectoria de comunicaciones entre un objeto de dispositivo operativamente asociado con por lo menos una computadora y un objeto de dispositivo de más alto nivel operativamente asociado con por lo menos una unidad de almacenamiento, el método además incluye el paso de agregar o remover la trayectoria de comunicaciones en respuesta a los cambios en la estructura de datos programable.
MXPA02010378A 2000-04-20 2001-02-02 Enmascaramiento programatico de unidades de almacenamiento. MXPA02010378A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/553,114 US6643748B1 (en) 2000-04-20 2000-04-20 Programmatic masking of storage units
PCT/US2001/003632 WO2001082091A1 (en) 2000-04-20 2001-02-02 Programmatic masking of storage units

Publications (1)

Publication Number Publication Date
MXPA02010378A true MXPA02010378A (es) 2003-05-23

Family

ID=24208188

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA02010378A MXPA02010378A (es) 2000-04-20 2001-02-02 Enmascaramiento programatico de unidades de almacenamiento.

Country Status (13)

Country Link
US (1) US6643748B1 (es)
EP (1) EP1275050B1 (es)
JP (1) JP3965052B2 (es)
CN (1) CN100485647C (es)
AT (1) ATE423353T1 (es)
AU (1) AU2001233312A1 (es)
BR (1) BR0110222A (es)
CA (1) CA2406902C (es)
DE (1) DE60137685D1 (es)
HK (1) HK1053176B (es)
MX (1) MXPA02010378A (es)
RU (1) RU2265882C2 (es)
WO (1) WO2001082091A1 (es)

Families Citing this family (175)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7657727B2 (en) * 2000-01-14 2010-02-02 Hitachi, Ltd. Security for logical unit in storage subsystem
US6684209B1 (en) * 2000-01-14 2004-01-27 Hitachi, Ltd. Security method and system for storage subsystem
JP4651230B2 (ja) 2001-07-13 2011-03-16 株式会社日立製作所 記憶システム及び論理ユニットへのアクセス制御方法
JP4719957B2 (ja) * 2000-05-24 2011-07-06 株式会社日立製作所 記憶制御装置及び記憶システム並びに記憶システムのセキュリティ設定方法
US6961838B2 (en) * 2000-06-02 2005-11-01 Hewlett-Packard Development Company, L.P. Generating updated virtual disks using distributed mapping tables accessible by mapping agents and managed by a centralized controller
US7401139B1 (en) * 2000-09-07 2008-07-15 International Business Machines Corporation Storage area network management and configuration method and apparatus via enabling in-band communications
US7051101B1 (en) * 2000-09-13 2006-05-23 Emc Corporation Methods and apparatus for controlling devices within storage network
US7171474B2 (en) * 2001-04-25 2007-01-30 Sun Microsystems, Inc. Persistent repository for on-demand node creation for fabric devices
US7200646B2 (en) * 2001-04-25 2007-04-03 Sun Microsystems, Inc. System and method for on-demand node creation for fabric devices
US6920491B2 (en) * 2001-04-25 2005-07-19 Sun Microsystems, Inc. Fabric device configuration interface for onlining fabric devices for use from a host system
US20020194407A1 (en) * 2001-04-25 2002-12-19 Kim Hyon T. Maintaining fabric device configuration through dynamic reconfiguration
CN1302419C (zh) * 2001-09-21 2007-02-28 泛伺服公司 用于具有共享存储器的多节点环境的系统和方法
US20030154271A1 (en) * 2001-10-05 2003-08-14 Baldwin Duane Mark Storage area network methods and apparatus with centralized management
US6965951B2 (en) * 2002-05-17 2005-11-15 Sun Microsystems, Inc. Device centric discovery and configuration for fabric devices
US20040015611A1 (en) * 2002-06-25 2004-01-22 Kim Hyon T. Interfaces to multiple layers of device properties in a storage network
US7290045B2 (en) * 2002-07-01 2007-10-30 Sun Microsystems, Inc. Method and apparatus for managing a storage area network including a self-contained storage system
JP2004118250A (ja) * 2002-09-24 2004-04-15 Hitachi Ltd 計算機管理システム、管理プログラム
US7222348B1 (en) * 2002-12-16 2007-05-22 Unisys Corporation Universal multi-path driver for storage systems
US7930377B2 (en) 2004-04-23 2011-04-19 Qlogic, Corporation Method and system for using boot servers in networks
US7669190B2 (en) 2004-05-18 2010-02-23 Qlogic, Corporation Method and system for efficiently recording processor events in host bus adapters
US7577772B2 (en) 2004-09-08 2009-08-18 Qlogic, Corporation Method and system for optimizing DMA channel selection
US7676611B2 (en) * 2004-10-01 2010-03-09 Qlogic, Corporation Method and system for processing out of orders frames
US20060090196A1 (en) * 2004-10-21 2006-04-27 Van Bemmel Jeroen Method, apparatus and system for enforcing security policies
US7392437B2 (en) * 2005-01-20 2008-06-24 Qlogic, Corporation Method and system for testing host bus adapters
WO2007030595A2 (en) * 2005-09-06 2007-03-15 Home Xperience, Inc. Extensible universal home automation integration framework and user interface
US7917712B2 (en) * 2005-09-30 2011-03-29 Hewlett-Packard Development Company, L.P. Method and system for governing access to storage device on SAN
US8438319B1 (en) 2010-06-24 2013-05-07 Atmel Wi-Fi Solutions, Inc. Method and apparatus for virtualizing hardware dongle over a wireless connection
US20080077638A1 (en) * 2006-09-21 2008-03-27 Microsoft Corporation Distributed storage in a computing environment
US8161353B2 (en) 2007-12-06 2012-04-17 Fusion-Io, Inc. Apparatus, system, and method for validating that a correct data segment is read from a data storage device
US8402201B2 (en) 2006-12-06 2013-03-19 Fusion-Io, Inc. Apparatus, system, and method for storage space recovery in solid-state storage
US8151082B2 (en) * 2007-12-06 2012-04-03 Fusion-Io, Inc. Apparatus, system, and method for converting a storage request into an append data storage command
US7765433B1 (en) * 2007-03-14 2010-07-27 Symantec Corporation Technique for performing disaster rehearsal for a storage area network utilizing a replication appliance
RU2450349C2 (ru) * 2009-11-26 2012-05-10 Хун-Чиэнь ЧОУ Способ и вычислительное устройство защиты данных
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
US8589640B2 (en) 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
US20140040580A1 (en) 2012-07-31 2014-02-06 Commvault Systems, Inc. Administering a shared, on-line pool of data storage resources for performing data storage operations
US9864606B2 (en) * 2013-09-05 2018-01-09 F5 Networks, Inc. Methods for configurable hardware logic device reloading and devices thereof
JP6291966B2 (ja) 2014-03-31 2018-03-14 日本電気株式会社 初期化処理高速化システム、初期化処理高速化装置、初期化処理高速化方法及び初期化処理高速化プログラム
US9836234B2 (en) 2014-06-04 2017-12-05 Pure Storage, Inc. Storage cluster
US9003144B1 (en) 2014-06-04 2015-04-07 Pure Storage, Inc. Mechanism for persisting messages in a storage system
US11652884B2 (en) 2014-06-04 2023-05-16 Pure Storage, Inc. Customized hash algorithms
US11960371B2 (en) 2014-06-04 2024-04-16 Pure Storage, Inc. Message persistence in a zoned system
US9367243B1 (en) 2014-06-04 2016-06-14 Pure Storage, Inc. Scalable non-uniform storage sizes
US11399063B2 (en) 2014-06-04 2022-07-26 Pure Storage, Inc. Network authentication for a storage system
US8850108B1 (en) 2014-06-04 2014-09-30 Pure Storage, Inc. Storage cluster
US9218244B1 (en) 2014-06-04 2015-12-22 Pure Storage, Inc. Rebuilding data across storage nodes
US10574754B1 (en) 2014-06-04 2020-02-25 Pure Storage, Inc. Multi-chassis array with multi-level load balancing
US9213485B1 (en) 2014-06-04 2015-12-15 Pure Storage, Inc. Storage system architecture
US9612952B2 (en) 2014-06-04 2017-04-04 Pure Storage, Inc. Automatically reconfiguring a storage memory topology
US11068363B1 (en) 2014-06-04 2021-07-20 Pure Storage, Inc. Proactively rebuilding data in a storage cluster
US11886308B2 (en) 2014-07-02 2024-01-30 Pure Storage, Inc. Dual class of service for unified file and object messaging
US11604598B2 (en) 2014-07-02 2023-03-14 Pure Storage, Inc. Storage cluster with zoned drives
US10114757B2 (en) 2014-07-02 2018-10-30 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US8868825B1 (en) 2014-07-02 2014-10-21 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US9021297B1 (en) 2014-07-02 2015-04-28 Pure Storage, Inc. Redundant, fault-tolerant, distributed remote procedure call cache in a storage system
US9836245B2 (en) 2014-07-02 2017-12-05 Pure Storage, Inc. Non-volatile RAM and flash memory in a non-volatile solid-state storage
US8874836B1 (en) 2014-07-03 2014-10-28 Pure Storage, Inc. Scheduling policy for queues in a non-volatile solid-state storage
US9747229B1 (en) 2014-07-03 2017-08-29 Pure Storage, Inc. Self-describing data format for DMA in a non-volatile solid-state storage
US9811677B2 (en) 2014-07-03 2017-11-07 Pure Storage, Inc. Secure data replication in a storage grid
US10853311B1 (en) 2014-07-03 2020-12-01 Pure Storage, Inc. Administration through files in a storage system
US9495255B2 (en) 2014-08-07 2016-11-15 Pure Storage, Inc. Error recovery in a storage cluster
US9766972B2 (en) 2014-08-07 2017-09-19 Pure Storage, Inc. Masking defective bits in a storage array
US9558069B2 (en) 2014-08-07 2017-01-31 Pure Storage, Inc. Failure mapping in a storage array
US9082512B1 (en) 2014-08-07 2015-07-14 Pure Storage, Inc. Die-level monitoring in a storage cluster
US10983859B2 (en) 2014-08-07 2021-04-20 Pure Storage, Inc. Adjustable error correction based on memory health in a storage unit
US9483346B2 (en) 2014-08-07 2016-11-01 Pure Storage, Inc. Data rebuild on feedback from a queue in a non-volatile solid-state storage
US10079711B1 (en) 2014-08-20 2018-09-18 Pure Storage, Inc. Virtual file server with preserved MAC address
CN107408074B (zh) * 2015-02-10 2021-07-27 净睿存储股份有限公司 存储系统架构
US9948615B1 (en) 2015-03-16 2018-04-17 Pure Storage, Inc. Increased storage unit encryption based on loss of trust
US11294893B2 (en) 2015-03-20 2022-04-05 Pure Storage, Inc. Aggregation of queries
US9940234B2 (en) 2015-03-26 2018-04-10 Pure Storage, Inc. Aggressive data deduplication using lazy garbage collection
US10082985B2 (en) 2015-03-27 2018-09-25 Pure Storage, Inc. Data striping across storage nodes that are assigned to multiple logical arrays
US10178169B2 (en) 2015-04-09 2019-01-08 Pure Storage, Inc. Point to point based backend communication layer for storage processing
US9672125B2 (en) 2015-04-10 2017-06-06 Pure Storage, Inc. Ability to partition an array into two or more logical arrays with independently running software
US10140149B1 (en) 2015-05-19 2018-11-27 Pure Storage, Inc. Transactional commits with hardware assists in remote memory
US9817576B2 (en) 2015-05-27 2017-11-14 Pure Storage, Inc. Parallel update to NVRAM
CN107748702B (zh) * 2015-06-04 2021-05-04 华为技术有限公司 一种数据恢复方法和装置
US10846275B2 (en) 2015-06-26 2020-11-24 Pure Storage, Inc. Key management in a storage device
US10983732B2 (en) 2015-07-13 2021-04-20 Pure Storage, Inc. Method and system for accessing a file
US11232079B2 (en) 2015-07-16 2022-01-25 Pure Storage, Inc. Efficient distribution of large directories
US10108355B2 (en) 2015-09-01 2018-10-23 Pure Storage, Inc. Erase block state detection
US11341136B2 (en) 2015-09-04 2022-05-24 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US10762069B2 (en) 2015-09-30 2020-09-01 Pure Storage, Inc. Mechanism for a system where data and metadata are located closely together
US10853266B2 (en) 2015-09-30 2020-12-01 Pure Storage, Inc. Hardware assisted data lookup methods
US9768953B2 (en) 2015-09-30 2017-09-19 Pure Storage, Inc. Resharing of a split secret
US9843453B2 (en) 2015-10-23 2017-12-12 Pure Storage, Inc. Authorizing I/O commands with I/O tokens
US10007457B2 (en) 2015-12-22 2018-06-26 Pure Storage, Inc. Distributed transactions with token-associated execution
US10261690B1 (en) 2016-05-03 2019-04-16 Pure Storage, Inc. Systems and methods for operating a storage system
US11231858B2 (en) 2016-05-19 2022-01-25 Pure Storage, Inc. Dynamically configuring a storage system to facilitate independent scaling of resources
US10691567B2 (en) 2016-06-03 2020-06-23 Pure Storage, Inc. Dynamically forming a failure domain in a storage system that includes a plurality of blades
US11861188B2 (en) 2016-07-19 2024-01-02 Pure Storage, Inc. System having modular accelerators
US11706895B2 (en) 2016-07-19 2023-07-18 Pure Storage, Inc. Independent scaling of compute resources and storage resources in a storage system
US9672905B1 (en) 2016-07-22 2017-06-06 Pure Storage, Inc. Optimize data protection layouts based on distributed flash wear leveling
US11449232B1 (en) 2016-07-22 2022-09-20 Pure Storage, Inc. Optimal scheduling of flash operations
US10768819B2 (en) 2016-07-22 2020-09-08 Pure Storage, Inc. Hardware support for non-disruptive upgrades
US10216420B1 (en) 2016-07-24 2019-02-26 Pure Storage, Inc. Calibration of flash channels in SSD
US11080155B2 (en) 2016-07-24 2021-08-03 Pure Storage, Inc. Identifying error types among flash memory
US11604690B2 (en) 2016-07-24 2023-03-14 Pure Storage, Inc. Online failure span determination
US10203903B2 (en) 2016-07-26 2019-02-12 Pure Storage, Inc. Geometry based, space aware shelf/writegroup evacuation
US10366004B2 (en) 2016-07-26 2019-07-30 Pure Storage, Inc. Storage system with elective garbage collection to reduce flash contention
US11734169B2 (en) 2016-07-26 2023-08-22 Pure Storage, Inc. Optimizing spool and memory space management
US11886334B2 (en) 2016-07-26 2024-01-30 Pure Storage, Inc. Optimizing spool and memory space management
US11797212B2 (en) 2016-07-26 2023-10-24 Pure Storage, Inc. Data migration for zoned drives
US11422719B2 (en) 2016-09-15 2022-08-23 Pure Storage, Inc. Distributed file deletion and truncation
US10756816B1 (en) 2016-10-04 2020-08-25 Pure Storage, Inc. Optimized fibre channel and non-volatile memory express access
US9747039B1 (en) 2016-10-04 2017-08-29 Pure Storage, Inc. Reservations over multiple paths on NVMe over fabrics
US11550481B2 (en) 2016-12-19 2023-01-10 Pure Storage, Inc. Efficiently writing data in a zoned drive storage system
US11307998B2 (en) 2017-01-09 2022-04-19 Pure Storage, Inc. Storage efficiency of encrypted host system data
US11955187B2 (en) 2017-01-13 2024-04-09 Pure Storage, Inc. Refresh of differing capacity NAND
US9747158B1 (en) 2017-01-13 2017-08-29 Pure Storage, Inc. Intelligent refresh of 3D NAND
US10979223B2 (en) 2017-01-31 2021-04-13 Pure Storage, Inc. Separate encryption for a solid-state drive
US10528488B1 (en) 2017-03-30 2020-01-07 Pure Storage, Inc. Efficient name coding
US11016667B1 (en) 2017-04-05 2021-05-25 Pure Storage, Inc. Efficient mapping for LUNs in storage memory with holes in address space
US10944671B2 (en) 2017-04-27 2021-03-09 Pure Storage, Inc. Efficient data forwarding in a networked device
US10141050B1 (en) 2017-04-27 2018-11-27 Pure Storage, Inc. Page writes for triple level cell flash memory
US10516645B1 (en) 2017-04-27 2019-12-24 Pure Storage, Inc. Address resolution broadcasting in a networked device
US11467913B1 (en) 2017-06-07 2022-10-11 Pure Storage, Inc. Snapshots with crash consistency in a storage system
US11138103B1 (en) 2017-06-11 2021-10-05 Pure Storage, Inc. Resiliency groups
US11947814B2 (en) 2017-06-11 2024-04-02 Pure Storage, Inc. Optimizing resiliency group formation stability
US11782625B2 (en) 2017-06-11 2023-10-10 Pure Storage, Inc. Heterogeneity supportive resiliency groups
US10425473B1 (en) 2017-07-03 2019-09-24 Pure Storage, Inc. Stateful connection reset in a storage cluster with a stateless load balancer
US10402266B1 (en) 2017-07-31 2019-09-03 Pure Storage, Inc. Redundant array of independent disks in a direct-mapped flash storage system
US10877827B2 (en) 2017-09-15 2020-12-29 Pure Storage, Inc. Read voltage optimization
US10210926B1 (en) 2017-09-15 2019-02-19 Pure Storage, Inc. Tracking of optimum read voltage thresholds in nand flash devices
US10496330B1 (en) 2017-10-31 2019-12-03 Pure Storage, Inc. Using flash storage devices with different sized erase blocks
US11024390B1 (en) 2017-10-31 2021-06-01 Pure Storage, Inc. Overlapping RAID groups
US10545687B1 (en) 2017-10-31 2020-01-28 Pure Storage, Inc. Data rebuild when changing erase block sizes during drive replacement
US10884919B2 (en) 2017-10-31 2021-01-05 Pure Storage, Inc. Memory management in a storage system
US10515701B1 (en) 2017-10-31 2019-12-24 Pure Storage, Inc. Overlapping raid groups
US10860475B1 (en) 2017-11-17 2020-12-08 Pure Storage, Inc. Hybrid flash translation layer
US10990566B1 (en) 2017-11-20 2021-04-27 Pure Storage, Inc. Persistent file locks in a storage system
US10929053B2 (en) 2017-12-08 2021-02-23 Pure Storage, Inc. Safe destructive actions on drives
US10719265B1 (en) 2017-12-08 2020-07-21 Pure Storage, Inc. Centralized, quorum-aware handling of device reservation requests in a storage system
US10929031B2 (en) 2017-12-21 2021-02-23 Pure Storage, Inc. Maximizing data reduction in a partially encrypted volume
US10976948B1 (en) 2018-01-31 2021-04-13 Pure Storage, Inc. Cluster expansion mechanism
US10467527B1 (en) 2018-01-31 2019-11-05 Pure Storage, Inc. Method and apparatus for artificial intelligence acceleration
US10733053B1 (en) 2018-01-31 2020-08-04 Pure Storage, Inc. Disaster recovery for high-bandwidth distributed archives
US11036596B1 (en) 2018-02-18 2021-06-15 Pure Storage, Inc. System for delaying acknowledgements on open NAND locations until durability has been confirmed
US11494109B1 (en) 2018-02-22 2022-11-08 Pure Storage, Inc. Erase block trimming for heterogenous flash memory storage devices
US10931450B1 (en) 2018-04-27 2021-02-23 Pure Storage, Inc. Distributed, lock-free 2-phase commit of secret shares using multiple stateless controllers
US10853146B1 (en) 2018-04-27 2020-12-01 Pure Storage, Inc. Efficient data forwarding in a networked device
US11385792B2 (en) 2018-04-27 2022-07-12 Pure Storage, Inc. High availability controller pair transitioning
US11436023B2 (en) 2018-05-31 2022-09-06 Pure Storage, Inc. Mechanism for updating host file system and flash translation layer based on underlying NAND technology
US11438279B2 (en) 2018-07-23 2022-09-06 Pure Storage, Inc. Non-disruptive conversion of a clustered service from single-chassis to multi-chassis
US11354058B2 (en) 2018-09-06 2022-06-07 Pure Storage, Inc. Local relocation of data stored at a storage device of a storage system
US11868309B2 (en) 2018-09-06 2024-01-09 Pure Storage, Inc. Queue management for data relocation
US11520514B2 (en) 2018-09-06 2022-12-06 Pure Storage, Inc. Optimized relocation of data based on data characteristics
US11500570B2 (en) 2018-09-06 2022-11-15 Pure Storage, Inc. Efficient relocation of data utilizing different programming modes
US10454498B1 (en) 2018-10-18 2019-10-22 Pure Storage, Inc. Fully pipelined hardware engine design for fast and efficient inline lossless data compression
US10976947B2 (en) 2018-10-26 2021-04-13 Pure Storage, Inc. Dynamically selecting segment heights in a heterogeneous RAID group
US11227065B2 (en) * 2018-11-06 2022-01-18 Microsoft Technology Licensing, Llc Static data masking
US11537716B1 (en) 2018-11-13 2022-12-27 F5, Inc. Methods for detecting changes to a firmware and devices thereof
US11334254B2 (en) 2019-03-29 2022-05-17 Pure Storage, Inc. Reliability based flash page sizing
US11775189B2 (en) 2019-04-03 2023-10-03 Pure Storage, Inc. Segment level heterogeneity
US11099986B2 (en) 2019-04-12 2021-08-24 Pure Storage, Inc. Efficient transfer of memory contents
US11714572B2 (en) 2019-06-19 2023-08-01 Pure Storage, Inc. Optimized data resiliency in a modular storage system
US11281394B2 (en) 2019-06-24 2022-03-22 Pure Storage, Inc. Replication across partitioning schemes in a distributed storage system
US11893126B2 (en) 2019-10-14 2024-02-06 Pure Storage, Inc. Data deletion for a multi-tenant environment
US11847331B2 (en) 2019-12-12 2023-12-19 Pure Storage, Inc. Budgeting open blocks of a storage unit based on power loss prevention
US11704192B2 (en) 2019-12-12 2023-07-18 Pure Storage, Inc. Budgeting open blocks based on power loss protection
US11416144B2 (en) 2019-12-12 2022-08-16 Pure Storage, Inc. Dynamic use of segment or zone power loss protection in a flash device
US11188432B2 (en) 2020-02-28 2021-11-30 Pure Storage, Inc. Data resiliency by partially deallocating data blocks of a storage device
US11507297B2 (en) 2020-04-15 2022-11-22 Pure Storage, Inc. Efficient management of optimal read levels for flash storage systems
US11256587B2 (en) 2020-04-17 2022-02-22 Pure Storage, Inc. Intelligent access to a storage device
US11474986B2 (en) 2020-04-24 2022-10-18 Pure Storage, Inc. Utilizing machine learning to streamline telemetry processing of storage media
US11416338B2 (en) 2020-04-24 2022-08-16 Pure Storage, Inc. Resiliency scheme to enhance storage performance
US11768763B2 (en) 2020-07-08 2023-09-26 Pure Storage, Inc. Flash secure erase
US11681448B2 (en) 2020-09-08 2023-06-20 Pure Storage, Inc. Multiple device IDs in a multi-fabric module storage system
US11513974B2 (en) 2020-09-08 2022-11-29 Pure Storage, Inc. Using nonce to control erasure of data blocks of a multi-controller storage system
US11487455B2 (en) 2020-12-17 2022-11-01 Pure Storage, Inc. Dynamic block allocation to optimize storage system performance
US11614880B2 (en) 2020-12-31 2023-03-28 Pure Storage, Inc. Storage system with selectable write paths
US11847324B2 (en) 2020-12-31 2023-12-19 Pure Storage, Inc. Optimizing resiliency groups for data regions of a storage system
US11630593B2 (en) 2021-03-12 2023-04-18 Pure Storage, Inc. Inline flash memory qualification in a storage system
US11507597B2 (en) 2021-03-31 2022-11-22 Pure Storage, Inc. Data replication to meet a recovery point objective
US11832410B2 (en) 2021-09-14 2023-11-28 Pure Storage, Inc. Mechanical energy absorbing bracket apparatus

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5837585B2 (ja) * 1975-09-30 1983-08-17 株式会社東芝 ケイサンキソウチ
DE2712575C2 (de) * 1977-03-22 1985-12-19 Walter Dipl.-Ing. 8011 Putzbrunn Motsch Assoziatives Speichersystem in hochintegrierter Halbleitertechnik
US5253328A (en) * 1989-11-17 1993-10-12 Microelectronics & Computer Technology Corp. Neural-network content-addressable memory
US5357621A (en) * 1990-09-04 1994-10-18 Hewlett-Packard Company Serial architecture for memory module control
US5423044A (en) * 1992-06-16 1995-06-06 International Business Machines Corporation Shared, distributed lock manager for loosely coupled processing systems
JPH06236325A (ja) * 1993-02-08 1994-08-23 Sansei Denshi Japan Kk データ記憶装置
US5592641A (en) * 1993-06-30 1997-01-07 Intel Corporation Method and device for selectively locking write access to blocks in a memory array using write protect inputs and block enabled status
US5673317A (en) * 1995-03-22 1997-09-30 Ora Electronics, Inc. System and method for preventing unauthorized programming of wireless network access devices
US5828889A (en) * 1996-05-31 1998-10-27 Sun Microsystems, Inc. Quorum mechanism in a two-node distributed computer system
US5794244A (en) * 1996-06-04 1998-08-11 International Business Machines Corporation Data storage system with table-driven device selector
US6031842A (en) 1996-09-11 2000-02-29 Mcdata Corporation Low latency shared memory switch architecture
EP0858036A3 (en) * 1997-02-10 1999-12-22 Compaq Computer Corporation Fibre channel attached storage architecture
US6005849A (en) 1997-09-24 1999-12-21 Emulex Corporation Full-duplex communication processor which can be used for fibre channel frames
US6094699A (en) * 1998-02-13 2000-07-25 Mylex Corporation Apparatus and method for coupling devices to a PCI-to-PCI bridge in an intelligent I/O controller

Also Published As

Publication number Publication date
RU2265882C2 (ru) 2005-12-10
ATE423353T1 (de) 2009-03-15
JP2003532193A (ja) 2003-10-28
AU2001233312A1 (en) 2001-11-07
CN1430747A (zh) 2003-07-16
US6643748B1 (en) 2003-11-04
WO2001082091A1 (en) 2001-11-01
CN100485647C (zh) 2009-05-06
EP1275050A1 (en) 2003-01-15
DE60137685D1 (de) 2009-04-02
RU2002131156A (ru) 2004-03-10
HK1053176B (zh) 2009-07-17
CA2406902A1 (en) 2001-11-01
CA2406902C (en) 2009-11-03
EP1275050B1 (en) 2009-02-18
BR0110222A (pt) 2004-02-25
JP3965052B2 (ja) 2007-08-22
HK1053176A1 (en) 2003-10-10

Similar Documents

Publication Publication Date Title
MXPA02010378A (es) Enmascaramiento programatico de unidades de almacenamiento.
US20030208581A1 (en) Discovery of fabric devices using information from devices and switches
US6886086B2 (en) Storage system and data backup method for the same
US6553408B1 (en) Virtual device architecture having memory for storing lists of driver modules
US6816917B2 (en) Storage system with LUN virtualization
CN101557417B (zh) 用于hba迁移的方法和装置
US7272674B1 (en) System and method for storage device active path coordination among hosts
US8706837B2 (en) System and method for managing switch and information handling system SAS protocol communication
US6538669B1 (en) Graphical user interface for configuration of a storage system
US8387132B2 (en) Information packet communication with virtual objects
US20020049825A1 (en) Architecture for providing block-level storage access over a computer network
US7424529B2 (en) System using host bus adapter connection tables and server tables to generate connection topology of servers and controllers
US7203770B2 (en) Apparatus and method of supporting configuration of storage system
CN102197370B (zh) 维持存储区域网络存取权限的方法和装置
US20040199680A1 (en) Centralized technique for assigning I/O controllers to hosts in a cluster
WO2006063959A9 (en) Operating system migration with minimal storage area network reconfiguration
US7136907B1 (en) Method and system for informing an operating system in a system area network when a new device is connected
US8099525B2 (en) Method and apparatus for controlling access to logical units
US7496745B1 (en) Method and system for managing storage area networks
Khattar et al. Introduction to Storage Area Network, SAN
JP2007122713A (ja) インテリジェント論理ユニットプロビジョニング
JP2003204327A (ja) コンピュータシステムの管理方法、管理プログラム、記憶装置および表示装置
WO2007077514A2 (en) Transparent intellectual network storage device
US7334033B2 (en) Fabric membership monitoring
US11669356B2 (en) Simulation for alternative communication

Legal Events

Date Code Title Description
FG Grant or registration