ES2644029T3 - Caché multimedia con segmentación dinámica - Google Patents

Caché multimedia con segmentación dinámica Download PDF

Info

Publication number
ES2644029T3
ES2644029T3 ES14756136.9T ES14756136T ES2644029T3 ES 2644029 T3 ES2644029 T3 ES 2644029T3 ES 14756136 T ES14756136 T ES 14756136T ES 2644029 T3 ES2644029 T3 ES 2644029T3
Authority
ES
Spain
Prior art keywords
multimedia data
multimedia
stored
portions
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES14756136.9T
Other languages
English (en)
Inventor
Luca Venturi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Opera Norway AS
Original Assignee
Opera Software AS
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 Opera Software AS filed Critical Opera Software AS
Application granted granted Critical
Publication of ES2644029T3 publication Critical patent/ES2644029T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Un método de almacenamiento de datos multimedia transferidos de manera continua de un elemento multimedia en una caché multimedia, comprendiendo el método: recibir dichos datos multimedia transferidos de manera continua como una pluralidad de porciones de datos multimedia que son discontinuas como resultado de al menos una de - una entrada de usuario que solicita un salto hacia delante o hacia atrás en la transferencia continua de datos multimedia, y - una entrada de usuario que solicita múltiples transferencias continuas simultáneas de datos multimedia desde el mismo elemento de datos; prealmacenar dicha pluralidad de porciones de datos multimedia discontinuas en una memoria intermedia en el orden en el que se reciben dichas porciones; determinar la posición temporal de dichas porciones de datos multimedia prealmacenadas en el elemento de datos multimedia; reordenar dichas porciones de datos multimedia prealmacenadas de acuerdo con las posiciones temporales determinadas; combinar las porciones que contienen secuencias consecutivas ininterrumpidas en la transferencia continua de datos multimedia para formar al menos una porción de datos temporalmente contigua; y almacenar cada porción de datos contigua como un único segmento en un archivo de caché.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Cache multimedia con segmentation dinamica Campo tecnico
La presente invention se refiere al almacenamiento de datos multimedia transferidos de manera continua en una manera optima.
Antecedentes
Los servicios multimedia transferidos de manera continua se usan ampliamente para visualizar contenidos de audio y de video a traves de internet u otras redes usando ordenadores de sobremesa, ordenadores portatiles, pero tambien en dispositivos con capacidades de memoria y de procesamiento menores, tales como televisores y tambien aquellos con una vida limitada de la baterla, tales como PDA portatiles, tabletas y telefonos moviles o telefonos inteligentes. Cuando se recibe un elemento multimedia transferido de manera continua, el dispositivo receptor o cliente multimedia, de modo convencional, almacena en memoria intermedia los datos transferidos de manera continua recibidos en una cache multimedia para minimizar las interrupciones o retrasos en la reproduction. Dependiendo del tamano del elemento multimedia transferido de manera continua, la cache puede almacenar en memoria intermedia la totalidad o solo una parte de los datos multimedia. Habitualmente, los datos multimedia se almacenan en segmentos en un archivo de la cache multimedia.
El navegador de internet Opera version 10.5 incluye una cache multimedia multisegmento en la que los datos transferidos de manera continua multimedia se almacenan mientras el usuario los mira. Cada segmento almacenado en la cache contiene una section continua para el contenido multimedia y se identifica mediante metadatos que se almacenan de forma similar. A medida que se reciben nuevos datos, pueden anadirse al segmento previamente almacenado siempre que los nuevos datos sean temporalmente contiguos a los ultimos almacenados. A continuation, los metadatos de segmento se actualizan con cada incorporation a un segmento. Cuando se visualizan datos transferidos de manera continua, tales como un breve informe de video o de noticias, los usuarios pueden desear saltarse partes de los datos transferidos de manera continua con el fin de ver una o mas porciones especificas. En lugar de almacenar en cache o preasignar el archivo multimedia completo, lo que puede ser poco practico y lento, el cliente multimedia solicita habitualmente solo la portion o porciones multimedia seleccionadas, dando como resultado una discontinuidad en la transferencia continua multimedia recibida. En el navegador Opera 10.5, no se descarta el segmento previamente almacenado, sino que cada nueva seccion recibida de datos multimedia discontinuos se almacena en memoria intermedia en un segmento separado en el archivo de cache multimedia. Cada segmento se identifica mediante metadatos asociados, que se almacenan de forma similar y que identifican que contenido se almacena en que position de almacenamiento para permitir la reproduccion. En el documento US 2005/0066063 se describe otro cache multisegmento en el que las porciones temporalmente no contiguas de una transferencia continua multimedia recibidas se almacenan en segmentos separados.
Aunque esta manera de operar una cache multimedia permite la reproduccion sin interrupciones de datos de transferencia continua multimedia, existe el riesgo de que el numero de segmentos generados pueda llegar a ser muy grande, lo que multiplica las operaciones de almacenamiento requeridas tanto para recuperar el contenido como los metadatos asociados con cada segmento. Esto puede degradar el rendimiento general y aumentar el consumo de energia del dispositivo. Esta situation puede producirse como resultado de que un usuario salte repetidamente hacia atras y hacia delante en los datos transferidos de manera continua y, de este modo, genere multiples segmentos de datos desordenados. Sin embargo, puede producirse un problema mas grave y posiblemente mas habitual cuando un usuario descarga simultaneamente dos o mas copias de un archivo multimedia, por ejemplo, cargando intencional o involuntariamente el mismo contenido en dos o mas pestanas de un navegador. La descarga simultanea del mismo archivo significara que dos porciones de datos multimedia recibidas de manera consecutiva, aunque posiblemente contengan contenidos simultaneos o superpuestos, se trataran como porciones del archivo multimedia desordenadas y se almacenaran como segmentos separados en la cache multimedia. Este problema puede crear rapidamente cientos o incluso miles de segmentos y, si el usuario desea ver el contenido en orden, requerira multiples operaciones de busqueda para saltar de un segmento a otro con el fin de recrear la transferencia continua multimedia contigua.
Por lo tanto hay una necesidad de optimizar el almacenamiento de los segmentos multimedia con el fin de mejorar el rendimiento general de un cliente multimedia, reducir los retrasos en la reproduccion y reducir tambien el consumo de energia con el fin de conservar la vida de la bateria de los dispositivos portatiles.
Los diversos metodos y sistemas descritos a continuacion abordan estos y otros problemas.
Sumario
La presente invencion se refiere a la reception, prealmacenamiento y subsiguiente reordenacion de porciones de un elemento de datos multimedia antes de almacenar estos datos en forma de segmentos en una cache. El
5
10
15
20
25
30
35
40
45
50
55
60
65
prealmacenamiento permite que las porciones de datos multimedia se clasifiquen de acuerdo con una secuencia temporalmente secuencial de datos multimedia almacenados en la misma, de manera que las porciones de datos multimedia que sean contiguas en el elemento de datos multimedia puedan fundirse en un solo segmento.
De acuerdo con un primer aspecto, se propone un metodo de almacenamiento de datos multimedia transferidos de manera continua en una cache multimedia, comprendiendo el metodo recibir porciones de un elemento de transferencia continua de datos multimedia desde una fuente multimedia; prealmacenar una pluralidad de las porciones de transferencia continua de datos multimedia en una memoria intermedia en el orden en el que se reciben dichas porciones; determinar la posicion temporal de las porciones de datos multimedia prealmacenadas en la transferencia continua de datos multimedia con el fin de identificar secuencias consecutivas en la transferencia continua de datos multimedia; reordenar dichas porciones de transferencia continua de datos multimedia prealmacenadas para formar al menos una porcion de transferencia continua de datos temporalmente contigua y almacenar cada porcion de transferencia continua de datos contigua como un unico segmento en un archivo de cache. El prealmacenamiento y subsiguiente reordenacion o reorganization de las porciones de transferencia continua de datos multimedia recibidas significa que todas las porciones de transferencia continua de datos que se reciben desordenadas pero que son secuenciales dentro del elemento de datos multimedia pueden colocarse en la secuencia temporal correcta y tambien combinarse en una sola porcion de datos, facilitando de este modo tanto el almacenamiento subsiguiente de los datos multimedia en una cache como la recuperation de estos datos.
Preferentemente, para cada segmento se almacena ademas la identification de la posicion de partida de los datos multimedia contenidos en dicho segmento dentro del elemento de transferencia continua de datos multimedia. Estos metadatos, es decir, los datos que se relacionan con el contenido del segmento de datos multimedia, permiten recuperar el segmento correcto para su reproduction. Estos datos pueden identificar adicionalmente la longitud de los datos multimedia contenidos en dicho segmento.
En un aspecto adicional se propone determinar cuando al menos una porcion de transferencia continua de datos multimedia prealmacenada es temporalmente consecutiva a los datos multimedia contenidos en un ultimo segmento almacenado en dicho archivo de cache, y actualizar dicho ultimo segmento almacenado anadiendo al mismo dicha al menos una porcion de transferencia continua de datos multimedia temporalmente consecutiva prealmacenada. Por lo tanto, es posible anadir datos a un segmento ya almacenado en un archivo de cache, siempre que estos datos sean temporalmente contiguos a los del segmento almacenado, es decir, que sigan a ese segmento de datos en el tiempo. Actualizar un segmento almacenado requiere la modification de los metadatos, sin embargo esto se limita, preferentemente, a actualizar datos almacenados que identifican la longitud de los datos multimedia contenidos en el segmento.
Ademas, es ventajoso detectar una descarga simultanea de multiples instancias de dicha transferencia continua de datos multimedia, ya que una descarga simultanea, sea intencional o no, puede afectar seriamente al numero de segmentos creados en un archivo de cache. Despues de la detection de una descarga simultanea, se propone identificar las porciones de transferencia continua de datos multimedia temporalmente contiguas que contienen un original de la transferencia continua de datos multimedia y las porciones de transferencia continua de datos multimedia contiguas que contienen copias de la transferencia continua de datos multimedia, para almacenar a continuation cada porcion de transferencia continua de datos multimedia temporalmente contigua que contiene un original de dicha transferencia continua de datos multimedia como un segmento en el archivo de cache y almacenar cada porcion de transferencia continua de datos multimedia temporalmente contigua que contiene una copia de la transferencia continua de datos multimedia como un segmento en un archivo de cache separado. Esto mejora la recuperacion de los datos multimedia almacenados en cache durante la reproduccion, ya que puede limitarse a un unico archivo de cache. Ademas, facilita la incorporation de datos almacenados en memoria intermedia a los segmentos ya almacenados en cache en los archivos de cache correspondientes, proporcionando as! un almacenamiento mas eficiente.
Preferentemente, la etapa de detectar una descarga simultanea de multiples instancias de la transferencia continua de datos multimedia incluye determinar que el numero de porciones de transferencia continua de datos multimedia prealmacenadas en la memoria intermedia antes de la reordenacion supera un numero predeterminado.
Preferentemente, la etapa de determinar la posicion temporal de dichas porciones de datos multimedia prealmacenadas en el elemento de transferencia continua de datos multimedia se realiza despues del transcurso de un tiempo predeterminado tras la reception de un elemento de transferencia continua de datos multimedia. En otras palabras, si no se recibe ninguna otra porcion de elemento de datos multimedia dentro de este tiempo predeterminado, puede realizarse el reordenamiento de las porciones de datos prealmacenadas o almacenadas en memoria intermedia. Esto reduce el riesgo de perder datos en caso de un fallo del sistema. Como alternativa, el proceso de reordenamiento que comienza con la determination de la posicion temporal de dichas porciones de datos multimedia prealmacenadas en el elemento de transferencia continua de datos multimedia se realiza cuando la memoria intermedia esta llena.
La presente invention propone, ademas, un medio legible por ordenador que tiene unas instrucciones informaticas almacenadas en el mismo, as! como un sistema para optimizar el almacenamiento de una transferencia continua de
5
10
15
20
25
30
35
40
45
50
55
60
65
datos multimedia como se establece en la siguiente descripcion y reivindicaciones adjuntas.
Con la descripcion anterior en mente, el objetivo de la presente divulgacion es superar al menos algunas de las desventajas de la tecnologla conocida como se ha descrito anteriormente.
Breve descripcion de los dibujos
Otros objetivos y ventajas de la presente invencion se haran evidentes a partir de la siguiente descripcion de las realizaciones preferidas que se ofrecen a modo de ejemplo con referencia a los dibujos adjuntos. En las figuras:
Figura 1 ilustra esquematicamente un sistema de gestion de cache multimedia de acuerdo con la presente invencion,
Figura 2 ilustra esquematicamente una organizacion funcional a modo de ejemplo de una cache multimedia de acuerdo con la presente invencion,
Figura 3 es un diagrama de flujo que ilustra el tratamiento de los datos multimedia transferidos de manera continua por el sistema de gestion de cache multimedia de acuerdo con la presente invencion, y
Figura 4 ilustra esquematicamente una estructura de datos a modo de ejemplo de los segmentos de transferencia continua de datos multimedia almacenados en el sistema de cache multimedia, y
Figura 5 ilustra esquematicamente la estructura del reordenamiento de segmentos en el sistema de cache multimedia de acuerdo con una realizacion a modo de ejemplo de la invencion.
Descripcion detallada
En la siguiente descripcion se hara referencia a unos datos multimedia transferidos de manera continua en forma de un archivo de datos multimedia, un elemento de datos multimedia o un contenido de datos multimedia. Estos terminos se usan indistintamente y todos estan destinados a hacer referencia a un unico archivo, tal como una unica grabacion de video o de audio que se suministra como datos transferidos de manera continua en paquetes a traves de una red. Cuando se reciben contenidos multimedia transferidos de manera continua, tales como videos o archivos de audio, desde una fuente externa a traves de una red de comunicaciones, los dispositivos de usuario habitualmente almacenan o almacenan en cache un numero limitado de porciones o segmentos recibidos de un tamano maximo a medida que se reciben en orden y, posteriormente, recuperan los segmentos almacenados para su reproduccion. La capacidad del cache corresponde habitualmente a una breve duracion de video, por ejemplo 5 minutos de tiempo de reproduccion. El almacenamiento en cache de los datos transferidos de manera continua garantiza que la reproduccion sea posible con menos disrupciones o interrupciones de las que de lo contrario podrian producirse si el contenido multimedia recibido se reprodujera directamente.
El contenido multimedia se envia al dispositivo de usuario a peticion del usuario, por ejemplo, seleccionando el usuario un video en una pagina web a traves de un navegador web. La transferencia continua de datos se usa cada vez mas para proporcionar informacion en internet o en redes internas de empresa y los usuarios pueden no estar interesados en ver o escuchar un archivo multimedia completo, sino preferir saltarse un contenido y ver solo partes seleccionadas del archivo. A menudo, pueden seleccionarse multiples partes de diferentes puntos en un archivo multimedia, lo que significa que los segmentos correspondientes pueden recibirse y, a continuation, almacenarse desordenados, es decir, contienen datos multimedia que son discontinuos o no temporalmente contiguos. Los datos multimedia enviados en respuesta a una selection que genera tal discontinuidad se almacenaran en un segmento separado de los datos recibidos previamente.
Los primeros sistemas desechaban porciones o segmentos de datos multimedia almacenados en cache a medida que se reproducian, sin embargo, sistemas mas recientes favorecen un mayor almacenamiento de los segmentos de datos para permitir que algun contenido solicitado se recupere del almacenamiento. Por esta razon, los metadatos relacionados con el contenido del archivo tambien deben almacenarse para permitir la recuperation correcta del contenido multimedia para su reproduccion. Por ejemplo, cuando un usuario opta por ver 2 minutos desde el principio de un video, salta a una section 5 minutos mas tarde y ve otros dos minutos, a continuacion vuelve al principio para ver el archivo de video completo, los cuatro minutos ya vistos de los datos multimedia pueden recuperarse de un archivo de cache y solo es necesario solicitar las secciones perdidas de la fuente multimedia. Esto puede dar como resultado una reproduccion mejorada para el usuario con retrasos notablemente menores, pero dara como resultado un aumento en el numero de operaciones de almacenamiento para buscar o recuperar los datos multimedia almacenados y cargar los metadatos durante la reproduccion. En la mayoria de los casos, el numero de operaciones de almacenamiento estara dentro de unos limites razonables y no tendra un impacto significativo en el rendimiento del dispositivo. Sin embargo, puede producirse un problema cuando un usuario solicita un archivo multimedia transferido de manera continua mas de una vez, por ejemplo, abriendo de forma intencional o involuntaria multiples copias de una pestana que contiene el mismo video en un navegador web. Los datos multimedia solicitados se enviaran simultaneamente dando lugar a una intercalation de datos procedentes de
5
10
15
20
25
30
35
40
45
50
55
60
65
diferentes copias del mismo archivo.
Esto se ilustra de forma simplificada en la figura 1, que muestra la recepcion simultanea de dos elementos de 64 KB de datos multimedia identicos solicitados a traves de la apertura de dos pestanas en un navegador web. Para los fines de la ilustracion se supone que se recuperan 16 KB de information de la red en cualquier momento. En la practica, este valor habitualmente cambia de manera continua. En la columna de la izquierda de la figura 1 se muestran los datos recibidos en respuesta a la apertura de una primera pestana; la columna central muestra los datos recibidos en respuesta a la apertura de una segunda pestana, mientras que la columna derecha muestra los segmentos correspondientes almacenados en un archivo de cache. Normalmente, se esperarla que la transferencia continua de dos de estos archivos multimedia generase dos segmentos que contuvieran 64 KB de datos multimedia. Sin embargo, como se ilustra en la figura 1, como la descarga de los dos archivos esencialmente se intercala, el cache multimedia no reconoce una transferencia continua temporalmente contigua de los datos. En su lugar, se crea un segmento para cada portion discontinua de los datos multimedia recibida. Los segmentos se almacenan en el orden numerico mostrado con el segmento 1 que se almacena primero, seguido por el segmento 2 y as! sucesivamente, hasta el segmento 8. Como es evidente a partir de los segmentos almacenados, no es posible anadir los datos contenidos en los segmentos 2 a 6 a los segmentos previamente almacenados, es decir, a los segmentos 1 a 5, respectivamente, ya que estos segmentos previos contienen datos que proceden de una copia diferente del archivo y, por lo tanto, no son temporalmente contiguos. La incorporation de un segmento de datos recibido a un segmento previamente almacenado solo es posible en el caso de la 7a porcion de datos recibida (es decir, los 48-64 KB de datos multimedia solicitados a traves de la 1a pestana), lo que significa que el segmento 7 es esencialmente una actualization del segmento 6 con los 16 KB de datos adicionales del primer archivo multimedia anadidos a los 16 KB de datos almacenados previamente. Se apreciara que la descarga simultanea de dos o mas copias del mismo archivo multimedia puede dar como resultado rapidamente la creation de cientos o incluso miles de segmentos. Si a continuation un usuario opta por ver el contenido multimedia de principio a fin, el numero de operaciones de busqueda requeridas para saltar de un segmento almacenado al siguiente segmento almacenado que contiene la porcion consecutiva de datos multimedia podrla ser suficiente para afectar al rendimiento general de un dispositivo y tambien al consumo de energla. Esto puede tener consecuencias no deseadas para dispositivos alimentados por baterla, tales como tabletas, telefonos moviles o telefonos inteligentes, y para aquellos dispositivos equipados con una potencia de procesamiento limitada, tales como los televisores preparados para internet, por ejemplo.
El sistema y metodo de cache multimedia para gestionar una cache multimedia de acuerdo con la presente invention aborda este problema y mejora la eficiencia de almacenamiento de contenidos multimedia almacenados, mejorando de este modo el rendimiento y reduciendo el consumo de energla. La figura 2 representa una configuration a modo de ejemplo de un sistema de cache multimedia 10 de acuerdo con una realization preferida. El sistema de cache multimedia a modo de ejemplo 10 incluye un procesador 101 y una memoria 102 que estan conectados entre si para la comunicacion. Dentro de esta memoria 102 se proporciona una memoria intermedia de prealmacenamiento 103 y una cache 104, que se usa para almacenar segmentos de datos multimedia transferidos de manera continua. La memoria puede incluir tanto una memoria no volatil como una memoria volatil. La memoria incluye un codigo legible por ordenador en forma de modulos de programacion que, cuando se ejecutan por el procesador 101, dan como resultado las diversas funciones descritas a continuacion en cooperation con la memoria intermedia de prealmacenamiento 103, el almacenamiento de cache 104 y el dispositivo de entrada/salida 105. La manera en que se crea, estructura y opera dicho codigo legible por ordenador esta dentro de la competencia normal de los expertos en la materia y, por lo tanto, no se describira mas detalladamente en el presente documento.
La cache 104 se implementa preferentemente en una memoria no volatil para permitir, por ejemplo, la resistencia a una calda del sistema. La memoria intermedia de prealmacenamiento 103 puede implementarse tanto en una memoria volatil como en una memoria no volatil. Aunque tanto el almacenamiento de cache 104 como la memoria intermedia de prealmacenamiento 103 se ilustran como areas distintas en la memoria 102, se apreciara por los expertos en la materia que no es necesario preasignar o dedicar distintas areas de memoria a estas funciones, sino que pueden distribuirse en toda la memoria, posiblemente de una manera dinamica. Ademas, puede concebirse adicionalmente que se cree un area de almacenamiento de cache 104 y un area de prealmacenamiento de memoria intermedia 103 mediante unos medios de procesamiento tras iniciar una aplicacion especlfica que utiliza o incorpora el sistema de cache multimedia 10, tal como un navegador web.
Un dispositivo de entrada/salida/interfaz de red 105 que esta conectado de forma similar para la comunicacion con el procesador 101 se proporciona para conectarse a la red de comunicaciones 20 y, especlficamente, para enviar solicitudes a y recibir contenidos multimedia transferidos de manera continua desde el servidor de contenidos multimedia 30, que esta conectado de forma similar a la red 20. La red de comunicaciones 20 puede ser cualquier red publica o privada o una combination de estas que incluya una red de difusion, una red basada en IP, tal como internet, y/o una red inalambrica capaz de permitir el intercambio y la distribution de datos de contenidos multimedia. Puede concebirse que el procesador 101, la memoria 102 y el dispositivo de entrada/salida 105 se compartan con otras aplicaciones en el dispositivo o servidor de usuario.
El sistema de cache multimedia 10 puede incorporarse en un dispositivo de usuario, tal como, por ejemplo, uno de los dispositivos representados a la izquierda de la figura 1. Por lo tanto, los dispositivos de usuario posibles incluyen,
5
10
15
20
25
30
35
40
45
50
55
60
65
sin limitation, un ordenador portatil 11, un telefono inteligente 12, una tableta 13, un PC 14 o un televisor preparado para internet 15. En el presente documento, el termino “incorporado” significa que el dispositivo comprende el hardware necesario para implementar el sistema de cache multimedia, es decir, un procesador, una memoria y un dispositivo de entrada/salida que permite una conexion a una fuente multimedia transferida de manera continua externa y tambien que el dispositivo puede programarse con el codigo legible por ordenador apropiado para realizar las funciones descritas en el presente documento. En el presente documento, el termino “televisor preparado para internet” se refiere a un televisor que tiene las capacidades de procesamiento y de almacenamiento necesarias para que pueda conectarse a una red, por ejemplo, internet, y para acceder a los datos multimedia transferidos de manera continua a traves de esta red. Los expertos en la materia pertinente reconoceran que el sistema de gestion de cache multimedia no solo puede aplicarse a dispositivos de usuario, es decir, a dispositivos usados para reproducir contenidos multimedia transferidos de manera continua, sino que puede incorporarse en cualquier dispositivo que reciba datos multimedia transferidos de manera continua, ya sea para reproduction o distribution, por ejemplo, un servidor de distribucion multimedia.
Con el fin de evitar el almacenamiento de un numero excesivo de segmentos desordenados de uno y el mismo archivo multimedia, el sistema de cache multimedia 10 permite la reordenacion de datos multimedia transferidos de manera continua de multiples segmentos en segmentos individuales que contienen datos multimedia consecutivos antes del almacenamiento. Los segmentos que contienen datos temporalmente contiguos, es decir, datos que estan en el orden secuencial correcto en el archivo multimedia, pueden combinarse por lo tanto en un solo segmento. Si dos segmentos contienen datos multimedia que se superponen o datos identicos, se descartan los datos multimedia duplicados.
Por lo tanto, durante el funcionamiento, un sistema de cache multimedia 10 de acuerdo con la presente invention recibe porciones o segmentos de una transferencia continua de datos multimedia, tales como contenidos de video o de audio, desde una fuente multimedia, que en el ejemplo ilustrado es el servidor de contenidos multimedia 30. A continuation, el sistema de cache multimedia 10 prealmacena una pluralidad de segmentos o porciones de transferencia continua de datos multimedia en una memoria intermedia, tal como la memoria intermedia de prealmacenamiento 103 mostrada en la figura 2. Los segmentos de transferencia continua de datos se prealmacenan en el orden en el que se reciben. A continuacion, el sistema de cache multimedia determina la position temporal de las porciones de datos multimedia prealmacenadas en la transferencia continua de datos multimedia, con el fin de identificar secuencias consecutivas en la transferencia continua de datos multimedia. A continuacion, las porciones de transferencia continua de datos multimedia prealmacenadas se reordenan para formar al menos una portion de transferencia continua de datos temporalmente contigua y cada portion de transferencia continua de datos contigua se almacena posteriormente como un unico segmento en un archivo de cache. Preferentemente, los segmentos reordenados tambien se transfieren desde la memoria intermedia para su almacenamiento en la cache 104 en un orden que representa la secuencia temporal correcta de los datos multimedia en cada segmento.
De acuerdo con una realization adicional, el sistema de cache multimedia 10 tambien es capaz de detectar la descarga duplicada o multiple del mismo archivo multimedia y, a continuacion, guardar cada copia separada del archivo multimedia en un archivo de cache separado. De esta manera, los datos recibidos posteriormente que siguen la secuencia a partir de los datos recibidos y almacenados previamente pueden anadirse a un segmento ya almacenado en el archivo de cache correspondiente. La detection de una descarga multiple del mismo archivo puede lograrse determinando el numero de interrupciones en cualquier transferencia continua de datos, lo que a su vez genera una serie de segmentos separados. Por ejemplo, en el ejemplo mostrado en la figura 1, la transferencia continua de datos de la segunda pestana se interrumpe cuatro veces, aunque el sistema de cache multimedia 10 esperarla normalmente recibir porciones contiguas de los datos transferidos de manera continua en respuesta a la solicitud. Colocando un umbral en tres interrupciones, entonces ya en el segmento 5, podrla deducirse que se esta produciendo una descarga multiple y que los archivos deben almacenarse en archivos de cache separados. En la practica, un umbral mas realista serla cuando el numero de segmentos creados alcanza un numero mlnimo, tal como 10 o 20. La deteccion de una descarga multiple puede producirse al guardar los segmentos en la memoria intermedia de prealmacenamiento 103, cuando los segmentos almacenados en memoria intermedia se transfieren a la cache 104 o durante el reordenamiento de los segmentos en la memoria intermedia de prealmacenamiento 103. La deteccion de descargas multiples simultaneas del mismo contenido multimedia puede usar datos de otras aplicaciones, por ejemplo, de una aplicacion que solicita la descarga. Tambien puede ser util almacenar un historial de porciones de transferencia continua de datos descargadas de modo que puedan analizarse mas datos para determinar una descarga simultanea del mismo contenido multimedia que puede almacenarse en la memoria intermedia de prealmacenamiento 103. Aunque la separation de transferencias continuas independientes de multiples copias de los mismos datos multimedia puede proporcionar un ahorro en terminos del numero de segmentos almacenados y, por lo tanto, del numero de operaciones de almacenamiento requeridas para recuperar estos segmentos, deberla evitarse dicha division de archivos para segmentos pequenos, ya que esto es ineficiente. Ademas, el numero de interrupciones que se producen y, por lo tanto, el numero de segmentos creados puede minimizarse proporcionando una memoria intermedia de prealmacenamiento 103 lo suficientemente grande. Mas especlficamente, cuanto mayor sea la memoria intermedia 103, se almacenaran menos segmentos, debido a que el reordenamiento permite que se combinen mas porciones de datos en segmentos individuales. Un tamano preferido para la memoria intermedia de prealmacenamiento depende del dispositivo en cuestion, pero preferentemente se
5
10
15
20
25
30
35
40
45
50
55
60
65
encuentra entre 256 KB y 2 MB.
En la figura 3 se ilustra un metodo a modo de ejemplo de acuerdo con una realization adicional. Este metodo comienza en la etapa 200 con la reception de una solicitud de contenido multimedia. Esta solicitud puede provenir, por ejemplo, de un navegador web y activarse por el usuario abriendo una pestana asociada con la visualization de un video. En la etapa 201, el sistema de cache multimedia comprueba si el contenido multimedia solicitado ya esta presente en la cache. Si el contenido solicitado esta almacenado en la cache, en uno o mas segmentos, el metodo avanza a la etapa 202, donde se determina si se ha perdido alguno de los contenidos solicitados en la cache. A este respecto, se observa que la cache tiene una capacidad de almacenamiento limitada, en cuyo caso no puede almacenarse un archivo multimedia completo si este es largo y la reproduction se retrasa tras la recuperation de datos. Sin embargo, tal suceso va mas alla del metodo ilustrado y no se indicarlan los datos perdidos cuando la cache este llena siempre que la cache contenga una section continua del archivo multimedia hasta los llmites de su capacidad. En general, los datos multimedia se consideran perdidos cuando la cache contiene solo una pequena seccion continua o discontinua de contenidos multimedia solicitados y tiene capacidad para mas. Por ejemplo, los datos multimedia pueden perderse cuando un usuario mira inicialmente una secuencia corta desde el principio de un video, a continuation salta por un corto periodo de tiempo a una secuencia posterior despues de volver antes de nuevo al principio. Suponiendo que las secuencias vistas esten presentes en un archivo de cache, la ultima etapa, que en esencia es una segunda solicitud para el archivo multimedia que comienza desde el principio, provocaria la respuesta en la etapa 201 de los datos almacenados en cache para las secuencias visualizadas primera y segunda. La respuesta a la consulta en la etapa 202 seria la perdida de datos entre las secuencias visualizadas primera y segunda y desde la segunda secuencia visualizada hasta el final del archivo de video, o hasta la capacidad del archivo de cache, cualquiera que sea la mas corta. Si todos los datos multimedia solicitados estan presentes en la cache 104, el metodo termina en la etapa 212. Si no se almacenan en cache ninguno de los datos multimedia solicitados, o se han perdido algunas partes, el metodo avanza a la etapa 203, donde se recuperan los datos multimedia perdidos (es decir, solicitados y recibidos) procedentes de la fuente multimedia externa.
La memoria intermedia de prealmacenamiento 103 tiene una capacidad para almacenar una cantidad determinada de datos multimedia. El reordenamiento de los datos multimedia almacenados en memoria intermedia se produce solo una vez que la memoria intermedia 103 esta llena o, como alternativa, cuando ha transcurrido un tiempo especifico cuando no se reciben nuevos datos para minimizar el riesgo de perdida de datos recibidos en caso de fallo del sistema. Por lo tanto, en la etapa 204a se determina si la memoria intermedia de prealmacenamiento esta llena. En una etapa asincrona separada 204b, se determina si se ha recibido un tiempo de espera, indicando que ha transcurrido un tiempo predeterminado desde la recepcion de los datos multimedia procedentes de la fuente externa. Si la memoria intermedia todavia tiene capacidad y asumiendo que no se recibe ningun tiempo de espera, el metodo avanza a la etapa 205 donde las porciones de contenido pendientes se almacenan en memoria intermedia en la memoria intermedia de prealmacenamiento. Cuando los datos recibidos se almacenan en memoria intermedia, cualquier contenido ya almacenado en la cache 104 puede eliminarse dividiendo las porciones recibidas en dos o mas porciones y descartando las porciones ya almacenadas en cache. De forma similar, tambien puede descartarse datos que se reciban en duplicado, por ejemplo, como resultado de las porciones que contienen contenidos superpuestos. A continuacion, el metodo vuelve a la etapa 202 y se determina de nuevo si se han perdido en la cache contenidos multimedia solicitados. Si la memoria intermedia esta llena como se ha determinado en la etapa 204a o se recibe un tiempo de espera como se muestra en la etapa 204b, el metodo avanza a la etapa 206, donde se determina si las porciones de datos multimedia almacenadas en memoria intermedia son de alguna manera temporalmente contiguas, es decir, si los datos almacenados en memoria intermedia incluyen secciones secuenciales ininterrumpidas del archivo de datos multimedia. Esto puede incluir porciones que contienen datos superpuestos. A continuacion, las porciones de datos multimedia se reordenan en la etapa 207 en el orden secuencial correcto del archivo de datos multimedia y todas las porciones que contengan datos multimedia contiguos se combinan en segmentos individuales. A continuacion, el metodo continua en la etapa 208, donde se determina si se ha producido una descarga simultanea de multiples copias del mismo contenido multimedia. Como se ha mencionado anteriormente, la descarga simultanea de multiples copias de contenido multimedia puede detectarse analizando datos historicos de los contenidos multimedia descargados o detectando la creation de un numero minimo de segmentos en la memoria intermedia de prealmacenamiento. Si la respuesta en la etapa 208 es si, el metodo avanza hasta la etapa 209 y los segmentos reordenados se guardan en dos o mas archivos de cache separados, anadiendose el ultimo segmento almacenado en cada archivo de cache mediante la incorporation de datos multimedia secuenciales, si fuera posible. Si no se detecta una descarga multiple, el metodo avanza a la etapa 210 y los segmentos de contenidos multimedia reordenados se almacenan en un unico archivo de cache. En cuanto a la etapa 209, si una portion prealmacenada reordenada contiene datos secuenciales con respecto a los contenidos en un ultimo segmento almacenado, esta porcion se anade al segmento existente almacenado en la cache. A continuacion, el metodo avanza a la etapa 211, donde el historial de las porciones de contenidos multimedia descargadas se actualiza con information sobre las porciones reordenadas contenidas en la memoria intermedia. La memoria intermedia tambien puede vaciarse en esta etapa, lo que en la practica puede significar que la memoria intermedia puede sobrescribirse con nuevas porciones de datos de contenidos multimedia. A continuacion, el metodo vuelve a la etapa 205 y cualquier dato de contenido multimedia pendiente se almacena en memoria intermedia en la memoria intermedia de prealmacenamiento 103.
5
10
15
20
25
30
35
40
45
50
Se entendera que el metodo anterior no se refiere a situaciones en las que la memoria intermedia 103 es demasiado pequena para almacenar los nuevos contenidos procedentes de la red. En tal caso, se usarlan memorias intermedias de red o pendientes para almacenar los datos antes de prealmacenarse en la memoria intermedia 103.
Ademas de almacenar los datos multimedia en segmentos en un archivo de la cache 104, el sistema de cache multimedia 10 tambien almacena los metadatos relativos a cada segmento almacenado. A continuacion, los metadatos se usan para recuperar el segmento correcto en una operation de busqueda para permitir la reproduction de los segmentos de archivo multimedia en el orden secuencial correcto.
Los metadatos se almacenan preferentemente como un encabezamiento de cada segmento de transferencia continua de datos multimedia en el archivo de cache. Esto se ilustra esquematicamente en la figura 4 que muestra un archivo de cache 1041 formado por varios segmentos 1042. Cada uno de estos segmentos tiene una parte de encabezamiento 1142 y una portion de carga util 1141, que contiene los datos multimedia transferidos de manera continua. En una realization alternativa, los metadatos pueden almacenarse en un archivo separado en la cache 104 o en una localization logica alternativa en la memoria 102 asociada con el sistema de cache multimedia 10. La memoria intermedia de prealmacenamiento 103 tambien almacena los metadatos asociados con cada segmento o porcion de datos multimedia transferidos de manera continua. Para cada segmento, los metadatos incluyen la position de partida en el archivo de contenidos multimedia. Por ejemplo, un segmento al principio de un archivo de video incluirla habitualmente una posicion de partida que indica 0 KB, mientras que los metadatos para un segmento que contiene datos que estan mas adelante en el video pueden incluir una posicion de partida que indica 10014 KB. Los metadatos almacenados en cada encabezamiento de segmento 1142 en un archivo de cache 1041 tambien incluyen la longitud del segmento. Sin embargo, esta parte de los metadatos solamente se escribe cuando se almacena un segmento en la cache 104; no es parte de los metadatos relacionados con segmentos o porciones almacenadas en la memoria intermedia de prealmacenamiento 103. En otras palabras, cuando se crea un segmento o porcion en la memoria intermedia de prealmacenamiento 103 los metadatos relativos a la posicion de partida de los datos multimedia dentro de todo el elemento de datos multimedia se almacenan con el segmento. Sin embargo, los datos sobre la longitud del segmento, es decir, la longitud de los datos multimedia 1141 contenidos en el segmento, se escribe solo cuando el segmento se almacena en la cache 104. De forma similar, cuando un segmento en la cache 104 se actualiza anadiendo datos multimedia secuenciales al mismo desde la memoria intermedia de prealmacenamiento, se actualizan los metadatos relativos a la longitud del segmento. Esto significa que si falla el sistema, se retiene la posicion secuencial de los segmentos, mientras que pueden calcularse los metadatos relativos a la longitud de datos multimedia.
La figura 5 ilustra como, de acuerdo con una realizacion preferida, el sistema de cache multimedia se ocuparia de la descarga simultanea de dos instancias del mismo archivo multimedia, como se muestra en la figura 1. En esta figura, la columna central representa las porciones o segmentos de datos multimedia almacenados en memoria intermedia en la memoria intermedia de prealmacenamiento 103. Usando los metadatos unidos a cada segmento, estos datos pueden clasificarse de acuerdo con la posicion de partida o la direction en la transferencia continua de elementos multimedia. Puesto que tambien se conoce la longitud de cada segmento, tambien se conoce la posicion o direccion final de los datos de elementos multimedia, lo que permite la determination de los datos temporalmente contiguos en diferentes secuencias. Este es evidente en el caso de los segmentos 2, 4 y 7 (en ese orden) y 1, 3, 5 y 8. Por lo tanto, los segmentos pueden reordenarse y combinarse para formar dos grandes segmentos de datos secuenciales que pueden almacenarse en la cache, posiblemente en dos archivos separados. Al reducir el numero de segmentos almacenados en la cache 104, se reduce considerablemente el numero de operaciones de busqueda requeridas para recuperar segmentos almacenados en cache y para cargar los metadatos durante la reproduccion, lo que mejora el rendimiento general y, por lo tanto, reduce el consumo de energia, a la vez que tambien limita los retrasos al usuario.
Aunque la description anterior usa un lenguaje especifico para las caracteristicas y/o metodos, debe entenderse que los sistemas y los metodos definidos en las reivindicaciones adjuntas no se limitan a las caracteristicas o los metodos especificos descritos. Por el contrario, las caracteristicas y los metodos especificos se desvelan como implementaciones a modo de ejemplo de un almacenamiento en cache multimedia de transferencia continua y un sistema de cache multimedia.

