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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000012546 transfer Methods 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000012795 verification Methods 0.000 claims 1
- 230000003111 delayed effect Effects 0.000 abstract description 5
- 230000002688 persistence Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 229920006395 saturated elastomer Polymers 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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
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
[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.
[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ó.
[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.
[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
[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.
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)
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)
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 ES ES12382510.1T patent/ES2648119T3/es active Active
- 2012-12-18 EP EP12382510.1A patent/EP2746958B1/en not_active Not-in-force
-
2013
- 2013-12-18 US US14/653,705 patent/US20150331633A1/en not_active Abandoned
- 2013-12-18 WO PCT/EP2013/077158 patent/WO2014096045A1/en active Application Filing
- 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 |
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. |