ES2648119T3 - Procedimiento y sistema para almacenar en caché contenido web en un disco duro - Google Patents
Procedimiento y sistema para almacenar en caché contenido web en un disco duro Download PDFInfo
- Publication number
- ES2648119T3 ES2648119T3 ES12382510.1T ES12382510T ES2648119T3 ES 2648119 T3 ES2648119 T3 ES 2648119T3 ES 12382510 T ES12382510 T ES 12382510T ES 2648119 T3 ES2648119 T3 ES 2648119T3
- Authority
- ES
- Spain
- Prior art keywords
- queue
- hard disk
- requests
- queued
- write requests
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
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)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Procedimiento para almacenar en caché contenido web en un nodo de comunicación que comprende una memoria de disco duro, estando dicho nodo de comunicación configurado para planificar peticiones de lectura (27) y peticiones de escritura (28) de contenido web en el disco duro, estando el procedimiento caracterizado porque comprende: - poner en cola peticiones de escritura (27) en una primera cola (28); - poner en cola peticiones de lectura (29) en una segunda cola (30); teniendo la segunda cola (30) una mayor prioridad que la primera cola (28); - monitorizar un nivel de tasa de transferencia de datos del disco duro; - planificar peticiones de escritura (27) puestas en cola en la primera cola (28) solamente si la tasa de transferencia de datos supervisada está por debajo de un primer umbral; - planificar peticiones de lectura (29) puestas en cola en la segunda cola (30) en función de la tasa de transferencia de datos monitorizado del disco duro.
Description
5
10
15
20
25
30
35
40
45
50
55
DESCRIPCION
Procedimiento y sistema para almacenar en caché contenido web en un disco duro Campo de la invención
La presente invención tiene su aplicación en el sector de telecomunicación, y especialmente, en el área de suministro de contenido web.
Antecedentes de la invención
Con el fin de minimizar los retardos de suministro cuando un usuario solicita un contenido web a un servidor de Internet, las redes de comunicación se distribuyen normalmente en un sistema de nodos intermedios. En lugar de suministrar el contenido web solicitado directamente del servidor al usuario final, el contexto solicitado se almacena en caché en los nodos intermedios. Sin embargo, la capacidad de almacenamiento de los nodos intermedios es limitada, y no toda la información de cada servidor puede duplicarse en cada nodo individual. Por este motivo, los datos almacenados en un nodo se actualizan constantemente en un esfuerzo de comprender el contenido web más popular y solicitado, siguiendo normalmente una política de sustitución de lo menos usado recientemente (LRU).
Con el fin de maximizar la velocidad a la que el nodo proporciona contenido web almacenado en caché a un usuario final, los nodos comprenden normalmente dos tipos diferentes de medios de almacenamiento: una memoria de acceso aleatorio (RAM) rápida y un disco duro (HD) más lento. Si es necesario que el nodo suministre contenido del disco duro, es necesario que el sistema de almacenamiento en caché web del nodo almacene en primer lugar el contenido solicitado en la RAM, sustituyendo cualquier otro contenido almacenado en la RAM para liberar el espacio requerido. Por tanto, el sistema de almacenamiento en caché web del nodo reorganiza constantemente el contenido web en ambos medios de almacenamiento, en un esfuerzo por mantener el contenido más popular en la RAM, y el resto del contenido popular en el HD. Asimismo, es necesario copiar el contenido descargado del servidor a través de la RAM del nodo al HD para minimizar una pérdida de datos en caso de cortes de energía.
Se requiere que los sistemas de gestión de HD manejen simultáneamente operaciones de lectura y escritura. Puesto que los sistemas de almacenamiento en caché web convencionales tratan ambos tipos de operaciones por igual, las peticiones de lectura pueden retardarse cuando se opera bajo actividad intensa. Dado que los usuarios sólo perciben el retardo en operaciones de lectura, pero no son conscientes de cuándo se producen operaciones de escritura en el HD, esto da como resultado un deterioro del rendimiento global percibido por el usuario.
Se han realizado varias propuestas con el fin de aumentar el rendimiento de sistemas de almacenamiento basados en disco duro y reducir el retardo promedio experimentado en el suministro de un contenido web solicitado por un usuario. Por ejemplo, el rendimiento de un disco duro depende enormemente de cómo las cabeceras de lectura y escritura mecánicas se mueven a través del disco para cargar y escribir datos. Por este motivo, se han propuesto diversas políticas de planificación para optimizar la tasa de transferencia del disco agregado, tal como SCAN (algoritmo de elevación), FCFS (primero en llegar primero en servirse) y SSTF (tiempo de búsqueda más corto primero). Para aplicaciones en tiempo real, se aplican normalmente las políticas de tiempo límite más próximo primero (EDF). Sin embargo, estas políticas están diseñadas para propósitos generales y no tienen en cuenta las características específicas del contenido web que se lee/escribe en nodos intermedios, y, por tanto, no optimizan la experiencia de usuario en sistemas de almacenamiento en caché web.
Una estrategia diferente para optimizar el rendimiento de HD es mejorar el rendimiento de hardware del dispositivo, usando tecnologías de almacenamiento más rápidas. Por ejemplo, el documento US 2010/0199036 A1 presenta una clasificación jerárquica de múltiples discos duros, ordenados según su velocidad de acceso. Por tanto, los datos más populares se asignan en los discos duros más rápidos, minimizando así el retardo promedio de una petición de lectura. Asimismo, el documento US 2010/0235569 A1 optimiza una vida útil de memoria de estado sólido distribuyendo operaciones de escritura equitativamente a través de la memoria física, evitando zonas de alta demanda que puedan dañar el dispositivo. Estas técnicas son transparentes para la planificación de almacenamiento en caché web, y, por tanto, compatibles con cualquier sistema de almacenamiento en caché web.
Se han concebido diversos esquemas de sustitución de objeto para sustituir los algoritmos de LRU básicos y optimizar los datos que se mantienen en una memoria cuando dicha memoria está saturada y es necesario escribir nuevos datos. Por ejemplo, el documento US 6.266.742 B1 maximiza la eficacia de los sistemas de almacenamiento en caché usando una métrica que tiene en cuenta frecuencia de acceso, tamaño, vida útil y tiempo de carga de un objeto. El documento US 6.425.057 B1 propone la inclusión de una función de probabilidad para evaluar el coste de mantener o sustituir un objeto en la caché. El documento US 6.772.199 B1 permite aplicaciones para definir los criterios para sustitución de caché. Estas técnicas mejoran el uso de memoria caché optimizando los datos que se almacenan en la memoria, pero no afectan el tiempo requerido para acceder a dicha memoria en una operación de lectura. Por tanto, las operaciones de lectura todavía pueden retardarse por las operaciones de escritura en escenarios de actividad intensa, y puede degradarse la experiencia de usuario.
Por otro lado, un ejemplo de planificador para optimizar el rendimiento HD se describe por Hongyan Li et al. en "Regional Scheduler: A Region-based High Efficient Solid State Drive Scheduler", Computational Science and
5
10
15
20
25
30
35
40
45
50
Engineering (CSE), IEEE 15a Conferencia internacional de 2012, IEEE, diciembre de 2012, páginas 516-523. Hongyan Li et al. describe el problema de los programadores de E/S disponibles en el núcleo de Linux diseñado bajo discos duros rotativos tradicionales subyacentes, lo que puede hacer que su rendimiento sea subóptimo cuando se trabaja con unidades de estado sólido (SSD) emergentes. Hongyan Li et al. divulga un planificador SSD, en el que el espacio SSD completo se divide en varias regiones como unidades de programación básicas. El planificador sSd da preferencia a las solicitudes de lectura sobre escrituras para aprovechar el hecho de que las lecturas son mucho más rápidas que las escrituras, evitando la interferencia excesiva de escritura de lectura bloqueada. Dentro de la cola de programación de cada región, las solicitudes de escritura se ordenan antes de emitirlas, lo que mejora la duración de la SSD debido a la transformación exitosa de escrituras aleatorias en escrituras secuenciales.
Por tanto, existe la necesidad en el estado de la técnica de un procedimiento y un sistema para almacenar en caché contenido web en nodos intermedios equipados con discos duros que mejoran el retardo promedio de suministro de contenido web a un usuario, independientemente de la arquitectura de hardware y la política de sustitución de dicho nodo.
Sumario de la invención
La presente invención resuelve los problemas mencionados anteriormente dando a conocer un procedimiento (como en la reivindicación 1), un sistema (como en la reivindicación 6) y un programa informático (como en la reivindicación 11) que priorizan operaciones de lectura frente a operaciones de escritura, reduciendo así el retardo experimentado por las peticiones de recuperación de contenido web y mejorando la experiencia de usuario.
Con el procedimiento, el sistema y el programa informático dados a conocer, se reduce el tiempo promedio requerido para suministrar cualquier contenido web almacenado en caché en el disco duro de un nodo intermedio, optimizando la experiencia de usuario proporcionada por el servicio de almacenamiento en caché web. Adicionalmente, la invención dada a conocer puede aplicarse a cualquier sistema de almacenamiento en caché web basado en disco duro, puesto que es completamente independiente de características de hardware, criterios de asignación y esquemas de sustitución. Estas y otras ventajas resultarán evidentes a la luz de la descripción detallada de la invención.
Descripción de los dibujos
Con el fin de ayudar a entender las características de la invención, según una realización práctica preferida de la misma y con el fin de complementar esta descripción, se adjuntan las siguientes figuras como parte integrante de la misma, teniendo un carácter ilustrativo y no limitativo:
La figura 1 muestra un esquema de un nodo intermedio convencional para el almacenamiento en caché web.
La figura 2 presenta un esquema de un nodo intermedio para el almacenamiento en caché web que comprende una realización preferida del sistema de la invención.
La figura 3 es un diagrama de flujo relativo a una petición de lectura nueva, según una realización preferida del procedimiento de la invención.
La figura 4 muestra un esquema del sistema de puesta en cola y planificación según una realización preferida del sistema de la invención.
Realización preferida de la invención
Los temas definidos en esta descripción detallada se proporcionan para ayudar a una comprensión exhaustiva de la invención. Asimismo, se omite la descripción de funciones y elementos ampliamente conocidos por motivos de claridad y concisión.
Obsérvese que en este texto, la expresión “comprende” y sus derivados (tales como “que comprende”, etc.) no deben entenderse en un sentido excluyente, es decir, estos términos no deben interpretarse como que excluyen la posibilidad que lo que se describe y define puede incluir otros elementos, etapas, etc.
La figura 1 presenta la arquitectura de un nodo intermedio convencional para el almacenamiento en caché de contenido web en una red de comunicación. El nodo comprende una aplicación de almacenamiento en caché web (1), que se ocupa de gestionar peticiones de contenido web de usuarios, solicitando contenido web a un servidor remoto, y generando peticiones de lectura y escritura a los medios de almacenamiento de datos del nodo, es decir, una memoria RAM y un disco duro. El nodo también puede comprender cualquier otra aplicación (2) adicional. El nodo comprende además interfaces de programación de aplicación de núcleo (3) para gestionar los diferentes recursos del sistema operativo del nodo, tal como un planificador (7) de unidad de procesamiento central (CPU). Tanto la aplicación de almacenamiento en caché web (1) como cualquier otra aplicación (2) adicional comparten la memoria de sistema a través de un gestor de memoria (6) que también implementa, normalmente, protección de acceso de memoria y memoria virtual. Se accede a todos los dispositivos a través de controladores de dispositivo (4) específicos. Un sistema de archivos (5) gestiona todos los discos duros y ofrece la nueva lógica de discos, en forma
5
10
15
20
25
30
35
40
45
50
55
de archivos y directorios.
En sistemas de almacenamiento en caché web convencionales, con el fin de acceder a archivos en discos duros, la aplicación de almacenamiento en caché web (1) llama a diferentes API de núcleo (3), pero todas las llamadas se tratan de manera uniforme porque los sistemas operativos normalmente están diseñados para proporcionar un servicio equitativo a todas las aplicaciones. Siendo agnóstico a las características de cada aplicación, las aplicaciones de almacenamiento en caché web (1) implementadas en sistemas de almacenamiento convencionales pueden experimentar degradaciones de tiempo de respuesta innecesarias debido a operaciones de escritura de disco repentinas.
La figura 2 presenta un esquema de una aplicación de almacenamiento en caché web (1) implementada en un nodo intermedio según el sistema y el procedimiento de la invención. La invención usa un plano de suministro de red de almacenamiento en caché web (13) convencional aunque sólo afecta a la gestión de objeto de almacenamiento en caché web (14). El plano de sistema operativo (15) tampoco se ve afectado por la invención. Como cualquier otro sistema de almacenamiento en caché web, el plano de suministro de red de almacenamiento en caché web (13) comprende un gestor de petición (8) y un gestor de descarga (9). El gestor de petición (1) se ocupa de aceptar las peticiones de contenido web (normalmente peticiones de protocolo de transferencia de hipertexto, HTTP) de usuarios finales y generar la contestación requerida. El gestor de descarga (2) es responsable de generar peticiones a los servidores de origen para recuperar el contenido web que falta en el nodo intermedio.
El plano de gestión de objeto de almacenamiento en caché web (14) comprende un conjunto de objetos de almacenamiento en caché web (10), que actúa como primeros medios de planificación; un monitor de rendimiento de dispositivo (11), que monitoriza la tasa de transferencia de datos del disco duro, y, por tanto su nivel de saturación; y un gestor de persistencia de objeto (12) que actúa como segundos medios de planificación.
La figura 3 muestra en mayor detalle la operación del conjunto de objetos de almacenamiento en caché web (10). Cuando se recibe (16) una petición de contenido web en el nodo, el conjunto de objetos de almacenamiento en caché web (10) comprueba (17) si dicho contenido web está almacenado en caché en el nodo (o bien en la RAM o bien en el disco duro). Si el contenido no está almacenado en caché (18), se emite (19) una petición al gestor de descarga (9), y dicho gestor de descarga (9) solicita el contenido web a los servidores de origen. El conjunto de objetos de almacenamiento en caché web (10) finaliza (26) el proceso hasta que el contenido se recibe del servidor.
Si el contenido web solicitado está almacenado en caché en el nodo (20), el conjunto de objetos de almacenamiento en caché web (10) verifica (21) si dicho contenido web está almacenado en la RAM. Si no (22), se envía (23) una petición para recuperar el contenido web al gestor de persistencia de objeto (12). Por el contrario (24), el contenido web se suministra (25) al usuario de la RAM. En ambos casos, finaliza (26) el proceso en el conjunto de objetos de almacenamiento en caché web (10).
Adicionalmente, el conjunto de objetos de almacenamiento en caché web (10) gestiona todos los objetos de contenido web almacenados en el nodo, rastrea una cantidad fija de la memoria RAM, y mantiene el contenido web más popular almacenado en caché en la RAM según cualquiera de las políticas de sustitución de objeto para los datos almacenados en caché conocidas en el estado de la técnica. Cuando el conjunto de objetos de almacenamiento en caché web (10) determina que va a eliminarse un contenido web que está almacenado en la RAM, el conjunto de objetos de almacenamiento en caché web (10) comprueba si el objeto de contenido web ya está almacenado en el disco duro. Si es así, el contenido web se elimina simplemente de la RAM y no se realizan acciones adicionales. Si el objeto no está almacenado en la RAM, y según realizaciones particulares de la invención, el conjunto de objetos de almacenamiento en caché (10) puede decidir almacenarlo en el disco duro, o no realizar acciones adicionales, caso en el que el objeto se elimina efectivamente del almacenamiento en caché web en el nodo y la siguiente petición de dicho objeto generará una petición nueva para el servidor de origen.
Una vez que se descarga un objeto de contenido web del servidor de origen, el gestor de descarga (9) informa al conjunto de objetos de almacenamiento en caché web (10) de la recepción del nuevo objeto. El conjunto de objetos de almacenamiento en caché web (10) comprueba si el objeto debe almacenarse en caché dependiendo de, por ejemplo, cabeceras de HTTP e información de expiración, o de cualquier otro criterio de gestión de caché. Si el conjunto de objetos de almacenamiento en caché web (10) decide almacenar en caché el objeto, se solicita al gestor de persistencia de objeto (12) que almacene el objeto en el disco duro. Por el contrario, el objeto se almacena sólo en la RAM y no se realiza ninguna operación adicional en el disco duro.
La figura 4 presenta los componentes del gestor de persistencia de objeto (12) con el fin de gestionar peticiones de escritura (27) y peticiones de lectura (29) dirigidas al disco duro. Las peticiones de escritura (27), es decir, peticiones para almacenar contenido web en el disco duro, se ponen en cola en una primera cola (28) por el conjunto de objetos de almacenamiento en caché web (10). Las peticiones de lectura (29), es decir, peticiones para recuperar contenido web del disco duro, se ponen en cola en una segunda cola (30) por el conjunto de objetos de almacenamiento en caché web (10), teniendo la segunda cola (30) una mayor prioridad que la primera cola (28). Un planificador de operación de disco (31) comprendido en el gestor de persistencia de objeto (12) recibe información acerca del estado del disco duro, relativa a su tasa de transferencia de datos y, por tanto, su nivel de saturación, del monitor de rendimiento de dispositivo (11), y planifica las peticiones puestas en cola en la primera cola (28) y la
5
10
15
20
25
segunda cola (30) en una cola de operación de disco (32). Cuando la tasa de transferencia del disco duro está por encima de un primer umbral dado, es decir, cuando el disco duro está realizando muchas operaciones de lectura y/o escritura, no se planifica ninguna petición de escritura (27) de la primera cola (27) a través de la cola de operación de disco (32), dando así prioridad a las peticiones de lectura (29). Sin embargo, en escenarios con una baja carga de operación en el disco duro, es decir, cuando la tasa de transferencia de datos de disco duro está por debajo de un segundo umbral, inferior al primer umbral, pueden planificarse múltiples peticiones de escritura (27) puestas en cola en la primera cola (28) a través de la cola de operación de disco (32).
El disco duro accede a los elementos de la cola de operación de disco (32), es decir, las operaciones de lectura (29) y las operaciones de lectura (27) puestas en cola y realiza las tareas correspondientes (escribir datos en el disco duro o recuperar datos de dicho disco duro). Cuando se completa (33) una operación de disco (es decir, una operación de lectura o escritura en el disco duro), el planificador de operación de disco puede poner en cola más operaciones en la cola de operación de disco (32), priorizando las peticiones de lectura (29). Todas las colas del gestor de persistencia de objeto (12) son colas FIFO.
Puesto que las peticiones puestas en cola en el gestor de persistencia de objeto (12) pueden corresponder a contenido web de tamaños diferentes, el planificador de operación de disco (31) convierte estas peticiones en operaciones de disco con un tamaño fijo, es decir, operaciones de disco que recuperan o escriben un número fijo de bits. Asimismo, puesto que las peticiones de escritura (27) pueden retardarse infinitamente en la primera cola (28), el gestor de persistencia de objeto (12) comprueba periódicamente si expiró el contenido web relacionado con la petición de escritura (27). Si expiró el contenido web o está a punto de expirar, la petición de escritura (27) se cancela por el gestor de persistencia de objeto (12), evitando operaciones de escritura innecesarias.
La arquitectura y las políticas de planificación dadas a conocer permiten priorizar peticiones de usuarios para contenido web almacenados en caché en el disco duro frente a operaciones que almacenan datos emitidas por el conjunto de objetos de almacenamiento en caché web (10), y mejorar así la experiencia global del usuario, que percibe un retardo más corto cuando pide datos almacenados en caché en el disco duro. Además, el procedimiento y el sistema de la invención pueden combinarse ventajosamente con cualquier otra técnica de optimización de almacenamiento en caché web con respecto a hardware, criterios de asignación o técnicas de sustitución de objeto.
Claims (11)
- 5101520253035404550REIVINDICACIONES1. Procedimiento memoria de disco duro, peticiones de escritura comprende:- poner en cola peticiones de escritura (27) en una primera cola (28);- poner en cola peticiones de lectura (29) en una segunda cola (30); teniendo la segunda cola (30) una mayor prioridad que la primera cola (28);- monitorizar un nivel de tasa de transferencia de datos del disco duro;- planificar peticiones de escritura (27) puestas en cola en la primera cola (28) solamente si transferencia de datos supervisada está por debajo de un primer umbral;- planificar peticiones de lectura (29) puestas en cola en la segunda cola (30) en función de transferencia de datos monitorizado del disco duro.
- 2. Procedimiento según la reivindicación 1 caracterizado porque el procedimiento comprende además planificar una petición de escritura (27) puesta en cola en la primera cola (28) si el nivel de saturación monitorizado del disco duro está por debajo de un segundo umbral.
- 3. Procedimiento según cualquiera de las reivindicaciones anteriores, caracterizado porque las peticiones de escritura (27) puestas en cola en la primera cola (28) se dividen en bloques de datos con un tamaño fijo.
- 4. Procedimiento según cualquiera de las reivindicaciones anteriores, caracterizado porque la primera cola (28) es una cola de tipo primero en entrar primero en salir.
- 5. Procedimiento según cualquiera de las reivindicaciones anteriores, caracterizado porque el procedimiento comprende además comprobar una expiración de peticiones de escritura (27) puestas en cola en la primera cola (28) y eliminar peticiones de escritura (27) expiradas de la primera cola (28).
- 6. Sistema para almacenar en caché contenido web en un nodo de comunicación que comprende una memoria de disco duro, estando dicho nodo de comunicación configurado para planificar peticiones de lectura (27) y peticiones de escritura (28) de contenido web en el disco duro, estando el sistema caracterizado porque comprende además:- primeros medios de planificación (10) configurados para poner en cola peticiones de escritura (27) en una primera cola (28) y poner en cola peticiones de lectura (29) en una segunda cola (30);- medios de monitorización (11) adaptados para monitorizar una tasa de transferencia de datos del disco duro;la tasa de la tasa depara almacenar en caché contenido web en un nodo de comunicación que comprende una estando dicho nodo de comunicación configurado para planificar peticiones de lectura (27) y (28) de contenido web en el disco duro, estando el procedimiento caracterizado porque- segundos medios de planificación (12) configurados para planificar (27) peticiones de escritura puestas encola en la primera cola (28) solamente si la tasa de transferencia de datos monitorizado está por debajo de un primer umbral y para planificar peticiones de lectura (29) puestas en cola en la segunda cola (20) como una función de la tasa de transferencia de datos monitorizado del disco duro, dando una mayor prioridad a la segunda cola (30).
- 7. Sistema según la reivindicación 6, caracterizado porque los segundos medios de planificación (12) están configurados además para planificar múltiples peticiones de escritura (27) puesta en cola en la primera cola (28) si el nivel de saturación monitorizado del disco duro está por debajo de un segundo umbral.
- 8. Sistema según cualquiera de las reivindicaciones 6 a 7, caracterizado porque las peticiones de escritura (27) puestas en cola en la primera cola (28) se dividen en bloques de datos con un tamaño fijo.
- 9. Sistema según cualquiera de las reivindicaciones 6 a 8, caracterizado porque la primera cola (28) es una cola de tipo primero en entrar primero en salir.
- 10. Sistema según cualquiera de las reivindicaciones 6 a 9, caracterizado porque los segundos medios de planificación (12) están configurados además para comprobar una expiración de peticiones de escritura (27) puestas en cola en la primera cola (28) y para eliminar peticiones de escritura (27) expiradas de la primera cola.
- 11. Programa informático que comprende medios de código de programa informático adaptados para realizar las etapas del procedimiento según cualquiera de las reivindicaciones 1 a 5, cuando dicho programa se ejecuta en un ordenador, un procesador de señales digitales, una disposición de puertas programables en campo, un circuito integrado específico de aplicación, un microprocesador, un microcontrolador o cualquier otra forma de hardware programable.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP12382510.1A EP2746958B1 (en) | 2012-12-18 | 2012-12-18 | Method and system of caching web content in a hard disk |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2648119T3 true ES2648119T3 (es) | 2017-12-28 |
Family
ID=47561289
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES12382510.1T Active ES2648119T3 (es) | 2012-12-18 | 2012-12-18 | Procedimiento y sistema para almacenar en caché contenido web en un disco duro |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20150331633A1 (es) |
| EP (1) | EP2746958B1 (es) |
| BR (1) | BR112015014638B1 (es) |
| ES (1) | ES2648119T3 (es) |
| WO (1) | WO2014096045A1 (es) |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10270876B2 (en) * | 2014-06-02 | 2019-04-23 | Verizon Digital Media Services Inc. | Probability based caching and eviction |
| US9423961B2 (en) * | 2014-09-08 | 2016-08-23 | Apple Inc. | Method to enhance programming performance in multilevel NVM devices |
| US20160202909A1 (en) * | 2015-01-14 | 2016-07-14 | College Of William And Mary | I/o scheduling method using read prioritization to reduce application delay |
| US10606510B2 (en) * | 2015-10-29 | 2020-03-31 | Netflix, Inc. | Memory input/output management |
| US10530887B1 (en) * | 2016-12-06 | 2020-01-07 | Amazon Technologies, Inc. | Pre-caching data for use upon execution of program code |
| CN113778317B (zh) * | 2020-06-10 | 2024-12-13 | 慧荣科技股份有限公司 | 计算机可读取存储介质、调度主机命令的方法及装置 |
| KR20240100083A (ko) * | 2022-12-22 | 2024-07-01 | 삼성전자주식회사 | 스토리지 장치, 스토리지 컨트롤러 및 스토리지 컨트롤러의 동작 방법 |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10275059A (ja) * | 1996-04-30 | 1998-10-13 | Matsushita Electric Ind Co Ltd | 記憶デバイス制御装置及び管理システム |
| US6266742B1 (en) | 1997-10-27 | 2001-07-24 | International Business Machines Corporation | Algorithm for cache replacement |
| US6425057B1 (en) | 1998-08-27 | 2002-07-23 | Hewlett-Packard Company | Caching protocol method and system based on request frequency and relative storage duration |
| US6772199B1 (en) | 2000-09-14 | 2004-08-03 | International Business Machines Corporation | Method and system for enhanced cache efficiency utilizing selective replacement exemption |
| US7107267B2 (en) * | 2002-01-31 | 2006-09-12 | Sun Microsystems, Inc. | Method, system, program, and data structure for implementing a locking mechanism for a shared resource |
| US7716388B2 (en) * | 2005-05-13 | 2010-05-11 | Texas Instruments Incorporated | Command re-ordering in hub interface unit based on priority |
| US8612668B2 (en) | 2008-11-24 | 2013-12-17 | Juniper Networks, Inc. | Storage optimization system based on object size |
| US20100199036A1 (en) | 2009-02-02 | 2010-08-05 | Atrato, Inc. | Systems and methods for block-level management of tiered storage |
| US8468318B2 (en) * | 2010-09-15 | 2013-06-18 | Pure Storage Inc. | Scheduling of I/O writes in a storage environment |
| US8930633B2 (en) * | 2012-06-14 | 2015-01-06 | International Business Machines Corporation | Reducing read latency using a pool of processing cores |
-
2012
- 2012-12-18 EP EP12382510.1A patent/EP2746958B1/en not_active Not-in-force
- 2012-12-18 ES ES12382510.1T patent/ES2648119T3/es active Active
-
2013
- 2013-12-18 WO PCT/EP2013/077158 patent/WO2014096045A1/en not_active Ceased
- 2013-12-18 US US14/653,705 patent/US20150331633A1/en not_active Abandoned
- 2013-12-18 BR BR112015014638-4A patent/BR112015014638B1/pt not_active IP Right Cessation
Also Published As
| Publication number | Publication date |
|---|---|
| WO2014096045A1 (en) | 2014-06-26 |
| BR112015014638A2 (pt) | 2017-09-26 |
| EP2746958A1 (en) | 2014-06-25 |
| BR112015014638B1 (pt) | 2021-02-09 |
| EP2746958B1 (en) | 2017-08-16 |
| US20150331633A1 (en) | 2015-11-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2648119T3 (es) | Procedimiento y sistema para almacenar en caché contenido web en un disco duro | |
| US11940959B2 (en) | Heterogeneous distributed file system using different types of storage mediums | |
| US9665493B2 (en) | Increased cache performance with multi-level queues of complete tracks | |
| US9703504B2 (en) | Storage system, recording medium storing data rebalancing program, and data rebalancing method | |
| US20140351151A1 (en) | Providing a lease period determination | |
| US11068413B2 (en) | Allocation of cache storage among applications based on application priority and minimum retention time for tracks in least recently used demoting schemes | |
| US10157082B2 (en) | Preferential CPU utilization for tasks | |
| US10359945B2 (en) | System and method for managing a non-volatile storage resource as a shared resource in a distributed system | |
| US9509529B1 (en) | Assured messaging system with differentiated real time traffic | |
| CN104219279B (zh) | 用于超大规模分布式处理应用的模块化架构的系统和方法 | |
| WO2006057790A9 (en) | System and method for managing quality of service for a storage system | |
| US20150237140A1 (en) | Data storage systems and methods | |
| CN103562872A (zh) | 双活动系统的多个资源的资源分配 | |
| US10534712B1 (en) | Service level agreement based management of a pre-cache module | |
| CN109359062A (zh) | 一种元数据读缓存方法、装置及设备 | |
| CN107018172A (zh) | 用于在分布式缓存存储器中自适应分区的系统和方法 | |
| US10241928B2 (en) | Maintaining cache consistency in a cache for cache eviction policies supporting dependencies | |
| US10936369B2 (en) | Maintenance of local and global lists of task control blocks in a processor-specific manner for allocation to tasks | |
| US9639473B1 (en) | Utilizing a cache mechanism by copying a data set from a cache-disabled memory location to a cache-enabled memory location | |
| US9749409B2 (en) | Predictive data replication and acceleration | |
| JP2012190099A (ja) | ストレージシステム | |
| Chen et al. | Scheduling-aware data prefetching for data processing services in cloud | |
| Fukuda et al. | Cache Management with Fadvise Based on LFU | |
| Alfares | Adapting Key-Value Storage Systems to Minimize Cost in the Public Cloud | |
| WO2023227224A1 (en) | Method and system for smart caching |