Claims (16)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    REIVINDICACIONES
    1. Un metodo de almacenamiento de datos multimedia transferidos de manera continua de un elemento multimedia en una cache multimedia, comprendiendo el metodo:
    recibir dichos datos multimedia transferidos de manera continua como una pluralidad de porciones de datos multimedia que son discontinuas como resultado de al menos una de
    - una entrada de usuario que solicita un salto hacia delante o hacia atras en la transferencia continua de datos multimedia, y
    - una entrada de usuario que solicita multiples transferencias continuas simultaneas de datos multimedia desde el mismo elemento de datos;
    prealmacenar dicha pluralidad de porciones de datos multimedia discontinuas en una memoria intermedia en el orden en el que se reciben dichas porciones;
    determinar la posicion temporal de dichas porciones de datos multimedia prealmacenadas en el elemento de datos multimedia;
    reordenar dichas porciones de datos multimedia prealmacenadas de acuerdo con las posiciones temporales determinadas;
    combinar las porciones que contienen secuencias consecutivas ininterrumpidas en la transferencia continua de datos multimedia para formar al menos una porcion de datos temporalmente contigua; y almacenar cada porcion de datos contigua como un unico segmento en un archivo de cache.
  2. 2. Un metodo de acuerdo con la reivindicacion 1, que comprende ademas:
    para cada segmento, almacenar los datos que identifican la posicion de partida dentro de todo el elemento de datos multimedia de los datos multimedia contenidos en dicho segmento.
  3. 3. Un metodo de acuerdo con la reivindicacion 2, que comprende ademas:
    para cada segmento, almacenar los datos que identifican la longitud de los datos multimedia contenidos en dicho segmento.
  4. 4. Un metodo de acuerdo con cualquier reivindicacion anterior, que comprende ademas:
    determinar cuando al menos una porcion de datos multimedia prealmacenada es temporalmente consecutiva a los datos multimedia contenidos en un segmento ya almacenado en dicho archivo de cache, actualizar dicho segmento ya almacenado anadiendo al mismo dicha al menos una porcion de datos multimedia prealmacenada temporalmente consecutiva.
  5. 5. Un metodo de acuerdo con la reivindicacion 4, en el que dicha etapa de actualizacion de dicho segmento ya almacenado incluye la actualizacion de los datos almacenados que identifican la longitud de los datos multimedia contenidos en dicho segmento.
  6. 6. Un metodo de acuerdo con cualquier reivindicacion anterior, que comprende ademas:
    detectar una descarga simultanea de multiples instancias de dicho elemento de datos multimedia, identificar las porciones de datos multimedia temporalmente contiguas que contienen un original de dicha transferencia continua de datos multimedia y las porciones de datos multimedia contiguas que contienen copias de dicha transferencia continua de datos multimedia,
    almacenar cada porcion de datos multimedia temporalmente contigua que contiene un original de dicha transferencia continua de datos multimedia como un segmento en dicho archivo de cache y almacenar cada porcion de datos multimedia temporalmente contigua que contiene una copia de dicha transferencia continua de datos multimedia como un segmento en un archivo de cache separado.
  7. 7. Un metodo de acuerdo con la reivindicacion 6, que comprende ademas:
    detectar dicha descarga simultanea de multiples instancias de dicho elemento de datos multimedia determinando que el numero de porciones de datos multimedia prealmacenadas en dicha memoria intermedia antes de la reordenacion supera un numero predeterminado.
  8. 8. Un metodo de acuerdo con una cualquiera de las reivindicaciones anteriores, en el que dicha etapa de determinacion de la posicion temporal de dichas porciones de datos multimedia prealmacenadas en el elemento de datos multimedia se realiza despues del transcurso de un tiempo predeterminado tras la recepcion de una porcion de un elemento de datos multimedia.
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
  9. 9. Un metodo de acuerdo con una cualquiera de las reivindicaciones 1 a 8, en el que dicha etapa de determinacion de la posicion temporal de dicha porciones de datos multimedia prealmacenadas en el elemento de datos multimedia se realiza cuando dicha memoria intermedia de prealmacenamiento esta llena.
  10. 10. Un medio legible por ordenador que tiene unas instrucciones informaticas almacenadas en el mismo que, cuando se ejecutan, realizan el metodo de una cualquiera de las reivindicaciones 1 a 9.
  11. 11. Un sistema de cache multimedia para optimizar el almacenamiento de los datos multimedia transferidos de manera continua de un elemento multimedia, que comprende:
    un procesador (101) configurado para controlar la recepcion de dichos datos multimedia transferidos de manera continua que se reciben como una pluralidad de porciones de datos multimedia que son discontinuas como resultado de al menos una de
    - una entrada de usuario que solicita un salto hacia delante o hacia atras en la transferencia continua de datos multimedia, y
    - una entrada de usuario que solicita multiples transferencias continuas simultaneas de datos multimedia desde el mismo elemento de datos;
    una memoria intermedia (103) configurada para prealmacenar dicha pluralidad de porciones de datos multimedia discontinuas en el orden en el que dichas porciones se reciben bajo el control de dicho procesador (101); estando dicho procesador configurado ademas para determinar la posicion temporal de dichas porciones de datos multimedia prealmacenadas, y para
    reordenar dichas porciones de datos multimedia prealmacenadas de acuerdo con las posiciones temporales determinadas y combinar las porciones que contienen secuencias consecutivas ininterrumpidas en la transferencia continua de datos multimedia para formar al menos una porcion de datos temporalmente contigua;
    y
    una cache (104) configurada para almacenar cada porcion de datos contigua como un unico segmento en un archivo de cache bajo el control de dicho procesador (101).
  12. 12. Un sistema de cache multimedia de acuerdo con la reivindicacion 11, en el que dicho procesador esta configurado ademas para
    determinar cuando al menos una porcion de datos multimedia prealmacenada es temporalmente consecutiva a los datos multimedia contenidos en un segmento ya almacenado en dicho archivo de cache, y
    actualizar dicho segmento ya almacenado anadiendo al mismo dicha al menos una porcion de datos multimedia prealmacenada.
  13. 13. Un sistema de cache multimedia de acuerdo con las reivindicaciones 11 o 12, en el que dicho procesador esta configurado ademas para:
    detectar una descarga simultanea de multiples instancias de dicho elemento de datos multimedia, para identificar porciones de datos multimedia temporalmente contiguas almacenadas en dicha memoria intermedia de prealmacenamiento (103) que contienen un original de dicha transferencia continua de datos multimedia y porciones de datos multimedia contiguas que contienen copias de dicha transferencia continua de datos multimedia,
    almacenar cada porcion de datos multimedia temporalmente contigua que contiene un original de dicha transferencia continua de datos multimedia como un segmento en dicho archivo de cache y almacenar cada porcion de datos multimedia temporalmente contigua que contiene una copia de dicha transferencia continua de datos multimedia como un segmento en un archivo de cache separado en dicha cache (104).
  14. 14. Un sistema de cache multimedia de acuerdo con una cualquiera de las reivindicaciones 11 a 13, en el que dicho procesador (101) esta configurado ademas para determinar la posicion temporal de dichas porciones de datos multimedia prealmacenadas almacenadas en dicha memoria intermedia (103) solo despues del transcurso de un tiempo predeterminado tras el prealmacenamiento de una ultima porcion de un elemento de datos multimedia en dicha memoria intermedia (103).
  15. 15. Un sistema de cache multimedia de acuerdo con una cualquiera de las reivindicaciones 11 a 13, en el que dicho procesador esta configurado para determinar la posicion temporal de dichas porciones de datos multimedia prealmacenadas almacenadas en dicha memoria intermedia (103) solo cuando dicha memoria intermedia (103) esta llena.
  16. 16. Un dispositivo de usuario que comprende un sistema de cache multimedia de acuerdo con una cualquiera de las reivindicaciones 11 a 15.
