BR112016015878B1 - Método e cache para fornecer uma parte de conteúdo de um conteúdo de multimídia para um terminal de cliente, e cache correspondente - Google Patents

Método e cache para fornecer uma parte de conteúdo de um conteúdo de multimídia para um terminal de cliente, e cache correspondente Download PDF

Info

Publication number
BR112016015878B1
BR112016015878B1 BR112016015878-4A BR112016015878A BR112016015878B1 BR 112016015878 B1 BR112016015878 B1 BR 112016015878B1 BR 112016015878 A BR112016015878 A BR 112016015878A BR 112016015878 B1 BR112016015878 B1 BR 112016015878B1
Authority
BR
Brazil
Prior art keywords
cache
representations
client terminal
request
representation
Prior art date
Application number
BR112016015878-4A
Other languages
English (en)
Other versions
BR112016015878A2 (pt
Inventor
Stephane Gouache
Guillaume Bichot
Françoise Le Bolzer
Original Assignee
Interdigital Vc Holdings, Inc
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 Interdigital Vc Holdings, Inc filed Critical Interdigital Vc Holdings, Inc
Publication of BR112016015878A2 publication Critical patent/BR112016015878A2/pt
Publication of BR112016015878B1 publication Critical patent/BR112016015878B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2183Cache memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/44Browsing; Visualisation therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2885Hierarchically arranged intermediate devices, e.g. for hierarchical caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Abstract

MÉTODO PARA FORNECER UMA PARTE DE CONTEÚDO DE UM CONTEÚDO DE MULTIMÍDIA PARA UM TERMINAL DE CLIENTE, E CACHE CORRESPONDENTE. Método para fornecer uma parte de conteúdo de um conteúdo de multimídia para um terminal de cliente, e cache correspondente. De acordo com a invenção, o método para fornecer uma parte de conteúdo de um conteúdo de multimídia para um terminal de cliente, um ou mais caches estando arranjados ao longo do caminho de transmissão entre o terminal de cliente e um servidor remoto, e várias representações da dita parte de conteúdo estando disponíveis, compreende: - receber (S0) em um primeiro cache (R), do terminal de cliente, uma solicitação para uma dada representação da dita parte de conteúdo pertencendo a um conjunto de representações admissíveis selecionadas dentre as ditas representações disponíveis da parte de conteúdo, a dita solicitação compreendendo adicionalmente uma lista de representações alternativas do conjunto e informação auxiliar para especificar o escopo da solicitação; - verificar (S1) no dito primeiro cache (R) se a dita dada representação está armazenada no cache; - no caso em que a dita dada representação não está armazenada em cache, pesquisar (S2) no dito primeiro cache (R) representações alternativas listadas.

Description

CAMPO DA REVELAÇÃO
[001]A presente revelação diz respeito de uma maneira geral ao domínio da tecnologia de fluxo contínuo adaptativo sobre, por exemplo, mas não exclusivamen-te, HTTP (Protocolo de Transferência de Hipertexto) e, em particular, a um método para fornecer uma parte de conteúdo de um conteúdo de multimídia para um terminal de cliente, um cache sendo arranjado ao longo do caminho de transmissão entre o terminal de cliente e um servidor remoto.
ANTECEDENTES DA REVELAÇÃO
[002]Esta seção é pretendida para fornecer para o leitor vários aspectos de técnica que podem estar relacionados com vários aspectos da presente revelação que são descritos e/ou reivindicados a seguir. Acredita-se que esta discussão seja útil para prover o leitor com informação anterior para facilitar um melhor entendimen-to dos vários aspectos da presente revelação. Portanto, deve ser entendido que estas declarações são para ser lidas neste sentido, e não como admissões de técnica anterior.
[003]Fluxo contínuo adaptativo sobre HTTP (também chamado de comutação de múltiplas taxas de bits) rapidamente está se tornando uma principal tecnologia para distribuição de conteúdo de multimídia. Entre os protocolos de fluxo contínuo adaptativo HTTP que já são usados os mais famosos são o HTTP Live Streaming (HLS) da Apple, o Silverlight Smooth Streaming (SSS) da Microsoft, o Adobe Dynamic Streaming (ADS) da Adobe e o Dynamic Adaptative Streaming over HTTP (DASH) desenvolvido pelo 3GPP dentro do grupo SA4.
[004]Quando um terminal de cliente deseja reproduzir um conteúdo audiovi-sual (ou conteúdo A/V) em fluxo contínuo adaptativo, ele primeiro tem que obter um arquivo descrevendo como este conteúdo A/V pode ser obtido. Isto de uma maneira geral é feito por meio do protocolo HTTP ao obter um arquivo de descrição, assim chamado de manifesto, de um URL (Localizador de Recurso Uniforme), mas também pode ser alcançado por outros meios (por exemplo, difusão, e-mail, SMS e assim por diante). O manifesto basicamente lista as representações disponíveis (também chamadas de instâncias ou versões) de um conteúdo A/V como este (em termos de taxa de bits, resolução e outras propriedades); uma representação por nível de qualidade (taxa de bits). Cada representação é feita de uma série de blocos de igual duração - acessíveis por meio de um URL separado - e tem um conjunto de elementos descritivos anexados para seleção pelo cliente. O dito manifesto é gerado antecipadamente e entregue para o terminal de cliente, por exemplo, por um servidor remoto.
[005]De fato, o fluxo de dados correspondendo ao conteúdo A/V está dispo-nível em um servidor HTTP com diferentes qualidades. A qualidade mais alta está associada com uma taxa de bits alta; a qualidade mais baixa está associada com uma taxa de bits baixa. Isto permite distribuição para muitos terminais diferentes que podem estar sujeitos a condições de rede muito variáveis.
[006]O fluxo de dados inteiro de cada representação é dividido em blocos de igual duração que são feitos de tal maneira que um terminal de cliente pode comutar suavemente de um nível de qualidade para um outro entre dois blocos. Como um resultado, a qualidade de vídeo pode variar durante reprodução, mas raramente sofre de interrupções (também chamadas de congelamentos).
[007]No lado de cliente, os blocos são selecionados com base em uma me-dida da largura de banda disponível do caminho de transmissão. Em particular, um terminal de cliente usualmente solicita a representação de um bloco correspondendo a uma codificação de taxa de bits e assim uma qualidade compatível com a largura de banda medida.
[008]Quando um cache fica ao longo do caminho de transmissão entre um terminal de cliente e um servidor remoto que ocorre frequentemente, uma represen-tação de um dado bloco já pode estar armazenada no dito cache, no caso de um outro cliente ter solicitado anteriormente o mesmo bloco com a mesma representação ou no caso de uma Rede de Entrega de Conteúdo (CDN) já ter aprovisionado o bloco no cache. Assim, a resposta para uma solicitação HTTP para o dito dado bloco é mais rápida do que se o bloco vier do servidor remoto e transmissão duplicada pode ser evitada, economizando efetivamente recursos de rede.
[009]Apesar disso, o fluxo contínuo adaptativo HTTP parece não ser favorá-vel ao cache (ou menos favorável ao cache do que a assim chamada de comutação baseada em camadas tal como, por exemplo, H264-SVC). De fato, se um primeiro terminal de cliente solicitar uma representação r de um dado bloco e um segundo terminal de cliente - compartilhando uma parte do caminho de transmissão com o dito primeiro terminal de cliente e um cache - solicitar uma representação r’ do dito dado bloco (em uma qualidade mais alta ou mais baixa), então o cache não está re-sultando em sucesso para carga maior no segmento de rede entre o cache e o ser-vidor com o risco de causar congestionamento. Os benefícios de armazenar em ca-che são então completamente aniquilados e caches atualmente são incapazes de melhorar esta situação.
[010]A presente revelação focaliza em impedir congestionamento de redes e, em particular, tenta operar caches possivelmente localizados ao longo do caminho de transmissão entre um terminal de cliente e um ou vários servidores remotos.
SUMÁRIO DA REVELAÇÃO
[011]A revelação diz respeito a um método para fornecer uma parte de con-teúdo de um conteúdo de multimídia para um terminal de cliente, um ou mais caches estando arranjados ao longo do caminho de transmissão entre o terminal de cliente e um servidor remoto, e várias representações da dita parte de conteúdo estando disponíveis, o qual é extraordinário porque compreende: - receber em um primeiro cache, do terminal de cliente, uma solicitação para uma dada representação da dita parte de conteúdo, pertencendo a um conjunto de representações admissíveis selecionadas dentre as ditas representações disponí-veis, a dita solicitação compreendendo adicionalmente uma lista de representações alternativas do conjunto e informação auxiliar para especificar o escopo da solicita-ção; - verificar no dito primeiro cache se a dita dada representação está armaze-nada no cache; - no caso de a dita dada representação não estar armazenada em cache, navegar nas ditas primeiras representações alternativas de cache listadas.
[012]Assim, graças à presente revelação, é possível diminuir o tráfego de ponta a ponta entre um terminal de cliente (isto é, um terminal de cliente de fluxo contínuo adaptativo HTTP) e o servidor de origem correspondente por meio de ar-mazenamento em cache, o que está aumentando o número de sucessos de cache. Para esta finalidade, um cache é configurado para suportar uma diretiva da solicita-ção enviada por um terminal de cliente, de maneira que ele pode recuperar repre-sentações alternativas incluídas nesta diretiva quando a dada representação não está armazenada em cache. Ele pode então resultar em menos tráfego entre o ter-minal de cliente e o servidor original e, como uma consequência, menos congestio-namento. Assim, a presente revelação pode fornecer uma melhor experiência de usuário para o usuário final, tal como limitar a necessidade de transferir blocos do servidor.
[013]Em um primeiro aspecto de uma modalidade preferida, a dita informação auxiliar pode definir o número de caches remanescentes arranjados entre o cliente e o servidor aos quais é permitido enviar a dita solicitação para um próximo cache, no caso em que a dita dada representação e as ditas representações alternati- vas não estão armazenadas.
[014]Em particular, uma mensagem de erro pode ser enviada para o cliente quando o último cache dos caches remanescentes está desprovido da dita dada re-presentação e das ditas representações alternativas.
[015]Em um segundo aspecto da modalidade preferida, a dita informação auxiliar pode definir um cache final arranjado ao longo do caminho de transmissão, de maneira que a solicitação não é enviada pelo dito cache final, no caso em que a dita dada representação e as ditas representações alternativas não estão armaze-nadas no último cache. Vantajosamente, uma mensagem de erro pode ser enviada para o cliente quando o dito cache final está desprovido da dita dada representação e das ditas representações alternativas.
[016]Além do mais, as representações alternativas preferivelmente são pes-quisadas em ordem de preferência, as ditas representações alternativas sendo lista-das, por exemplo, em ordem de preferência decrescente.
[017]Além do mais, cada representação alternativa preferivelmente tem uma taxa de bits correspondente menor que a taxa de bits da dada representação. Natu-ralmente, em uma variante, pelo menos uma representação alternativa pode ter uma taxa de bits correspondente maior que a taxa de bits da dada representação.
[018]Além disso, cada representação admissível do conjunto vantajosamente pode ter uma taxa de bits correspondente no máximo igual à largura de banda do caminho de transmissão entre o terminal de cliente e o servidor remoto.
[019]Em um outro aspecto da modalidade preferida, o protocolo de transmis-são usado sendo HTTP, a solicitação é uma solicitação HTTP e a extensão de con-trole de cache da dita solicitação HTTP compreende a lista das representações al-ternativas.
[020]Em uma variante ou como um complemento, a dita solicitação pode compreender informação adicional, de tal maneira que o cache retorna a representa- ção solicitada ou uma representação alternativa listada, se armazenada em cache, ou uma mensagem de resposta no caso em que nem a dada representação nem qualquer uma das representações alternativas listadas não está armazenada em cache.
[021]Em particular, quando o protocolo de transmissão usado é HTTP, a dita informação adicional é incluída na extensão de controle de cache da dita solicitação HTTP.
[022]Além disso, a presente revelação também diz respeito a um cache con-figurado para fornecer uma parte de conteúdo de um conteúdo de multimídia para um terminal de cliente, o dito cache sendo arranjado ao longo do caminho de trans-missão entre o terminal de cliente e um servidor remoto, e várias representações da dita parte de conteúdo estando disponíveis.
[023]De acordo com a presente revelação, o dito cache compreende: - um módulo de interface para receber, do terminal de cliente, uma solicita-ção para uma dada representação da dita parte de conteúdo pertencendo a um con-junto de representações admissíveis selecionadas dentre as ditas representações disponíveis, a dita solicitação compreendendo adicionalmente uma lista de represen-tações alternativas do conjunto e informação auxiliar especificando o escopo da soli-citação; - um módulo de controle para verificar se a dita dada representação está ar-mazenada; - um módulo de pesquisa formado para pesquisar representações alternati-vas listadas, no caso em que a dita dada representação não está armazenada em cache.
[024]Preferivelmente, as representações alternativas podem ser pesquisadas em ordem de preferência.
[025]Em um primeiro aspecto de uma modalidade preferida, informação au- xiliar definindo o número de caches remanescentes arranjados entre o cliente e o servidor aos quais é permitido enviar a dita solicitação para um próximo cache no caso em que a dita dada representação e as ditas representações alternativas não estão armazenadas, a solicitação preferivelmente não é enviada quando, no dito cache, o número de caches remanescentes é igual a zero.
[026]Em um aspecto adicional da modalidade preferida, informação auxiliar definindo um cache final arranjado ao longo do caminho de transmissão, a solicita-ção preferivelmente não é enviada no caso em que: - a dita dada representação e as ditas representações alternativas não estão armazenadas no dito cache; e - o dito cache corresponde ao cache final.
[027]Certos aspectos comensurados em escopo com as modalidades reve-ladas estão expostos a seguir. Deve ser entendido que estes aspectos são apresen-tados meramente para prover o leitor com um sumário de certas formas que a reve-lação pode ter e que estes aspectos não são pretendidos para limitar o escopo da revelação. De fato, a revelação pode abranger uma variedade de aspectos que po-dem não estar expostos a seguir.
DESCRIÇÃO RESUMIDA DOS DESENHOS
[028]A revelação será mais bem entendida e ilustrada por meio da modali-dade e exemplos de execução seguintes, não limitativos em nenhum modo, com referência para as figuras anexas nas quais: - A figura 1 é um diagrama esquemático de uma arquitetura de rede Cliente- Servidor em que a presente revelação pode ser implementada; - A figura 2 é um diagrama de blocos de um exemplo de um terminal de cli-ente de acordo com uma modalidade preferida da presente revelação; - A figura 3 é um diagrama de blocos de um exemplo de um cache de acordo com uma modalidade preferida da presente revelação; - A figura 4 é um fluxograma ilustrando o método para recuperar uma repre-sentação de um dado bloco implementado pelo cache da figura 3.
[029]Nas figuras 1 a 3, os blocos representados são puramente entidades funcionais, os quais não correspondem necessariamente a entidades separadas fisi-camente. Isto é, eles podem ser desenvolvidos na forma de software, hardware, ou podem ser implementados em um ou em vários circuitos integrados, compreendendo um ou mais processadores.
[030]Sempre que possível, os mesmos números de referência serão usados por todas as figuras para se referir às partes iguais ou semelhantes.
DESCRIÇÃO DETALHADA DE MODALIDADES PREFERIDAS
[031]É para ser entendido que as figuras e descrições da presente revelação estão simplificadas para ilustrar elementos que são relevantes para um entendimen-to claro da presente revelação, enquanto eliminando, para propósitos de clareza, muitos outros elementos encontrados em métodos e sistemas de entrega de conteú-do de multimídia digital típicos. Entretanto, por causa de tais elementos serem bem conhecidos na técnica, uma discussão detalhada de tais elementos não é fornecida neste documento. A revelação neste documento é direcionada para todas as tais variações e modificações conhecidas para os versados na técnica.
[032]De acordo com uma modalidade preferida, a presente revelação está representada com referência para o protocolo de fluxo contínuo adaptativo HTTP. Naturalmente, a revelação não está restringida a um ambiente particular como este e outro protocolo de fluxo contínuo adaptativo certamente pode ser considerado e im-plementado.
[033]Tal como representado na figura 1, a arquitetura de rede Cliente- Servidor, em que a presente revelação pode ser implementada, compreende um terminal de cliente C, uma porta de comunicação GW e um ou mais servidores HTTP S (somente um está representado na figura 1).
[034]O terminal de cliente C - conectado à porta de comunicação GW por meio de uma primeira rede N1 (tal como uma rede doméstica ou uma rede de em-presa) - pode querer solicitar um conteúdo de multimídia armazenado em um servidor remoto S por meio de uma segunda rede N2 (tal como a rede Internet). A primeira rede N1 é conectada à segunda rede N2 graças à porta de comunicação GW.
[035]O servidor HTTP S envia blocos para o terminal de cliente C, mediante a solicitação de cliente, usando protocolo de fluxo contínuo adaptativo HTTP sobre uma ou mais conexões TCP/IP.
[036]De acordo com a modalidade preferida, tal como mostrado na figura 2, o terminal de cliente C compreende pelo menos: - uma interface de conexão 1 (com fio e/ou sem fio, tal como, por exemplo, Wi-Fi, Ethernet, etc.) para a primeira rede N1; - um módulo de comunicação 2 contendo as pilhas de protocolos para se comunicar com o servidor HTTP S. Em particular, o módulo de comunicação 2 com-preende a pilha TCP/IP bem conhecida na técnica. Certamente, ele pode ser qual-quer outro tipo de rede e/ou meio de comunicação capacitando o terminal de cliente C para se comunicar com o servidor HTTP S; - um módulo de fluxo contínuo adaptativo 3 que recebe o conteúdo de mul-timídia de fluxo contínuo HTTP do servidor HTTP S. Ele seleciona continuamente a representação de um bloco cuja taxa de bits correspondente casa melhor sem restri-ções tal como descrito em seguida; - um reprodutor de vídeo 4 adaptado para decodificar e renderizar o conteú-do de multimídia; - um ou mais processadores 5 para executar as aplicações e programas ar-mazenados em uma memória não volátil do terminal de cliente C; - dispositivo de armazenamento 6, tal como uma memória volátil, para arma-zenamento temporário dos blocos recebidos do servidor HTTP S antes de sua transmissão para o reprodutor de vídeo 4; - um barramento interno B1 para conectar os vários módulos e todos os dis-positivos bem conhecidos para os versados na técnica para executar as funcionali-dades genéricas de terminal de cliente.
[037]Como um exemplo, o terminal de cliente C é um dispositivo de mídia portátil, um telefone móvel, um tablet ou um laptop. Naturalmente, o terminal de cli-ente C pode não compreender um reprodutor de vídeo completo, mas somente al-guns subelementos tais como aqueles para demultiplexar e decodificar o conteúdo de mídia e pode contar com um dispositivo externo para exibir o conteúdo decodifi-cado para o usuário final. Neste caso, o terminal de cliente C é um decodificador de vídeo capacitado para Fluxo Contínuo Adaptativo HTTP (HAS), tal como um aparelho conversor de sinais.
[038]De acordo com a modalidade preferida, tal como mostrado na figura 1, a porta de comunicação GW compreende um cache R, o qual é arranjado ao longo do caminho de transmissão entre o terminal de cliente C e um servidor S. Em uma variante, o dito cache R pode ser arranjado em um proxy da primeira rede N1 ou em qualquer outra localização ao longo do caminho de transmissão.
[039]No exposto a seguir, é assumido que o terminal de cliente C solicita um conteúdo de multimídia de Fluxo Contínuo Adaptativo HTTP (HAS) para o servidor remoto S, o dito conteúdo de multimídia HAS estando disponível em várias represen-tações feitas de uma série de blocos. A qualidade de cada representação deve ser entendida como relacionada com qualidade de codificação de mídia, tipo de codifi-cação de mídia (por exemplo, 2D versus 3D), esquema de cores de codificação de mídia, etc.
[040]Para esta finalidade, tal como mostrado na figura 2, o terminal de cliente C compreende adicionalmente: - um estimador de largura de banda 7 configurado para estimar a largura de banda do caminho de transmissão; - um módulo de seleção 8 configurado para determinar um conjunto de re-presentações admissíveis que o terminal de cliente C pode solicitar. As representa-ções admissíveis são selecionadas dentre as representações disponíveis de um da-do bloco ln do conteúdo de multimídia, tal como listado no manifesto associado. Em particular, a determinação - pelo módulo 8 - do conjunto de representações admissí-veis do dado bloco ln pode ser com base em um ou em vários critérios de desempe-nho tais como, por exemplo: - a largura de banda estimada pelo estimador 7; - as capacidades do terminal de cliente C; - a representação do bloco solicitado anteriormente ln-1; - a qualidade de experiência exigida por um usuário final do terminal de cli-ente C.
[041]Obviamente, o módulo de seleção 8 pode ser, em uma variante, inte-grado dentro do módulo de fluxo contínuo adaptativo 3.
[042]Pode ser percebido que o significado de representações « admissíveis » depende da implementação. De fato, o termo pode significar representações de qualidade atualizada ou rebaixada de um dado bloco ln por comparação com a re-presentação do bloco solicitado anteriormente ln-1.
[043]Se a representação solicitada de um dado bloco ln tiver uma qualidade correspondente significativamente menor (isto é, visível por um usuário final) que a qualidade da representação do bloco solicitado anteriormente ln-1, o módulo de sele-ção 8 pode ser configurado para não tentar rebaixar adicionalmente a qualidade ao operar potencial bloco armazenado em cache, exceto se restringido pela largura de banda disponível.
[044]Em um exemplo ilustrativo, mas não limitativo, compatível com a pre-sente revelação, as representações admissíveis de um dado bloco ln (selecionadas das representações disponíveis listadas no manifesto) têm uma taxa de bits corres-pondente (relacionada com uma dada qualidade) no máximo igual à largura de ban-da estimada. Além do mais, a taxa de bits de representações admissíveis do conjunto também pode ser pelo menos igual a um limiar definido, abaixo do qual qualidade não é aceitável por um usuário final do terminal de cliente C.
[045]Obviamente, como uma variante ou como um complemento, o conjunto determinado de representações admissíveis pode compreender uma ou mais repre-sentações com uma taxa de bits maior que a largura de banda estimada, a fim de tentar recuperar uma representação já armazenada no cache R.
[046]Além disso, o módulo de fluxo contínuo adaptativo 3 é configurado para solicitar uma representação preferida r de um dado bloco ln do conteúdo de multimí-dia HAS, do conjunto de representações admissíveis. Por exemplo, a representação preferida r do bloco ln pode corresponder à representação tendo uma taxa de bits associada justamente menor que a largura de banda estimada.
[047]Para esta finalidade, o módulo de comunicação 2 envia uma solicitação HTTP em que a extensão de controle de cache de seu cabeçalho compreende a di-retiva “altlist”, o que permite ao terminal de cliente C listar, em ordem de preferência ou de prioridade, representações alternativas r’ que podem ser retornadas pelo cache R no caso de a representação preferida r não estar armazenada em cache.
[048]As representações alternativas r’ da diretiva “altlist” preferivelmente cor-respondem às representações admissíveis do conjunto determinado. Obviamente, representações adicionais (por exemplo, tendo uma taxa de bits maior que a largura de banda estimada) podem ser incluídas.
[049]Em seguida está um exemplo de uma solicitação HTTP como esta in-cluindo a diretiva “altlist”: GET /hi/fileSequence2681.ts HTTP/1.1 Host: example.com Cache_Control:altlist=http://example.com/med/fileSequence2681.ts,http://exa mple.com/low/fileSequence2681.ts
[050]De acordo com a modalidade preferida, pode ser percebido que o cache R suporta a diretiva “altlist”, significando que ele está configurado para interpretar seu conteúdo. Um cache R como este é chamado em seguida de cache “inteligente”, outros caches são chamados de caches legados (também conhecidos como caches não inteligentes).
[051]Para esta finalidade, de acordo com a modalidade preferida, e tal como mostrado na figura 3, o cache inteligente R compreende: - um módulo de armazenamento 9, tal como uma memória volátil e/ou uma memória permanente, para armazenar blocos de conteúdos de multimídia recebidos de um ou mais servidores S antes de sua transmissão para o terminal de cliente C, solicitando tais conteúdos de multimídia; - um módulo de interface 10 configurado para receber, do terminal de cliente C, uma solicitação HTTP para uma representação preferida r da parte de conteúdo, a dita representação preferida r pertencendo ao conjunto de representações admis-síveis. É assumido que a dita solicitação HTTP indica - dentro da diretiva “altlist” - representações alternativas r’ que podem ser aceitas como substituição pelo terminal de cliente C no caso de a representação preferida r não estar armazenada em cache; - um módulo de controle 11 formado para verificar se o cache inteligente R já tem ou não a representação preferida solicitada r; e - um módulo de pesquisa 12 adaptado para pesquisar em ordem de prefe-rência representações alternativas listadas na diretiva “altlist” da solicitação HTTP enviada pelo terminal de cliente C, no caso de a representação preferida r não estar armazenada em cache. Em uma variante, o módulo de controle e o módulo de pes-quisa formam somente um módulo.
[052]Mediante recebimento de uma solicitação HTTP como esta para uma representação preferida r de um dado bloco ln do terminal de cliente C, o módulo de controle 11 do cache inteligente R verifica se a dita representação preferida r está ou não armazenada em cache: - se armazenada em cache, o cache inteligente R retorna a representação preferida r para o terminal de cliente C; - se não armazenada em cache, o módulo de pesquisa 12 pesquisa a direti-va “altlist” da solicitação HTTP para verificar sucessivamente, em ordem de prefe-rência, se uma representação alternativa r’ está ou não armazenada em cache.
[053]Quando uma representação alternativa r’ como esta da diretiva “altlist” está armazenada em cache, o cache inteligente R retorna a dita representação al-ternativa r’ para o terminal de cliente C.
[054]No caso em que nenhuma das representações alternativas r’ da diretiva “altlist” não está armazenada em cache, o cache inteligente R é configurado para liberar a solicitação HTTP enviada pelo terminal de cliente C para o servidor S.
[055]A solicitação HTTP liberada pode então ser interceptada por um próximo cache ao longo do caminho de transmissão entre o cache inteligente R e o servidor remoto S, de maneira que, se o dito próximo cache for um cache inteligente, ele se comporta como o cache inteligente R. De outro modo (o próximo cache não suporta a diretiva “altlist”), ele pode retornar uma mensagem de erro ou pode liberar a solicitação HTTP para o servidor S.
[056]Em um refinamento, a solicitação HTTP - enviada pelo módulo de co-municação 2 do terminal de cliente C - pode compreender a diretiva auxiliar (definin-do informação auxiliar) “Tempo de Vida” (TTL) na extensão de controle de cache de seu cabeçalho. A diretiva “Tempo de vida” (também chamada de indicação) permite que a diretiva “altlist” seja recursiva. Para esta finalidade, a diretiva TTL (especifi-cando o escopo da solicitação HTTP) é associada com um valor TTL definindo o número de caches remanescentes (caches inteligentes ou caches legados) arranja-dos entre o terminal de cliente C e o servidor S aos quais é permitido enviar a dita solicitação para um próximo cache, no caso em que a dita representação preferida e as ditas representações alternativas não estão armazenadas. De fato, cada cache (cache inteligente ou cache legado) recebendo uma solicitação de um terminal de cliente tratará a mesma e a enviará enquanto decrementando o valor TTL da solici-tação. Quando o valor TTL da solicitação for igual a zero, a solicitação não é mais enviada e uma resposta com um código de erro (por exemplo, 412) pode ser enviada para o terminal de cliente C. Motivo de falha pode ser acrescentado à dita resposta.
[057]Em seguida está um exemplo de uma solicitação HTTP como esta in-cluindo as diretivas “altlist” e “TTL”: GET /hi/fileSequence2681.ts HTTP/1.1 Host: example.com Cache_Control:altlist=http://example.com/med/fileSequence2681.ts,http://exa mple.com/low/fileSequence2681.ts,TTL=3
[058]Em um refinamento adicional ou em um complemento, a solicitação HTTP - enviada pelo módulo de comunicação 2 do terminal de cliente C - pode com-preender a diretiva auxiliar “até o elemento” na extensão de controle de cache de seu cabeçalho. A diretiva “até o elemento” (especificando o escopo da solicitação HTTP) está associada com um valor (por exemplo, o endereço IP do cache, o Nome de Domínio Qualificado, ou qualquer outro tipo de identificador) identificando um cache final.
[059]A diretiva “até o elemento” opera em um modo similar ao da diretiva TTL, exceto que a solicitação HTTP não é enviada mais quando ela alcança o cache final identificado, no caso de o último não compreender a representação preferida ou as representações alternativas da diretiva “altlist”. Nesse caso, uma resposta com código de erro (por exemplo, 412) preferivelmente é gerada e enviada para o termi- nal de cliente C. Motivo de falha também pode ser acrescentado à resposta.
[060]Tal como ilustrado na figura 4, de acordo com a dita modalidade prefe-rida, o cache R é configurado para implementar o mecanismo M seguinte para for-necer uma representação solicitada de um dado bloco ln de um conteúdo de multi-mídia HAS para o terminal de cliente C. O dito mecanismo M compreende as etapas de: - receber (etapa S0), do terminal de cliente C, uma solicitação HTTP para uma representação preferida r da dada parte do bloco ln pertencendo a um conjunto de representações admissíveis tais como definidas anteriormente. A solicitação HTTP compreende adicionalmente a diretiva “altlist” listando representações alternativas do conjunto; - verificar (etapa S1) se a representação preferida r está armazenada no módulo de armazenamento 9; - pesquisar (etapa S2), em ordem de preferência, representações alternati-vas r’ listadas na dita diretiva “altlist” no caso de a representação preferida r não estar armazenada em cache; - liberar (etapa S3) a solicitação HTTP para o servidor S quando nenhuma das representações alternativas r’ não está armazenada em cache no módulo de armazenamento 9 do cache inteligente R.
[061]Em uma variante da modalidade preferida, a extensão de controle de cache de uma solicitação HTTP, enviada pelo terminal de cliente C, pode compreen-der ainda uma diretiva adicional (definindo informação adicional), denominada de “only_if_cached”. A diretiva “altlist” tem prioridade sobre a diretiva “only_if_cached” do cabeçalho de Controle de Cache. Em seguida está um exemplo de uma solicita-ção HTTP como esta com as diretivas mencionadas anteriormente: GET /hi/fileSequence2681.ts HTTP/1.1 Host: example.com Cache_Control:only_if_cached,altlist=http://example.com/med/fileSequence2 681.ts,http://example.com/low/fileSequence2681.ts
[062]Nesta variante, mediante recebimento de uma solicitação HTTP como esta (incluindo ambas as diretivas “only_if_cached” e “altlist”) para uma representa-ção preferida r de um dado bloco ln, o cache inteligente R verifica se a dita represen-tação preferida r está ou não armazenada em cache: - se armazenada em cache, o cache inteligente R retorna a representação preferida r para o terminal de cliente C; - se não armazenada em cache, o módulo de pesquisa 12 pesquisa a direti-va “altlist” da solicitação HTTP para verificar sucessivamente, em ordem de prefe-rência, se uma representação alternativa r’ está ou não armazenada em cache.
[063]Quando uma representação alternativa r’ como esta da diretiva “altlist” está armazenada em cache, o cache inteligente R retorna a dita representação al-ternativa r’ para o terminal de cliente C.
[064]No caso em que nenhuma das representações alternativas r’ da diretiva “altlist” não está armazenada em cache, o cache inteligente R é então configurado para retornar uma mensagem de erro (por exemplo, “http/1.1 504 altlist suportada”), graças à diretiva “only_if_cached”, para indicar que: - a representação preferida r não está armazenada em cache; - o cache R suporta a diretiva “altlist”, de maneira que ela pode ser derivada do recebimento de uma mensagem de erro como esta em que nenhuma das repre-sentações alternativas r’ da diretiva “altlist” não está armazenada em cache.
[065]Em uma etapa adicional, o terminal de cliente C pode enviar uma nova solicitação para o servidor remoto S para recuperar a representação preferida r do dado bloco ln, diretamente do servidor S. Para esta finalidade, nem a diretiva “on- ly_if_cached” nem a diretiva “altlist” é usada no cabeçalho desta nova solicitação. Obviamente, esta nova solicitação também pode compreender somente a diretiva “altlist”, sem a diretiva “only_if_cached”.
[066]Referências reveladas na descrição, nas reivindicações e nos desenhos podem ser fornecidas independentemente ou em qualquer combinação apropriada. Recursos podem ser implementados, onde apropriado, em hardware, software ou em uma combinação dos dois.
[067]Números de referência que aparecem nas reivindicações são somente a título de ilustração e não devem ter nenhum efeito de limitação sobre o escopo das reivindicações.
[068]Esta revelação foi descrita em sua modalidade preferida, e está claro que ela é suscetível de inúmeras modificações e modalidades dentro da capacidade dos versados na técnica e sem o exercício da capacidade inventiva. Portanto, o es-copo da revelação é definido pelo escopo das reivindicações a seguir.
[069]Nas reivindicações anexas, qualquer elemento expressado como um recurso para executar uma função especificada (por exemplo, o módulo de fluxo contínuo adaptativo 3, o estimador de largura de banda 7, o módulo de seleção 8, o módulo de controle 11, o módulo de pesquisa 12, etc.) é pretendido para abranger algum modo de executar essa função incluindo, por exemplo, a) uma combinação de elementos de circuito (por exemplo, um ou mais processadores) que executa essa função ou b) software em qualquer forma, incluindo, portanto, firmware, microcódigo ou coisa parecida, combinado com conjunto de circuitos apropriado para executar esse software para executar a função. Os presentes princípios tais como definidos pelas reivindicações residem no fato de que as funcionalidades fornecidas pelos vá-rios dispositivos relatados são combinadas e juntadas no modo em que as reivindi-cações requerem. Assim, é considerado que quaisquer dispositivos que possam for-necer essas funcionalidades são equivalentes a esses mostrados neste documento.

