BR112015014638B1 - método e sistema de cache do conteúdo da web em um disco rígido - Google Patents

método e sistema de cache do conteúdo da web em um disco rígido Download PDF

Info

Publication number
BR112015014638B1
BR112015014638B1 BR112015014638-4A BR112015014638A BR112015014638B1 BR 112015014638 B1 BR112015014638 B1 BR 112015014638B1 BR 112015014638 A BR112015014638 A BR 112015014638A BR 112015014638 B1 BR112015014638 B1 BR 112015014638B1
Authority
BR
Brazil
Prior art keywords
row
requests
hard disk
queued
web content
Prior art date
Application number
BR112015014638-4A
Other languages
English (en)
Other versions
BR112015014638A2 (pt
Inventor
Xiaoyuan Yang
Ivan Levi Martin
Eguzki ASTIZ LEZAUN
Armando Antonio García Sánchez Mendoza
David Guijarro Guillen
Arcadio PANDO CAO
Maite Burrel Diez
David Conejero Olesti
Original Assignee
Telefonica, S.A.
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, S.A. filed Critical Telefonica, S.A.
Publication of BR112015014638A2 publication Critical patent/BR112015014638A2/pt
Publication of BR112015014638B1 publication Critical patent/BR112015014638B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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

MÉTODO E SISTEMA DE CACHE DO CONTEÚDO DA WEB EM UM DISCO RÍGIDO. Método e sistema de armazenamento e recuperação de conteúdo da Web em uma memória cache de disco rígido, em que as solicitações de leitura (29) e as solicitações de escrita (27) são separadas em duas filas diferentes (29, 31) e as solicitações de leitura (29) são priorizadas. Dessa forma, solicitações de escrita (27) são retardadas, seletivamente, para favorecer operações de leitura e aperfeiçoar a experiência do usuário.

Description

CAMPO DA INVENÇÃO
[001] A presente invenção tem sua aplicação dentro do setor das telecomunicações e, especialmente, na área de fornecimento de conteúdo da web.
ANTECEDENTES DA INVENÇÃO
[002] A fim de minimizar retardos na distribuição, quando um usuário solicita um conteúdo da web para um servidor da internet, redes de comunicação são distribuídas, tipicamente, em um sistema de nós intermediários. Em lugar de distribuir o conteúdo da web solicitado diretamente do servidor para o usuário final, o contexto solicitado é armazenado em cache nos nós intermediários. Contudo, a capacidade de armazenamento dos nós intermediários é limitada e nem toda a informação de cada servidor pode ser duplicada em cada nó único. Por essa razão, os dados armazenados em um nó são atualizados constantemente em um esforço para compreender o conteúdo da web mais popular e solicitado, tipicamente, em seguida a uma política de substituição de Least Recently Used (LRU - Menos Utilizados Recentemente).
[003] A fim de maximizar a velocidade em que o nó proporciona conteúdo da web armazenado em cache para um usuário final, os nós, tipicamente, compreendem duas espécies diferentes de meios de armazenamento: uma Random Access Memory(RAM - Memória de Acesso Randômico) rápida e um hard disk (HD - disco rígido) mais lento. Se o nó precisa distribuir conteúdo do disco rígido, o sistema de cache da web do nó precisa primeiro armazenar o conteúdo solicitado na RAM, substituindo quaisquer outros conteúdos armazenados na RAM para liberar o espaço requerido. Portanto, o sistema de cache da web do nó reorganiza, constantemente o cache da web em ambos os meios de armazenamento, em um esforço para manter o conteúdo mais popular na RAM e o resto do conteúdo particular no HD. Também, o conteúdo baixado do servidor através da RAM do nó precisa ser copiado para o HD a fim de minimizar perda de dados no caso de interrupções de energia.
[004] Sistemas de gerenciamento de HD são requeridos para lidar, simultaneamente, com operações de leitura e escrita. Uma vez que os sistemas de cache da web convencionais tratam ambos os tipos de operações de igual modo, solicitações de leitura podem ser retardadas, quando operando sob atividade pesada. Como os usuários apenas percebem o retardo em operações de leitura, mas não têm conhecimento de quando as operações de escrita ocorrem no HD, isso resulta em uma deterioração do desempenho global percebida pelo usuário.
[005] Diversas propostas têm sido feitas a fim de aumentar o desempenho do disco rígido com base em sistemas de armazenamento e reduzir o retardo médio sofrido no fornecimento de um conteúdo da web solicitado por um usuário. Por exemplo, o desempenho de um disco rígido depende, fortemente, de como os cabeçalhos mecânicos de leitura e escrita são movidos através do disco para recuperar e escrever dados. Por essa razão, várias políticas de escalonamento têm sido propostas para otimizar a taxa de transferência agregada de disco, tal como SCAN (elevator algorithm - algoritmo elevador), FCFS (First Come First Serve- Primeiro a Chegar, Primeiro a Servir) e SSTF (Shortest Seek Time First - menor tempo de busca em primeiro lugar). Para aplicações em tempo real, políticas de Earliest DeadlineFirst (EDF - Mais Antigas Primeiro) são aplicadas, tipicamente. Contudo, essas políticas são projetadas para fins gerais e não levam em conta as características específicas do conteúdo da web que está sendo ligo/escrito em nós intermediários e, portanto, não otimizam a experiência do usuário em sistemas de cache da web.
[006] Uma estratégia diferente para otimizar o desempenho do HD é aperfeiçoar o desempenho do hardware do dispositivo, usando tecnologias de armazenamento mais rápidas. Por exemplo, a US 2010/0199036 A1 apresenta uma classificação hierárquica de múltiplos discos rígidos, classificados de acordo com sua taxa de acesso. Os dados mais populares, portanto, são alocados nos discos rígidos mais rápidos, desse modo, minimizando o retardo médio de uma solicitação de leitura. Também, a US 2010/0235569 A1 um alcance de memória de estado sólido pela distribuição de operações de escrita completamente através da memória física, evitando hotspotsque podem danificar o dispositivo. Essas técnicas são transparentes para o escalonamento de cache da web e, portanto, compatíveis com qualquer sistema de cache da web.
[007] Vários esquemas de substituição de objeto têm sido concebidos para substituir algoritmos básicos de LRU e otimizar os dados que são mantidos em uma memória, quando a dita memória se toma saturada e novos dados precisam ser escritos. Por exemplo, a US 6.266.742 B1 maximiza a eficiência de sistemas de cache pelo uso de uma métrica que leva em conta frequência de acesso, tamanho, duração e tempo para recuperar um objeto. A US 6.425.057 B1 propõe a inclusão de uma função de sistemas de probabilidade para avaliar o custo de manutenção ou substituição de um objeto na cache. A US 6.772.199 B1 permite aplicações para definir os critérios para substituição de cache. Essas técnicas aperfeiçoam o uso da memória cache pela otimização dos dados que estão armazenados na memória, mas não afetar o tempo requerido para acessar a dita memória em uma operação de leitura. Portanto, as operações de leitura podem ser ainda retardadas pelas operações de escrita em cenários de atividade pesada e a experiência do usuário pode ser degradada.
[008] Portanto, há uma necessidade no estado da técnica de um método e um sistema de conteúdo da web de cache em nós intermediários, equipados com discos rígidos, que aperfeiçoam o retardo médio de distribuição de conteúdo da web para um usuário, independente da arquitetura de hardwaree da política de substituição do dito nó.
SUMÁRIO DA INVENÇÃO
[009] A invenção corrente resolve os problemas antes mencionados pela divulgação de um método, de um sistema e de programa de computador que priorizam operações de leitura versus operações de escrita, portanto, reduzindo o retardo sofrido pelas solicitações de recuperação de conteúdo da web e aperfeiçoando a experiência do usuário.
[010] Em um primeiro aspecto da presente invenção, um método de cache do conteúdo da web em um nó com um disco rígido é divulgado. De acordo com o método divulgado, solicitações de escrita de conteúdo da web emitido para o disco rígido são enfileiradas em uma primeira fila com uma prioridade menor, enquanto solicitações de leitura de conteúdo da web emitido para o dito disco rígido são enfileiradas através de uma segunda fila com uma prioridade maior. Portanto, solicitações de leitura são priorizadas, quando do escalonamento de solicitações de acesso para o disco rígido e o retardo de acesso, quando proporcionando conteúdo da web para um usuário, é reduzido. De preferência, o método ainda compreende monitoramento de um nível de saturação do disco rígido, isto é, a relação entre uma taxa de transferência de dados real em relação à taxa de transferência de dados máxima do disco rígido. A informação a cerca do nível de saturação é, então, aplicada ao escalonamento de solicitações de leitura e de escrita que chegam se suas respectivas filas, sempre mantendo uma prioridade maior para operações de leitura. Mais preferivelmente, nenhuma operação de escrita enfileirada na fila de operações de escrita é escalonada, a menos que o nível de saturação do dispositivo esteja abaixo de um dado primeiro limite. Portanto, o disco rígido é acessado apenas para escrever conteúdo da web, quando o dito disco rígido não está saturado e pode ainda proporcionar conteúdo da web solicitado, sem um retardo aumentado.
[011] De preferência, o método compreende embalagens de múltiplas operações de escrita, quando o nível de saturação do disco rígido está abaixo de um dado segundo limite. Portanto, em cenários com baixa atividade do disco rígido, múltiplas operações de escrita podem ser escalonadas, simultaneamente, para também otimizar o retardo de operações de armazenamento de conteúdo da web.
[012] De preferência, a fila para solicitações de escrita é uma fila fírst-in first-out (FIFO - Primeiro a Entrar Primeiro a Sair). Também, de preferência, solicitações na dita fila são divididas em blocos de dados de um tamanho constante. Isso permite armazenar, progressivamente, conteúdo da web no disco rígido, usando a taxa de transferência dos dados restantes, permitida pelas operações de leitura, em cenários onde a taxa de transferência dos dados restantes não será suficiente para armazenar todo um objeto de conteúdo da web, sem retardo das operações de leitura.
[013] Uma vez que solicitações de escrita podem ser retardadas indefinidamente em sua fila, quando um fluxo contínuo de solicitações de leitura está presente, o método, de preferência, compreende a verificação de uma expiração das ditas solicitações de escrita e remoção da fila de qualquer solicitação expirada.
[014] Em um segundo aspecto da presente invenção, um sistema de cache de conteúdo da web em um nó com um disco rígido é apresentado. O sistema compreende:
[015] - Primeiro meio de escalonamento, que enfileira solicitações de leitura de conteúdo da web armazenados em cache no disco rígido do nó em uma primeira fila e solicitações de escrita para armazenamento em cache de conteúdo da web no dito disco rígido em uma segunda fila. De preferência, a fila para solicitação de escrita é uma fila FIFO e o conteúdo da web enfileirado é dividido em blocos de dados com um tamanho fixo.
[016] - De preferência, sistema de monitoramento adaptado para medir uma taxa de transferência de dados de um disco rígido.
[017] - Segundo meio de escalonamento, que escalona solicitações de leitura e de escrita enfileiradas nas duas filas, dando uma prioridade maior para a fila de solicitações de leitura. De preferência, o segundo meio de escalonamento realiza o escalonamento de solicitações de escrita e leitura de acordo com a taxa de transferência de dados monitorada do disco rígido. Mais preferivelmente, o segundo meio de escalonamento é configurado para escalonar apenas solicitações de escrita enfileiradas, quando a taxa de transferência de dados está abaixo de um dado primeiro limite, isto é, quando o disco rígido não está saturado.
[018] Também de preferência, mais de uma solicitação de escrita pode ser escalonada, simultaneamente, quando a taxa de transferência de dados está abaixo de um segundo limite (menor do que o primeiro limite). De preferência, o segundo meio de escalonamento verifica uma expiração das solicitações de escrita enfileiradas e descarta quaisquer solicitações expiradas.
[019] Em um terceiro aspecto da presente invenção, um programa de computador é divulgado, compreendendo meio de código de programa de computador adaptado para realização do método descrito, quando o dito programa está sendo executado em um computador, um processador de sinais digitais, uma matriz de porta programável em campo, um circuito integrado de aplicação específica, um microprocessador, um microcontrolador ou qualquer outra forma de hardwareprogramável.
[020] Com o método, sistema e programa de computador divulgados, o tempo médio requerido para distribuir qualquer conteúdo da web armazenado em cache no disco rígido de um nó intermediário é reduzido, otimizando a experiência do usuário proporcionada pelo serviço de cache da web. Adicionalmente, a invenção divulgada pode ser aplicada a qualquer sistema de cache da web com base em disco rígido, uma vez que é completamente independente de características de hardware,critérios de alocação e esquemas de substituição. Essas e outras vantagens serão evidentes à luz da descrição detalhada da invenção.
DESCRIÇÃO DOS DESENHOS
[021] Para fins de auxílio na compreensão das características da invenção, de acordo com uma sua modalidade prática preferida e, a fim de complementar esta descrição, as figuras a seguir são anexadas como uma parte integral da mesma, tendo um caráter ilustrativo e não limitativo:
[022] A figura 1 mostra um esquema de um nó intermediário convencional para cache da web.
[023] A figura 2 apresenta um esquema de um nó intermediário para ache da web compreendendo uma modalidade preferida do sistema da invenção.
[024] A figura 3 é um diagrama de fluxo tratando com uma nova solicitação de leitura, de acordo com uma modalidade preferida do método da invenção.
[025] A figura 4 mostra um esquema do sistema de enfileiramento e escalonamento de acordo com uma modalidade preferida do sistema da invenção
MODALIDADE PREFERIDA DA INVENÇÀO
[026] As matérias definidas nesta descrição detalhada são proporcionadas para auxiliar em uma compreensão abrangente da invenção. Em consequência, aqueles de habilidade comum na técnica reconhecerão que mudanças e modificações de variação das modalidades descritas neste documento podem ser feitas sem afastamento do escopo e do espírito da invenção. Também, a descrição de funções e de elementos bem conhecidos é omitida para clareza e concisão.
[027] Note que neste texto, o termo “compreende” e suas derivações (como “compreendendo”, etc.) não deve ser entendido em um sentido excludente, isto é, esses termos não devem ser interpretados como excluindo a possibilidade de que aquilo que é descrito e definido pode incluir outros elementos, etapas, etc.
[028] A figura 1 apresenta a arquitetura de um nó intermediário convencional para armazenamento em cache de conteúdo da web em uma rede de comunicação. O nó compreende um aplicativo (1) de cache da web, que está encarregada de gerenciamento de solicitações de conteúdo da web de usuários, solicitando conteúdo da web a um servidor remoto e gerando solicitações de leitura e de escrita para os meios de armazenamento de dados do nó, isto é, uma memória RAM e um disco rígido. O nó pode compreender também qualquer outro aplicativo (2) adicional. O nó ainda compreende interfaces de programação (3) de aplicativos do kernelpara gerenciar os diferentes recursos do sistema operacional do nó, como um escalonador (7) de unidade central de processamento (7). Tanto o aplicativo (1) de cache da web quanto qualquer outro aplicativo adicional (2) compartilham a memória do sistema através de um gerenciador de memória (6), que também implementa, tipicamente, proteção de acesso à memória e memória virtual. Todos os dispositivos são acessados através de driversde dispositivos específicos (4). Um sistema de arquivo (5) gerencia todos os discos rígidos e oferece nova lógica de discos, na forma de arquivos e diretórios.
[029] Em sistemas de cache da web convencionais, a fim de acessar arquivos em discos rígidos, o aplicativo de cache (1) chama APIs de kernel diferentes (3), mas todas as chamadas são tratadas uniformemente porque os sistemas operacionais são projetados, tipicamente, para proporcionar um serviço equitativo para todos os aplicativos. Sendo agnósticos para as características de cada aplicativo, os aplicativos (1) de cache da web, implementados em sistemas de armazenamento convencionais, podem sofrer de degradações desnecessárias no tempo de resposta devido a súbitas operações de escrita em disco.
[030] A figura 2 apresenta um esquema de um aplicativo (1) de cache da web implementado em um nó intermediário de acordo com o sistema e método da invenção. A invenção usa um plano de distribuição de rede de cache da web convencional (13) embora afetando apenas o gerenciamento (14) de objeto de cache da web. O plano (15) de sistema operacional também não é afetado pela invenção. Como qualquer outro sistema de cache da web, um plano de distribuição (13) de rede de cache da web compreende um gerenciador de solicitação (8) e um gerenciador de download(9). O gerenciador de solicitação (1) está encarregado de aceitar as solicitações de conteúdo da web (tipicamente, solicitações de hypertext transfer protocol - protocolo de transferência de hipertexto - HTTP) de usuários finais e gerando a resposta requerida. O gerenciador de download (2) é responsável pela geração de solicitações para os servidores de origem a fim de recuperar conteúdo da web que está faltando no nó intermediário.
[031] O plano de gerenciamento (14) de objeto de cache da web compreende um grupo (10) de objetos de cache da web que atua como primeiro meio de escalonamento; um monitor (11) de desempenho de dispositivo, que monitora a taxa de transferência de dados do disco rígido e, portanto, o nível de saturação; e um gerenciador (12) de persistência de objeto, que atua como segundo meio de escalonamento.
[032] A figura 3 mostra em maiores detalhes a operação do grupo (10) de objetos de cache da web. Quando uma solicitação de conteúdo da web é recebida (16) no nó, o grupo (10) de objetos de cache da web verifica (17) se o dito conteúdo da web está armazenado na cache no nó (ou na RAM ou no disco rígido), Se o conteúdo não estiver armazenado na cache (18), uma solicitação para o gerenciador (9) de download é emitida (19) e o dito gerenciador (9) de download solicita o conteúdo da web para os servidores de origem. O grupo (10) de objetos de cache da web acabe (26) o processo até que o conteúdo seja recebido do servidor.
[033] Se o conteúdo da web solicitado estiver armazenado em cache no nó (20), o grupo (10) de objetos de cache da web verifica (21) se o dito conteúdo da web está armazenado na RAM. Se não (22), uma solicitação para recuperar o conteúdo da web é enviada (23) para o gerenciador (12) de persistência de objeto. Caso contrário (24, o conteúdo da web é distribuído para o usuário a partir da RAM. Em ambos os casos, o processo no grupo (10) de objetos de cache da web acaba (26).
[034] Adicionalmente, o grupo (10) de objetos de cache da web gerencia todos os objetos armazenados do conteúdo da web no nó, rastreia uma quantidade fixa de memória RAM e mantém o conteúdo da web mais popular armazenado em cache na RAM, de acordo com qualquer uma das políticas de substituição de objeto para dados armazenados na cache conhecidos no estado da técnica. Quando o grupo (10) de objetos de cache da web determina que um conteúdo da web esteja armazenado na RAM deve ser removido, o grupo (10) de objetos de cache da web verifica se o objeto de conteúdo da web já está armazenado no disco rígido. Se for esse o caso, o conteúdo da web simplesmente é removido da RAM e nenhuma outra ação é empreendida. Se o objeto não estiver armazenado na RAM, e de acordo com modalidades particulares da invenção, grupo (10) de objetos de cache pode decidir armazená-lo no disco rígido, ou não empreender outras ações, em cujo caso o objeto é removido, efetivamente, da cache da web no nó e a solicitação seguinte para o dito objeto gerará uma nova solicitação para o servidor de origem.
[035] Uma vez que o objeto de conteúdo da web seja baixado do servidor original, o gerenciador (9) de downloadinforma ao grupo (10) de objetos de cache da web da recepção do novo objeto. O grupo (10) de objetos de cache da web verifica se o objeto tem que ser armazenado em cache, dependendo, por exemplo, de cabeçalhos de HTTP e informação de expiração, ou de qualquer outro critério de gerenciamento de cache. Se o grupo (10) de objetos de cache da web decide armazenar em cache o objeto, o gerenciador (12) de persistência de objeto é solicitado a armazenar o objeto no disco rígido. Caso contrário, o objeto é apenas armazenado na RAM e nenhuma outra operação é realizada no disco rígido.
[036] A figura 4 apresenta os componentes do gerenciador (12) de persistência de objeto a fim de gerenciar solicitações de escrita (27) e solicitações de leitura (29), dirigidas para o disco rígido. Solicitações de escrita (27), isto é, solicitações para armazenar conteúdo da web no disco rígido, são enfileiradas em uma primeira fila (28) pelo grupo (10) de objetos de cache da web. Solicitações de leitura (29), isto é, solicitações para recuperar conteúdo da web do disco rígido são enfileiradas em uma segunda fila (30) pelo grupo (10) de objetos de cache da web, tendo a segunda fila (30) uma prioridade maior do que a primeira fila (28). Um escalonador (31) de operação de disco, compreendido no gerenciador (12) de persistência de objeto, recebe informação a cerca do estado do disco rígido, considerando sua taxa de transferência de dados e, portanto, seu nível de saturação, do monitor (11) de desempenho de dispositivo (11) e escalona solicitações enfileiradas na primeira fila (28) e na segunda fila (30) em uma fila (32) de operação de disco. Quando a taxa de transferência do disco rígido estivar acima de um dado primeiro limite, isto é, quando o disco rígido estiver realizando muitas operações de leitura e/ou escrita, nenhuma solicitação (27) de escrita da primeira fila (27) é escalonada através da fila (32) de operação de disco rígido, desse modo, dando prioridade às solicitações de leitura (29). Contudo, em cenários com uma baixa carga de operação no disco rígido, isto é, quando a taxa de transferência de dados do disco rígido está abaixo de um segundo limite, menor do que o primeiro limite, múltiplas solicitações de escrita (27) enfileiradas na primeira fila (28) podem ser escalonadas através da fila (32) de operação de disco.
[037] O disco rígido acessa os itens da fila (32) de operação de disco, isto é, as operações de leitura enfileiradas (29) e operações de leitura (27) e realiza as tarefas correspondentes (escrever dados no disco rígido ou recuperar dados do dito disco rígido). Quando uma operação de disco (isto é, uma operação de leitura ou de escrita no disco rígido) é completada (33), o escalonador de operação de disco pode enfileirar mais operações na fila de operação de disco (32), priorizando solicitações de leitura (29). Todas as filas do gerenciador (12) de persistência de objeto são filas FIFO.
[038] Uma vez que as solicitações enfileiradas no gerenciador (12) de persistência de objeto podem corresponder a conteúdo da web de tamanhos diferentes, o escalonador de operação de disco (31) converte essa solicitações em operações de disco com um tamanho fixo, isto é, operações de disco que recuperam ou escrevem um número fixo de bits. Também, uma vez que as solicitações de escrita (27) podem ser retardadas infinitamente na primeira fila (28), o gerenciador (12) de persistência de objeto verifica, periodicamente, se o conteúdo da web relacionado com a saída externa (27) está expirado. Se o conteúdo da web estiver expirado ou estiver perto de ser expirado, a solicitação de escrita (27) é cancelada pelo gerenciador (12) de persistência de objeto, evitando operações de escrita desnecessárias.
[039] A arquitetura de escalonamento e as politicas divulgadas permitem priorizar solicitações de usuários para o conteúdo da web armazenado em cache no disco rígido versus operações de armazenamento de dados emitidas pelo grupo (10) de objetos de cache da web e, portanto, aperfeiçoando a experiência global do usuário, que percebe um retardo mais curto, quando perguntando pelos dados armazenados em cache no disco rígido. Também, o método e o sistema da invenção podem ser combinados, vantajosamente, com qualquer outra técnica de otimização de cache da web referente a hardware, critérios de alocação ou técnicas de substituição de objetos.

Claims (10)

1. Método de armazenamento em cache de conteúdo da web em um nó de comunicação compreendendo uma memória de disco rígido, o dito nó de comunicação sendo configurado para escalonar solicitações de leitura (27) e solicitações de escrita (28) de conteúdo da web no disco rígido, caracterizado poro método compreender: - enfileiramento de solicitações de escrita (27) em uma primeira fila (28); - enfileiramento de solicitações de leitura (29) em uma segunda fila (30); tendo a segunda fila (30) uma prioridade maior do que a primeira fila (28); - monitoramento de um nível de taxa de transferência de dados do disco rígido; - escalonamento de solicitações de escrita (27) enfileiradas na primeira fila (28) apenas se o nível de saturação monitorada do disco rígido estiver abaixo de um primeiro limite; - escalonamento de solicitações de leitura (29) enfileiradas na segunda fila (30) como uma função da taxa de transferência de dados monitorada do disco rígido.
2. Método, de acordo com a reivindicação 1, caracterizado poro método compreender ainda escalonamento de múltiplas solicitações de escrita (27) enfileiradas na primeira fila (28), se o nível de saturação monitorado do disco rígido estiver abaixo de um segundo limite.
3. Método, de acordo com qualquer uma das reivindicações 1 a 2, caracterizado poras solicitações de escrita (27) enfileiradas na primeira fila (28) estarem divididas em blocos de dados com um tamanho fixo.
4. Método, de acordo com qualquer uma das reivindicações 1 a 3, caracterizado pora primeira fila (28) ser uma fila de primeiro a entrar primeiro a sair.
5. Método, de acordo com qualquer uma das reivindicações 1 a 4, caracterizado poro método compreender ainda a verificação de uma expiração de solicitações de escrita (27) enfileiradas na primeira fila (28) e a remoção de solicitações de escrita (27) expiradas da primeira fila (28).
6. Sistema de armazenamento em cache de conteúdo da web em um nó de comunicação compreendendo uma memória de disco rígido, o dito nó de comunicação sendo configurado para escalonar solicitações de leitura (27) e solicitações de escrita (28) de conteúdo da web no disco rígido, caracterizado poro sistema compreender ainda: - primeiro meio de escalonamento (10) configurado para enfileiramento de solicitações de escrita (27) em uma primeira fila (28) e para enfileiramento de solicitações de leitura (29) em uma segunda fila (30); - meio de monitoramento (11) adaptado para monitorar uma taxa de transferência de dados do disco rígido; - segundo meio de escalonamento (12) configurado para escalonar solicitações de escrita (27) enfileiradas na primeira fila (28) apenas se o nível de saturação monitorada do disco rígido estiver abaixo de um primeiro limite e para escalonar solicitações de leitura (29) enfileiradas na segunda fila (20) como uma função da taxa de transferência de dados monitorada do disco rígido, dando uma prioridade maior para a segunda fila (30).
7. Sistema, de acordo com a reivindicação 6, caracterizado poro segundo meio de escalonamento (12) ser ainda configurado para escalonar múltiplas solicitações de escrita (27) enfileiradas na primeira fila (28), se o nível de saturação monitorada do disco rígido estiver abaixo de um segundo limite.
8. Sistema, de acordo com qualquer uma das reivindicações de 6 a 7, caracterizado porsolicitações de escrita (27) enfileiradas na primeira fila (28) estarem divididas em blocos de dados com um tamanho fixo.
9. Sistema, de acordo com qualquer uma das reivindicações de 6 a 8, caracterizado pora primeira fila (28) ser uma fila de primeiro a entrar primeiro a sair.
10. Sistema, de acordo com qualquer uma das reivindicações de 6 a 9, caracterizado poro segundo meio de escalonamento (12) ser ainda configurado para verificar uma expiração de solicitações de escrita (27) enfileiradas na primeira fila (28) e remover solicitações de escrita (27) expiradas da primeira fila.
BR112015014638-4A 2012-12-18 2013-12-18 método e sistema de cache do conteúdo da web em um disco rígido BR112015014638B1 (pt)

Applications Claiming Priority (3)

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
EP12382510.1 2012-12-18
PCT/EP2013/077158 WO2014096045A1 (en) 2012-12-18 2013-12-18 Method and system of caching web content in a hard disk

Publications (2)

Publication Number Publication Date
BR112015014638A2 BR112015014638A2 (pt) 2017-09-26
BR112015014638B1 true BR112015014638B1 (pt) 2021-02-09

Family

ID=47561289

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112015014638-4A BR112015014638B1 (pt) 2012-12-18 2013-12-18 método e sistema de cache do conteúdo da web em um disco rígido

Country Status (5)

Country Link
US (1) US20150331633A1 (pt)
EP (1) EP2746958B1 (pt)
BR (1) BR112015014638B1 (pt)
ES (1) ES2648119T3 (pt)
WO (1) WO2014096045A1 (pt)

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
CN113778317A (zh) * 2020-06-10 2021-12-10 慧荣科技股份有限公司 计算机可读取存储介质、调度主机命令的方法及装置
US20240211176A1 (en) * 2022-12-22 2024-06-27 Samsung Electronics Co., Ltd. Storage device, storage controller, and operating method of storage controller

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
EP2746958A1 (en) 2014-06-25
BR112015014638A2 (pt) 2017-09-26
ES2648119T3 (es) 2017-12-28
US20150331633A1 (en) 2015-11-19
EP2746958B1 (en) 2017-08-16

Similar Documents

Publication Publication Date Title
BR112015014638B1 (pt) método e sistema de cache do conteúdo da web em um disco rígido
US11237871B1 (en) Methods, systems, and devices for adaptive data resource assignment and placement in distributed data storage systems
US10318467B2 (en) Preventing input/output (I/O) traffic overloading of an interconnect channel in a distributed data storage system
US10922287B2 (en) Intelligent layout of composite data structures in tiered storage
US9632826B2 (en) Prioritizing deferred tasks in pending task queue based on creation timestamp
US9313270B2 (en) Adaptive asynchronous data replication in a data storage system
US9858197B2 (en) Cache management apparatus of hybrid cache-based memory system and the hybrid cache-based memory system
US20150242397A1 (en) Method, server and system for managing content in content delivery network
US20140108723A1 (en) Reducing metadata in a write-anywhere storage system
US9509529B1 (en) Assured messaging system with differentiated real time traffic
WO2006057790A9 (en) System and method for managing quality of service for a storage system
US20180300242A1 (en) Caching a Block of Data in a Multi-Tenant Cache Storage Device Based on Space Usage Boundary Estimates
US10359945B2 (en) System and method for managing a non-volatile storage resource as a shared resource in a distributed system
US20200371943A1 (en) Method and devices for managing cache
CN105574008B (zh) 应用于分布式文件系统的任务调度方法和设备
KR101686346B1 (ko) 하이브리드 ssd 기반 하둡 분산파일 시스템의 콜드 데이터 축출방법
US9177274B2 (en) Queue with segments for task management
JP6046523B2 (ja) インメモリ型分散データベース、データ分散方法及びプログラム
US9940301B2 (en) Cache management for RDMA data stores
US9851908B2 (en) Methods for managing read access of objects in storage media and devices thereof
Jo et al. On the trade-off between performance and storage efficiency of replication-based object storage
Tlili et al. On providing deadline-aware cloud storage services
KR100985166B1 (ko) 분산 저장 시스템에서 파일을 동기화하는 장치 및 방법
Lee et al. Adaptive Data Replication Scheme Based on Access Count Prediction in Hadoop
Rago et al. Using eager strategies to improve NFS I/O performance

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 18/12/2013, OBSERVADAS AS CONDICOES LEGAIS.

B21F Lapse acc. art. 78, item iv - on non-payment of the annual fees in time

Free format text: REFERENTE A 10A ANUIDADE.

B24J Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12)

Free format text: EM VIRTUDE DA EXTINCAO PUBLICADA NA RPI 2753 DE 10-10-2023 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDA A EXTINCAO DA PATENTE E SEUS CERTIFICADOS, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.