ES14756136.9T 2013-07-30 2014-07-30 Caché multimedia con segmentación dinámica Active ES2644029T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361860177P 2013-07-30 2013-07-30
US201361860177P 2013-07-30
PCT/NO2014/050134 WO2015016719A1 (en) 2013-07-30 2014-07-30 Multimedia cache with dynamic segmenting

Publications (1)

Publication Number Publication Date
ES2644029T3 true ES2644029T3 (es) 2017-11-27

Family

ID=51422122

Family Applications (1)

Application Number Title Priority Date Filing Date
ES14756136.9T Active ES2644029T3 (es) 2013-07-30 2014-07-30 Caché multimedia con segmentación dinámica

Country Status (4)

Country Link
US (1) US20150039714A1 (es)
EP (1) EP3028471B1 (es)
ES (1) ES2644029T3 (es)
WO (1) WO2015016719A1 (es)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI594607B (zh) * 2015-11-27 2017-08-01 鴻海精密工業股份有限公司 動態控制多個視頻下載之系統及方法
US11165751B2 (en) * 2017-02-16 2021-11-02 Emerald Cactus Ventures, Inc. System and method for establishing simultaneous encrypted virtual private networks from a single computing device
US11122013B2 (en) * 2017-02-16 2021-09-14 Emerald Cactus Ventures, Inc. System and method for encrypting data interactions delineated by zones
US11165825B2 (en) * 2017-02-16 2021-11-02 Emerald Cactus Ventures, Inc. System and method for creating encrypted virtual private network hotspot
US10349108B2 (en) 2017-08-24 2019-07-09 Mobitv, Inc. System and method for storing multimedia files using an archive file format
CN109189721A (zh) * 2018-08-27 2019-01-11 中国科学院电工研究所 一种实时性数据存储方法
US10848819B2 (en) 2018-09-25 2020-11-24 Rovi Guides, Inc. Systems and methods for adjusting buffer size
US11265597B2 (en) * 2018-10-23 2022-03-01 Rovi Guides, Inc. Methods and systems for predictive buffering of related content segments
CN109903785B (zh) * 2019-03-14 2020-05-15 北京字节跳动网络技术有限公司 用于缓存音频数据的方法和装置
CN114070840B (zh) * 2020-07-30 2024-04-09 中移(苏州)软件技术有限公司 一种存储方法、装置及存储介质
US11438673B2 (en) * 2020-09-11 2022-09-06 Penthera Partners, Inc. Presenting media items on a playing device
US11743308B1 (en) * 2022-07-18 2023-08-29 Audacy Operations, Inc. Efficient media storage for use in media streaming

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003280513A1 (en) * 2002-07-01 2004-01-19 Microsoft Corporation A system and method for providing user control over repeating objects embedded in a stream
US7606928B2 (en) * 2003-03-21 2009-10-20 Nokia Corporation Method and device for controlling receiver buffer fullness level in multimedia streaming
US9144737B2 (en) * 2003-08-01 2015-09-29 Turbine, Inc. Securing goal-activated game content
US7941554B2 (en) * 2003-08-01 2011-05-10 Microsoft Corporation Sparse caching for streaming media
US20050201471A1 (en) * 2004-02-13 2005-09-15 Nokia Corporation Picture decoding method
KR100710383B1 (ko) * 2005-05-09 2007-04-23 엘지전자 주식회사 디지털 멀티미디어 방송 수신기능을 갖는 단말기 및 이를 이용한 디지털 스트림 데이터 디코딩 방법
US8903196B2 (en) * 2005-10-05 2014-12-02 Texas Instruments Incorporated Video presentation at fractional speed factor using time domain interpolation
JP5796994B2 (ja) * 2010-06-08 2015-10-21 株式会社日立国際電気 処理システム、基板処理装置、処理システムのデータ処理方法、収集ユニット及び記録媒体並びに半導体装置の製造方法
US8661479B2 (en) * 2011-09-19 2014-02-25 International Business Machines Corporation Caching large objects with multiple, unknown, and varying anchor points at an intermediary proxy device