Claims (13)

1. Método para fornecer uma parte de conteúdo de um conteúdo de multimí-dia para um terminal de cliente (C), um ou mais caches (R) sendo arranjados ao lon-go do caminho de transmissão entre o terminal de cliente (C) e um servidor remoto (S), várias representações da dita parte de conteúdo estando disponíveis, CARACTERIZADO pelo fato de que compreende: receber (S0) em um primeiro cache (R), a partir do terminal de cliente (C), uma solicitação para uma dada representação da dita parte de conteúdo, pertencen-do a um conjunto de representações admissíveis selecionadas dentre as ditas repre-sentações disponíveis, a dita solicitação compreendendo adicionalmente uma lista de representações alternativas do conjunto e informação auxiliar para especificar o escopo da solicitação entre o terminal de cliente e o servidor remoto, em que a in-formação auxiliar define o número de caches remanescentes arranjados entre o cli-ente e o servidor os quais são permitidos a enviarem a dita solicitação para um pró-ximo cache, no caso da dita dada representação e das ditas representações alterna-tivas não estarem armazenadas; verificar (S1) no dito primeiro cache (R) se a dita dada representação está armazenada no cache (R); no caso da dita dada representação não estar armazenada em cache, pes-quisar (S2) no dito primeiro cache (R) representações alternativas listadas.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que uma mensagem de erro é enviada para o cliente quando o último cache dos ca-ches remanescentes é desprovido da dita dada representação e das ditas represen-tações alternativas.
3. Método, de acordo com a reivindicação 1 ou 2, CARACTERIZADO pelo fato de que informação auxiliar define um cache final arranjado ao longo do caminho de transmissão, de maneira que a solicitação não é enviada pelo dito cache final, no caso da dita dada representação e das ditas representações alternativas não estarem armazenadas no cache final.
4. Método, de acordo com a reivindicação 3, CARACTERIZADO pelo fato de que uma mensagem de erro é enviada para o cliente quando o dito cache final é desprovido da dita dada representação e das ditas representações alternativas.
5. Método, de acordo com qualquer uma das reivindicações 1 a 4, CARACTERIZADO pelo fato de que as representações alternativas são pesquisadas em ordem de preferência.
6. Método, de acordo com qualquer uma das reivindicações 1 a 5, CARACTERIZADO pelo fato de que cada representação alternativa tem uma taxa de bits correspondente menor que a taxa de bits da dada representação.
7. Método, de acordo com a reivindicação 6, CARACTERIZADO pelo fato de que cada representação admissível do conjunto tem uma taxa de bits correspondente no máximo igual à largura de banda do caminho de transmissão entre o terminal de cliente (C) e o servidor remoto (S).
8. Método, de acordo com qualquer uma das reivindicações 1 a 7, CARACTERIZADO pelo fato de que, o protocolo de transmissão usado sendo HTTP, a solicitação é uma solicitação HTTP e a extensão de Controle de Cache da dita solicitação HTTP compreende a dita lista de representações alternativas.
9. Método, de acordo com qualquer uma das reivindicações 1 a 8, CARACTERIZADO pelo fato de que a dita solicitação compreende informação adici-onal, de maneira que o primeiro cache (R) retorna a representação solicitada ou uma representação alternativa listada, se armazenada em cache, ou uma mensagem de resposta no caso de nem a dada representação nem qualquer uma das representa-ções alternativas listadas estarem armazenadas em cache.
10. Método, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que, quando o protocolo de transmissão usado é HTTP, a dita informação adicio- nal é incluída na extensão de controle de cache da dita solicitação HTTP.
11. Cache configurado para fornecer uma parte de conteúdo de um conteú-do de multimídia para um terminal de cliente (C), o dito cache (R) sendo arranjado ao longo do caminho de transmissão entre o terminal de cliente (C) e um servidor remoto (S), várias representações da dita parte de conteúdo estando disponíveis, CARACTERIZADO pelo fato de que compreende: um módulo de interface (10) para receber, a partir do terminal de cliente (C), uma solicitação para uma dada representação da dita parte de conteúdo pertencendo a um conjunto de representações admissíveis selecionadas dentre as ditas repre-sentações disponíveis, a dita solicitação compreendendo adicionalmente uma lista de representações alternativas do conjunto e informação auxiliar para especificar o escopo da solicitação entre o terminal de cliente e o servidor remoto, em que a in-formação auxiliar define o número de caches remanescentes arranjados entre o cli-ente e o servidor os quais são permitidos a enviarem a dita solicitação para um pró-ximo cache, no caso da dita dada representação e das ditas representações alterna-tivas não estarem armazenadas; um módulo de controle (11) para verificar se a dita dada representação está armazenada; um módulo de pesquisa (12) formado para pesquisar representações alter-nativas listadas, no caso da dita dada representação não estar armazenada em ca-che.
12. Cache, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que as representações alternativas são pesquisadas em ordem de preferência.
13. Cache, de acordo com a reivindicação 11 ou 12, CARACTERIZADO pelo fato de que, informação auxiliar definindo um cache final arranjado ao longo do caminho de transmissão, se abstém de enviar a solicitação no caso de: a dita dada representação e as ditas representações alternativas não esta- rem armazenadas no dito cache; e o dito cache corresponder ao cache final.
BR112016015878-4A 2014-01-07 2014-06-12 Método e cache para fornecer uma parte de conteúdo de um conteúdo de multimídia para um terminal de cliente, e cache correspondente BR112016015878B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP14305015 2014-01-07
EP14305015.1 2014-01-07
PCT/EP2014/062215 WO2015104070A1 (en) 2014-01-07 2014-06-12 Method for providing a content part of a multimedia content to a client terminal, corresponding cache

