MXPA04006189A - Modelo de dependencia general para invalidar entradas de memoria inmediata. - Google Patents

Modelo de dependencia general para invalidar entradas de memoria inmediata.

Info

Publication number
MXPA04006189A
MXPA04006189A MXPA04006189A MXPA04006189A MXPA04006189A MX PA04006189 A MXPA04006189 A MX PA04006189A MX PA04006189 A MXPA04006189 A MX PA04006189A MX PA04006189 A MXPA04006189 A MX PA04006189A MX PA04006189 A MXPA04006189 A MX PA04006189A
Authority
MX
Mexico
Prior art keywords
dependency
immediate memory
act
immediate
memory
Prior art date
Application number
MXPA04006189A
Other languages
English (en)
Inventor
Yu-Kwan Ng Patrick
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 MXPA04006189A publication Critical patent/MXPA04006189A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Se describen sistemas, metodos y productos de computo para derivar dependencias de memoria inmediata que pueden hacerse a la medida; una estructura que incluye una clase de base de dependencia de memoria inmediata extensible que se puede usar para derivar clases de dependencia de memoria inmediata hechas a la medida para invalidar entradas de memoria inmediata en algunas condiciones hechas a la medida; en algunas modalidades, un servidor de pagina de red informatica incluye una memoria inmediata y una estructura que incluye la base de dependencia de la memoria inmediata extensible; los metodos se describen para hacer que una entrada de la memoria inmediata dependa de una dependencia de memoria inmediata hecha a la medida y para invalidar las entradas de la memoria inmediata con base en las dependencias de la memoria inmediata hecha a la medida; por ejemplo, las entradas de la memoria inmediata pueden depender y se purgaran con base en las dependencias en las tablas de base de datos y servicios de la red informatica.

Description