Also Published As

Publication number Publication date
WO2015016719A1 (en) 2015-02-05
EP3028471B1 (en) 2017-07-19
EP3028471A1 (en) 2016-06-08
US20150039714A1 (en) 2015-02-05

Similar Documents

Publication Publication Date Title
ES2644029T3 (es) Caché multimedia con segmentación dinámica
US8171251B2 (en) Data storage management method and device
US7523140B2 (en) File system that manages files according to content
RU2343536C2 (ru) Механизм одноранговой широковещательной передачи информационного содержания
US9792227B2 (en) Heterogeneous unified memory
CN100481028C (zh) 一种利用缓存实现数据存储的方法和装置
EP2732374B1 (en) Mobile memory cache read optimization
EP2919440B1 (en) Advertisement processing method and device
US20100191919A1 (en) Append-based shared persistent storage
KR20170052442A (ko) 분산 스토리지 시스템 노드 및 그것의 동작 방법
US20100179973A1 (en) Systems, methods, and computer programs for delivering content via a communications network
US10911560B2 (en) Partitioned serialized caching and delivery of large files
WO2011024949A1 (ja) コンテンツ配信装置、コンテンツ配信方法、およびプログラム
US10804930B2 (en) Compressed data layout with variable group size
EP2227751A1 (en) Method of and apparatus for downloading data
CN104123309A (zh) 用于数据管理的方法和系统
US20120110040A1 (en) System and Method for Providing Fast Startup of a Large File Delivery
US8850492B2 (en) Method, system and apparatus for delivering data to a mobile electronic device
US20110283068A1 (en) Memory access apparatus and method
US20110153940A1 (en) Method and apparatus for communicating data between processors in mobile terminal
JP6529577B2 (ja) 情報指向ネットワーキング(icn)ルータ
CN105653530B (zh) 一种高效可伸缩的多媒体传送、存储和呈现方法
US20200186878A1 (en) Efficient Prefetching of Common Video Clips
US20110106861A1 (en) Interface Techniques Providing Contiguous Storage For Files
US10437802B2 (en) Single IO operation integer-value database