Publications (2)

Publication Number Publication Date
BR112016015878A2 BR112016015878A2 (pt) 2017-08-08
BR112016015878B1 true BR112016015878B1 (pt) 2023-02-23

Family

ID=49999852

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112016015878-4A BR112016015878B1 (pt) 2014-01-07 2014-06-12 Método e cache para fornecer uma parte de conteúdo de um conteúdo de multimídia para um terminal de cliente, e cache correspondente

Country Status (9)

Country Link
US (1) US10735544B2 (pt)
EP (1) EP3092811B1 (pt)
JP (1) JP6538061B2 (pt)
KR (1) KR102212973B1 (pt)
CN (1) CN105900433B (pt)
AU (1) AU2014377337B2 (pt)
BR (1) BR112016015878B1 (pt)
TW (2) TW201527979A (pt)
WO (1) WO2015104070A1 (pt)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10033824B2 (en) * 2014-06-30 2018-07-24 Samsung Electronics Co., Ltd. Cache manifest for efficient peer assisted streaming
US10152080B2 (en) 2015-09-23 2018-12-11 Adobe Systems Incorporated Power efficient multimedia content streaming based on media segment duration
WO2021009597A1 (en) 2019-07-12 2021-01-21 Carrier Corporation A system and a method for streaming videos by creating object urls at client

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8756342B1 (en) * 2000-02-07 2014-06-17 Parallel Networks, Llc Method and apparatus for content synchronization
GB2366965A (en) * 2000-09-01 2002-03-20 Ncr Int Inc Downloading data to a requesting client form the local cache of another client
US6820114B2 (en) * 2001-09-27 2004-11-16 Sap Aktiengesellschaft Identifying object suppliers in a network
US8650266B2 (en) * 2002-03-26 2014-02-11 At&T Intellectual Property Ii, L.P. Cache validation using smart source selection in a data network
US7076544B2 (en) 2002-04-08 2006-07-11 Microsoft Corporation Caching techniques for streaming media
US7085894B2 (en) * 2003-09-11 2006-08-01 International Business Machines Corporation Selectively accepting cache content
JP2006171822A (ja) * 2004-12-13 2006-06-29 Nippon Telegr & Teleph Corp <Ntt> コンテンツ配信方法
US8560729B2 (en) * 2007-02-09 2013-10-15 Onmobile Global Limited Method and apparatus for the adaptation of multimedia content in telecommunications networks
US20090094224A1 (en) * 2007-10-05 2009-04-09 Google Inc. Collaborative search results
US8799409B2 (en) * 2009-01-15 2014-08-05 Ebay Inc. Server side data cache system
US9310959B2 (en) * 2009-06-01 2016-04-12 Zya, Inc. System and method for enhancing audio
KR101218828B1 (ko) * 2009-07-02 2013-01-04 (주)에임투지 요청배정장치를 이용한 상호협력캐시 방법 및 컨텐츠 제공 방법
US8000259B2 (en) * 2009-09-04 2011-08-16 Viasat, Inc. Distributed cache—adaptive multicast architecture for bandwidth reduction
US8560598B2 (en) * 2009-12-22 2013-10-15 At&T Intellectual Property I, L.P. Integrated adaptive anycast for content distribution
EP2410744A1 (en) * 2010-07-23 2012-01-25 Alcatel Lucent Method for transferring video segments, client entity and proxy entity realizing such a method
US20120194534A1 (en) 2011-02-02 2012-08-02 Alcatel-Lucent Usa Inc. System and Method for Managing Cache Storage in Adaptive Video Streaming System
EP2487609A1 (en) * 2011-02-07 2012-08-15 Alcatel Lucent A cache manager for segmented multimedia and corresponding method for cache management
KR101854382B1 (ko) * 2011-03-16 2018-05-04 한국전자통신연구원 레프리젠테이션을 사용하는 스트리밍 콘텐츠 제공 장치 및 방법
US8812621B2 (en) * 2011-05-03 2014-08-19 Cisco Technology, Inc. Reducing fetching load on cache servers in adaptive streaming
CN102204218B (zh) * 2011-05-31 2015-01-21 华为技术有限公司 数据处理方法、缓存节点、协作控制器及系统
JP2013069073A (ja) * 2011-09-21 2013-04-18 Nec Corp 配信ネットワークとサーバ及び配信方法
US8977704B2 (en) * 2011-12-29 2015-03-10 Nokia Corporation Method and apparatus for flexible caching of delivered media
US9729603B2 (en) * 2012-09-27 2017-08-08 Alcatel Lucent Content stream delivery using variable cache replacement granularity
US9621399B1 (en) * 2012-12-19 2017-04-11 Amazon Technologies, Inc. Distributed caching system
EP2819368A1 (en) * 2013-06-28 2014-12-31 Thomson Licensing Method for providing a content part of a multimedia content to a client terminal, corresponding cache
US9887958B2 (en) * 2013-09-16 2018-02-06 Netflix, Inc. Configuring DNS clients
US8819187B1 (en) * 2013-10-29 2014-08-26 Limelight Networks, Inc. End-to-end acceleration of dynamic content
US9325639B2 (en) * 2013-12-17 2016-04-26 At&T Intellectual Property I, L.P. Hierarchical caching system for lossless network packet capture applications
US20160048344A1 (en) * 2014-08-13 2016-02-18 PernixData, Inc. Distributed caching systems and methods