MODELO DE DEPENDENCIA GENERAL PARA INVALIDAR ENTRADAS DE MEMORIA INMEDIATA Campo de la Invención La invención se refiere en general al manejo del contenido en la memoria inmediata. Específicamente, la invención se refiere a extender las clases de dependencia de memoria inmediata de manera que los desabolladores puedan crear dependencias de memoria inmediata hechas a la medida. Antecedentes de la Invención Los sistemas de cómputo y sistemas de red modernos, el almacenamiento de datos en la memoria inmediata es una herramienta efectiva para acelerar la entrega de datos a quienes lo solicitan. En general, el almacenamiento en la memoria inmediata / de datos, involucra almacenar datos solicitados con frecuencia en una ubicación en donde los datos puedan recuperarse rápidamente, en un ejemplo, los datos almacenados en una memoria física de un sistema de cómputo se pueden recuperar de manera más rápida que los datos almacenados en una unidad de disco duro en los sistemas de cómputo. Esto se debe en parte a que las unidades de disco duro típicamente tienen latencias de recuperación inmediatos mayores en comparación con la memoria física. De tal manera, se puede tener acceso a los datos almacenados en una unidad de disco duro o en una memoria en un sistema de cómputo de un servidor de manera más eficiente que a los datos almacenados en una base de datos remota. Adicionalmente, el uso de datos almacenados en la memoria inmediata puede reducir el número de cálculos necesarios para generar el contenido que se entregará a un sistema de cómputo cliente que lo solicita. Las redes modernas han facilitado la capacidad de transferir en líneas generales información digital hacia y desde varias ubicaciones. Una manera de hacer que los datos estén disponibles para su transporte es mediante la creación de un archivo estático como un archivo HTML que se puede transferir de un servidor a un sistema de cómputo de cliente en donde puede visualizarse. Los archivos estáticos pueden almacenarse en la memoria inmediata en diversas ubicaciones, incluyendo en un sistema de cómputo de servidor, en una base de datos regional o incluso localmente en el sistema de cómputo cliente. Cuando los archivos estáticos del sistema de cómputo se almacenan en un sistema de cómputo cliente, la recuperación y visualización por el sistema de cómputo cliente es instantánea, para todos los objetivos prácticos. Incluso cuando los archivos estáticos se almacenan directamente en un sistema de cómputo de servidor conectado al sistema de cómputo cliente (conocido comúnmente como almacenamiento en la memoria inmediata de salida), la recuperación del contenido almacenado en la memoria inmediata puede producirse de manera relativamente rápida. Adicionalmente, debido a su naturaleza estática, un archivo estático se puede almacenar en la memoria inmediata durante períodos largos, esencialmente indefinidos. Infortunadamente, los archivos estáticos no pueden incluir contenido hecho a la medida o en tiempo real. Con frecuencia, es deseable presentar contenidos que cambian periódicamente o que están formados a partir de un cálculo o manipulación de otros contenidos. Aunque dichos contenidos aún pueden almacenarse en la memoria inmediata, los valores almacenados en la memoria inmediata del contenido son válidos sólo durante un tiempo limitado. De esta manera, la memoria inmediata debe regenerarse para asegurar que los datos son válidos. Una tecnología que ha ayudado a los desarrolladores de redes informáticas a crear páginas de redes informáticas y sitios en redes informáticas es el uso de programas simples o piezas modulares de códigos ejecutables mediante una computadora que se ejecutan en un servidor de una página de red informática, por ejemplo, un servidor de información en Internet. Los programas simples se pueden incrustar entre otras etiquetas HTML para crear páginas de red informática que son dinámicas y hechas a la medida. Así como pueden invocarse objetos en programas como los que se escriben en Visual Basic, JavaScript y C#, de manera que los mismos objetos se pueden invocar en programas simples que están basados en estos y otros lenguajes. Una clase es un objeto dentro de una estructura de programación como la estructura ASP.NET. La estructura ASP.NET comprende miles de clases que los desarrolladores de páginas de redes informáticas pueden usar para desarrollarlas. De manera similar a acceder a un archivo a través de una ruta de directorio, las clases se pueden acceder mediante la referencia a un espacio de nombre particular. Por ejemplo, una referencia al espacio de nombre System. WinForms. Form proporciona una indicación de la ubicación de una clase particular. Las clases se pueden asociar con propiedades, eventos y métodos. Se puede concebir una propiedad como alguna variable de asignación o una configuración en una clase correspondiente (por ejemplo, x = 5). Un evento es un indicador que se emite cuando se produce un evento. El evento se puede leer por otras clases u otras aplicaciones para ocasionar que se tome la misma acción. Un método proporciona una manera para invocar la funcionalidad de una clase correspondiente para realizar una acción (por ejemplo, emitir datos a un dispositivo de visualización). Un método define cómo se ofrece una funcionalidad a los componentes externos. Para facilitar el almacenamiento en la memoria inmediata del contenido y de esta manera mejorar el rendimiento de un servidor de páginas de red informática, una estructura de programación puede incluir clases para recuperar datos de diversas locaciones, por ejemplo, archivos, bases de datos y servicios de red informática así como clases para manipular datos a través de diversas operaciones. En algunos entornos, un sistema de cómputo del servidor de una página de red informática con acceso a estas clases (por ejemplo, un servidor ASP) puede crear y almacenar códigos HTML basados en un contenido de tiempo real, lo cual se enviará al sistema de cómputo cliente en un conjunto de condiciones de almacenamiento en la memoria inmediata de salida. En otros entornos, un sistema de cómputo de servidor de página de red informática puede almacenar en la memoria inmediata el contenido, como un archivo XML, localmente en el sistema de cómputo del servidor de la página de red informática, de manera que el contenido no necesita recuperarse o volver a calcularse cada vez que se solicita una página de red informática que incluirá el contenido. Algunas estructuras de programación permiten que los desabolladores de redes informáticas creen instrucciones que, al ejecutarse, ocasionen que el contenido se almacene en la memoria inmediata. Por ejemplo, insertar una entrada en la memoria inmediata, la siguiente instrucción puede ejecutarse: Cache. I nsert([key], [valué], [dependency]), (Insertar en memoria inmediata[clave] [valor] [dependencia]) en donde key es el identificador de referencia para la entrada a la memoria inmediata, valué es el valor (o contenido) colocado en la entrada de la memoria inmediata y dependency es un argumento opcional que define cuándo el valor de la clave debe purgarse de la memoria inmediata. La dependencia es un ejemplo de una clase, por ejemplo una clase CacheDependency (Dependencia de la memoria inmediata), que se puede usar para hacer que el valor de la memoria inmediata dependa de los acontecimientos de un evento en particular. Algunas estructuras de programación dan soporte a las dependencias de la memoria inmediata que ocasionan que un valor en la memoria inmediata dependa ya sea del tiempo, de un archivo o de una clave. Una dependencia de la memoria inmediata de tiempo ocasiona que una entrada asociada con la dependencia específica sea purgada después de que expire el período específico. Por ejemplo, la instrucción Cache. Insert (Insertar en memoria inmediata) se puede implementar como se indica a continuación para hacer que los datos dependan del tiempo: Cache. I nsert(strCacheKey, dataset, nothing, DateTime. Now. , AddMinutes(60),TimeSpan.Zero, CacheltemPriority.High) (Memoria inmediata. Insertar (str Clave de la memoria inmediata, conjunto de datos, nada, fecha y hora. Ahora. Añadir minutos(60), Espacio de tiempo. Cero, Prioridad del elemento en la memoria inmediata. Alta)). Específicamente, la instrucción DateTime. Now. AddMinutes(60) (Fecha y hora. Ahora. Añadir minutos (60)) ocasiona que una entrada en la memoria sea purgada de la memoria inmediata después de 60 minutos. Si se usa una dependencia de tiempo para la memoria inmediata establecida en períodos pequeños puede ocasionar una purga demasiado frecuente de la memoria inmediata y el costo añadido de los datos enviados con frecuencia de una base de datos o el costo de calcular datos que se almacenarán en la memoria inmediata. Si el valor de tiempo se establece demasiado grande, existe el riesgo de que los datos almacenados en la memoria inmediata ya no sean válidos cuando se entreguen a un sistema de cómputo cliente que lo solicite. La instrucción Cache. Insert (Memoria inmediata. Insertar) también se puede usar para implementar una dependencia de memoria inmediata de archivo que ocasione que una entrada a la memoria inmediata sea purgada si existe un cambio en un archivo particular. Adicionalmente, la instrucción Cache. Insert (Memoria inmediata. Insertar) se puede usar para implementar una dependencia de clave que ocasione que una o más entradas a la memoria inmediata sean purgadas cuando algún otro valor de la memoria inmediata almacenado en la memoria cambie. Al usar una dependencia de clave, cambiar un valor de la memoria inmediata puede ocasionar que diversos valores de la memoria inmediata dependientes sean purgados de la memoria inmediata. Aunque las tres dependencias de la memoria inmediata descritas anteriormente: tiempo, archivo y clave, son útiles para mantener los valores almacenados en la memoria inmediata recientes, las clases que implementan esas dependencias típicamente son selladas. De esta manera, los desabolladores de redes informáticas típicamente no tienen manera de ocasionar que las entradas en la memoria inmediata sean dependientes de otros tipos de eventos. Esto evita que se usen otros tipos de dependencias de la memoria inmediata, lo que puede ocasionar que la administración de la memoria inmediata sea más eficiente. De esta manera, serían útiles los mecanismos para extender los tipos de dependencias que se puedan usar para invalidar las entradas a la memoria inmediata. Sumario de ia Invención Los problemas precedentes con la técnica anterior se resuelven mediante los principios de la presente invención, los cuales están dirigidos a métodos, sistemas y productos de programas de cómputo, para extender las clases de dependencia de memoria inmediata de manera que los desabolladores puedan crear dependencias de memoria inmediata hechas a la medida. Un sistema de cómputo del servidor (por ejemplo que incluya un servidor de una página de red informática) accede a una clase de base de dependencia de memoria inmediata extensible y, de la clase de base de dependencia de memoria inmediata extensible, deriva una dependencia de memoria inmediata hecha a la medida. Una dependencia de memoria inmediata hecha a la medida puede, por ejemplo, ocasionar que una entrada a la memoria inmediata dependa de una modificación en una tabla de base de datos (por ejemplo una tabla SQL) o un servicio de una red informática. Una dependencia de memoria inmediata personalizada puede incluir una dependencia de agregados, como una entrada a la memoria inmediata depende de diversos eventos. En algunas modalidades, la funcionalidad de una dependencia de memoria inmediata hecha a la medida anula la funcionalidad de la clase de base de la dependencia de memoria inmediata extensible. Una clase de base de dependencia de memoria inmediata extensible pueden incluir un método cambiado de dependencia de notificación que supervisa un evento (por ejemplo, el cambio en una tabla de base de datos) y notifica al sistema de cómputo del servidor cuando se produce el evento. Una clase de base de dependencia de la memoria inmediata extensible también puede incluir un método de desechar dependencias que liberan recursos cuando una entrada de la memoria inmediata se elimina de la memoria inmediata. El sistema de cómputo del servidor accede contenido, por ejemplo, desde una base de datos o un servicio de red informática, que se entregará a un sistema de cómputo cliente. El sistema de cómputo de servidor crea una entrada de memoria inmediata que asocia la dependencia de la memoria inmediata hecha a la medida con el contenido introducido. El sistema de cómputo de servidor inserta la entrada de la memoria inmediata en la memoria inmediata de manera que la validez de la entrada de la memoria inmediata (y de esta manera también el contenido introducido) depende de la dependencia hecha a la medida. El sistema de cómputo del servidor puede insertar la entrada de la memoria inmediata en la memoria inmediata usando el método Cache. Insert (Memoria inmediata. Insertar) que especifica una dependencia que es un ejemplo de la dependencia de la memoria inmediata personalizada.
Puede darse el caso de que una entrada de la memoria inmediata no sea válida con base en una dependencia de memoria inmediata hecha a la medida. Un sistema de cómputo de servidor (por ejemplo, que incluye un servidor de páginas de red informática) recibe una notificación de que se ha producido un evento supervisado. La notificación puede originarse de un método cambiado de dependencia que se ejecutó como resultado de la creación de una dependencia de almacenamiento en memoria inmediata personalizada y que supervisa la ocurrencia de un evento asociado con la dependencia de almacenamiento en la memoria inmediata hecha a la medida. Como respuesta a la notificación, el sistema de cómputo del servidor invalida (y elimina) la entrada a la memoria inmediata. El sistema de cómputo del servidor invoca un método de disposición de dependencias para liberar cualesquiera recursos usados por la entrada de la memoria inmediata. Se establecerán características y ventajas adicionales de la invención en la descripción a continuación, y en parte serán evidentes a partir de la descripción, o pueden aprenderse mediante la práctica de la invención. Las características y utilidades de la invención pueden realizarse y obtenerse por medio de los instrumentos y combinaciones señalados en particular en las reivindicaciones anexas. Breve Descripción de los Dibujos Para describir la manera en que las utilidades y características mencionadas en los párrafos anteriores así como otras de la invención se pueden obtener, se presenta una descripción más particular de la invención descrita brevemente en los párrafos anteriores haciendo referencia a modalidades específicas de ésta que se ilustran en los dibujos anexos. La comprensión de estos dibujos ilustran sólo modalidades típicas en la invención y por lo tanto no deben considerarse limitantes de su alcance, la invención será descrita y explicada con mayor especificidad y detalle a través del uso de los dibujos anexos en donde: La Figura 1 ilustra un ejemplo de un servidor de página de red informática que implementa la creación de programas simples del lado del servidor y dependencias de la memoria inmediata hecha a la medida. La Figura 2 es un diagrama de flujo ejemplar que ilustra una modalidad de un método para hacer que una entrada de la memoria inmediata dependa de una dependencia hecha a la medida. La Figura 3 es un diagrama de flujo ejemplar que ilustra una modalidad de un método para purgar las entradas de la memoria inmediata con base en una dependencia de memoria inmediata hecha a la medida. La Figura 4 es una representación gráfica de un entorno adecuado en donde los aspectos de la presente invención se pueden practicar.
Descripción Detallada de la Invención La presente invención se refiere a sistemas, métodos y productos de programas de cómputo para extender clases de dependencia de la memoria inmediata, de manera que los desabolladores puedan crear dependencias de memoria inmediata hechas a la medida. Las modalidades de la presente invención extienden dependencias de memoria inmediata de forma extensible de manera que los desabolladores pueden desarrollar sus propias dependencias de memoria inmediata hechas a la medida. Un sistema de cómputo de servidor (incluyendo un servidor de páginas de redes informáticas) accede una clase de base CacheDependency (Dependencia de la memoria inmediata) extensible desde la cual se pueden derivar otras clases de CacheDependency (Dependencia de la memoria inmediata) hechas a la medida. Las clases de CacheDependency (Dependencia de la memoria inmediata), entre otras cosas, utilizan las características de administración de la memoria inmediata de la clase de base de CacheDependency (Dependencia de la memoria inmediata) extensible, al crear una clase de CacheDependency (Dependencia de la memoria inmediata) hecha a la medida que se deriva de la clase de base de CacheDependency (Dependencia de la memoria inmediata) extensible, un desarrollador necesita saber un poco, o nada, de cómo se implementa la clase de base CacheDependency (Dependencia de la memoria inmediata) extensible para utilizar las características útiles de la clase de base de CacheDependency (Dependencia de la memoria inmediata) extensible. La clase de base de CacheDependency (Dependencia de la memoria inmediata) extensible extrae detalles de la implementación del desarrollador. Adicionalmente, el desarrollador puede acceder métodos de la clase de base de CacheDependency (Dependencia de la memoria inmediata) extensible que puede manejar la sincronización de la memoria inmediata y la administración de los recursos de la memoria inmediata. Adicionalmente, la clase de base de CacheDependency (Dependencia de la memoria inmediata) extensible puede ser compatible con versiones anteriores, de manera que las API existentes se pueden usar con la clase de base de CacheDependency (Dependencia de la memoria inmediata) extensible y cualesquiera clases derivadas de ésta. Ejemplos de tales API incluyen Cache. Inserí (Memoria inmediata. Insertar), Cache. Add (Memoria inmediata. Añadir) y BasePartialCachingControl.Dependency (Control de almacenamiento en la memoria inmediata parcial base. Dependencia). Adicionalmente, la implementación de dependencias de memoria inmediata hechas a la medida que se derivan de la clase de base de CacheDependency (Dependencia de la memoria inmediata) extensible alivia a los desabolladores de tener que especificar una propiedad de StartTime (Tiempo de inicio) para señalar cuándo debe comenzar la supervisión de la memoria inmediata. Aunque los desabolladores pueden implementar esta propiedad, no es necesaria.
La clase de base de CacheDependency (Dependencia de la memoria inmediata) extensible incluye dos métodos adicionales que están disponibles públicamente de manera que los desarrolladores de las clases CacheDependency (Dependencia de la memoria inmediata) hecha a la medida pueden invocar las capacidades de purga de la clase de base CacheDependency (Dependencia de la memoria inmediata) extensible. El primer método es un método de NotifyDependencyChanged (Notificar dependencia modificada). Este método se invoca por las clases que se derivan de la clase de base de CacheDependency (Dependencia de la memoria inmediata) extensible para indicar a la clase de CacheDependency (Dependencia de la memoria inmediata) extensible que ha sido modificado el elemento dependiente. El segundo método nuevo es el método DependencyDíspose (Disposición de dependencia). Este método es un método virtual que proporciona una limpieza de ubicación específica a la clase derivada. Con mayor especificidad, este método proporciona una ubicación para las instrucciones que normalmente se colocarían en el método de Dispose (Disposición) de la clase de base de CacheDependency (Dependencia de la memoria inmediata) extensible no es para la CacheDependency (Dependencia de la memoria inmediata) hecha a la medida. De esta manera, los recursos que se usan por la CacheDependency (Dependencia de la memoria inmediata) hecha a la medida se puede liberar para que sean usadas por otros módulos que necesiten acceder a los recursos. El método NotifyDependencyChanged (Notificar dependencia modificada) puede ser invocada por una CacheDependency (Dependencia de la memoria inmediata) hecha a la medida que depende de la clase de base de CacheDependency (Dependencia de la memoria inmediata) extensible. La clase de CacheDependency (Dependencia de la memoria inmediata) hecha a la medida de esta manera puede ocasionar que una entrada a la memoria inmediata dependa de los cambios de una base de datos, en datos de un servicio de una red informática o de cualquier otra razón. De esta manera, la memoria inmediata puede reconocer una clave de entrada a la memoria inmediata no válida y eliminar la clave (y el contenido correspondiente) de la memoria inmediata. En un ejemplo ilustrativo, un desarrollador crea una clase hecha a la medida "SqlCacheDependency" (Dependencia de la memoria inmediata de sql) que se deriva de la clase de base de CacheDependency (Dependencia de la memoria inmediata) extensible para sondear una base de datos SQL para determinar si los cambios se han hecho a la base de datos. SqlCacheDependency (Dependencia de la memoria inmediata de sql) se deriva de la clase de base de CacheDependency (Dependencia de la memoria inmediata) extensible que existe dentro de una estructura de programación. De esta manera, la clase SqlCacheDependency (Dependencia de la memoria inmediata de sql) puede invocar el método NotifyDependencyChanged (Notificar dependencia modificada) de manera que un sistema de cómputo de servidor ocasione que sea purgada una entrada de memoria inmediata dependiente. Usando una modalidad de la invención, se puede implementar un ejemplo de una CacheDependency (Dependencia de la memoria inmediata) hecha a la medida usando las siguientes instrucciones: 10 If (Cache["Product"] = null{ 20 SqlConnection Connection = newSqlConnection([Connection details]); 30 SqlDataAdapter ds = new SqlDataAdapter ("Product_Get Products", connection); 40 SqlCacheDependency dep = new SqlCacheDependency ("NorthWind", "Products"); 50 Cache. I nsert("Product", ds, dep); } La línea 10 del código anterior verifica si encuentra una entrada "Product" (Producto) ya está en la memoria inmediata. Si la entrada no está en la memoria inmediata, entonces las funciones de la indicación "if" (si) se realiza. La línea 20 establece la conexión de una base de datos en donde el contenido se recuperará. La línea 30 recupera datos de la base datos usando un método "Product_GetProducts" (Producto_Obtener Productos) y almacena los datos en una variable "ds". En la línea 40 la variable "ds" se asigna como una dependencia en la tabla "Products" (Productos) en la base de datos "NorthWind". Esta dependencia es una CacheDependency (Dependencia de la memoria inmediata) hecha a la medida que se deriva de la clase de base de CacheDependency (Dependencia de la memoria inmediata) extensible. La línea 50 entonces ocasiona que los datos de la variable "ds" se inserte en una entrada de la memoria inmediata denominada con la clave "Product" (Producto) de manera que la entrada de la memoria inmediata depende de "dep". En este ejemplo, SqlCacheDependency (Dependencia de la memoria inmediata de sql) es una dependencia de memoria inmediata hecha a la medida que se deriva de la clase de base CacheDependency (Dependencia de la memoria inmediata) extensible. Cuando una clase que se deriva de la clase de base de CacheDependency (Dependencia de la memoria inmediata) extensible se usa como una dependencia, el sistema de cómputo del servidor procesa la clase como si fuera un ejemplo de una CacheDependency (Dependencia de la memoria inmediata) extensible. De esta manera, el sistema de cómputo del servidor puede responder a conductas similares que se exhiben mediante la clase de base de CacheDependency (Dependencia de la memoria inmediata) extensible, mientras que internamente la clase derivada puede implementar su propia funcionalidad exclusiva, por ejemplo ser notificada cuando cambia la interrogación de una base de datos. La CacheDependency (Dependencia de la memoria inmediata) hecha a la medida en este caso SqlCacheDependency (Dependencia de la memoria inmediata de sql) anula cualesquiera métodos de la clase de base de CacheDependency (Dependencia de la memoria inmediata) extensible necesarios para lograr la funcionalidad deseada. En este ejemplo, cuando SqlCacheDependency (Dependencia de la memoria inmediata de sql) recibe la notificación del cambio de la consulta de la base de datos, invocará el método base.Notify.DependencyChanged (Base. Notificar dependencia modificada) ocasionando que el sistema de cómputo del servidor elimine la entrada de la memoria inmediata a la'que hace referencia la clave "Product" (Producto). Aunque este ejemplo se ha descrito en términos de una dependencia de modificación de una base de datos, es importante recordar que la capacidad de extensión de la clase de base de CacheDependency (Dependencia de la memoria inmediata) extensible permite la creación de virtualmente cualquier dependencia de la memoria inmediata que pueda concebir un desarrollador de redes informáticas. Con el modelo extensible, el desarrollador de redes informáticas puede construir cualquier clase de dependencia hecha a la medida incluyendo dependencias agregadas que están basadas en dos o más dependencias. Por ejemplo, una entrada de memoria inmediata puede depender tanto de un archivo como de una tabla SQL. Las siguientes instrucciones muestran una implementación de una dependencia agregada. 70 If (Cache["Product-List"] = null{ 80 SqlConnection Connection = new SqlConnection ([connection details]); 90 SqlDataAdapter ds = new SqlDataAdapter ("Product_Get Products", connection); 100 SqlCacheDependency sqlDep = new SqlCacheDependency ("NorthWind", "Products"); 120 CacheDependency dep = new Ag gregateCacheDependency (Server. MapPath ("sal es. xml"),sqlDep); 130 Cache. lnsert("Product-List, ds, dep); } Este código es similar al código anterior de las líneas etiquetadas 10-50 con excepción de la línea 120. Se implemento una dependencia de memoria inmediata agregada mediante una clase derivada de CacheDependency (Dependencia de la memoria inmediata), denominada AggregateCacheDependency (Dependencia de la memoria inmediata agregada). Esta se puede usar para hacer entradas en la memoria inmediata que dependen tanto de un archivo (sales. xml) (ventas. xml) y de SqlCacheDependency (Dependencia de la memoria inmediata de sql) que se deriva de la clase de base de CacheDependency (Dependencia de la memoria inmediata) extensible. Las clases que se derivan de la clase de base de CacheDependency (Dependencia de la memoria inmediata) extensible también puede proveer una funcionalidad adicional hecha a la medida. Esto es, una clase derivada se puede desarrollar para manejar cualesquiera eventos, métodos y propiedades que se usan para implementar la funcionalidad hecha a la medida. Por ejemplo, la clase derivada se puede desarrollar a un tiempo de inicio (por ejemplo, especificar un momento cuando debe comenzar la CacheDependency (Dependencia de la memoria inmediata) a supervisar los cambios), la capacidad de dar soporte a la agregación de dependencias, el soporte para mecanismos de retorno de llamada, etc. De esta manera, un desarrollador no está limitado a los eventos, métodos y propiedades inherentes a la clase de base de CacheDependency (Dependencia de la memoria inmediata) extensible. Haciendo referencia a la Figura 1, se muestra un entorno adecuado en donde pueden practicarse los aspectos de la presente invención. La Figura 1 ilustra un servidor 100 y un cliente 102 conectados a una red mediante ligas 121 y 122 correspondientes, respectivamente. El servidor 100 y el cliente 102 se pueden comunicar sobre la red 104 usando una variedad de protocolos, incluyendo HTTP. Este servidor 100 también puede ser un servidor ASP.NET, de manera que pueda entregar un contenido dinámico en forma de páginas de red informática dinámica al cliente 102. El servidor incluye varias clases y módulos que incluyen una clase de CacheDependency (Dependencia de la memoria inmediata) extensible 106 y una CacheDependency (Dependencia de la memoria inmediata) hecha a la medida 114. El servidor 100 también incluye una memoria inmediata 110 que se puede ubicar en la memoria física del servidor 100 o en cualquier otra ubicación conveniente. El servidor 100 está acoplado a una base de datos 112 mediante la liga 123. La base de datos 112 puede ser cualquier base de datos adecuada por ejemplo una base de datos SQL o una base de datos Oracle. En otras modalidades de la invención, la base de datos 112 puede representar un servicio XML o cualquier otra fuente de datos. De manera ilustrativa, el cliente 102 solicita cierto contenido del servidor 100. Por ejemplo, el cliente 102 puede acceder al URL que solicita una página de red informática del servidor 100. El servidor 100 verifica la memoria inmediata 110 para determinar si el contenido solicitado (por ejemplo datos en una página de red informática) se encuentra en la memoria inmediata 110. Si el contenido no está en la memoria inmediata 110, el módulo 108 de la interfaz de la base de datos puede solicitar el contenido de la base de datos 112. Cuando el contenido apropiado, por ejemplo el contenido 132, se recupera y devuelve a un módulo 108 de la interfaz de la base de datos. Alternativamente, el contenido solicitado puede ser algún valor calculado o alguna manipulación de los contenidos recuperados de la base de datos, como una base de datos 112. Puede ser que el módulo 108 de la interfaz de la base de datos calcule o manipule el contenido como sea apropiado. Entonces el contenido se envía al cliente 102, por ejemplo, en uno o más mensajes HTTP. También el contenido puede añadirse a la memoria inmediata 110 usando el método Cache. Insert (Memoria inmediata. Insertar). El método Cache. Insert (Memoria inmediata.
Insertar) especifica una dependencia hecha a la medida definida por una clase de CacheDependency (Dependencia de la memoria inmediata) hecha a la medida 114 que se deriva de la clase de base de CacheDependency (Dependencia de la memoria inmediata) extensible 106. Aunque el contenido permanece en la memoria inmediata 110, puede entregarse de manera más eficiente a cualquier cliente que solicite el contenido. Contenido permanece en la memoria inmediata 110 hasta que la clase de CacheDependency (Dependencia de la memoria inmediata) hecha a la medida 114 invoque un método, por ejemplo NotifyDependencyChanged (Notificar dependencia modificada). El contenido se purga de la memoria inmediata al invocar el método NotifyDependencyChanged (Notificar dependencia modificada). Las solicitudes posteriores del contenido por un cliente requieren que el contenido se vuelva a tomar de la base de datos 112 y/o el módulo 108 de la interfaz de la base de datos vuelva a calcularlo. La clase de CacheDependency (Dependencia de la memoria inmediata) hecha a la medida 114 puede ocasionar que la memoria inmediata 110 sea purgada cuando existe una modificación en la base de datos 112. En este ejemplo, aunque reunir los datos de la base de datos 112 puede usar muchos recursos, por otro lado, encuestar a la base de datos 112 en cuanto a cambios, usa menos recursos. La base de datos 112 puede comprender tablas de base de datos que almacenan información en la base de datos 112, por ejemplo la tabla de base de datos 116. Otra tabla de base de datos 117 además puede comprender una entrada de indicador 118 que indica si se han hecho cambios a la información en la tabla de la base de datos 116. La tabla de base de datos 117 puede contener indicadores para otras tablas en la base de datos que tienen dependencias hechas a la medida. En una modalidad, la entrada del indicador 118 puede aumentar manera que cada cambio en la tabla de base de datos 116 ocasione una entrada de un indicador 118 para incrementar gradualmente su valor. La CacheDependency (Dependencia de la memoria inmediata) 114 hecha a la medida puede estar diseñada para eliminar entradas de la memoria inmediata cuando se detecta un incremento en la entrada de indicador 118. Haciendo referencia a la Figura 2, se muestra un diagrama de flujo que ilustra un método para insertar una entrada de dependencia. El método de la Figura 2 incluye el acto de acceder una clase de base de CacheDependency (Dependencia de la memoria inmediata) extensible (acto 202). El acto 202 puede incluir un sistema de cómputo que accede a una clase de base de CacheDependency (Dependencia de la memoria inmediata) extensible. Por ejemplo, el servidor 100 puede acceder a la clase de CacheDependency (Dependencia de la memoria inmediata) extensible 106. El servidor 100 puede acceder a la clase CacheDependency (Dependencia de la memoria inmediata) 106 como resultado de la ejecución de las instrucciones dadas por el desarrollador de páginas de red informática, otro desarrollador de programas de cómputo o como parte de un módulo de programa. El método que se ilustra en la Figura 2 incluye la derivación de una clase de CacheDependency (Dependencia de la memoria inmediata) hecha a la medida de la clase de base de CacheDependency (Dependencia de la memoria inmediata) extensible (acto 204). El acto 204 puede incluir un sistema de cómputo de servidor que deriva una clase de CacheDependency (Dependencia de la memoria inmediata) hecha a la medida de la clase de base de CacheDependency (Dependencia de la memoria inmediata) extensible. Por ejemplo, el servidor 100 puede derivar la dependencia de la memoria inmediata 114 hecha a la medida de la clase de CacheDependency (Dependencia de la memoria inmediata) extensible 106. El servidor 100 puede derivar la dependencia de la memoria inmediata 114 hecha a la medida como resultado de ejecutar las instrucciones desarrolladas por un desarrollador de páginas de red informática, desarrollador de programas de cómputo o como parte de algún módulo de programa, para crear una CacheDependency (Dependencia de la memoria inmediata) hecha a la medida. El servidor 100 además puede derivar la dependencia de la memoria inmediata 114 hecha a la medida de ciertas fuentes incluyendo, sin limitarse a: un sensor externo conectado a una computadora, como un termómetro que activa un evento cuando las condiciones cambian, un programa de tablero deportivo que activa un cambio cuando la puntuación en un juego cambia; un programa de administración de red que activa un evento cuando la configuración de la red cambia (por ejemplo una computadora que se añade o separa de la red); y un programa de directorio que activa un evento cuando el directorio cambia (como una persona que se añade o se elimina). El método que se muestra en la Figura 2 incluye acceder contenido (acto 206). El acto 206 puede incluir un sistema de cómputo de servidor que accede el contenido que se incluirá en una página de red informática para entregarla a un sistema de cómputo de cliente. Por ejemplo, el servidor 100 puede acceder contenido que se incluirá en una página de red informática para entregarse al cliente 102. Acceder el contenido puede incluir la creación o manipulación del contenido. El contenido se puede acceder desde diferentes ubicaciones, por ejemplo, desde bases de datos y servicios de red informática. Por ejemplo, el servidor puede acceder datos almacenados en una base de datos 112. El módulo 108 de la ¡nterfaz de la base de datos u otros módulos adecuados pueden dar formato de manera apropiada a los datos para incluirlos en una página de red informática. El método de conformidad con la Figura 2 incluye un acto de crear una entrada para una memoria inmediata que se asocia con la CacheDependency (Dependencia de la memoria inmediata) hecha a la medida (acto 208). El acto 208 puede incluir un sistema de cómputo de servidor que crea una entrada almacenada en la memoria inmediata que se asocia con la CacheDependency (Dependencia de la memoria inmediata) hecha a la medida. Por ejemplo, el servidor 100 puede crear una entrada de memoria inmediata que se asocia con la dependencia de la memoria inmediata hecha a la medida 114. Se crea una entrada de la memoria inmediata en una modalidad mediante una afirmación de definición variable que hace el servidor 100 (por ejemplo, similar a la línea 50 de las instrucciones descritas en los párrafos anteriores). El método de la Figura 2 incluye un acto de insertar la entrada de la memoria inmediata en la memoria inmediata (acto 210). El acto 210 puede incluir un sistema de cómputo de servidor que inserta la entrada de la memoria inmediata en una ubicación de la memoria inmediata en el sistema de cómputo del servidor. Por ejemplo, el servidor 100 puede insertar una entrada de la memoria inmediata en la memoria inmediata 100. Una entrada de memoria inmediata se puede insertar en la memoria inmediata de manera que la validez en la entrada almacenada en la memoria inmediata (y de esta manera también el contenido almacenado en la memoria inmediata) depende de la dependencia hecha a la medida. Por ejemplo, el servidor 100 puede insertar una entrada de la memoria inmediata en la memoria inmediata 110 que depende de la dependencia resultante de la dependencia de la memoria inmediata hecha a la medida 114. Haciendo referencia a la Figura 3, se muestra un método para invalidar una entrada a la memoria inmediata usando una CacheDependency (Dependencia de la memoria inmediata) hecha a la medida. El método de la Figura 3 incluye un acto de supervisar las condiciones de la dependencia hecha a la medida establecida por una instancia de una dependencia de la memoria inmediata hecha a la medida (acto 302). El cato 302 puede incluir un sistema de cómputo de servidor que supervisa las condiciones de la independencia hechas a la medida establecidas por una instancia de una clase de CacheDependency (Dependencia de la memoria inmediata) hecha a la medida 114. Una condición de dependencia hecha a la medida puede ser la frecuencia en que se presenta un evento, por ejemplo, el cambio en el contenido de una base de datos o en el contenido que provee un servicio de red informática. Por ejemplo, el servidor 100 puede supervisar la entrada del indicador 118 para encontrar los cambios en el contenido de la tabla de la base de datos 116. Cuando la clase de CacheDependency (Dependencia de la memoria inmediata) hecha a la medida 114 se asocia con una dependencia agregada se puede supervisar una pluralidad de condiciones de dependencia hechas a la medida. El método de la Figura 3 incluye un acto de determinar si la condición de dependencia hecha a la medida ya ha sido satisfecha (acto 304). El acto 304 puede incluir in sistema de cómputo de servidor que determina si una condición de dependencia hecha a la medida asociada con una dependencia almacenada en la memoria inmediata hecha a la medida ha sido satisfecha. Por ejemplo, el servidor 100 puede determinar si una condición de dependencia hecha a la medida asociada con la clase CacheDependency (Dependencia de la memoria inmediata) 114 hecha a la medida ha sido satisfecha. Cuando se asocia la clase CacheDependency (Dependencia de la memoria inmediata) 114 hecha a la medida con una dependencia agregada, el servidor 100 puede determinar si se ha satisfecho cada una de las condiciones de dependencia hechas a la medida en una pluralidad de condiciones de dependencia hechas a la medida. En algunas modalidades, el servidor 100 determina si una condición de dependencia hecha a la medida ha sido satisfecha al comparar una entrada de indicadores almacenados en una entrada del indicador actual. Por ejemplo, el servidor 100 puede comparar un valor previamente recuperado y almacenado para la entrada del indicador 118 para un valor actual para la entrada del indicador 188. Cuando la entrada de indicador 118 aumenta, la clase CacheDependency (Dependencia de la memoria inmediata) 114 hecha a la medida puede comparar la entrada del indicador 118 presente en la tabla de la base de datos 117 con una entrada del indicador que existió en la tabla de base de datos 117 en un momento anterior. Si la entrada del indicador 118 actualmente en la tabla es mayor que la entrada del indicador que existió en la tabla de la base de datos 117 en algún momento anterior, se satisface la condición de dependencia hecha a la medida (un cambio en el contenido de la tabla de la base de datos 116).
Cuando no se alcanza una condición de dependencia hecha a la medida (se muestra NO en el acto 304), el servidor 100 nuevamente puede supervisar las condiciones de dependencia hechas a la medida. La supervisión de una condición de dependencia hecha a la medida se puede repetir en intervalos especificados (por ejemplo, cada 5 segundos), hasta que se satisfaga las condiciones de dependencia hecha a la medida, por ejemplo, se produce un evento supervisado (se muestra YES (SI) en el acto 304). El método de la Figura 3 incluye un acto de indicar que las condiciones de dependencia hechas a la medida se han satisfecho (acto 306). El acto 306 puede incluir un método NotifyDependencyChanged (Notificar dependencia modificada) que indica a un sistema de cómputo de servidor que las condiciones de dependencia hechas a la medida se han satisfecho. Por ejemplo, un método NotifyDependencyChanged (Notificar dependencia modificada). Por ejemplo un método NotifyDependencyChanged (Notificar dependencia modificada) para la clase CacheDependency (Dependencia de la memoria inmediata) 114 hecha a la medida puede notificar al servidor 100 cuando cambia el contenido de la tabla de la base de datos 116. La notificación de que una condición de dependencia hecha a la medida ha sido satisfecha puede indicar al servidor 100 que una entrada de la memoria inmediata será purgada. El método de la Figura 3 incluye purgar la memoria inmediata (acto 308). El acto 308 puede incluir un sistema de cómputo de servidor que purga una entrada de la memoria inmediata en el sistema de cómputo del servidor. Por ejemplo, el servidor 100 puede purgar una entrada a memoria inmediata desde la memoria inmediata 110. Una entrada almacenada en la memoria inmediata se puede purgar como respuesta a la recepción de la notificación de que las condiciones de dependencia hechas a la medida asociadas con una dependencia de la memoria inmediata hecha a la medida han sido satisfechas. Por ejemplo, el servidor 100 puede purgar una entrada de la memoria inmediata que depende de la tabla de datos 116 como respuesta a la recepción de notificación de que se ha incrementado la entrada del indicador 118. Cuando una entrada de la memoria inmediata se purga, el sistema de cómputo 100 puede emitir cualesquiera recursos (por ejemplo, la memoria del sistema) que se consume para mantener la entrada de la memoria inmediata. Por ejemplo, el sistema de cómputo del servidor 100 puede invocar un método DependencyDispose (Disposición de dependencia) asociado con la clase de CacheDependency (Dependencia de la memoria inmediata) 114 hecha a la medida para liberar los recursos para una entrada de la memoria inmediata que almacenó contenido de la tabla de la base de datos 116. Modalidades de la presente invención pueden comprender una computadora de objetivo especial o de objetivos generales incluyendo diversos componentes de equipo de la computadora, como se analiza detalladamente a continuación. Las modalidades dentro del alcance de la presente invención también incluyen medios legibles mediante computadora para transportar o contar con instrucciones ejecutables mediante la computadora o bien estructuras de datos almacenadas en ésta. Dichos medios legibles mediante computadora pueden ser cualesquiera medios disponibles que pueden ser introducidos mediante una computadora de uso especial o de uso general. A manera de ejemplo y sin limitantes, dichos medios legibles mediante computadora pueden comprender RAM, ROM, EEPROM, CD-ROM u otros dispositivos de almacenamiento de disco óptico, almacenamiento de disco magnético u otros dispositivos de almacenamiento magnético, o cualesquiera otros medios que se puedan usar para transportar o almacenar medios de códigos de programas deseados en forma de instrucciones o estructuras de datos que pueden ser ejecutados a través de una computadora y a los que se puede tener acceso a través de una computadora de uso general o de uso especial. Cuando la información se transfiere o se provee sobre una red o sobre otra conexión de comunicaciones (ya sea cableada, inalámbrica o una combinación de conexión cableada o inalámbrica) a una computadora, la computadora visualiza adecuadamente la conexión como un medio legible mediante computadora. De esta manera, dicha conexión está denominada apropiadamente como medio legible por computadora. Las combinaciones de lo anterior también deben incluirse dentro del alcance del medio legible por computadora. Las instrucciones ejecutables mediante una computadora, por ejemplo, comprenden instrucciones y datos que ocasionan que una computadora de uso general, una computadora de uso especial o un dispositivo de procesamiento de uso especial realicen ciertas funciones o grupos de funciones. La Figura 4 y el siguiente análisis tienen la intención de proveer una descripción breve y general de un entorno de cómputo adecuado en donde la invención se puede implementar. Aunque no se requiere, la invención se describirá en el contexto general de instrucciones ejecutables mediante una computadora, como módulos de programa, siendo ejecutados por computadoras en entornos de red. En general, los módulos de programa incluyen rutinas, programas, objetos, componentes, estructuras de datos, etc. que realizan tareas particulares o que implementan tipos de datos abstractos particulares. Las instrucciones que pueden ser ejecutadas a través de una computadora, estructuras de datos asociados y los módulos de programa representan ejemplos de los medios de código de programa para ejecutar los pasos de los métodos que se describen para la presente. La secuencia particular de dichas instrucciones ejecutables o estructuras de datos asociados representa ejemplos de los actos correspondientes para implementar las funciones descritas en dichos pasos. Los expertos en la técnica podrán apreciar que la invención puede practicarse en entornos de cómputo de red con muchos tipos de configuraciones de sistemas de cómputo, incluyendo computadoras personales, dispositivos de mano, sistemas de procesadores múltiples, aparatos electrónicos de consumidor programables o basados en microprocesadores, PC de red, mini computadoras, computadoras centrales, y similares. La invención también puede practicarse en entornos de cómputo distribuidos en donde las tareas se realizan mediante dispositivos de procesamiento local y remoto que están enlazados (ya sea mediante enlaces, cableados, enlaces inalámbricos o mediante una combinación de enlaces cableados e inalámbricos) a través de una red de comunicaciones. En un entorno de cómputo distribuido, los módulos de programa se pueden ubicar tanto en dispositivos de almacenamiento de memoria local como remota. Haciendo referencia a la Figura 4, un sistema ejemplar para implementar la invención incluye un dispositivo de cómputo de uso general en forma de una computadora convencional 420, incluyendo una unidad de procesamiento 421, una memoria del sistema 422 y una barra de distribución del sistema 423 que acopla varios componentes del sistema, incluyendo la memoria del sistema 422 a la unidad de procesamiento 421. La barra de distribución 423 puede ser cualquiera de diversos tipos de estructuras de barras de distribución incluyendo una barra de distribución de memoria o un controlador de memoria, una barra de distribución periférica y una barra de distribución local, usando cualquiera de una variedad de arquitecturas de barras de distribución. La memoria del sistema incluye memoria de sólo lectura (ROM) 424 y una memoria de acceso aleatorio (RAM) 425. Un sistema de entradas/salidas básico (BIOS) 426, que contiene las rutinas básicas que ayudan a transferir información entre los elementos dentro de la computadora 420, como durante el arranque, se puede almacenar en ROM 424. La computadora 420 además puede incluir una unidad de disco duro magnético 427 para leer desde y escribir en una unidad de disco magnético 439, una unidad de disco magnético 428 para leer desde o escribir en un disco magnético extraíble 429, y una unidad de disco óptico 430 para leer desde o escribir en un disco óptico extraíble 431 como un CD-ROM u otro medio óptico. La unidad de disco duro magnético 427, la unidad de disco magnético 428 y la unidad de disco óptico 430 están conectados a la barra de distribución del sistema 423 mediante una interfaz 432 de la unidad del disco duro, una interfaz 433 de la unidad de disco magnético y una interfaz 434 de la unidad óptica, respectivamente. Las unidades y sus medios legibles mediante computadora asociados proporcionan almacenamiento permanente de instrucciones ejecutables a través de una computadora, estructuras de datos, módulos de programas y otros datos para la computadora 420. Aunque el entorno ejemplar descrito en la presente emplea un disco duro magnético 439, se pueden usar un disco magnético extraíble 429 y un disco óptico extraíble 431, otros tipos de medios legibles mediante computadora para almacenar datos también se pueden usar, incluyendo casetes magnéticos, tarjetas de memoria inmediata, discos versátiles digitales, cartuchos de Bernoulli, RAM, ROM y similares. Los medios de código de programa que comprenden uno o más módulos de programa pueden almacenarse en el disco duro 439, en el disco magnético 429, en el disco óptico 431, en ROM 424 o en RAM 425, incluyendo un sistema operativo 435, uno o más programas de aplicación 436, otros módulos de programa 437 y datos de programa 438. Un usuario puede introducir comandos de información en la computadora 420 a través del teclado 440, el dispositivo puntero 442 o cualesquiera otros dispositivos de entrada (no se muestran), como micrófono, palanca de mando, almohadilla de fuego, antena satelital, explorador o similares. Estos y otros dispositivos de entrada con frecuencia se conectan a la unidad de procesamiento 421 a través de una interfaz 446 del puerto en serie acoplado a la barra de distribución del sistema 423. De manera alternativa, los dispositivos de entrada se pueden conectar mediante otras interfaces, como el puerto paralelo, el puerto de juegos o una barra de distribución en serie universal (USB). Un monitor 447 o cualquier otro dispositivo de visualización también está conectado a la barra de distribución del sistema 423 a través de una interfaz, como un adaptador de video 448. Además del monitor, las computadoras personales típicamente incluyen otros dispositivos de salida periféricos (no se muestran), como altavoces e impresoras. El sistema de cómputo 420 puede conectarse a redes, por ejemplo, una red de cómputo para toda la empresa o para toda la oficina, una Intranet y/o el Internet. El sistema de cómputo 420 puede intercambiar datos con fuentes externas, por ejemplo, sistemas de cómputo remoto, aplicaciones remotas y/o bases de datos remotos sobre dicha red. El sistema de cómputo 420 incluye la interfaz de red 453, a través de la cual el sistema de cómputo 420 recibe datos de fuentes externas y/o transmite datos a fuentes externas. Como se ¡lustra en la figura 4, la interfaz de red 453 facilita el intercambio de datos con el sistema de cómputo remoto 483 a través de un enlace 451. El enlace 451 representa una porción de una red, un sistema de cómputo remoto 483 representa un nodo de la red. Por ejemplo, el sistema de cómputo remoto 483 puede mantener una base de datos que proporcione el contenido para las páginas de la red informática construidas en el sistema de cómputo 420. Por otro lado, el sistema de cómputo 483 puede ser una computadora servidor que solicita contenido de una base de datos mantenida en un sistema de cómputo 420. De igual manera, el sistema de cómputo 420 incluye una interfaz 446 del puerto en serie, a través del cual el sistema de cómputo 420 recibe datos de fuentes externas y/o transmite datos a fuentes externas. La interfaz 446 del puerto en serie se acopla al módem 454, a través del cual el sistema de cómputo 420 recibe datos y/o transmite datos desde y hacia fuentes externas. De manera alternativa, el módem 454 puede ser un módem con Especificaciones de Interfaz de Datos Sobre Servicio de Cable ("DOCSIS") o un módem de líneas de abonado digital ("DSL") que está conectado al sistema de cómputo 420 a través de una interfaz adecuada. Sin embargo, como se ilustra en la figura 4, una interfaz 446 del puerto en serie y un módem 454 facilitan el intercambio de los datos con el sistema de cómputo remoto 493 a través de un enlace 452. El enlace 452 representa una porción de una red y un sistema de cómputo remoto 493 representa un nodo de la red. Por ejemplo, el sistema de cómputo remoto 493 puede ser un sistema de cómputo cliente que solicita páginas de red informática del sistema de cómputo 420. Por otro lado, el sistema de cómputo 493 puede ser un sistema de cómputo de servidor que proporciona páginas de red informática al sistema de cómputo 420. La presente invención puede expresarse en otras formas específicas sin separarse de su espíritu o características esenciales. Las modalidades descritas deben considerarse en todos los aspectos sólo como ilustrativas y no restrictivas. El alcance de la invención por lo tanto se indica mediante las reivindicaciones anexas en lugar de la descripción anterior. Todos los cambios que se presentan dentro del significado y alcance de la equivalencia de las reivindicaciones deben tomarse en cuenta dentro de su alcance.

