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 PDF

Info

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
Application number
ES12382510.1T
Other languages
English (en)
Inventor
Xiaoyuan Yang
Martin Iván Levi
Eguzki ASTIZ LEZAUN
Armando Antonio García Sánchez Mendoza
David Guijarro Guillén
Arcadio PANDO CAO
Maite Burrel Díez
David Conejero Olesti
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonica SA
Original Assignee
Telefonica SA
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 Telefonica SA filed Critical Telefonica SA
Application granted granted Critical
Publication of ES2648119T3 publication Critical patent/ES2648119T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk 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)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    REIVINDICACIONES
    1. 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. 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. 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. 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. 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. 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 de
    para 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 en
    cola 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. 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. 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. 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. 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. 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.
ES12382510.1T 2012-12-18 2012-12-18 Procedimiento y sistema para almacenar en caché contenido web en un disco duro Active ES2648119T3 (es)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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