Also Published As

Publication number Publication date
TW201528806A (zh) 2015-07-16
BR112016015878A2 (pt) 2017-08-08
JP6538061B2 (ja) 2019-07-03
CN105900433B (zh) 2020-02-21
KR20160105803A (ko) 2016-09-07
US20160330289A1 (en) 2016-11-10
CN105900433A (zh) 2016-08-24
KR102212973B1 (ko) 2021-02-04
JP2017510120A (ja) 2017-04-06
TWI634789B (zh) 2018-09-01
WO2015104070A1 (en) 2015-07-16
TW201527979A (zh) 2015-07-16
EP3092811A1 (en) 2016-11-16
EP3092811B1 (en) 2020-02-12
US10735544B2 (en) 2020-08-04
AU2014377337B2 (en) 2019-08-01
AU2014377337A1 (en) 2016-08-18

Similar Documents

Publication Publication Date Title
JP2015133701A (ja) クライアント端末においてマルチメディアコンテンツのセグメントの来るシーケンスをダウンロードする方法、及び対応する端末
US11057445B2 (en) Method for adapting the downloading behavior of a client terminal configured, to receive multimedia content, and corresponding terminal
EP3120519B1 (en) Method for operating a cache arranged along a transmission path between client terminals and at least one server, and corresponding cache
BR112016015878B1 (pt) Método e cache para fornecer uma parte de conteúdo de um conteúdo de multimídia para um terminal de cliente, e cache correspondente
CN105306520B (zh) 操作高速缓存器的方法及相应高速缓存器
AU2015276544B2 (en) Method for operating a network equipment arranged along a transmission path between a client terminal and at least one server, and corresponding network equipment
EP2819368A1 (en) Method for providing a content part of a multimedia content to a client terminal, corresponding cache
EP3014835B1 (en) Method for retrieving, by a client terminal, a content part of a multimedia content
WO2015104146A1 (en) Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments

Legal Events

Date Code Title Description
B25G Requested change of headquarter approved

Owner name: THOMSON LICENSING (FR)

B25A Requested transfer of rights approved

Owner name: INTERDIGITAL VC HOLDINGS, INC. (US)

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 12/06/2014, OBSERVADAS AS CONDICOES LEGAIS