MXPA98000845A - Interfase de sistema de archivos a una base de datos - Google Patents
Interfase de sistema de archivos a una base de datosInfo
- Publication number
- MXPA98000845A MXPA98000845A MXPA/A/1998/000845A MX9800845A MXPA98000845A MX PA98000845 A MXPA98000845 A MX PA98000845A MX 9800845 A MX9800845 A MX 9800845A MX PA98000845 A MXPA98000845 A MX PA98000845A
- Authority
- MX
- Mexico
- Prior art keywords
- database
- file system
- information
- file
- application
- Prior art date
Links
Abstract
La presente invención se refiere a el acceso a la información en una base de datos se obtiene con un sistema de computadora transformando una petición del sistema de archivos de una aplicación en una consulta de base de datos y recuperando la información correspondiente a la consulta de base de datos de la base de datos. La información recuperada se hace disponible a la aplicación como un objeto del sistema de archivos, por ejemplo, como un directorio, archivo, un enlace o una recopilación de los mismos.
Description
INTERFASE DE SISTEMA DE ARCHIVOS A UNA BASE DE DATOS
Antecedentes Esta invención se refiere obtener acceso a información en una base de datos. Una base de datos es un cuerpo de información que está organizado lógicamente de manera que puede recuperarse, almacenarse y buscarse de una manera coherente por un
"instrumento de base de datos" - una recopilación de métodos de software para recuperar o manipular datos en la base de datos. Las bases de datos generalmente caen en tres categorías: bases de datos de relación, bases de datos orientadas a objetos y bases de datos de relación de objetos.
Una base de datos de relación (RDB) es una recopilación de tablas bidimensionales de campo fijo que pueden relacionarse (o "unirse") entre sí en prácticamente cualquier forma que un desarrollador de bases de datos elija. La estructura de una base de datos de relación puede modificarse redefiniendo selectivamente las relaciones entre las tablas. Un instrumento de base de datos puede realizar búsquedas complejas en una base de datos de relación de una manera rápida y fácil usando cualquiera de los diversos protocolos de consulta de base de datos como el método expresado por el
Lenguaje de Consulta Estructurada (SQL) o por otros mecanismos. Las relaciones entre las tablas permiten que los resultados de una búsqueda sean remitidos automáticamente a información correspondiente en otras tablas en la base de datos. Como se muestra en la Fig. 1, por ejemplo, una base de datos de relación 100 incluye una tabla de clientes 102 la cual es unida por un enlace lógico 103 a una tabla de órdenes 104 la cual a su vez es unida por un enlace lógico 105 a una tabla de inventarios 106. Un usuario puede consultar la base de datos 100, por ejemplo, para todos los números de orden más altos que un valor de umbral. Debido a que la tabla de órdenes 104 es unida con la tabla de clientes 102 y la tabla de inventario 106, la lista de números de orden resultantes de la consulta puede recuperarse y mostrarse junto con los nombres de clientes respectivos y artículos de inventario que corresponden a los números de orden identificados. Una base de datos orientada a objetos (OODB) es una recopilación de "objetos" — elementos de software que contienen tanto datos, como reglas para manipular esos datos. En contraste con una base de datos de relación que puede almacenar sólo datos de caracteres, una OODB puede almacenar datos de prácticamente cualquier tipo (texto, imágenes gráficas 3D, videoclips, etc.). Una OODB almacena sus objetos constituyentes en una jerarquía de clases con reglas asociadas de manera que la OODB contiene mucho de la lógica que necesita para trabajar de una manera eficaz. Una base de datos de relación en contraste contiene sólo datos y debe depender del software de aplicación externo para realizar funciones útiles con los datos. Una base de datos de relación de objetos (ORDB) es un acoplador diferencial de los otros dos tipos. Los datos sin caracteres (por ejemplo, un archivo de imágenes) pueden almacenarse y recuperarse en una ORDB como un objeto grande binario (BLOB) — una masa no diferenciada de datos. La reglas para manipular los datos contenidos dentro de un BLOB (por ejemplo, una utilidad para ver archivos de imágenes) pueden almacenarse dentro o fuera de la base de datos dependiendo de la implementación de la ORDB en particular. El Informix® Universal Server (IUS®) es un ejemplo de un sistema de manejo de bases de datos de relación de objetos (ORDBMS) que almacena internamente las reglas para manipular BLOBs de manera que pueden tratarse como tipos de datos "nativos" — es decir, tipos de datos que el ORDBMS mismo tiene la capacidad de manipular. El acceso a la información dentro de una base de datos de relación o una base de datos de relación de objetos normalmente se obtiene por programas de computadora compatibles con SQL que están escritos para realizar una función específica. Por ejemplo, un usuario puede escribir un programa de SQL que recupera una lista de nombres de clientes de una base de datos que almacena información de clientes .
Alternativamente, están disponibles muchos programas de aplicación diferentes que soportan consultas de base de datos y los cuales permiten que un usuario formule interactivamente una consulta de base de datos especificando un conjunto arbitrario de criterios (por ejemplo, los nombres de todos los clientes fuera del estado con cuenta vencida y no pagada) . Este tipo de programas de aplicación presenta la consulta de base de datos del usuario al instrumento de base de datos el cual recupera la información solicitada de la base de datos. Estos programas de aplicación son mencionados como "informados de la base de datos" debido a que tienen la habilidad de interactuar con bases de datos y manipularlas . La mayoría de los programas de aplicación, en contraste, "no están informados de la base de datos" significando que no pueden obtener acceso a la información almacenada en una base de datos. Más bien, las aplicaciones no informadas de la base de datos dependen de los sistemas de archivos, como el Sistema de Archivos de Red (NFS) desarrollado por Sun Microsystems, Inc., para almacenar y recuperar información en archivos discretos. Un programa informado de la base de datos almacena cada documento separado en un archivo de disco separado identificado por el usuario de la aplicación. En la Fig. 2, por ejemplo, un sistema de archivos 200 tiene dos unidades de disco instaladas: unidad 202 la cual es representada con la etiqueta a: y la unidad 204 la cual es representada con la etiqueta b: . Cada una de las unidades a : y b: incluye uno o más directorios (docs en la unidad a: 202; dirl y dir2 en la unidad b: 204) las cuales a su vez puede tener subdirectorios ( subdirl en dirl? subdir2 y subdir3 en dir2, etcétera) con prácticamente cualquier nivel jerárquico siendo posible. Los archivos 206-212 pueden existir en cualquiera de los diversos niveles de directorio o subdirectorio dentro del sistema de archivos. Las etiquetas a : y b: representan el "namespace"
(espacio de nombre) del sistema de archivos. Es decir, todas las trayectorias de nombre de archivo que comienzan con a : o b: están dentro del espacio de nombre del sistema de archivos. Como se muestra en la Fig. 2, por ejemplo, un documento que incluye nombres de clientes fuera del estado es almacenado en el espacio de nombre del sistema de archivos en un lugar definido por la trayectoria de nombre de archivo a : \docs \ cust_outstate. txt lo cual significa que un archivo 211 nombrado "cust_outstate" del tipo "txt" es almacenado en un directorio nombrado docs en una unidad de disco 202 representada con la etiqueta a;. Otro documento que incluye nombres de clientes con cuenta vencida y no pagada es almacenado en un archivo de disco separado situado en la trayectoria de nombre de archivo a: \ docs \ cust_overdue . txt Estos dos archivos son entidades separadas y distintas que no están relacionadas o unidas en el sentido de que las tablas en una base de datos están relacionadas. Sumario En un aspecto de la invención, el acceso a la información en una base de datos se obtiene con un sistema de computadora haciendo disponible uno o más objetos de la base de datos (por ejemplo, una tabla o una fila) como uno o más objetos del sistema de archivos (por ejemplo, directorios, archivos o enlaces) a una aplicación, por ejemplo, una aplicación informada de la base de datos . La base de datos puede ser de relación, de relación de objetos u orientada a objetos. Si se hacen disponibles objetos del sistema de archivos, colectivamente pueden representar un sistema de archivos jerárquico. Una petición del sistema de archivos emitida por la aplicación que corresponde al objeto del sistema de archivos es transformada en una operación de la base de datos, por ejemplo, una consulta de SQL, la cual se realiza en la base de datos con un instrumento de base de datos . La información asociada con el objeto de la base de datos el cual es recuperado como resultado de la operación de la base de datos puede ser formateada en uno o más objetos del sistema de archivos y regresada a la aplicación. El formateo en particular de la información recuperada puede ser definida en un módulo de extensión, el cual también puede incluir información que define la manera específica en que la petición del sistema de archivos debe transformarse en una consulta de base de datos. Las operaciones de la base de datos, incluyendo el formateo de una consulta de base de datos, recuperando información y formateándola en objetos del sistema de archivo, se realizan transparentemente para la aplicación. Al recibir los objetos del sistema de archivos, la aplicación puede mostrarlos en la pantalla de una computadora, por ejemplo, como representaciones gráficas de objetos del sistema de archivos. El objeto de la base de datos que se hace disponible puede presentarse como múltiples objetos del sistema de archivos en formatos entendibles por diferentes aplicaciones. A la inversa, un solo objeto del sistema de archivos puede corresponder a múltiples objetos de la base de datos. En otro aspecto, un sistema de manejo de depósito de datos computarizado incluye una base de datos de información, un programa de aplicación basada en el sistema de archivos para manipular los datos y una interfase del sistema de archivos a la base de datos que proporciona la aplicación basada en el sistema de archivos, la cual de otra manera puede estar informada de la base de datos con acceso a la información en la base de datos. El sistema de manejo de depósito de datos además puede incluir un sistema de manejo de bases de datos el cual maneja información en la base de datos además o en lugar de la aplicación basada en el sistema de archivos. El sistema de manejo de depósito de datos puede incluir un módulo para diferenciar las peticiones del sistema de archivos dirigidas al sistema de archivos de las peticiones del sistema de archivos dirigidas a la interfase del sistema de archivos. La interfase del sistema de archivos puede incluir uno o más módulos de extensión conteniendo uno o más objetos de archivo, cada objeto de archivo incluyendo información para convertir objetos de la base de datos en objetos del sistema de archivos. En otro aspecto, el acceso a la información en una base de datos se obtiene con un sistema de computadora codificando un manipulador de archivos con información que especifica un objeto de la base de datos en una base de datos. En respuesta a una petición del sistema de archivos emitida por una aplicación, el manipulador de archivos codificado es transmitido y después decodificado para identificar el objeto de base de datos asociado con la petición del sistema de archivos. La codificación puede basarse en el protocolo NFS. La información codificada puede incluir información que corresponde a la petición del sistema de archivos emitida y la cual identifica un módulo de extensión, una tabla y fila de base de datos, metadatos, un indicador de un objeto de base de datos, o una combinación de los mismos. Las ventajas de la interfase del sistema de archivos aquí descrita pueden incluir una o más de las siguientes aplicaciones. Las aplicaciones que dependen de un sistema de archivos como un depósito de datos, o las cuales de otra manera no están informadas de la base de datos (es decir, incapaz de obtener acceso a datos en una base de datos) , pueden obtener acceso a información en una base de datos de una manera transparente. Estas aplicaciones no informadas de la base de datos pueden compartir datos a la perfección tanto con aplicaciones informadas de la base de datos, como con otras aplicaciones no informadas de la base de datos . Según IXFS, una base de datos puede presentarse en una aplicación como si fuera otro sistema local o remoto de archivos que no es diferente en forma o carácter a los demás sistemas de archivos disponibles para la aplicación. No se requiere ningún cambio al código del programa de la aplicación, la base de datos o el instrumento de base de datos . Como resultado, a los usuarios de las aplicaciones no informadas de la base de datos se proporciona funcionalidad de la base de datos sin tener que invertir el tiempo y costo normalmente asociados con las herramientas informadas de la base de datos. Un administrador del sistema puede usar el sistema IXFS para combinar tecnologías de almacenamiento de datos diferentes (por ejemplo, sistemas basados en archivos con sistemas de base de datos) en la creación de una estrategia de depósito de datos unificado que abarca una empresa. La inversión de la empresa en depósitos de datos de herencia se mantiene debido a que los datos presentes en los depósitos pueden transferirse fácilmente a una base de datos cuando la empresa se cambia al modelo de relación o de relación de objetos del almacenamiento de datos. Además, la inversión de la empresa en las aplicaciones no informadas de la base de datos es mejorada debido a que IXFS permite que sean usadas para manejar datos almacenados en una base de datos. La habilidad de una aplicación no informada de la base de datos de obtener acceso a información en una base de datos combina la simplicidad del paradigma del sistema de archivos con la sofisticación y la eficacia de las técnicas de manipulación de bases de datos. Esta capacidad es particularmente útil para las aplicaciones de World Wide Web de la Internet en las cuales un usuario trata de obtener acceso a un almacén grande de datos usando, por ejemplo, el protocolo de transferencia de hipertexto (HTTP) . En contraste con un manuscrito de interfase de acceso común (CGI) , la cual genera una aplicación externa para recuperar datos de una base de datos en respuesta a una petición codificada de URL (Localizador de Recursos Uniformes) , el sistema IXFS convierte dicha petición en una forma que puede ser ejecutada por un instrumento de base de datos de una manera directa, rápida y transparente. La habilidad de representar una recopilación arbitraria de tablas en una base de datos como varios objetos del sistema de archivos proporciona un desarrollador de software con un conjunto amplio y flexible de herramientas. La naturaleza extensible de IXFS permite adaptarse a prácticamente cualquier tipo de aplicación de manera que la base de datos parecerá como una recopilación de objetos del sistema de archivos que son compatibles con los objetos de otro sistema de archivos de la aplicación. Otras ventajas y características serán aparentes de la siguiente descripción, incluyendo los dibujos y reivindicaciones . Breve Descripción de los Dibujos La Fig. 1 es un diagrama de una base de datos de relación.
La Fig. 2 es un diagrama de un sistema de archivos. La Fig. 3 es un diagrama de un sistema para obtener acceso a datos en un sistema de archivos y en una base de datos. La Fig. 4 es un diagrama de flujo para obtener acceso a datos en una base de datos usando el sistema de la Fig. 3. Las Figs. 5A, 5B y 5C son ejemplos de pantallas de una aplicación teniendo acceso a información en un sistema de archivos y en una base de datos. La Fig. 6 es un diagrama de estructura de datos para un objeto de archivos. La Fig. 7 es un diagrama de una arquitectura de sistema de archivos de nivel de núcleo. La Fig. 8 es un diagrama de una arquitectura de sistema de archivos de red. La Fig. 9 es un diagrama de datos de un manipulador de archivos NFS que se usa en la arquitectura de sistema de archivos de red de la Fig. 8. Descripción Detallada El uso de una base de datos para almacenar datos constantes proporciona varias ventajas que no están disponibles cuando se usa un sistema de archivos como un depósito de datos. La estructura de una base de datos y las relaciones internas entre las tablas dentro de la base de datos, permiten consultas rápidas y arbitrariamente complejas para información que será realizada en la base de datos. Un sistema de archivos en contraste no tiene un mecanismo de consulta de datos estándar para buscar datos específicos dentro de los archivos manejados por el sistema de archivos. Otras características proporcionadas por los sistemas de base de datos para los cuales los sistema de archivos convencionales no tienen datos analógicos incluyen políticas de manejo bien definidas, aptitudes de auditoría, repetición de datos transparentes, medios de registro y procedimientos consistentes de respaldo y realmacenamiento. Usar un sistema de base de datos como un depósito de datos requiere herramientas relativamente complejas y caras, como aplicaciones informadas de la base de datos de uso especial y a menudo un mayor nivel de sofisticación y capacitación por el usuario final. Los sistema de archivos en contraste generalmente son simples de usar, baratos y generalizados. Prácticamente el sistema operativo de cada computadora proporciona un sistema de archivos nativo que puede ser usado por aplicaciones para almacenar datos constantes. Esto entre otras razones es porque aproximadamente el 85-90% de todos los datos constantes son almacenados en sistemas de archivos por aplicaciones no informadas de la base de datos.
La interfase del sistema de archivos aqui descrita, copiada de la interfase Informix® File System (IXFS) , proporciona a los usuarios del sistema de computadora lo mejor de ambos mundos permitiendo que las aplicaciones no informadas de la base de datos obtengan acceso (es decir, leer y escribir) a información en una base de datos de una manera que sea totalmente transparente para la aplicación. No tienen que hacerse cambios a la aplicación o a la base de datos. IXFS presenta el contenido de una base de datos a la aplicación como "objetos del sistema de archivos" como directorios, subdirectorios, archivos o enlaces. Estos objetos del sistema de archivos se presentan en la aplicación en forma o carácter no diferente de los objetos del sistema de archivos que la aplicación maneja en el curso ordinario del almacenamiento y la recuperación de datos. IXFS permite que un usuario de una aplicación no informada de la base de datos obtenga acceso al contenido de una base de datos realizando las operaciones deseadas en los objetos del sistema de archivos que representan el contenido de la base de datos. Como se muestra en la Fig. 3, IXFS 300 se encuentra entre una aplicación no informada de la base de datos 302 y una base de datos 304 y monitorea todas las peticiones emitidas al sistema de archivos 306 por la aplicación 302.
Cuando la aplicación trata de obtener acceso a información en la base de datos, un componente del sistema IXFS convierte la petición del sistema de archivos en un formato de consulta de base de datos que es entendible por la base de datos. Del mismo modo, la información recibida de la base de datos (es respuesta a una petición de lectura del sistema de archivos por la aplicación, por ejemplo) es representada para la aplicación como uno o más objetos del sistema de archivos. Se proporciona una descripción de alto nivel de la operación de IXFS y su interacción con el sistema operativo de la computadora con referencia al diagrama de flujo de la Fig. 4. Cuando un programa de aplicación emite una petición del sistema de archivos (por ejemplo una lectura o escritura de datos) , el sistema operativo determina si corresponde a información contenida en un espacio de nombre de archivo manejado por IXFS (paso 400) . El sistema operativo es capaz de diferenciar las peticiones de datos almacenados en otros sistemas de archivos de las peticiones de datos en el espacio de nombre de archivo de IXFS debido a que la base de datos ha sido representada con un espacio de nombre (por ejemplo, x;) que es mutuamente exclusivo con el espacio de nombre del sistema de archivos (por ejemplo, a: y b; ) . De hecho, la base de datos se presenta en el sistema operativo y en la aplicación como una unidad de disco representada con la etiqueta x : . Si la petición del sistema de archivos no está dirigida hacia información manejada por IXFS, la petición es manejada por otros sistemas de archivos (paso 401) . Si, por otro lado, la petición del sistema de archivos corresponde a información en el espacio de nombre de archivo de IXFS, el sistema operativo pasa la petición a IXFS el cual a su vez la proporciona a un componente extensible de IXFS, es decir, un "módulo de extensión", para la conversión en una forma entendible por la base de datos — una consulta de SQL, por ejemplo — (paso 402) . Después de que la petición se ha convertido en una consulta de base de datos, el módulo de extensión de IXFS presenta la consulta al instrumento de base de datos el cual la usa para obtener acceso a la base de datos modificando la información deseada (para una petición de escritura) o recuperándola (para una petición de lectura) y regresándola a IXFS (paso 404) . Si la información ha sido recuperada de la base de datos (paso 406) , el módulo de extensión de IXFS la formatea de acuerdo con criterios predefinidos en objetos del sistema de archivos (paso 408) los cuales se presentan para la aplicación (paso 410) . Al recibir los objetos del sistema de archivos de IXFS, la aplicación los trata como si provinieran de un sistema de archivos. De hecho, la aplicación no está informada de que los objetos del sistema de archivos provienen de una fuente distinta a un sistema de archivos. De esta manera, todas las peticiones de datos en el espacio de nombre del sistema de archivos son manejadas por el sistema de archivos mientras que todas las peticiones de datos en el espacio de nombre de archivo asignado a la base de datos son manejadas por IXFS. Con referencia a las Figs. 5A-5C se proporciona un ejemplo de cómo IXFS puede usarse para representar una base de datos como un sistema de archivos para una aplicación. Supongamos que un usuario de un sistema de computadora a base de ventanas usa una herramienta de navegación del sistema de archivos para analizar la información que está almacenada tanto en el sistema de archivos representado por la Fig. 2, como en la base de datos representada por la Fig. 1. Supongamos además que el espacio de nombre del sistema de archivos es representado por las etiquetas a: y b: y que IXFS es representado con la unidad x: en la máquina del cliente. Como se muestra en la Fig. 5A, la ventana de herramienta de navegación 500 inicialmente muestra dos unidades del sistema de archivos, a : y b: y la unidad x: que corresponde a la base de datos, en un estado colapsado. En este punto, el usuario da instrucciones a la herramienta de navegación para que expanda la unidad b: , haciendo con ello que su jerarquía de directorios y subdirectorios sea visible para el usuario y abre subdirl el cual contiene dos archivos, doc206. txt y do c2 '07 '. txt, como se muestra en la Fig. 5B. La información de archivos mostrada en la Fig. 5B es recuperada de las unidades a; y b: usando operaciones estándar del sistema de archivos. Después, el usuario da instrucciones a la herramienta de navegación para que expanda la unidad x: , la cual es representada con la base de datos a través de IXFS, de manera que puede analizarse el contenido de la unidad x: . Debido a que la petición correspondiente del sistema de archivos emitida por la herramienta de navegación señala a la unidad x: — el espacio de nombre de archivo asignado a la base de datos — IXFS maneja la petición del sistema de archivos pasándola a un módulo de extensión el cual formula una consulta de base de datos para recuperar la información solicitada de la base de datos. Después de que la información se ha recuperado, es formateada en objetos del sistema de archivos con un método invocado por IXFS y devuelta a la herramienta de navegación. La información recuperada de la base de datos se presenta en la herramienta de navegación y en el usuario de la herramienta de navegación, en un carácter no diferente de otros objetos del sistema de archivos que se recuperaron con el sistema de archivos. Como se muestra en la Fig. 5C, las tablas 102, 104 y 106 en la base de datos 100 de la Fig. 1 son representadas como tres directorios correspondientes — customer, orden e inventory. Del mismo modo, tres filas dentro de la tabla de clientes 102 — customer_name, customer_addr y customer_id — son representadas como tres subdirectorios correspondientes dentro del directorio customer — ñame, address y id. Los registros en el subdirectorio ñame son representados como archivos de texto que son nombrados por su contenido respectivo — Adams, Andrews, Brewster, etc. Un usuario puede abrir alguno de los archivos de texto en el directorio x: \ customer\name (por ejemplo, con una aplicación de editor de texto estándar) , modificar su contenido y realizar una operación estándar de "guardar el archivo". En respuesta, IXFS maneja la petición de guardar el archivo debido a que está dirigida al espacio de nombre de archivo asignado a la base de datos y formula una operación de la base de datos correspondiente para modificar el contenido de la región pequeña según sea adecuado. IXFS permite que todas las operaciones del sistema de archivos sean realizadas en la base de datos. Por ejemplo, un usuario podría emplear características adecuadas de la herramienta de navegación para cambiar el nombre del directorio x: \ customer a algo más como x: \ cust . Del mismo modo, un usuario podría crear un nuevo objeto del sistema de archivos como un subdirectorio o un nuevo archivo bajo el directorio x: \ customer. Además, el acceso a partes especificadas de la base de datos podría estar limitado a ciertos usuarios de la misma manera que los objetos de sistema de archivos en un sistema de archivos pueden estar limitados (sólo lectura, objetos ocultos, etc.). Los tipos, formatos y arreglo específicos de los objetos del sistema de archivos que IXFS devolverá en respuesta a una petición del sistema de archivos están definidos en un módulo de extensión correspondiente — un componente de software de IXFS que puede adaptarse según se deseé para encapsular una recopilación arbitraria de objetos de la base de datos (por ejemplo, tablas) y representarlos como una recopilación de objetos del sistema de archivos. En una implementación, IXFS incluye un Módulo de Extensión Básica (BEM) que proporciona una representación de uno a uno de un archivo en el sistema de archivos a una recopilación de objetos de la base de datos. Entre otros usos, el BEM permite a los usuarios mover de una manera rápida y transparente sus datos de un sistema de archivos al sistema de manejo de base de datos IUS® y ejecutar consultas de base de datos para los mismos . El BEM emula un sistema de archivos encapsulando una recopilación de tablas de la base de datos como se especifica por un desarrollador de software que implementa el sistema IXFS y presentándolas a una aplicación como los objetos del sistema de archivos. Cada tabla especificada por el BEM corresponde a un directorio y cada fila en la tabla corresponde a un objeto del sistema de archivos (por ejemplo, subdirectorio, archivo o enlace) presente dentro del directorio. Por cada tabla de la base de datos encapsule, el BEM incluye un "objeto de archivo" 600 correspondiente teniendo una estructura de datos como se muestra en la Fig. 6. El objeto del sistema de archivos 600 proporciona y corresponde a una representación intuitiva de un directorio, un archivo o un enlace en un sistema de archivos. Cada objeto de archivo 600 incluye el nombre 601 del objeto de archivo (un identificador de una entidad del sistema de archivos que es único dentro de un directorio determinado) , tipo 602
(directorio, archivo o enlace) , propiedad 603 (un identificador del propietario del objeto de archivo) , derechos de acceso 604 (derechos de acceso al objeto para su propietario, comunidad y otros) , características temporales 605 (reloj fechador de las últimas operaciones de lectura, escritura y búsqueda) , popularidad 606 (número de enlaces que señalan al objeto) y tamaño 607 (tamaño en bytes del objeto) . El objeto de archivo 600 también contiene su objeto de datos 608 correspondiente o un indicador del objeto de datos.
Las partes de una base de datos son representadas con una representación de sistema de archivos seleccionando tablas y filas de la base de datos según se deseé y designando el tipo de objeto del sistema de archivos al cual cada tabla y fila seleccionadas corresponde. Por ejemplo, la base de datos de la Fig. 1 estaba representada en la jerarquía del sistema de archivos mostrada en la Fig. 5C especificando que cada una de las tablas de cliente, orden e inventario ocupan un objeto de archivo separado en el BEM del tipo "directorio". Dentro del objeto de archivo para la tabla de clientes, cada una de las filas de nombre, domicilio e identificación han sido designadas como el tipo "directorio", haciendo con ello que parezcan como subdirectorios para el directorio de clientes jerárquicamente dominante. Dentro de la fila "ñame" (nombre) en la tabla "customer" (cliente) , los registros individuales de nombre de clientes se han designado en los objetos de archivo como el tipo "archivo" haciendo que parezcan como archivos de texto individuales como se muestra en la Fig. 5C. Diversos módulos de extensión IXFS pueden ser residentes y operativos al mismo tiempo para proporcionar acceso a dos o más bases de datos diferentes simultáneamente o para obtener acceso a información distinta dentro de las mismas bases de datos o para proporcionar una interpretación diferente del mismo objeto de la base de datos. Un solo módulo de extensión es capaz de presentar la misma información en múltiples formatos distintos, por ejemplo, como tipos diferentes de objetos del sistema de archivos. En la Fig. 5C, por ejemplo, la tabla de clientes, incluyendo sus nombres, domicilios e identificaciones, podría presentarse como un solo objeto del sistema de archivos — por ejemplo, un archivo de Microsoft Excel llamado "customer. xls " que contiene toda la información de identificación de los clientes — que podría abrirse por un programa de hoja de cálculo adecuado que entiende el formato de "xls". El módulo de extensión podría configurarse de manera que el objeto de archivo customer. xls se presente a la aplicación en lugar o además del directorio x: \ customer, sus subdirectorios componentes (ñame, address, id) (nombre, domicilio, identificación) y los archivos contenidos en los mismos (Adams.txt, Andrews.txt, Brewster.txt, etc.). Como otro ejemplo, un módulo de extensión podría configurarse para presentar los archivos de texto en x: \ customer\name en diversos formatos para uso por programas de aplicación alternativos. En la base de datos de la Fig. 1, por ejemplo, podrían proporcionarse múltiples formatos de archivo diferentes para cada nombre de cliente presentando múltiples objetos del sistema de archivos para un solo objeto de la base de datos. El registro de las tablas de la base de datos para el cliente Adams podría ser representado, por ejemplo, con tres objetos separados del sistema de archivos teniendo diferentes formatos : "Adams . doc" para uso con Microsoft Word, "Adams. pd" para uso con Corel Wordperfect y "Adams . fm" para uso con Adobe Framemaker. Un usuario que editó la información en el objeto de "Adams.doc" observará que los cambios automáticamente se reflejaron en los objetos de "Adams. wpd" y "Adams . fm" . Debido a que los tres objetos del sistema de archivos son representados con el mismo objeto de la base de datos (principalmente, el registro de la base de datos para el cliente Adams) , los tres objetos alternativos del sistema de archivos pueden usarse de manera intercambiable para ver o editar la información para el cliente Adams sin importar que se producirán versiones divergentes de la información de Adams . Empleando los módulos de extensión adecuados, obtenidos de una biblioteca de software o generados de acuerdo con las especificaciones del cliente, los desarrolladores de software pueden permitir que las aplicaciones no informadas de la base de datos (por ejemplo, Microsoft Word, Microsoft Excel, Lotus 1-2-3) recuperen información almacenada en una base de datos o almacenen información nueva o modificada en la base de datos. Al mismo tiempo, las aplicaciones informadas de la base de datos pueden seguir obteniendo acceso a toda la información almacenada dentro de la base de datos, incluyendo información que fue almacenada por aplicaciones no informadas de la base de datos en el primer caso. Junto con estas aptitudes permiten que se mantenga un solo depósito de datos de toda la empresa con varias aplicaciones diferentes, tanto informadas de la base de datos, como no informadas de la base de datos siendo capaces de obtener acceso a la información en el depósito de datos. Además, IXFS facilita la migración de datos entre diferentes aplicaciones — por ejemplo, entre una aplicación informada de la base de datos y una aplicación no informada de la base de datos o entre dos aplicaciones diferentes no informadas de la base de datos . El sistema IXFS puede ser implementado por tres arquitecturas diferentes: una arquitectura de biblioteca de objetos; una arquitectura del sistema de archivos instalable de nivel de núcleo; o una arquitectura del sistema de archivos de red. En el primer procedimiento, la arquitectura de biblioteca de objetos, la habilidad de obtener acceso a información en una base de datos se logra a través de un conjunto de objetos de software hechos disponibles a las aplicaciones no informadas de la base de datos a través de una biblioteca — por ejemplo, una biblioteca enlazada dinámica (DLL) en una plataforma basada en Microsoft Windows®. Usando un conjunto consistente de métodos de acceso del sistema de archivos que operan en la base de datos, estos objetos de software proporcionan una funcionalidad análoga a la proporcionada por las Interfases de Programas de Aplicación (APIs) de acceso de archivos común definidas por las normas ANSÍ C o POSIX. Sin embargo, el uso de la arquitectura de biblioteca de objetos requeriría que alguna aplicación que se usará con el sistema IXFS primero sea enlazada nuevamente con una nueva biblioteca de objetos relacionados con IXFS. Las otras dos arquitecturas, en contraste, permiten que las aplicaciones existentes obtengan acceso a la información de la base de datos sin cambios a las aplicaciones o nuevo enlace de las mismas. La arquitectura del sistema de archivos instalable de nivel de núcleo, ilustrada en la Fig. 7, intercepta peticiones del sistema de archivos en el nivel del sistema operativo y las pasa al sistema IXFS para procesamiento. En la arquitectura de núcleo, el espacio de domicilio de núcleo 700 es modificado para incluir un módulo de núcleo IXFS 701 el cual es específico para el sistema operativo que se está usando (por ejemplo, UNIX, Windows® NT) . Las peticiones del sistema de archivos de programas de aplicación son recibidas por el núcleo OS 702 de un cliente local 705 (una aplicación residiendo en el espacio de domicilio del anfitrión local 704) o de un cliente remoto 706 (una aplicación residiendo en el espacio de domicilio de un sistema remoto) a través de NSF 703. Las peticiones del sistema de archivos dirigidas hacia el espacio de nombre de los dispositivos del sistema de archivos instalados (por ejemplo, unidades de disco) son manejadas por NFS 703 de una manera convencional. Las peticiones del sistema de archivos que están dirigidas al espacio de nombre ocupado por la base de datos (según lo determinado por el módulo de núcleo IXFS 701) son pasadas al demonio IXFS 708 (o el "servicio" IXFS en el caso de Windows NT) para procesamiento. El demonio IXFS 708 realiza varias funciones incluyendo el manejo de conexiones a la base de datos 709 (o bases de datos) para obtener acceso a ella y el mantenimiento de una lista de los nombres de archivos que se están usando para obtener acceso a los objetos de la base de datos. Al recibir una petición del módulo de núcleo IXFS 701 para obtener acceso a la base de datos 709, el demonio IXFS inicializa un procedimiento de búsqueda de nombre de archivo para identificar el módulo de extensión IXFS 707 adecuado para manejar la petición. El nombre de archivo especificado por la petición se usa como un índice en una tabla de búsqueda de módulos de extensión IXFS correspondientes comparando el nombre de archivo especificado con una lista de nombres de objetos de archivo contenidos en cada módulo de extensión. Después de determinar cuál módulo de extensión IXFS incluye un objeto de archivo cuyo nombre concuerda con el nombre de archivo especificado, el demonio IXFS 708 transfiere la petición a ese módulo de extensión 707. El módulo de extensión convierte la petición en una operación de la base de datos la cual es realizada en la base de datos 709. Toda la información generada en respuesta a la operación de consulta de base de datos es formateada por un método invocado por el módulo de extensión IXFS 707 en objetos del sistema de archivos de acuerdo con los tipos de objetos de archivo definidos en el módulo de extensión. Los objetos del sistema de archivos formateados son después presentados a la aplicación de petición. La arquitectura de la red, ilustrada en la Fig. 8, intercepta peticiones del sistema de archivos en el nivel de red y las pasa al sistema IXFS para procesamiento. En la arquitectura de la red, no tiene que modificarse el espacio de domicilio de núcleo OS. Más bien, todos los comandos del sistema de archivos generados por un cliente local 805 o un cliente remoto 806 son pasados, a través de una conexión NFS de ciclo 810 o una conexión NFS de red 803, a un demonio central NFS (o servicio) 804, que reside fuera del núcleo OS.
El demonio central NFS 804 es implementado como un componentes del demonio NFS. Al recibir una petición del sistema de archivos, el demonio central NFS 804 la pasa al demonio IXFS 806 y subsecuentemente al módulo de extensión IXFS 807 adecuado, los cuales proporcionan la misma funcionalidad que el demonio IXFS y los módulos de extensión IXFS en la arquitectura de nivel de núcleo antes descrita. El sistema IXFS puede adaptarse para proporcionar una interfase a cualquier tipo de base de datos, incluyendo bases de datos de relación, de relación de objetos y orientada a objetos y para entender cualquier otro tipo de protocolo de consulta de base de datos además de SQL. NFS se seleccionó como el protocolo de red que se usará en la implementación de IXFS de la Fig. 8 porque NFS es una norma ampliamente usada para compartir archivos a través de diferentes plataformas. Sin embargo, cualquier otro protocolo de red -que proporcione acceso a sistema de archivos a través de una red — por ejemplo, Sistema de Archivos de Internet Común de Microsoft (CIFS) — podría usarse en la implementación de la arquitectura de la red IXFS. El protocolo NFS (versión 2) permite a los clientes y servidores que intercambien información de archivos usando un "manipulador de archivos" — un valor de 32 bytes — para identificar un archivo deseado. Cuando NFS se usa como el protocolo del sistema de archivos de red en la arquitectura de la red, IXFS puede hacer uso adicional del manipulador de archivos NFS para lograr mayor velocidad y eficiencia en la realización de peticiones del sistema de archivos en la base de datos. Para hacer esto, IXFS codifica el manipulador de archivos NFS con información que es específica a sus operaciones como se muestra en la Fig. 9. Los bytes 1-8 del manipulador de archivos mantiene la "cadena mágica" IXFS — una entidad que permite que IXFS distinga los manipuladores de archivos IXFS (es decir, las peticiones del sistema de archivos dirigidas al espacio de nombre de archivo asignado a la base de datos) de los manipuladores de archivos NFS (es decir, peticiones del sistema de archivos dirigidas al espacio de nombre de archivo asignado al sistema de archivos) . La cadena mágica es una cadena de 8 bytes en la cual a cada byte se asigna el valor FF hexadecimal para identificar un manipulador de archivos como un manipulador de archivos IXFS . Los bytes 9 y 10 identifican el módulo de extensión IXFS en particular cuyo trabajo es manejar el manipulador de archivos bajo consideración. Codificar un manipulador de archivos IXFS de esta manera evita la necesidad de mantener un árbol de directorios vacíos ("sombra") en el sistema de archivos, lo cual de otra manera sería necesario generar manipuladores de archivos NFS estándar que correspondan a información manejada por el sistema IXFS. Del mismo modo, este esquema de codificación hace innecesario mantener una entidad de representación distinta (por ejemplo, tabla de búsqueda) entre manipuladores de archivos NFS y manipuladores de archivos IXFS. Los bytes restantes del manipulador de archivos NFS en la Fig. 9 incluyen información que es específica al módulo de extensión identificado por los bytes 9 y 10 del manipulador de archivos. Los bytes 11-14 y 15-18 respectivamente identifican la tabla y la fila de la base de datos que corresponden al manipulador de archivos. Los bytes 19-22 identifican la tabla y la fila de nodo i (nodo de información) las cuales corresponden a metadatos descriptivos de atributos de archivos y un indicador de los datos en la base de datos, para el manipulador de archivos bajo consideración. Los bytes 19-32 actualmente no se usan pero están disponibles para uso por módulos de extensión recién desarrollados. Como resultado de la codificación representada en la Fig. 9, la eficiencia con la cual los elementos pueden encontrarse en la base de datos es mejorada y la complejidad del diseño de nuevos módulos de extensión IXFS es reducida. Las arquitecturas de nivel de núcleo y de la red proporcionan diferentes ventajas relativas entre sí. El procedimiento de nivel de núcleo es el más eficiente de los dos ya que proporciona una trayectoria de datos más corta entre la emisión de la petición del sistema de archivos al regreso de los objetos del sistema de archivos de IXFS. Por otro lado, la arquitectura basada en la red disminuye considerablemente el esfuerzo requerido para llevar el IXFS entre diferentes plataformas debido a que la implementación de la arquitectura de la red no requiere una modificación al núcleo del sistema operativo. En ambos casos, sin embargo, el sistema IXFS proporciona una aplicación no informada de la base de datos con acceso transparente a datos en una base de datos, mientras mantiene las ventajas inherentes de usar una base de datos para almacenamiento de datos constantes. Los métodos y mecanismos aquí descritos no están limitados a una configuración de hardware o software en particular, más bien pueden encontrar aplicabilidad en cualquier ambiente de computación o procesamiento en el cual puede realizarse la manipulación de la base de datos. Las técnicas aquí descritas pueden implementarse en hardware o software, o una combinación de los dos. De preferencia, las técnicas son implementadas en programas de computadora ejecutándose en computadoras programables las cuales cada una incluye un procesador, un medio de almacenamiento legible por el procesador (incluyendo memoria volátil y no volátil y/o elementos de almacenamiento) y dispositivos de entrada y salida adecuados. El código del programa se aplica a datos registrados usando el dispositivo de entrada para realizar las funciones descritas y para generar información de salida. La información de salida se aplica a uno o más dispositivos de salida. Cada programa es de preferencia implementado en un lenguaje de programación de procedimiento de alto nivel u orientada a objetos para comunicarse con un sistema de computadora. Sin embargo, si se desea, los programas pueden implementarse en lenguaje ensamblador o de máquina. En cualquier caso, el lenguaje puede ser un lenguaje recopilado o interpretado. Cada programa de computadora es de preferencia almacenado en un medio o dispositivo de almacenamiento (por ejemplo, CD-ROM, disco duro o diskette magnético) que se puede leer por una computadora programable de uso general o especial para configurar y operar el computadora cuando el medio o dispositivo de almacenamiento es leído por la computadora para realizar los procedimientos descritos en este documento. El sistema también puede considerarse para ser implementado como un medio de almacenamiento legible por computadora, configurado con un programa de computadora, donde el medio de almacenamiento así configurado hace que una computadora opere de una manera específica y predefinida. Otras realizaciones están dentro del alcance de las siguientes reivindicaciones.
Claims (50)
- Reivindicaciones 1. Un método, realizado en un sistema de computadora, para obtener acceso a información en una base de datos, el método comprendiendo : hacer disponible un objeto de la base de datos para una aplicación como un objeto del sistema de archivos; recibir de la aplicación una petición del sistema de archivos que corresponde al objeto disponible del sistema de archivos; y transformar la petición del sistema de archivos de la aplicación en una operación de base de datos .
- 2. El método de la reivindicación 1 que además comprende realizar la operación de base de datos en la base de datos usando un instrumento de base de datos.
- 3. El método de la reivindicación 1 que además comprende recuperar información de la base de datos en respuesta a la operación de base de datos.
- 4. El método de la reivindicación 1 que además comprende devolver la información asociada con el objeto de la base de datos a la aplicación como un objeto del sistema de archivos.
- 5. El método de la reivindicación 4 en el cual la devolución comprende arreglar la información recuperada en un formado definido en un módulo de extensión.
- 6. El método de la reivindicación 5 que además comprende mostrar la información formateada en la pantalla de una computadora .
- 7. El método de la reivindicación 1 que además comprende mostrar información asociada con el objeto de la base de datos en la pantalla de una computadora.
- 8. El método de la reivindicación 7 en el cual la información asociada con el objeto de la base de datos se muestra como una representación gráfica de un objeto del sistema de archivos.
- 9. El método de la reivindicación 1 en el cual la aplicación que emitió la petición del sistema de archivos comprende una aplicación no informada de la base de datos.
- 10. El método de la reivindicación 1 en el cual la base de datos comprende una base de datos de relación.
- 11. El método de la reivindicación 1 en el cual la base de datos comprende una base de datos de relación de objetos .
- 12. El método de la reivindicación 1 en el cual la base de datos comprende una base de datos orientada a objetos .
- 13. El método de la reivindicación 1 en el cual la transformación comprende convertir la petición del sistema de archivos en una consulta de base de datos.
- 14. El método de la reivindicación 13 en el cual la consulta de base de datos comprende una consulta compatible con SQL.
- 15. El método de la reivindicación 1 en el cual la transformación comprende convertir la petición del sistema de archivos en una consulta de base de datos basada en información contenida dentro de un módulo de extensión.
- 16. El método de la reivindicación 1 que además comprende determinar si la petición del sistema de archivos recibida corresponde a la información manejada por un sistema de archivos .
- 17. El método de la reivindicación 16 que además comprende transportar la petición del sistema de archivos al sistema de archivos si se determina que la petición del sistema de archivos corresponde a la información manejada por un sistema de archivos.
- 18. El método de la reivindicación 16 en el cual la determinación comprende identificar un espacio de nombre al cual está dirigida la petición del sistema de archivos.
- 19. El método de la reivindicación 16 en el cual la determinación es realizada por un método que se ejecuta en un espacio de domicilio de núcleo de un sistema operativo asociado con el sistema de computadora.
- 20. El método de la reivindicación 16 en el cual la determinación es realizada por un método que se ejecuta afuera de un sistema operativo asociado con el sistema de computadora.
- 21. El método de la reivindicación 1 en el cual el hecho de hacer disponible el objeto de la base de datos como un objeto del sistema de archivos se realiza de manera transparente para la aplicación.
- 22. El método de la reivindicación 1 en el cual el objeto de la base de datos comprende una tabla.
- 23. El método de la reivindicación 1 en el cual el objeto del sistema de archivos comprende un directorio, un archivo o un enlace.
- 24. El método de la reivindicación 1 en el cual el hecho de hacer disponible el objeto de la base de datos como un objeto del sistema de archivos comprende presentar el objeto de la base de datos como objetos plurales del sistema de archivos en formatos entendibles por diferentes aplicaciones .
- 25. Un método basado en computadora para obtener acceso a información en una base de datos, el método comprendiendo : recuperar la información de la base de datos; y presentar la información recuperada a una aplicación como un objeto del sistema de archivos.
- 26. El método de la reivindicación 25 que además comprende identificar la información que será recuperada de la base de datos especificando un objeto de base de datos de entre objetos de base de datos en la base de datos.
- 27. El método de la reivindicación 26 en el cual la identificación comprende registrar en un módulo de extensión información descriptiva de un conjunto predeterminado de objetos de la base de datos.
- 28. El método de la reivindicación 27 en el cual la recuperación comprende extraer selectivamente información de la base de datos basada en información contenida en el módulo de extensión.
- 29. El método de la reivindicación 27 en el cual la presentación comprende formatear la información selectivamente extraída en objetos del sistema de archivos en base a la información contenida en el módulo de extensión.
- 30. El método de la reivindicación 25 en el cual una recopilación de objetos del sistema de archivos representa un sistema de archivos jerárquico que tiene directorios, archivos, enlaces o una combinación de los mismos.
- 31. Un sistema de manejo de depósito de datos computarizado que comprende: una base de datos de información; un programa de aplicación basada en el sistema de archivos para manipular datos; y una interfase del sistema de archivos a la base de datos que proporciona la aplicación basada en el sistema de archivos con acceso a información en la base de datos.
- 32. El sistema de la reivindicación 31 en el cual la aplicación basada en el sistema de archivos no está informada de la base de datos.
- 33. El sistema de la reivindicación 32 en el cual la base de datos comprende una base de datos de relación de objetos.
- 34. El sistema de la reivindicación 32 en el cual la base de datos comprende una base de datos de relación.
- 35. El sistema de la reivindicación 32 en el cual la base de datos comprende una base de datos orientada a objetos.
- 36. El sistema de la reivindicación 33 que además comprende un sistema de manejo de base de datos para manejar información en la base de datos.
- 37. El sistema de la reivindicación 31 que además comprende un instrumento de la base de datos para realizar operaciones de base de datos en la base de datos, la interfase del sistema de archivos recibiendo peticiones del sistema de archivos y transformando las peticiones recibidas en una forma entendible por el instrumento de la base de datos .
- 38. El sistema de la reivindicación 31 que además comprende un módulo para diferenciar las peticiones del sistema de archivos dirigidas al sistema de archivos de las peticiones del sistema de archivos dirigidas a la interfase del sistema de archivos.
- 39. El sistema de la reivindicación 31 en el cual la interfase del sistema de archivos además comprende un módulo de extensión que incluye un objeto de archivos.
- 40. El sistema de la reivindicación 39 en el cual el objeto de archivos comprende información para convertir objetos de la base de datos en objetos del sistema de archivos.
- 41. El sistema de la reivindicación 31 en el cual la interfase del sistema de archivos comprende una pluralidad de módulos de extensión, cada uno de los cuales incluye información para convertir un conjunto diferente de objetos de la base de datos en objetos del sistema de archivos.
- 42. El sistema de la reivindicación 31 en el cual la interfase del sistema de archivos comprende una pluralidad de módulos de extensión, cada uno de los cuales incluye información para convertir un solo objeto de la base de datos en múltiples objetos del sistema de archivos.
- 43. Software de computadora, residiendo en un medio legible por computadora, para un sistema de manejo de depósito de datos que comprende una aplicación basada en el sistema de archivos y una base de datos, el programa de computadora comprendiendo instrucciones para hacer que un sistema de computadora realice las siguientes operaciones: recibir una petición del sistema de archivos emitida por la aplicación basada en el sistema de archivos; convertir la petición del sistema de archivos en una operación de la base de datos; recuperar información de la base de datos realizando la operación de base de datos en la base de datos; transformar la información recuperada en uno o más objetos del sistema de archivos de acuerdo con criterios predeterminados; y presentar uno o más objetos del sistema de archivos a la aplicación basada en el sistema de archivos.
- 44. Un método, realizado en un sistema de computadora, para obtener acceso a información en una base de datos, el método comprendiendo : hacer disponible un objeto de la base de datos como un objeto del sistema de archivos a una aplicación no informada de la base de datos; recibir de la aplicación no informada de la base de datos una petición del sistema de archivos correspondiendo al objeto disponible del sistema de archivos; transformar la petición del sistema de archivos de la aplicación no informada de la base de datos en una operación de base de datos; realizar la operación de base de datos en la base de datos usando un instrumento de base de datos; recuperar información de la base de datos en respuesta a la operación de base de datos; y devolver la información asociada con el objeto de la base de datos a la aplicación no informada de la base de datos como un objeto del sistema de archivos.
- 45. Un método computarizado para obtener acceso a información en una base de datos, el método comprendiendo: codificar un manipulador de archivos con información que especifica un objeto de base de datos en una base de datos; transmitir el manipulador de archivos codificado en respuesta a una petición del sistema de archivos emitida por una aplicación; y decodificar el manipulador de archivos recibido para identificar el objeto de la base de datos asociado con la petición del sistema de archivos.
- 46. El método de la reivindicación 45 en el cual la codificación se basa en el protocolo NFS.
- 47. El método de la reivindicación 45 en el cual la codificación comprende incluir información en el manipulador de archivos que identifica un módulo de extensión que corresponde a la petición emitida del sistema de archivos.
- 48. El método de la reivindicación 45 en el cual la codificación comprende incluir información en el manipulador de archivos que identifica una tabla y una fila de la base de datos que corresponde a la petición emitida del sistema de archivos.
- 49. El método de la reivindicación 45 en el cual la codificación comprende incluir información en el manipulador de archivos que identifica metadatos que corresponden a la petición emitida del sistema de archivos.
- 50. El método de la reivindicación 45 en el cual la codificación comprende incluir información en el manipulador de archivos que señala al objeto de la base de datos que corresponde a la petición emitida del sistema de archivos.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08792139 | 1997-01-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
MXPA98000845A true MXPA98000845A (es) | 1999-02-24 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU739236B2 (en) | File system interface to a database | |
Moore et al. | Collection-based persistent digital archives-part 1 | |
US6078925A (en) | Computer program product for database relational extenders | |
US6035303A (en) | Object management system for digital libraries | |
CA2303315C (en) | Knowledge provider with logical hyperlinks | |
US6988101B2 (en) | Method, system, and computer program product for providing an extensible file system for accessing a foreign file system from a local data processing system | |
EP1145143B1 (en) | Hierarchical indexing for accessing hierarchically organized information in a relational system | |
US9043365B2 (en) | Peer to peer (P2P) federated concept queries | |
US5737736A (en) | Method and apparatus for storing objects using a c-structure and a bind descriptor | |
US8375046B2 (en) | Peer to peer (P2P) federated concept queries | |
JP4944008B2 (ja) | ファイルシステム内での効率的なファイルコンテンツをサーチするためのシステム、方法及びコンピュータアクセス可能な記録媒体 | |
US20080281788A1 (en) | Hierarchical structured abstract file system | |
US7908562B2 (en) | System and a method for presenting items to a user with a contextual presentation | |
US7730073B2 (en) | System and a method for presenting related items to a user | |
US8086568B2 (en) | Peer to peer (P2P) concept query notification of available query augmentation within query results | |
CA2327948A1 (en) | System and method for accessing non-relational data by relational access methods | |
EP1597658A2 (en) | System and method for the presentation of items stored on a computer | |
US20080250003A1 (en) | Peer to peer (p2p) concept query abstraction model augmentation with federated access only elements | |
US20020089551A1 (en) | Method and apparatus for displaying a thought network from a thought's perspective | |
Stockinger et al. | Data management for grid environments | |
MXPA98000845A (es) | Interfase de sistema de archivos a una base de datos | |
Moore et al. | Collection-Based Long-Term Preservation | |
Drach | Serving scientific data over the Web | |
Miszczyk et al. | DB2 UDB for AS/400 Object Relational Support | |
Ali et al. | Database independent Migration of Objects into an Object-Relational Database |