Claims (28)

REIVINDICACIONES
1.- En un sistema de cómputo de servidor que proporciona páginas de red informática para solicitar sistemas de cómputo cliente, las páginas de red informática incluyen potencialmente contenido de ubicaciones que son externas al sistema de cómputo del servidor, el sistema de cómputo del servidor incluye una memoria inmediata que almacena porciones del contenido almacenado en la memoria inmediata recibido previamente desde ubicaciones externas al sistema de cómputo del servidor, un método para ocasionar una entrada de datos en la memoria inmediata que depende de la dependencia hecha a la medida, el método comprende lo siguiente: un acto de acceder a una clase de base de dependencia de la memoria inmediata extensible; un acto de derivar una clase de dependencia de memoria inmediata hecha a la medida desde la clase de base de dependencia de la memoria inmediata extensible, la clase de dependencia almacenada en la memoria inmediata hecha a la medida para implementar la dependencia hecha a la medida; un acto para acceder una porción del contenido que se entregará a un sistema de cómputo cliente; un acto para crear una entrada a la memoria inmediata que asocia la dependencia hecha a la medida con la porción que tuvo acceso del contenido; y un acto de insertar la entrada de la memoria inmediata en la memoria inmediata de manera que la validez de la entrada de la memoria inmediata depende de la dependencia hecha a la medida.
2. - El método de conformidad con la reivindicación 1, en donde el acto de acceder a una clase de base de dependencia de memoria inmediata extensible comprende un acto de acceder a una clase de base de dependencia de memoria inmediata que incluye un método de notificación de dependencia modificada de manera que las clases que se derivan de la clase de base de dependencia de memoria inmediata puedan implementar la funcionalidad de purga de la clase de base de dependencia de la memoria inmediata al invocar el método de notificación de dependencia modificada.
3. - El método de conformidad con la reivindicación 1, en donde el acto de acceder a una clase de base de dependencia de memoria inmediata extensible comprende un acto de acceder a una clase de base de dependencia de memoria inmediata que incluye un método de disposición de dependencia de manera que las clases que se derivan de la clase de base de dependencia de la memoria inmediata puedan liberar recursos ocupados por una entrada de la memoria inmediata al invocar el método de disposición de dependencia.
4. - El método de conformidad con la reivindicación 1, en donde el acto de derivar una clase de dependencia de memoria inmediata hecha a la medida de la clase de base de dependencia de la memoria inmediata extensible comprende un acto de derivar la clase de dependencia de memoria inmediata hecha a la medida que puede implementarse para hacer que una entrada de la memoria inmediata sea dependiente de una tabla de base de datos.
5.- El método de conformidad con la reivindicación 1, en donde el acto de derivar una clase de dependencia de memoria inmediata hecha a la medida de la clase de base de dependencia de la memoria inmediata extensible comprende un acto de derivar la clase de dependencia de memoria inmediata hecha a la medida que puede implementarse para ocasionar que una entrada de la memoria inmediata dependa de un servicio de la red informática.
6. - El método de conformidad con la reivindicación 1, en donde el acto de acceder a una porción del contenido que será entregado al sistema de cómputo cliente comprende un acto de acceder una porción de contenido que se incluirá en una página de red informática.
7. - El método de conformidad con la reivindicación 1, en donde el acto de acceder una porción del contenido que se entregará a un sistema de cómputo cliente comprende un acto de acceder a una porción del contenido desde una tabla de base de datos.
8. - El método de conformidad con la reivindicación 1, en donde el acto de acceder a una porción del contenido que se entregará a un sistema de cómputo cliente comprende un acto de acceder a una porción del contenido desde un servicio de red informática.
9. - El método de conformidad con la reivindicación 1, caracterizado además porque el acto de crear una entrada a la memoria inmediata que asocia la dependencia hecha a la medida con la porción introducida del contenido comprende un acto de crear un almacenamiento en memoria inmediata que ocasiona que el contenido de la tabla de base de datos dependa de la tabla de base de datos.
10. - El método de conformidad con la reivindicación 1, en donde el acto de crear una entrada de la memoria Inmediata que asocia la dependencia hecha a la medida con la porción a la que se tuvo acceso del contenido comprende un acto de crear un almacenamiento de memoria inmediata que ocasiona que el contenido de la tabla de base de datos sea dependiente de una dependencia agregada.
11. - El método de conformidad con la reivindicación 1, en donde el acto de crear una entrada de memoria inmediata que asocia la dependencia hecha a la medida con la porción introducida del contenido comprende un acto de crear un almacenamiento en memoria inmediata que ocasiona que el contenido de un servicio de red informática dependa del servicio de la red informática.
12. - El método de conformidad con la reivindicación 1, en donde el acto de insertar la entrada de la memoria inmediata en la memoria inmediata de manera que la validez de la entrada de la memoria inmediata depende de la dependencia hecha a la medida comprende el acto de insertar una entrada en la memoria inmediata que depende de la tabla de base de datos.
13. - El método de conformidad con la reivindicación 1, caracterizado además porque el acto de insertar la entrada de la memoria inmediata en la memoria inmediata de manera que la validez de la entrada de la memoria inmediata dependa de la dependencia hecha a la medida comprende un acto de insertar una entrada de memoria inmediata que depende de la dependencia agregada.
14. - El método de conformidad con la reivindicación 1, en donde una propiedad de hora de inicio no necesariamente debe especificarse para invocar la funcionalidad de la clase de base de dependencia de la memoria inmediata extensible.
15.- En un sistema de cómputo de servidor que proporciona páginas de red informática para solicitar sistemas de cómputo cliente, las páginas de la red informática potencialmente incluyen contenido de ubicaciones que son externas al sistema de cómputo del servidor. El sistema de cómputo del servidor incluye una memoria inmediata que almacena porciones del contenido almacenado en la memoria inmediata recibido anteriormente desde ubicaciones externas al sistema de cómputo del servidor, un método para purgar una entrada de la memoria inmediata, el método comprende lo siguiente: un acto de supervisar una o más condiciones de dependencia asociadas con una instancia de una dependencia de memoria inmediata hecha a la medida; un acto de determinar si una o más condiciones de dependencia hecha a la medida ha sido satisfecha; un acto de recibir una indicación de que la o las condiciones de dependencia hechas a la medida han sido satisfechas; y un acto de purgar una entrada de memoria inmediata en el sistema de cómputo de servidor como respuesta a la recepción de la indicación.
16.- El método de conformidad con la reivindicación 15, en donde el acto de supervisar una o más condiciones de dependencia hechas a la medida asociadas por una instancia de una dependencia de memoria inmediata comprende un acto de supervisar una dependencia de la tabla de base de datos.
17.- El método de conformidad con la reivindicación 15, en donde el acto de supervisar una o más condiciones de dependencia hechas a la medida asociadas con una instancia de una dependencia de memoria inmediata hecha a la medida comprende un acto de supervisar una dependencia de los servicios e la red informática.
18.- El método de conformidad con la reivindicación 15, en donde el acto de supervisar una o más condiciones de dependencia hechas a la medida son asociadas con una instancia de una dependencia de memoria inmediata hecha a la medida comprende un acto de supervisar una dependencia agregada.
19.- El método de conformidad con la reivindicación 15, en donde un acto de determinar si la o las condiciones de dependencia hechas a la medida han sido satisfechas comprende un acto de determinar su una entrada de indicador ha aumentado.
20.- El método de conformidad con la reivindicación 15, en donde un acto de determinar si la o las condiciones hechas a la medida han sido satisfechas comprende un acto de determinar si una condición de dependencia asociada con una dependencia agregada ha sido satisfecha.
21.- El método de conformidad con la reivindicación 15, en donde un acto de determinar si la o las condiciones de dependencia hechas a la medida han sido satisfechas comprende la invocación de un método de notificación de dependencia modificada hasta que se presente algún evento especificado por una instancia de una clase de dependencia de memoria inmediata hecha a la medida.
22. - El método de conformidad con la reivindicación 15, en donde un acto de recibir una indicación de que una o más condiciones de dependencia hechas a la medida han sido satisfechas comprende un acto de recibir una indicación de un método de notificación de dependencia modificada de que una o más condiciones de dependencia hechas a la medida han sido satisfechas. 23. - El método de conformidad con la reivindicación 15, en donde el acto de purgar una entrada de la memoria inmediata en el sistema de cómputo del servidor como respuesta a la recepción de la indicación comprende un acto de purgar una entrada de la memoria inmediata que dependía de la tabla de base de datos. 24.- El método de conformidad con la reivindicación 15, en donde el acto de purgar una entrada de memoria inmediata en el sistema de cómputo del servidor como respuesta a la recepción de la indicación comprende un acto de purgar una entrada de la memoria inmediata que dependía de un servicio de red informática.
23. - El método de conformidad con la reivindicación 15, en donde el acto de purgar una entrada de memoria inmediata en el sistema de cómputo del servidor como respuesta a la recepción de la indicación comprende un acto de purgar una entrada de la memoria inmediata que dependía de una dependencia agregada.
24. - El método de conformidad con la reivindicación 15, que además comprende: un acto de liberar recursos que se consumían para mantener purgada la entrada del almacenamiento en la memoria inmediata.
25. - El método de conformidad con la reivindicación 24, en donde el acto de liberar recursos que fueron consumidos para mantener la entrada del almacenamiento en la memoria inmediata purgada comprende un acto de invocar el método de disposición de dependencia asociado con la dependencia de la memoria inmediata hecha a la medida, la dependencia de la memoria inmediata hecha a la medida se deriva de una clase de base de dependencia de memoria inmediata extensible.
26.- Un producto de programa de cómputo para usarse en un sistema de cómputo de servidor que proporciona páginas de red informática para solicitar sistemas de cómputo cliente, las páginas de red informática potencialmente incluyen contenidos de ubicaciones que son externas al sistema de cómputo del servidor, el sistema de cómputo del servidor incluye una memoria inmediata que almacena porciones del contenido almacenado en la memoria inmediata que se recibió previamente desde las ubicaciones externas al sistema de cómputo al servidor, el producto del programa de cómputo para implantar un método para ocasionar que una entrada de la memoria inmediata dependa de una dependencia hecha a la medida, el producto del programa de cómputo que comprende uno o más medios legibles mediante computadora, almacenados en ésta instrucciones ejecutables mediante una computadora que, cuando se ejecutan mediante un procesador, ocasionan que el sistema de cómputo del servidor realice lo siguiente: acceda a una clase de base de dependencia de la memoria inmediata extensible; derive una clase de dependencia de memoria inmediata hecha a la medida de la clase de base de dependencia de la memoria inmediata extensible, la clase de dependencia del almacenamiento de memoria inmediata hecha a la medida para implementar la dependencia hecha a la medida; acceda a una porción del contenido que será entregado a un sistema de cómputo cliente; genere una entrada a la memoria inmediata que asocia la dependencia hecha a la medida con la porción introducida de contenido; e inserta la entrada de la memoria inmediata en la memoria inmediata de manera que la validez de la entrada de la memoria inmediata dependa de la dependencia hecha a la medida.
27.- Un producto de programa de cómputo para usarse en un sistema de cómputo de servidor que proporciona páginas de red informática para solicitar sistemas de cómputo cliente, las páginas de red informática potencialmente incluyen contenido de ubicaciones que son externas al sistema de cómputo del servidor, el sistema de cómputo del servidor incluye una memoria inmediata que almacena porciones del contenido almacenado en la memoria inmediata que se recibió previamente desde las ubicaciones externas del sistema de cómputo al servidor, el producto del programa de cómputo para implantar un método para purgar una entrada de la memoria inmediata, el producto de programa de cómputo que comprende uno o más medios legibles mediante computadora que tiene almacenado en ésta instrucciones ejecutables mediante una computadora que, cuando se ejecutan mediante un procesador, ocasionan que el sistema de cómputo del servidor realice lo siguiente: supervise una o más condiciones de dependencia hechas a la medida asociadas con una instancia de una dependencia de memoria inmediata hecha a la medida; determine si una o más de las condiciones de dependencia hechas a la medida han sido satisfechas; reciba una indicación de que una o más condiciones de dependencia hechas a la medida han sido satisfechas; y purgue una entrada de la memoria inmediata en el sistema de cómputo del servidor como respuesta a la recepción de la indicación.
28.- Un servidor de página de red informática que comprende: un procesador, y uno o más medios legibles por computadora, que tiene almacenado en ésta: una memoria inmediata; y una estructura, en donde la estructura comprende: una clase de base de dependencia de memoria inmediata extensible para derivar clases de dependencia hechas a la medida, en donde las clases de dependencia hechas a la medida se adaptan para recibir al menos un evento, la frecuencia del cual ocasionará una entrada a la memoria inmediata contenida en el almacenamiento de la memoria inmediata que será purgada.
MXPA04006189A 2003-06-23 2004-06-22 Modelo de dependencia general para invalidar entradas de memoria inmediata. MXPA04006189A (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/602,122 US7398304B2 (en) 2003-06-23 2003-06-23 General dependency model for invalidating cache entries

Publications (1)

Publication Number Publication Date
MXPA04006189A true MXPA04006189A (es) 2005-04-19

Family

ID=33418618

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA04006189A MXPA04006189A (es) 2003-06-23 2004-06-22 Modelo de dependencia general para invalidar entradas de memoria inmediata.

Country Status (10)

Country Link
US (1) US7398304B2 (es)
EP (1) EP1492024A1 (es)
JP (1) JP4629371B2 (es)
KR (1) KR20050000350A (es)
CN (1) CN100480999C (es)
AU (1) AU2004202328A1 (es)
BR (1) BRPI0402416A (es)
CA (1) CA2471990A1 (es)
MX (1) MXPA04006189A (es)
RU (1) RU2373567C2 (es)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113254055A (zh) * 2021-06-29 2021-08-13 中航信移动科技有限公司 无效依赖的删除方法、装置、计算机设备及存储介质

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7392348B2 (en) * 2003-08-06 2008-06-24 International Business Machines Corporation Method for validating remotely cached dynamic content web pages
US7818506B1 (en) * 2002-12-13 2010-10-19 Vignette Software Llc Method and system for cache management
US8312222B1 (en) 2002-12-13 2012-11-13 Open Text, S.A. Event-driven regeneration of pages for web-based applications
US8463998B1 (en) 2002-12-13 2013-06-11 Open Text S.A. System and method for managing page variations in a page delivery cache
US7188216B1 (en) * 2002-12-13 2007-03-06 Vignette Corporation Method and system for an extensible caching framework
US8380932B1 (en) 2002-12-13 2013-02-19 Open Text S.A. Contextual regeneration of pages for web-based applications
US8037127B2 (en) 2006-02-21 2011-10-11 Strangeloop Networks, Inc. In-line network device for storing application-layer data, processing instructions, and/or rule sets
US8166114B2 (en) 2006-02-21 2012-04-24 Strangeloop Networks, Inc. Asynchronous context data messaging
US20090254707A1 (en) * 2008-04-08 2009-10-08 Strangeloop Networks Inc. Partial Content Caching
US9906620B2 (en) 2008-05-05 2018-02-27 Radware, Ltd. Extensible, asynchronous, centralized analysis and optimization of server responses to client requests
US8041893B1 (en) 2008-09-09 2011-10-18 Vignette Software Llc System and method for managing large filesystem-based caches
US8868838B1 (en) * 2008-11-21 2014-10-21 Nvidia Corporation Multi-class data cache policies
US9549039B2 (en) 2010-05-28 2017-01-17 Radware Ltd. Accelerating HTTP responses in a client/server environment
US20110060812A1 (en) * 2009-09-10 2011-03-10 Level 3 Communications, Llc Cache server with extensible programming framework
US20110231482A1 (en) * 2010-03-22 2011-09-22 Strangeloop Networks Inc. Automated Optimization Based On Determination Of Website Usage Scenario
US20120102134A1 (en) * 2010-10-21 2012-04-26 International Business Machines Corporation Cache sharing among branch proxy servers via a master proxy server at a data center
WO2012101585A1 (en) 2011-01-28 2012-08-02 Strangeloop Networks, Inc. Prioritized image rendering based on position within a web page
WO2012160499A1 (en) 2011-05-23 2012-11-29 Strangeloop Networks, Inc. Optimized rendering of dynamic content
US20120331410A1 (en) * 2011-06-27 2012-12-27 Fujitsu Technology Solutions Intellectual Property Gmbh Methods and systems for designing it services
US9292467B2 (en) 2011-09-16 2016-03-22 Radware, Ltd. Mobile resource accelerator
US10984175B2 (en) 2013-08-09 2021-04-20 Yottaa Inc. Systems and methods for dynamically modifying a requested web page from a server for presentation at a client
US9870349B2 (en) * 2013-09-20 2018-01-16 Yottaa Inc. Systems and methods for managing loading priority or sequencing of fragments of a web object
US20160125029A1 (en) 2014-10-31 2016-05-05 InsightSoftware.com International Intelligent caching for enterprise resource planning reporting
WO2017077502A1 (en) 2015-11-04 2017-05-11 Green Cache AB Systems and methods for implementing coherent memory in a multiprocessor system
US10922236B2 (en) * 2019-04-04 2021-02-16 Advanced New Technologies Co., Ltd. Cascade cache refreshing
US11269784B1 (en) * 2019-06-27 2022-03-08 Amazon Technologies, Inc. System and methods for efficient caching in a distributed environment
CN111787340A (zh) * 2020-05-25 2020-10-16 天津车之家数据信息技术有限公司 一种网络直播系统和方法
RU2754601C1 (ru) * 2020-12-18 2021-09-03 Акционерное Общество "Крафтвэй Корпорэйшн Плс" Способ инкрементального сохранения

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997046956A1 (en) * 1996-06-07 1997-12-11 At & T Corp. Internet file system
US5897634A (en) * 1997-05-09 1999-04-27 International Business Machines Corporation Optimized caching of SQL data in an object server system
US6026413A (en) * 1997-08-01 2000-02-15 International Business Machines Corporation Determining how changes to underlying data affect cached objects
US6493720B1 (en) * 1998-01-26 2002-12-10 International Business Machines Corporation Method and system for synchronization of metadata in an information catalog
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
EP0959416A3 (en) 1998-05-08 2005-08-10 International Business Machines Corporation Using database query technology for message subscriptions in messaging systems
US6185608B1 (en) * 1998-06-12 2001-02-06 International Business Machines Corporation Caching dynamic web pages
US6606663B1 (en) * 1998-09-29 2003-08-12 Openwave Systems Inc. Method and apparatus for caching credentials in proxy servers for wireless user agents
US6304879B1 (en) * 1998-11-25 2001-10-16 Microsoft Corporation Dynamic data cache for object-oriented computing environments
US6405191B1 (en) * 1999-07-21 2002-06-11 Oracle Corporation Content based publish-and-subscribe system integrated in a relational database system
US7096418B1 (en) * 2000-02-02 2006-08-22 Persistence Software, Inc. Dynamic web page cache
KR100372582B1 (ko) 2000-02-23 2003-02-17 가부시키가이샤 히타치세이사쿠쇼 데이터처리방법 및 시스템 및 그 처리프로그램을 기록한계산기판독이 가능한 기록매체
US6996584B2 (en) * 2002-05-14 2006-02-07 Pervasive Software, Inc. System and method of maintaining functional client side data cache coherence

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113254055A (zh) * 2021-06-29 2021-08-13 中航信移动科技有限公司 无效依赖的删除方法、装置、计算机设备及存储介质
CN113254055B (zh) * 2021-06-29 2021-09-28 中航信移动科技有限公司 无效依赖的删除方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN1573690A (zh) 2005-02-02
RU2004118830A (ru) 2005-12-10
BRPI0402416A (pt) 2005-02-09
RU2373567C2 (ru) 2009-11-20
KR20050000350A (ko) 2005-01-03
US20050015463A1 (en) 2005-01-20
US7398304B2 (en) 2008-07-08
EP1492024A1 (en) 2004-12-29
CN100480999C (zh) 2009-04-22
CA2471990A1 (en) 2004-12-23
AU2004202328A1 (en) 2005-01-13
JP2005018773A (ja) 2005-01-20
JP4629371B2 (ja) 2011-02-09
AU2004202328A2 (en) 2005-01-13

Similar Documents

Publication Publication Date Title
MXPA04006189A (es) Modelo de dependencia general para invalidar entradas de memoria inmediata.
EP1492027B1 (en) Registering for and retrieving database table change information that can be used to invalidate cache entries
EP2122561B1 (en) Web data usage platform
US8196100B2 (en) Content management system for computer software with dynamic traceability between code and design documents
US7194506B1 (en) Method and system for cache management of locale-sensitive content
US8996471B2 (en) Method and apparatus for providing help content corresponding to the occurrence of an event within a computer
US10728112B2 (en) System and method for tracking service results
WO2006110345A2 (en) Enterprise software system having multidimensional xbrl engine
US8225192B2 (en) Extensible cache-safe links to files in a web page
US20020107881A1 (en) Markup language encapsulation
US7676565B2 (en) Light weight software and hardware inventory
US9177000B2 (en) Data index using a linked data standard
JP4381496B2 (ja) データベース処理方法及びその実施装置並びにその処理プログラムを記録した媒体
CN100534084C (zh) 远程xml数据更新方法以及系统
US6587855B1 (en) Formatting and displaying data retrieved from a database
US20020198908A1 (en) Method and apparatus for delivery of external data from a centralized repository in a network data processing system
US20080155574A1 (en) Meta-data driven data access system
JP2009175854A (ja) データ整合性を確保するためのプログラム、方法及びコンピュータ・システム
KR101265805B1 (ko) 캐쉬 엔트리 유효성 판정 방법, 무효의 캐쉬 엔트리 퍼지 방법, 및 하나 이상의 컴퓨터 판독가능 저장 매체
US9430545B2 (en) Mechanism for communication in a distributed database
US20050257103A1 (en) System and method to observe user behavior and perform actions introspectable objects
US20090094268A1 (en) Animated data feeds
Monday et al. Exploring the Event Monitor Pattern
El-Hajj et al. Data format support for parallel numerical integration

Legal Events

Date Code Title Description
FG Grant or registration