ES2811805T3 - Sincronización de una aplicación en un dispositivo auxiliar - Google Patents
Sincronización de una aplicación en un dispositivo auxiliar Download PDFInfo
- Publication number
- ES2811805T3 ES2811805T3 ES14804322T ES14804322T ES2811805T3 ES 2811805 T3 ES2811805 T3 ES 2811805T3 ES 14804322 T ES14804322 T ES 14804322T ES 14804322 T ES14804322 T ES 14804322T ES 2811805 T3 ES2811805 T3 ES 2811805T3
- Authority
- ES
- Spain
- Prior art keywords
- application
- module
- auxiliary devices
- media device
- media
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2807—Exchanging configuration information on appliance services in a home automation network
- H04L12/2814—Exchanging control software or macros for controlling appliance services in a home automation network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/283—Processing of data at an internetworking point of a home automation network
- H04L12/2834—Switching of information between an external network and a home network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1059—End-user terminal functionalities specially adapted for real-time communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/401—Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
- H04L65/4015—Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/2362—Generation or processing of Service Information [SI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/242—Synchronisation processes, e.g. processing of PCR [Programme Clock References]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/4104—Peripherals receiving signals from specially adapted client devices
- H04N21/4126—The peripheral being portable, e.g. PDAs or mobile phones
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
- H04N21/43079—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of additional data with content streams on multiple devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/43615—Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8545—Content authoring for generating interactive applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/005—Discovery of network devices, e.g. terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L2012/2847—Home automation networks characterised by the type of home appliance used
- H04L2012/2849—Audio/video appliances
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Telephonic Communication Services (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
- Human Computer Interaction (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Diaphragms For Electromechanical Transducers (AREA)
- Circuits Of Receivers In General (AREA)
- Synchronizing For Television (AREA)
- Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
Abstract
Un método que comprende, mediante un dispositivo (140) de medios: acceder, utilizando un módulo (310) de recepción, un flujo (1100) de datos que incluye contenido (1110) multimedia y un indicador (1112) de sincronización de aplicaciones asociado con el contenido (1110) multimedia; y provocar, utilizando un módulo (320) de presentación, la presentación del contenido (1110) multimedia en una pantalla (142), caracterizado porque detecta, utilizando un módulo (330) de detección, múltiples dispositivos (130, 150) auxiliares en proximidad física al dispositivo (140) de medios; recibe, usando un módulo (232) de sincronización, una selección que indica que uno de los dispositivos (130, 150) auxiliares detectados está seleccionado; y configurar un procesador, utilizando el módulo (232) de sincronización, para generar y enviar, al seleccionado de los dispositivos (130, 150) auxiliares detectados, una instrucción de lanzamiento basada en la selección, haciendo que la instrucción de lanzamiento provoque el lanzamiento de una aplicación correspondiente al indicador (1112) de sincronización de aplicaciones en el seleccionado de los dispositivos (130, 150) auxiliares detectados, siendo enviada la instrucción de lanzamiento al mismo tiempo que la presentación del contenido (1110) multimedia en la pantalla (142).
Description
DESCRIPCIÓN
Sincronización de una aplicación en un dispositivo auxiliar
El objeto descrito en este documento generalmente se refiere al procesamiento de datos. Específicamente, la presente descripción aborda sistemas y métodos para sincronizar una aplicación en un dispositivo auxiliar.
Antecedentes
El contenido de los medios puede transmitirse a través de una red (por ejemplo, una red de televisión por cable, Internet o una red de televisión por satélite) y recibirse mediante un dispositivo de medios que está acoplado comunicativamente (por ejemplo, mediante una conexión por cable o inalámbrica) a un monitor. Por ejemplo, el contenido de los medios en la forma de ejemplo de un programa de televisión o un evento deportivo puede multiplexarse en un flujo de transporte y transmitirse a través de la red a uno o más dispositivos de medios dentro de los hogares de los usuarios. Ejemplos de tales dispositivos de medios incluyen decodificadores-receptores integrados (IRD), grabadoras de vídeo personales (PVR) y otros decodificadores (STB) que pueden conectarse a una pantalla (por ejemplo, una pantalla de televisión, un monitor de vídeo u otro dispositivo de visualización adecuado). Dichos dispositivos de medios pueden configurarse para presentar (por ejemplo, mostrar) el contenido de medios en la pantalla.
La solicitud de patente de Estados Unidos número US 2012/0081607 se refiere a un aparato receptor, método de recepción y programa; y la solicitud de patente de Estados Unidos número US 2011/320627 se refiere a aparatos, sistemas y métodos para acceder y sincronizar la presentación de contenido multimedia y contenido enriquecido en medios complementarios.
Breve descripción de los dibujos
FIG. 1 es un diagrama de red que ilustra un entorno de red adecuado para sincronizar una aplicación en un dispositivo auxiliar, según algunas realizaciones de ejemplo.
FIG. 2 es un diagrama de bloques que ilustra los componentes de una máquina servidor de medios adecuada para sincronizar la aplicación en el dispositivo auxiliar, de acuerdo con algunas realizaciones de ejemplo.
FIG. 3 es un diagrama de bloques que ilustra los componentes de un dispositivo de medios adecuado para sincronizar la aplicación en el dispositivo auxiliar, de acuerdo con algunas realizaciones de ejemplo.
FIG. 4 es un diagrama de bloques que ilustra los componentes del dispositivo auxiliar, de acuerdo con algunas realizaciones de ejemplo.
FIG. 5 es un diagrama de flujo que ilustra los flujos de datos dentro del entorno de red, de acuerdo con algunas realizaciones de ejemplo.
FIG. 6 es un diagrama de flujo que ilustra las operaciones de la máquina servidor de medios al realizar un método de sincronización de una aplicación en el dispositivo auxiliar, de acuerdo con algunas realizaciones de ejemplo.
FIG. 7-9 son diagramas de flujo que ilustran las operaciones del dispositivo de medios al realizar un método de sincronización de la aplicación en el dispositivo auxiliar, de acuerdo con algunas realizaciones de ejemplo.
FIG. 10 es un diagrama de flujo que ilustra las operaciones del dispositivo auxiliar al realizar un método de sincronización de la aplicación, de acuerdo con algunas realizaciones de ejemplo.
FIG. 11 es un diagrama de bloques que ilustra las relaciones entre el contenido de los medios, los indicadores de sincronización de aplicaciones y el contenido complementario que es pertinente al contenido de los medios, de acuerdo con algunas realizaciones de ejemplo.
FIG. 12 es un diagrama de bloques que ilustra componentes de una máquina, de acuerdo con algunas realizaciones de ejemplo, capaces de leer instrucciones de un medio legible por máquina y realizar una o más de las metodologías analizadas en este documento.
Descripción detallada
Los métodos y sistemas de ejemplo se refieren a la sincronización de una aplicación en un dispositivo auxiliar. La expresión “realización de ejemplo” en lo sucesivo se interpretará como un aspecto de la invención. El alcance de la invención está definido por las reivindicaciones adjuntas.
Se puede configurar una máquina servidor de medios (por ejemplo, un sistema informático u otro dispositivo de procesamiento) (por ejemplo, mediante uno o más módulos de software) para proporcionar contenido de medios dentro de un flujo de datos. Este flujo de datos se puede proporcionar a un dispositivo de medios que está configurado para presentar el contenido de los medios en una pantalla (por ejemplo, una pantalla principal). Además, este flujo de datos puede contener (por ejemplo, al mismo tiempo) un “ indicador de sincronización de aplicaciones” para el contenido de medios (por ejemplo, un indicador de sincronización de aplicaciones que corresponde al contenido de medios). El indicador de sincronización de aplicaciones es una estructura de datos que indica al dispositivo de medios que inicie una aplicación en un dispositivo auxiliar (por ejemplo, una tableta o un teléfono inteligente operable presente contenido adicional en una pantalla secundaria). Al proporcionar el indicador de sincronización de la aplicación con el contenido de los medios (por ejemplo, al mismo tiempo) en el flujo de datos, el inicio de la aplicación en el dispositivo auxiliar puede
sincronizarse con el contenido de los medios.
Por ejemplo, el flujo de datos puede ser un flujo de transporte multiplexado dentro del cual el contenido de los medios está contenido dentro de un flujo de programa, y el indicador de sincronización de aplicaciones puede tomar la forma de una tabla (por ejemplo, una tabla de información de la aplicación (AIT) u otra tabla) que también se multiplexa (por ejemplo, como datos de carrusel) en el mismo flujo de transporte, el mismo flujo de programa o ambos. Esta tabla, después de ser recibida por el dispositivo de medios, puede hacer que el dispositivo de medios genere y envíe una instrucción de lanzamiento al dispositivo auxiliar. La instrucción de lanzamiento, después de ser recibida por el dispositivo auxiliar, puede hacer que el dispositivo auxiliar inicie una aplicación (por ejemplo, comience a ejecutar la aplicación) mientras el dispositivo multimedia presenta el contenido multimedia en la pantalla.
El indicador de sincronización de aplicaciones puede especificar el inicio de la aplicación (por ejemplo, una aplicación móvil). Además, el indicador de sincronización de aplicaciones puede especificar el contenido complementario que presentará la aplicación iniciada. Por ejemplo, el indicador de sincronización de aplicaciones puede especificar que un navegador web se inicie con un identificador uniforme de recursos (URI) particular (por ejemplo, un localizador uniforme de recursos (URL)) como entrada, de modo que el navegador web presente contenido complementario identificado por ese URI particular. Como otro ejemplo, suponiendo que el contenido de los medios es un evento deportivo (por ejemplo, un juego de béisbol en el que está jugando un equipo en particular), el indicador de sincronización de aplicaciones puede especificar que una aplicación móvil (por ejemplo, correspondiente al equipo en particular) se inicie para presentar contenido complementario que corresponda al evento deportivo (por ejemplo, información sobre jugadores individuales en ese equipo de béisbol en particular). Como ejemplo adicional, cuando el contenido multimedia es un evento deportivo (por ejemplo, un partido de fútbol), el indicador de sincronización de la aplicación puede especificar que se inicie un navegador web o una aplicación para presentar contenido complementario en forma de transmisión de vídeo que muestre un ángulo de cámara alternativo (por ejemplo, diferente del ángulo de cámara principal representado en el contenido multimedia). Por consiguiente, el contenido complementario puede ser pertinente al contenido de los medios, puede corresponder al contenido de los medios y puede hacer referencia al contenido de los medios, aunque al mismo tiempo esté separado y sea distinto, independiente y diferente del contenido de los medios. A continuación, se analizan detalles adicionales de varias realizaciones de ejemplo.
FIG. 1 es un diagrama de red que ilustra un entorno 100 de red, de acuerdo con algunas realizaciones de ejemplo. El entorno 100 de red incluye una máquina 110 servidor de medios, una base 115 de datos, una máquina 120 servidor web, un dispositivo 140 de medios y dispositivos 130 y 150 auxiliares. La máquina 110 servidor de medios y el dispositivo 140 de medios pueden estar acoplados comunicativamente entre sí a través de una red 190 (por ejemplo, una red de televisión por cable, una red de televisión por satélite, Internet, una red de telefonía celular, cualquier otra red capaz de comunicar datos digitales o cualquier combinación adecuada de redes). Cada uno de los dispositivos 130 y 150 auxiliares puede estar acoplado comunicativamente a la máquina 110 servidor de medios, la máquina 120 servidor web, o ambas, mediante otra red 192 (por ejemplo, una red telefónica, una red acelular, una red de Internet por cable, una red de área local (LAN), una red de área amplia (WAN), o cualquier combinación adecuada de los mismos). Además, uno o ambos de los dispositivos 130 y 150 auxiliares pueden estar acoplados comunicativamente al dispositivo 140 de medios (por ejemplo, por infrarrojos (IR) o LAN inalámbrica de igual a igual, u otra conexión adecuada).
Como se indica en la FIG. 1, la máquina 110 servidor de medios puede ser o incluir un servidor de televisión por cable, un servicio de televisión por satélite o ambos. La base 115 de datos puede almacenar contenido multimedia (por ejemplo, películas, programas de televisión, eventos deportivos, programas educativos, noticieros o partes de los mismos, como escenas individuales, clips, cortes o fotogramas de dicho contenido multimedia), aplicaciones (por ejemplo, aplicación móvil) que puede corresponder a contenido multimedia, contenido complementario para contenido multimedia o cualquier combinación adecuada de los mismos. La máquina 110 servidor de medios, con o sin la base 115 de datos, puede formar todo o parte de un sistema 105 de medios basado en red (por ejemplo, un sistema de “cabecera” de medios basado en la nube). En algunas realizaciones de ejemplo, el sistema de medios basado en red también incluye la máquina 120 servidor web.
La máquina 120 servidor web puede ser o incluir un servidor de transmisión de vídeo por Internet (por ejemplo, configurado para proporcionar contenido complementario en forma de vídeo bajo demanda, como ángulos de cámara alternativos que complementan el contenido de los medios). El dispositivo 140 de medios puede ser o incluir un IRD u otro STB adecuado para presentar contenido de medios en la pantalla 142 (por ejemplo, una televisión, una pantalla de visualización u otro monitor con capacidad de vídeo), que puede estar acoplado comunicativamente (por ejemplo, mediante un cable o conexión inalámbrica) al dispositivo 140 de medios. En algunas realizaciones de ejemplo, el dispositivo 140 de medios es o incluye un ordenador servidor de medios doméstico. Uno o ambos dispositivos 130 y 150 auxiliares pueden ser o incluir una tableta, un teléfono inteligente, un ordenador portátil, un lector de libros electrónicos o cualquier combinación adecuada de los mismos. La máquina 110 servidor de medios, la base 115 de datos, la máquina 120 servidor web, el dispositivo 140 de medios y los dispositivos 130 y 150 auxiliares pueden implementarse cada uno en un sistema informático, en su totalidad o en parte, como se describe a continuación con respecto a la FIG. 12.
También se muestran en la FIG. 1 los usuarios 132 y 152. Uno o ambos de los usuarios 132 y 152 pueden ser un usuario humano (por ejemplo, un ser humano), un usuario de máquina (por ejemplo, un ordenador configurada por un programa
de software para interactuar con el dispositivo 130 auxiliar), o cualquier combinación adecuada de los mismos (por ejemplo, un humano asistido por una máquina o una máquina supervisada por un humano). El usuario 132 no forma parte del entorno 100 de red, pero está asociado con el dispositivo 130 auxiliar y puede ser un usuario del dispositivo 130 auxiliar. Por ejemplo, el dispositivo 130 auxiliar puede ser un ordenador de escritorio, un ordenador de vehículo, una tableta, un dispositivo de navegación, un dispositivo de medios portátil o un teléfono inteligente que pertenece al usuario 132. Asimismo, el usuario 152 no es parte del entorno 100 de red, pero está asociado con el dispositivo 150 auxiliar. Como ejemplo, el dispositivo 150 auxiliar puede ser un ordenador de escritorio, un ordenador de vehículo, una tableta, un dispositivo de navegación, un dispositivo de medios portátil o un teléfono inteligente perteneciente al usuario 152.
Cualquiera de las máquinas, bases de datos o dispositivos mostrados en la FIG. 1 puede implementarse en un ordenador de propósito general modificado (por ejemplo, configurado o programado) por software para que sea un ordenador de propósito especial para realizar una o más de las funciones descritas en este documento para esa máquina, base de datos o dispositivo. Por ejemplo, un sistema informático capaz de implementar una o más de las metodologías descritas en este documento se analiza a continuación con respecto a la FIG. 12. Como se usa en este documento, una “base de datos” es un recurso de almacenamiento de datos y puede almacenar datos estructurados como un archivo de texto, una tabla, una hoja de cálculo, una base de datos relacional (por ejemplo, una base de datos relacional de objetos), un almacenamiento triple, un almacén de datos jerárquico, o cualquier combinación adecuada de los mismos. Además, dos o más de las máquinas, bases de datos o dispositivos ilustrados en la FIG. 1 pueden combinarse en una sola máquina, y las funciones descritas en este documento para cualquier máquina, base de datos o dispositivo individual pueden subdividirse entre múltiples máquinas, bases de datos o dispositivos.
La red 190 y la red 192 pueden ser cada una de ellas una red que permite la comunicación entre máquinas, bases de datos y dispositivos (por ejemplo, la máquina 110 servidor de medios y el dispositivo 130 auxiliar). Por consiguiente, una o ambas de la red 190 y 192 pueden ser una red cableada, una red inalámbrica (por ejemplo, una red móvil o celular) o cualquier combinación adecuada de las mismas. Una o ambas redes 190 y 192 pueden incluir una o más partes que constituyen una red privada, una red pública (por ejemplo, Internet) o cualquier combinación adecuada de las mismas. En algunas realizaciones de ejemplo, las redes 190 y 192 se combinan en una sola red. En determinadas realizaciones de ejemplo, los dispositivos 130 y 150 auxiliares están conectados a la máquina 120 servidor web mediante redes independientes.
FIG. 2 es un diagrama de bloques que ilustra los componentes de la máquina 110 servidor de medios, de acuerdo con algunas realizaciones de ejemplo. Se muestra que la máquina 110 servidor de medios incluye un módulo 210 generador, un módulo 220 de suministro y un módulo 230 de servidor, todos configurados para comunicarse entre sí (por ejemplo, a través de un bus, memoria compartida o un conmutador). Cualquiera o más de los módulos descritos en el presente documento pueden implementarse usando hardware (por ejemplo, un procesador de una máquina) o una combinación de hardware y software. Por ejemplo, cualquier módulo descrito en el presente documento puede configurar un procesador para realizar las operaciones descritas en el presente documento para ese módulo. Además, dos o más de estos módulos pueden combinarse en un solo módulo, y las funciones descritas en este documento para un solo módulo pueden subdividirse entre múltiples módulos. Además, de acuerdo con varias realizaciones de ejemplo, los módulos descritos en este documento como implementados dentro de una sola máquina, base de datos o dispositivo pueden distribuirse entre múltiples máquinas, bases de datos o dispositivos.
El módulo 210 generador puede ser o incluir un módulo multiplexor (por ejemplo, configurado para generar un flujo de datos multiplexando datos tales como varios contenidos multimedia, una o más aplicaciones ejecutables por el módulo 130 auxiliar, y una o más aplicaciones indicadores de sincronización). El módulo 220 de suministro puede ser o incluir un módulo distribuidor (por ejemplo, configurado para proporcionar el flujo de datos distribuyendo el flujo de datos a varios dispositivos de medios, incluido el dispositivo 140 de medios).
En algunas realizaciones de ejemplo, la máquina 110 servidor de medios incluye un módulo 230 de servidor (por ejemplo, en forma de un generador de aplicaciones, un distribuidor de módulos o ambos). El módulo 230 de servidor puede generar uno o más módulos de software y almacenarlos antes de proporcionar uno o más de ellos a un dispositivo (por ejemplo, el dispositivo 140 de medios o el dispositivo 130 auxiliar). En el ejemplo mostrado en la FIG. 2, el módulo 230 de servidor está almacenando un módulo 232 de sincronización, así como un módulo 234 auxiliar. El módulo 232 de sincronización se puede utilizar para configurar uno o más dispositivos de medios (por ejemplo, el dispositivo 140 de medios). El módulo 234 auxiliar se puede utilizar para configurar uno o más dispositivos auxiliares (por ejemplo, el dispositivo 130 auxiliar). El módulo 230 de servidor puede generar, almacenar y proporcionar uno o ambos del módulo 232 de sincronización y el módulo 234 auxiliar. Por ejemplo, el módulo 232 de sincronización puede proporcionarse al dispositivo 140 de medios, y el módulo 234 auxiliar puede proporcionarse a uno o ambos de los dispositivos 130 y 150 auxiliares.
Determinadas realizaciones de ejemplo del dispositivo 140 de medios soportan una característica de descubrimiento automático de dispositivo (por ejemplo, para detectar automáticamente uno o más dispositivos auxiliares). Cuando una nueva persona que lleva un nuevo dispositivo auxiliar ingresa en una habitación durante una actividad que implica que se presenta contenido multimedia en la pantalla 142 (por ejemplo, durante el juego), la nueva persona puede ser invitada (por ejemplo, automática o manualmente) a unirse la actividad existente (por ejemplo, el juego), en base a que el nuevo dispositivo auxiliar sea detectado automáticamente por el dispositivo 140 de medios. La unión de la persona a la actividad
también puede ser automática. Alternativamente, la unión no automática de la persona puede configurarse, por ejemplo, implementando un paso de autorización de modo que se obtenga una autorización para agregar a la nueva persona (por ejemplo, mediante el dispositivo 140 de medios, desde el servidor de medios 110, la base 115 de datos, o la máquina 120 servidor web) antes de unir a la nueva persona a la actividad. Esta función puede resultar útil en un escenario multijugador de audiencia local dinámica (por ejemplo, durante eventos multimedia). Esta función puede implementarse, total o parcialmente, utilizando el protocolo Discovery And Launch (DIAL) de Netflix, Inc., utilizando otro protocolo o utilizando cualquier combinación adecuada de protocolos.
De acuerdo con algunas realizaciones de ejemplo, el módulo 232 de sincronización, el módulo 234 auxiliar, o ambos, pueden ser o incluir un servidor DIAL (por ejemplo, una aplicación de servidor que admita el protocolo DIAL de Netflix, Inc.), un cliente DIAL (por ejemplo, una aplicación cliente que admita el protocolo DIAL), o ambos. El módulo 232 de sincronización, el módulo 234 auxiliar, o ambos, también pueden ser o incluir un servidor de Transferencia de Estado Representacional (REST), un cliente REST o ambos.
En algunas realizaciones de ejemplo, el módulo 230 de servidor es o incluye un generador de señalización de eventos. En tales realizaciones de ejemplo, el módulo 230 de servidor está configurado para generar una o más señales de sincronización (por ejemplo, metadatos similares a una AIT) que son utilizables por el dispositivo 140 de medios para iniciar una o más acciones adicionales (por ejemplo, más allá de enviar instrucciones de lanzamiento). que hacen que el dispositivo 130 auxiliar realice una o más acciones adicionales. Dichas señales de sincronización se pueden proporcionar al dispositivo 140 de medios en el flujo de datos (por ejemplo, al mismo tiempo que el contenido de los medios y un indicador de sincronización de aplicaciones correspondiente). Esto puede tener el efecto de hacer que el dispositivo 130 auxiliar realice tales acciones adicionales en el momento apropiado en sincronización con el contenido de los medios.
En determinadas realizaciones de ejemplo, el módulo 230 de servidor está configurado para generar y distribuir una o más actualizaciones para el dispositivo 140 de medios, el dispositivo 130 auxiliar, o ambos (por ejemplo, actualizaciones al módulo 232 de sincronización, el módulo 234 auxiliar, un sistema operativo, middleware o cualquier combinación adecuada de los mismos).
FIG. 3 es un diagrama de bloques que ilustra los componentes del dispositivo 140 de medios, según algunas realizaciones de ejemplo. Se muestra que el dispositivo 140 de medios incluye un módulo 310 de recepción, un módulo 320 de presentación, un módulo 330 de detección y el módulo 232 de sincronización (por ejemplo, generado y proporcionado por la máquina 110 servidor de medios), todos configurados para comunicarse entre sí (por ejemplo, a través de un bus, memoria compartida o un conmutador). Como se indicó con anterioridad, uno o más de estos módulos pueden implementarse usando hardware (por ejemplo, un procesador de una máquina), y cualquier módulo descrito en este documento puede configurar un procesador para realizar las operaciones descritas en este documento para ese módulo.
El módulo 310 de recepción está configurado para recibir el flujo de datos proporcionado por la máquina 110 servidor de medios (por ejemplo, desde su módulo 220 de suministro). El módulo 320 de presentación está configurado para extraer el contenido multimedia del flujo de datos y presentar el contenido multimedia en la pantalla 142. El módulo 330 de detección está configurado para detectar uno o más dispositivos auxiliares (por ejemplo, el dispositivo 130 auxiliar) que se mueven (por ejemplo, por el usuario 132) dentro de la proximidad física del dispositivo 140 de medios, por ejemplo, moviéndose dentro de una distancia umbral del dispositivo 140 de medios (por ejemplo, dentro del rango de la señal IR, dentro del rango de red inalámbrica, o dentro de una distancia predeterminada según lo determinado por técnicas de geolocalización, como mediante el uso de datos del sistema de posicionamiento global (GPS)) y para establecer uno o más enlaces de comunicación con dichos dispositivos auxiliares detectados. En algunas realizaciones de ejemplo, el módulo 230 de servidor de la máquina 110 servidor de medios genera el módulo 330 de detección, proporciona el módulo 330 de detección al dispositivo 140 de medios, o ambos.
El módulo 232 de sincronización puede ser o incluir un cliente DIAL (por ejemplo, configurado para iniciar una o más aplicaciones en el dispositivo 130 auxiliar, que puede implementar un servidor DIAL), y el módulo 232 de sincronización puede configurarse para generar y enviar una instrucción de lanzamiento a uno o más dispositivos auxiliares (por ejemplo, dispositivos 130 y 150 auxiliares). Dicha instrucción de lanzamiento puede generarse, enviarse o ambas cosas, basándose en un indicador de sincronización de aplicaciones proporcionado (por ejemplo, al mismo tiempo) con contenido multimedia dentro de un flujo de datos desde la máquina 110 servidor de medios. Por ejemplo, la instrucción de lanzamiento puede generarse y enviarse en respuesta al hecho de que el indicador de sincronización de aplicaciones se proporciona (por ejemplo, al mismo tiempo) con el contenido de los medios. La instrucción de lanzamiento puede especificar una aplicación que se lanzará, contenido complementario que será presentado por la aplicación, o ambos. En algunas realizaciones de ejemplo, el módulo 232 de sincronización forma todo o parte de una aplicación que es almacenada por el dispositivo 140 de medios y lanzada (por ejemplo, ejecutada) por el dispositivo 140 de medios (por ejemplo, en respuesta a la presencia del indicador de sincronización de aplicaciones en el flujo de datos, en respuesta a la detección de uno o más dispositivos auxiliares, en respuesta al acceso al flujo de datos, en respuesta a la entrada del usuario, o cualquier combinación adecuada de los mismos).
FIG. 4 es un diagrama de bloques que ilustra los componentes del dispositivo 130 auxiliar, de acuerdo con algunas realizaciones de ejemplo. El dispositivo 150 auxiliar puede configurarse de manera similar. El dispositivo 130 auxiliar se
muestra incluyendo un módulo 410 de acceso, un módulo 420 de presentación, un módulo 430 de detección, una aplicación 440 (por ejemplo, un navegador o una aplicación móvil), una pantalla 450 (por ejemplo, una pantalla táctil u otra pantalla de visualización) y el módulo 234 auxiliar (por ejemplo, generado proporcionado por la máquina 110 servidor de medios), todos configurados para comunicarse entre sí (por ejemplo, a través de un bus, memoria compartida o un conmutador). Como se indicó con anterioridad, uno o más de estos módulos pueden implementarse usando hardware (por ejemplo, un procesador de una máquina), y cualquier módulo descrito en este documento puede configurar un procesador para realizar las operaciones descritas en este documento para ese módulo.
El módulo 410 de acceso está configurado para recibir una instrucción de lanzamiento enviada desde el dispositivo 140 de medios. El módulo 410 de acceso puede configurarse, además, para acceder (por ejemplo, recibir, recuperar u obtener) contenido complementario de la máquina 120 servidor web. El módulo 420 de presentación está configurado para presentar el contenido complementario en la pantalla 450. El módulo 430 de detección está configurado para detectar uno o más dispositivos de medios (por ejemplo, el dispositivo 140 de medios) que se acercan físicamente al dispositivo 130 auxiliar, por ejemplo, dentro de una distancia umbral del dispositivo 130 auxiliar (por ejemplo, dentro del rango de la señal IR, dentro del rango de la red inalámbrica, o dentro de una distancia predeterminada según e determina por técnicas de geolocalización, como mediante el uso de datos GPS) y establecer uno o más enlaces de comunicación con tales dispositivos multimedia detectados.
El módulo 234 auxiliar puede ser o incluir un servidor DIAL (por ejemplo, configurado para iniciar una o más aplicaciones en el dispositivo 130 auxiliar a petición de un cliente DIAL), y el módulo 234 auxiliar puede configurarse para iniciar la aplicación 440, que puede almacenarse en el dispositivo 130 auxiliar (por ejemplo, después de descargarse al dispositivo 130 auxiliar desde la máquina 110 servidor de medios, desde el dispositivo 140 de medios, desde la máquina 120 servidor web, o cualquier combinación adecuada de los mismos). El lanzamiento de la aplicación 440 puede ser en respuesta a la instrucción de lanzamiento recibida por el módulo 410 de acceso. La instrucción de lanzamiento puede especificar la aplicación 440 a ser lanzada, y la instrucción de lanzamiento puede especificar (por ejemplo, identificar, indicar o localizar) contenido complementario para ser accedido por el módulo 410 de acceso y presentado por la aplicación. En algunas realizaciones de ejemplo, el módulo 234 auxiliar forma todo o parte de una aplicación que es almacenada por el dispositivo 130 auxiliar y lanzada (por ejemplo, ejecutada) por el dispositivo 130 auxiliar (por ejemplo, en respuesta a la detección de uno o más dispositivos de medios, en respuesta a la entrada del usuario, o ambas).
La aplicación 440 puede ser o incluir un navegador, una aplicación móvil u otro software adecuado para presentar contenido complementario. En algunas realizaciones de ejemplo, el dispositivo 130 auxiliar es adecuado para ejecutar la aplicación 440, mientras que el dispositivo 140 de medios es inadecuado para ejecutar la aplicación 440. Por ejemplo, el dispositivo 140 de medios puede carecer de los recursos de hardware (por ejemplo, velocidad del procesador o memoria) para ejecutar la aplicación 440.
La pantalla 450 puede ser una pantalla táctil (por ejemplo, una pantalla de visualización sensible al tacto) del dispositivo 130 auxiliar. En consecuencia, mientras que el dispositivo 140 de medios puede presentar contenido de medios en la pantalla 142 (por ejemplo, un display [visualizador] principal o una pantalla principal), el dispositivo 130 auxiliar puede presentar contenido complementario en la pantalla 450 (por ejemplo, un display [visualizador] secundario o una pantalla secundaria).
FIG. 5 es un diagrama de flujo que ilustra los flujos de datos dentro del entorno 100 de red durante la ejecución de un método 500 para sincronizar la aplicación 440 en el dispositivo 130 auxiliar, según algunas realizaciones de ejemplo. En la operación 501, el módulo 210 generador de la máquina 110 servidor de medios obtiene contenido de medios (por ejemplo, accede, recibe o recupera contenido de medios de una fuente de medios aguas arriba, como una estación de televisión, un satélite u otro proveedor de contenido de medios). En la operación 510, el módulo 210 generador de la máquina 110 servidor de medios genera un indicador de sincronización de aplicaciones para su inclusión (por ejemplo, inclusión contemporánea, de modo que el tiempo de presentación del indicador de sincronización de aplicaciones cae dentro de los tiempos de presentación del contenido de medios) con el contenido de los medios en un flujo de datos. En la operación 520, el módulo 210 generador genera el flujo de datos que incluye (por ejemplo, al mismo tiempo) el contenido de medios y el indicador de sincronización de aplicaciones para el contenido de medios. Por ejemplo, el módulo 210 generador puede generar un flujo de datos multiplexando el contenido de medios con el indicador de sincronización de aplicaciones (por ejemplo, en forma de una tabla de datos) en el flujo de datos resultante.
En la operación 530, el módulo 220 de suministro de la máquina 110 servidor de medios proporciona el flujo de datos al dispositivo 140 de medios (por ejemplo, a través de la red 190). El flujo de datos se puede proporcionar a través de una o más tecnologías de comunicación de datos (por ejemplo, red de televisión por cable, red de televisión por satélite, una red de telefonía celular, televisión por protocolo de Internet (IPV), transmisión en vivo del protocolo de transferencia de hipertexto (FILS), transmisión “over the top” (OTT), o cualquier combinación adecuada de los mismos). La operación 530 puede incluir proporcionar el indicador de sincronización de aplicaciones (por ejemplo, al mismo tiempo) con el contenido de medios al dispositivo 140 de medios. Por ejemplo, el indicador de sincronización de aplicaciones puede proporcionarse con su hora de presentación (por ejemplo, una hora en la que el dispositivo 140 de medios toma acción en el indicador de sincronización de la aplicación) que se encuentra dentro de los tiempos de presentación del contenido de medios (por ejemplo, un rango de tiempos en los que el dispositivo 140 de medios presenta el contenido de medios, como la duración
de un clip, escena o programa). Como se indicó con anterioridad, el dispositivo 140 de medios puede configurarse para presentar el contenido de medios en la pantalla 142, para detectar el dispositivo 130 auxiliar y para enviar una instrucción de lanzamiento al dispositivo 130 auxiliar basándose en el indicador de sincronización de aplicaciones. Como también se señaló con anterioridad, el dispositivo 130 auxiliar puede configurarse para iniciar la aplicación 440 en respuesta a la instrucción de lanzamiento enviada desde el dispositivo 140 de medios.
En la operación 505, el módulo 330 de detección del dispositivo 140 de medios detecta el dispositivo 130 auxiliar (por ejemplo, detecta la presencia del dispositivo 130 auxiliar dentro del rango IR, rango de red inalámbrica o una distancia umbral predeterminada del dispositivo 140 de medios). El dispositivo 140 de medios puede establecer posteriormente un enlace de comunicación con el dispositivo 130 auxiliar detectado. En algunas realizaciones de ejemplo, antes de la operación 505, la máquina 110 servidor de medios proporciona el módulo 330 de detección al dispositivo 140 de medios.
En la operación 531, el módulo 310 de recepción del dispositivo 140 de medios accede (por ejemplo, recibe, lee o recupera) el flujo de datos proporcionado por la máquina 110 servidor de medios. Por lo tanto, el módulo 310 de recepción puede acceder (por ejemplo, recibir) al contenido multimedia (por ejemplo, al mismo tiempo) con el indicador de sincronización de aplicaciones. En la operación 535, el módulo 320 de presentación del dispositivo 140 de medios presenta el contenido de medios en la pantalla 142. En la operación 540, el módulo 232 de sincronización en el dispositivo 140 de medios envía una instrucción de lanzamiento al dispositivo 130 auxiliar (por ejemplo, a través de señales IR o una red inalámbrica de igual a igual). La instrucción de lanzamiento puede ser utilizada por el dispositivo 130 auxiliar para lanzar la aplicación 440.
En la operación 541, el módulo 410 de acceso del dispositivo 130 auxiliar recibe la instrucción de lanzamiento enviada desde el dispositivo 140 de medios. La instrucción de lanzamiento puede hacer referencia a la aplicación 440 (por ejemplo, un navegador). En la operación 550, el módulo 234 auxiliar en el dispositivo 130 auxiliar, en respuesta a la instrucción de lanzamiento, inicia la aplicación 440. Dado que el tiempo entre las operaciones 535 y 550 puede ser percibido por el usuario 132 como subjetivamente corto (por ejemplo, menos de un segundo), el usuario 132 puede percibir el inicio de la aplicación 440 como sincronizado con la presentación del contenido multimedia. La aplicación 440 puede hacer que el módulo 410 de acceso del dispositivo 130 auxiliar acceda al contenido complementario desde la máquina 120 servidor web, y la aplicación 440 puede hacer que el módulo 420 de presentación del dispositivo 130 auxiliar presente el contenido complementario accedido en la pantalla 450 del dispositivo auxiliar.
FIG. 6 es un diagrama de flujo que ilustra las operaciones de la máquina 110 servidor de medios al realizar un método 600 para sincronizar la aplicación 440 en el dispositivo 130 auxiliar, de acuerdo con algunas realizaciones de ejemplo. Las operaciones en el método 600 se pueden realizar usando los módulos descritos con anterioridad con respecto a la FIG. 2. Como se muestra en la FIG. 6, el método 600 incluye las operaciones 501,510, 520 y 530, y puede incluir una o más de las operaciones 601, 602, 603, 604, 610, 611, 620, 630 y 640.
En la operación 601, el módulo 230 de servidor genera el módulo 232 de sincronización (por ejemplo, para el dispositivo 140 de medios). Por ejemplo, el módulo 230 de servidor puede ensamblar el módulo 232 de sincronización como un paquete de datos de varios subcomponentes de software (por ejemplo, un cliente DIAL y una lista de dispositivos auxiliares confiables, tales como los dispositivos 130 y 150 auxiliares). La operación 601 puede incluir crear el módulo 232 de sincronización o actualizar (por ejemplo, modificar) el módulo 232 de sincronización.
En la operación 602, el módulo 230 de servidor proporciona el módulo 232 de sincronización al dispositivo 140 de medios (por ejemplo, a través de la red 190). En respuesta, el dispositivo 140 de medios puede configurarse, al menos en parte, por el módulo 232 de sincronización.
En la operación 603, el módulo 230 de servidor genera el módulo 234 auxiliar (por ejemplo, para los dispositivos 130 y 150 auxiliares). Por ejemplo, el módulo 230 de servidor puede ensamblar el módulo 234 auxiliar como un paquete de datos de varios subcomponentes de software (por ejemplo, un servidor DIAL y una lista de máquinas servidores web confiables, como la máquina 120 de servidor web). La operación 603 puede incluir crear el módulo 234 auxiliar o actualizar (por ejemplo, modificar) el módulo 234 auxiliar).
En la operación 604, el módulo 230 de servidor proporciona el módulo 234 auxiliar al dispositivo 140 de medios (por ejemplo, a través de la red 190, para su posterior suministro por el dispositivo 140 de medios al dispositivo 130 auxiliar) o al dispositivo 130 auxiliar (por ejemplo, a través de la red 192). En respuesta a recibir el módulo 234 auxiliar, el módulo 232 de sincronización del dispositivo 140 de medios puede proporcionar (por ejemplo, retransmitir) el módulo 234 auxiliar al dispositivo 130 auxiliar. En respuesta a la recepción del módulo 234 auxiliar, el dispositivo 130 auxiliar puede configurarse, al menos en parte, por el módulo 234 auxiliar.
En el método 600, las operaciones 501, 510, 520 y 530 pueden realizarse cada una de una manera similar a la descrita con anterioridad con respecto a la FIG. 5. Una o más de las operaciones 610 y 611 pueden realizarse como parte (por ejemplo, una tarea precursora, una subrutina o una parte) de la operación 510, en la que el módulo 210 generador de la máquina 110 servidor de medios genera el indicador de sincronización de aplicaciones.
En la operación 610, el módulo 210 generador incrusta una referencia (por ejemplo, un identificador o un puntero) al contenido complementario para el contenido multimedia en el indicador de sincronización de aplicaciones. Por ejemplo, la referencia incrustada puede ser o incluir un URI (por ejemplo, URL) que identifica (por ejemplo, nombres, ubicaciones o ambos) el contenido complementario, que corresponde al contenido de los medios. Esta referencia puede ser extraída por el dispositivo 140 de medios e incluida en la instrucción de lanzamiento enviada al dispositivo 130 auxiliar, que puede lanzar la aplicación 440 con la referencia como una entrada a la aplicación 440.
En la operación 611, el módulo 210 generador incrusta un identificador de la aplicación 440 en el indicador de sincronización de la aplicación (por ejemplo, un nombre de la aplicación 440, con o sin un código de autenticación). En situaciones en las que múltiples aplicaciones (por ejemplo, la aplicación 440) están disponibles para ser lanzadas sincrónicamente con el contenido de los medios, incrustar el identificador de la aplicación 440 en el indicador de sincronización de la aplicación permite que el dispositivo 140 de medios envíe una o más instrucciones de lanzamiento basadas en el indicador de sincronización de aplicaciones que identifica la aplicación 440. Por ejemplo, el dispositivo 140 de medios puede enviar una instrucción de lanzamiento que especifica qué aplicación (por ejemplo, la aplicación 440) se va a iniciar sincrónicamente con el contenido de medios. Por consiguiente, el dispositivo 130 auxiliar puede iniciar la aplicación 440 basándose en la instrucción de lanzamiento que identifica la aplicación 440.
La operación 620 se puede realizar como parte de la operación 520, en la que el módulo 210 generador de la máquina 110 servidor de medios genera el flujo de datos. En la operación 620, el módulo 210 generador integra la aplicación 440 en el flujo de datos. Por ejemplo, la aplicación 440 puede ser almacenada por la base 115 de datos, y el módulo 210 generador puede acceder a la aplicación 440 desde la base 115 de datos y multiplexar la aplicación 440 en el flujo de datos para que la aplicación 440 pueda ser proporcionada dentro del flujo de datos al dispositivo 140 de medios para su posterior provisión al dispositivo 130 auxiliar. Aunque el indicador de sincronización de la aplicación y el contenido multimedia pueden proporcionarse simultáneamente juntos (por ejemplo, entre sí, de modo que el tiempo de presentación del indicador de sincronización de la aplicación se encuentre dentro de los tiempos de presentación del contenido multimedia) dentro del flujo de datos, la aplicación 440 puede proporcionarse antes del contenido multimedia y el indicador de sincronización de aplicaciones dentro del flujo de datos. En tales situaciones, el módulo 232 de sincronización del dispositivo 140 de medios puede proporcionar (por ejemplo, retransmitir) la aplicación 440 al dispositivo 130 auxiliar para su almacenamiento en el mismo, de modo que la aplicación 440 pueda iniciarse en el momento apropiado (por ejemplo, en sincronización con el contenido de medios presentado en la pantalla 142 por el dispositivo 140 de medios). Como otro ejemplo, el módulo 232 de sincronización puede proporcionar un URL desde la que el dispositivo 130 auxiliar puede obtener la aplicación 440.
De acuerdo con algunas realizaciones de ejemplo, la red 190 puede optimizarse para la difusión de contenido de medios, mientras que la red 192 puede optimizarse para la selección interactiva y la presentación de contenido complementario. La operación 630 se puede realizar como parte de la operación 530, en la que el módulo 220 de suministro de la máquina 110 servidor de medios proporciona el flujo de datos. En la operación 630, el módulo 220 de provisión proporciona el flujo de datos a través de la red 190 (por ejemplo, una primera red), que puede contrastarse con la red 192 (por ejemplo, una segunda red). La operación 640 puede realizarse con o después de la operación 530. En la operación 640, el módulo 220 de provisión proporciona el contenido complementario a través de la red 192 (por ejemplo, la segunda red). Por ejemplo, el contenido complementario puede ser almacenado por la base 115 de datos, la máquina 110 servidor de medios, la máquina 120 servidor web, o cualquier combinación adecuada de las mismas, y el contenido complementario puede ser proporcionado por el módulo 220 de provisión al dispositivo 130 auxiliar (por ejemplo, en respuesta al lanzamiento de la aplicación 440 con una referencia al contenido complementario como parámetro de entrada). Esta provisión del contenido complementario se puede transmitir a través de la máquina 120 servidor web.
FIG. 7-9 son diagramas de flujo que ilustran las operaciones del dispositivo 140 de medios al realizar un método 700 de sincronizar la aplicación 440 en el dispositivo 130 auxiliar, según algunas realizaciones de ejemplo. Las operaciones en el método 700 se pueden realizar utilizando los módulos descritos con anterioridad con respecto a la FIG. 3. Como se muestra en la FIG. 7, el método 700 incluye las operaciones 531, 535 y 540 y puede incluir una o más de las operaciones 731, 732, 733, 734, 735, 736, 737 y 738.
La operación 731 puede realizarse como parte de la operación 531, en la que el módulo 310 de recepción del dispositivo 140 de medios recibe el flujo de datos proporcionado por la máquina 110 servidor de medios. En la operación 731, el módulo 310 de recepción recibe la aplicación 440 incorporada en el flujo de datos. Esto puede permitir que el módulo 232 de sincronización del dispositivo 140 de medios proporcione (por ejemplo, retransmita) la aplicación 440 al dispositivo 130 auxiliar (por ejemplo, para el almacenamiento en el mismo, en preparación para el lanzamiento de la aplicación 440 en sincronización con la presentación del contenido multimedia por el módulo 320 de presentación del dispositivo 140 de medios en la pantalla 142).
En la operación 732, el módulo 232 de sincronización extrae un identificador (por ejemplo, un nombre de aplicación, con o sin un código de autenticación) de la aplicación 440 del indicador de sincronización de la aplicación. Como se señaló con anterioridad, el identificador de la aplicación 440 puede estar incrustado en el indicador de sincronización de aplicaciones y puede identificar la aplicación 440 entre múltiples aplicaciones. La operación 733 se puede realizar antes, durante o después de la operación 531. En la operación 733, el módulo 232 de sincronización determina que la aplicación 440 está
en una lista confiable (por ejemplo, una lista de aplicaciones confiables, entre las cuales se encuentra la aplicación 440), lo que puede tener el efecto de proporcionar un grado de verificación de seguridad que solo las aplicaciones confiables son lanzadas en el dispositivo 130 auxiliar. De acuerdo con varias realizaciones de ejemplo, esta determinación puede realizarse basándose en el identificador extraído de la operación 732, realizado en respuesta a la aplicación que se recibe en la operación 731, o ambos. La lista de confianza puede incluirse (por ejemplo, almacenarse) en el módulo 232 de sincronización (por ejemplo, según lo generado por el módulo 230 de servidor de la máquina 110 servidor de medios) o proporcionarse al módulo 232 de sincronización (por ejemplo, como una actualización) por los máquina 110 servidor de medios, por la base 115 de datos, o por la máquina 120 servidor web (por ejemplo, mediante comunicación de capa de conexión segura (SSL)).
En la operación 734, el módulo 232 de sincronización proporciona la aplicación 440 al dispositivo 130 auxiliar para su almacenamiento, ejecución en el mismo, o ambos. En algunas realizaciones de ejemplo, la aplicación 440 se proporciona a través de un enlace de comunicación establecido entre el dispositivo 140 de medios y el dispositivo 130 auxiliar (por ejemplo, una conexión IR o inalámbrica). En situaciones en las que la aplicación 440 ya está almacenada en el dispositivo 130 auxiliar, la operación 734 puede omitirse. De manera similar, la operación 734 puede omitirse en situaciones en las que el dispositivo 130 auxiliar está configurado para obtener (recuperar, buscar o acceder) la aplicación 440 en base al URL proporcionado por el módulo 232 de sincronización.
En la operación 735, el módulo 232 de sincronización extrae la referencia al contenido complementario del indicador de sincronización de la aplicación (por ejemplo, la referencia que estaba incorporada en la operación 610). Por ejemplo, el módulo 232 de sincronización puede extraer un URI (por ejemplo, URL) que identifica el contenido complementario que será presentado por la aplicación 440 iniciada mientras el contenido multimedia se presenta en la pantalla 142. Ejemplos de realizaciones que incluyen la operación 735 también pueden incluir operación 736. En la operación 736, el módulo 232 de sincronización determina que la referencia (por ejemplo, el URL) está en una lista confiable (por ejemplo, una lista de referencias confiables a contenido complementario, como URL servidos por la máquina 120 servidor web), que puede tener el efecto de proporcionar un grado de verificación de seguridad de que solo se utilicen referencias confiables a contenido complementario. Esta determinación puede realizarse basándose en la referencia extraída de la operación 735, realizada en respuesta a que el indicador de sincronización de aplicaciones se reciba en la operación 531, o ambos. La lista de confianza puede incluirse (por ejemplo, almacenarse) en el módulo 232 de sincronización (por ejemplo, según lo genere el módulo 230 de servidor de la máquina 110 servidor de medios) o proporcionarse al módulo 232 de sincronización (por ejemplo, como una actualización) por la máquina 110 servidor de medios, por la base 115 de datos, o por la máquina 120 servidor web (por ejemplo, a través de comunicación SSL).
En la operación 737, como se muestra en la FIG. 7-8, el módulo 232 de sincronización hace que el dispositivo 140 de medios presente una sugerencia de que el dispositivo 130 auxiliar (por ejemplo, específicamente como el dispositivo 130 auxiliar, o genéricamente como uno de los múltiples dispositivos auxiliares disponibles) presente el contenido complementario (por ejemplo, referenciado por el indicador de sincronización de aplicaciones). Por ejemplo, como se muestra en la FIG. 8, la operación 737 puede incluir la operación 830, en la que el módulo 232 de sincronización presenta una sugerencia en la pantalla 142 (por ejemplo, haciendo que el módulo 320 de presentación del dispositivo 140 de medios presente la sugerencia en la pantalla 142). Como otro ejemplo, mostrado en la FIG. 8, la operación 737 puede incluir la operación 831, en la que el módulo 232 de sincronización hace que el dispositivo 130 auxiliar (por ejemplo, a través de su módulo 420 de presentación, su módulo 234 auxiliar, o ambos) presente la sugerencia en su pantalla 450 (por ejemplo, enviando un mensaje al módulo 234 auxiliar del dispositivo 130 auxiliar).
Según varias realizaciones de ejemplo, la sugerencia puede tomar la forma de un solo ícono (por ejemplo, un solo botón verde que identifica un botón o tecla en un control remoto que está configurado para controlar total o parcialmente el dispositivo 140 de medios seleccionando contenido multimedia para su presentación en la pantalla 142). Un solo ícono de este tipo puede indicar la disponibilidad del contenido complementario para la presentación, identificar un botón o tecla (por ejemplo, en un control remoto, en el dispositivo 130 auxiliar, o ambos) que es operable para enviar una aceptación de la sugerencia para presentar el contenido complementario, o ambos.
En la operación 738, como se muestra en la FIG. 7-8, el módulo 232 de sincronización recibe una aceptación de la sugerencia. Por ejemplo, como se muestra en la FIG. 8, la operación 738 puede incluir la operación 832, en la que el módulo 232 de sincronización recibe la aceptación de un control remoto (por ejemplo, un dispositivo de control remoto) que está configurado para controlar total o parcialmente el dispositivo 140 de medios. La aceptación puede recibirse detectando que se ha presionado un botón o tecla en un control remoto para el dispositivo 140 de medios para indicar que la sugerencia es aceptada (por ejemplo, para indicar que se va a presentar el contenido complementario). Como otro ejemplo, como se muestra en la FIG. 8, la operación 738 puede incluir la operación 833, en la que el módulo 232 de sincronización recibe la aceptación de la sugerencia del dispositivo 130 auxiliar. Esto puede realizarse detectando que un botón o tecla (por ejemplo, físicos o virtuales) en el dispositivo 130 auxiliar se ha pulsado para indicar que se acepta la sugerencia.
Como se muestra en la FIG. 9, el método 700 puede incluir una o más de las operaciones 505, 905, 906, 910, 935 y 936. Como se señaló con anterioridad, la operación 505 implica que el módulo 330 de detección del dispositivo 140 de medios detecte el dispositivo 130 auxiliar (por ejemplo, entrando en el rango IR, rango de red inalámbrica o dentro de una distancia
umbral predeterminada del dispositivo 140 de medios).
En la operación 905, el módulo 330 de detección del dispositivo 140 de medios determina que el dispositivo 130 auxiliar detectado está en una lista confiable (por ejemplo, una lista de dispositivos auxiliares confiables, entre los que se encuentra el dispositivo 130 auxiliar), que puede tener el efecto de proporcionar un grado de verificación de seguridad de que solo se pueden usar dispositivos auxiliares confiables. Esta determinación puede realizarse basándose en (por ejemplo, en respuesta a) la detección del dispositivo 130 auxiliar en la operación 505. La lista de confianza puede incluirse (por ejemplo, almacenarse) en el módulo 330 de detección, incluido en el módulo 232 de sincronización (por ejemplo, según lo generado por el módulo 230 de servidor de la máquina 110 servidor de medios), o proporcionado al módulo 330 de detección o al módulo 232 de sincronización (por ejemplo, como una actualización) por la máquina 110 servidor de medios, por la base 115 de datos, o por la máquina 120 servidor web (por ejemplo, mediante comunicación SSL).
En la operación 906, el módulo 330 de detección del dispositivo 140 de medios establece un enlace de comunicación con el dispositivo 130 auxiliar (por ejemplo, con su módulo 234 auxiliar). Este enlace de comunicación puede establecerse en base a que el dispositivo 130 auxiliar se ponga dentro del rango IR, dentro del rango de la red inalámbrica, dentro de una distancia umbral predeterminada del dispositivo 140 de medios, o cualquier combinación adecuada de los mismos. Además, este enlace de comunicación puede establecerse basándose en la determinación en la operación 905 de que el dispositivo 130 auxiliar detectado está en la lista de confianza. Ejemplos de un enlace de comunicación de este tipo incluyen una conexión IR, una conexión de red inalámbrica (por ejemplo, una conexión de red de área personal (PAN), como una conexión Bluetooth) o cualquier combinación adecuada de las mismas.
En la operación 910, el módulo 330 de detección del dispositivo 140 de medios detecta uno o más dispositivos auxiliares adicionales (por ejemplo, el dispositivo 150 auxiliar). Tal detección de múltiples dispositivos auxiliares (por ejemplo, dispositivos 130 y 150 auxiliares) permite que el dispositivo 140 de medios realice la operación 935, en la que el módulo 320 de presentación del dispositivo 140 de medios presenta un menú de dispositivos auxiliares detectados (por ejemplo, dispositivos 130 y 150 auxiliares) en la pantalla 142. El menú puede indicar que los dispositivos auxiliares detectados están disponibles para presentar el contenido complementario. El menú presentado, en algunas realizaciones de ejemplo, puede limitarse solo a los dispositivos auxiliares detectados que se identifican en la lista de confianza de dispositivos auxiliares. El menú presentado puede permitir a uno o más usuarios (por ejemplo, usuario 132 o usuario 152) seleccionar cuál de los dispositivos auxiliares detectados debería usarse para presentar el contenido complementario. En determinadas realizaciones de ejemplo, la selección puede realizarse desde el menú presentado (por ejemplo, por el usuario 132 navegando por el menú presentado y haciendo la selección usando un control remoto para el dispositivo 140 de medios). En algunas realizaciones de ejemplo, la selección puede realizarse a partir de uno o más de los dispositivos auxiliares detectados (por ejemplo, cuando el usuario 132 presiona un botón o tecla (por ejemplo, físicos o virtuales) en el dispositivo 130 auxiliar para seleccionar el dispositivo 130 auxiliar). En tales realizaciones de ejemplo, se puede omitir la operación 935.
En la operación 936, el módulo 232 de sincronización del dispositivo 140 de medios recibe una selección que indica qué dispositivo auxiliar (por ejemplo, dispositivo 130 auxiliar) del menú presentado se selecciona para presentar el contenido complementario. Por ejemplo, la selección se puede recibir detectando que uno o más botones o teclas (por ejemplo, tecla de navegación hacia arriba, tecla de navegación hacia abajo o tecla de confirmación de selección) en un control remoto para el dispositivo 140 de medios han sido presionados para indicar la selección. Como otro ejemplo, la selección puede realizarse detectando que se ha presionado un botón o tecla (por ejemplo, físicos o virtuales) en el dispositivo 130 auxiliar para indicar la selección.
En realizaciones de ejemplo que incluyen las operaciones 935 y 936, el envío de la instrucción de lanzamiento en la operación 540 se puede realizar basándose en (por ejemplo, en respuesta a) la selección recibida en la operación 936. Por ejemplo, la selección puede identificar el dispositivo 130 auxiliar como seleccionado para la presentación del contenido complementario, y la instrucción de lanzamiento puede enviarse en la operación 540 al dispositivo 130 auxiliar de acuerdo con la selección recibida.
FIG. 10 es un diagrama de flujo que ilustra las operaciones del dispositivo 130 auxiliar al realizar un método 1000 de sincronización de la aplicación 440, de acuerdo con algunas realizaciones de ejemplo. Las operaciones y el método 1000 pueden realizarse utilizando los módulos descritos con anterioridad con respecto a la FIG. 4. Como se muestra en la FIG.
10, el método 1000 incluye las operaciones 541 y 550, y puede incluir una o más de las operaciones 941,1031,1032,1033,1041,1042, 1051 y 1052.
En la operación 941, el módulo 410 de acceso del dispositivo 130 auxiliar recibe la aplicación 440 del dispositivo 140 de medios (por ejemplo, como resultado del dispositivo 140 de medios al realizar la operación 734). El módulo 410 de acceso puede entonces almacenar la aplicación 440 en el dispositivo 130 auxiliar (por ejemplo, en la memoria). Según varias realizaciones de ejemplo, la operación 941 puede realizarse antes, durante o después de la operación 541.
En la operación 1031, el módulo 234 auxiliar del dispositivo 130 auxiliar recibe un mensaje para presentar la sugerencia discutida con anterioridad con respecto a la operación 831. El mensaje puede enviarse desde el módulo 232 de sincronización del dispositivo 140 de medios. En algunas realizaciones de ejemplo, el módulo 234 auxiliar recibe el
mensaje a través del módulo 410 de acceso del dispositivo 130 auxiliar.
En la operación 1032, el módulo 234 auxiliar presenta la sugerencia en la pantalla 450. Por ejemplo, el módulo 234 auxiliar puede hacer que el módulo 420 de presentación presente la sugerencia en la pantalla 450. Como se señaló con anterioridad, la sugerencia puede ser o incluir un ícono único que identifica un botón o tecla que, si se presiona, indicaría que la aplicación 440 presentará el contenido complementario. La pantalla 450 puede recibir una aceptación de la sugerencia presentada (por ejemplo, como una entrada táctil del usuario 132 en el botón o tecla identificada).
En la operación 1033, el módulo 234 auxiliar del dispositivo 130 auxiliar envía la aceptación de la sugerencia al dispositivo 140 de medios (por ejemplo, a través de su módulo 232 de sincronización). Esto puede permitir que el dispositivo 140 de medios proporcione la instrucción de lanzamiento en la operación 540 basándose en (por ejemplo, en respuesta a) la aceptación de la sugerencia. Como se señaló con anterioridad, en la operación 541, el módulo 410 de acceso del dispositivo 130 auxiliar recibe la instrucción de lanzamiento del dispositivo 140 de medios.
En ciertas realizaciones de ejemplo, la presentación de la sugerencia y la detección de la aceptación es manejada completamente por el dispositivo 130 auxiliar. En tales realizaciones de ejemplo, las operaciones 1041 y 1042 se pueden realizar después de que la instrucción de lanzamiento se reciba en la operación 541. En operación 1041, el módulo 234 auxiliar presenta la sugerencia en la pantalla 450 (por ejemplo, haciendo que el módulo 420 de presentación presente la sugerencia en la pantalla 450). La operación 1041 puede realizarse basándose en (por ejemplo, en respuesta a) la instrucción de lanzamiento que se recibe en la operación 541. En la operación 1042, la pantalla 450 recibe una aceptación de la sugerencia presentada (por ejemplo, como una entrada táctil del usuario 132). En realizaciones de ejemplo que incluyen la operación 1042, el lanzamiento de la aplicación 440 en la operación 550 puede realizarse basándose en la aceptación detectada de la sugerencia.
Una o más de las operaciones 1051 y 1052 pueden realizarse como parte de la operación 550, en la que el módulo 234 auxiliar del dispositivo 130 auxiliar lanza la aplicación 440 en el dispositivo 130 auxiliar. En la operación 1051, el módulo 234 auxiliar provoca la aplicación 440 para obtener y almacenar el contenido complementario (por ejemplo, como se identifica en la instrucción de lanzamiento recibida) en el dispositivo 130 auxiliar. Por ejemplo, el módulo 234 auxiliar puede hacer que la aplicación 440 obtenga el contenido complementario de la máquina 120 servidor web y luego almacenar el contenido complementario en una memoria (por ejemplo, una memoria caché del navegador) del dispositivo 130 auxiliar. Esto puede permitir que la aplicación 440 se inicie posteriormente varias veces para presentar el contenido complementario.
En la operación 1052, el módulo 234 auxiliar hace que la aplicación 440 inicie una presentación del contenido complementario en la pantalla 450 del dispositivo 130 auxiliar. Por ejemplo, la aplicación 440 puede iniciar la presentación dentro de una ventana del navegador de la aplicación 440, donde la ventana del navegador se representa en la pantalla 450. En consecuencia, dado que la aplicación 440 se inició en base a la instrucción de lanzamiento recibida, que se envió en base a que el indicador de sincronización de la aplicación se recibió al mismo tiempo que el contenido multimedia, la pantalla 450 puede iniciarse la aplicación 440 sincrónicamente con el contenido multimedia que se presenta en la pantalla 142. Además, la pantalla 450 puede mostrar inmediatamente el contenido complementario al mismo tiempo que la presentación del contenido multimedia (por ejemplo, mientras el contenido multimedia se presenta en la pantalla 142). FIG. 11 es un diagrama de bloques que ilustra las relaciones entre el contenido 1110 multimedia y 1120, los indicadores de sincronización de aplicaciones 1112 y 1122, y el contenido 1115 complementario y 1125, dentro de un flujo 1100 de datos, de acuerdo con algunas realizaciones de ejemplo. El flujo 1100 de datos puede ser un flujo de programa, un flujo de transporte o cualquier otra fuente de datos adecuada que multiplexe varios contenidos de medios con varios indicadores de sincronización de aplicaciones. Como se muestra en la FIG. 11, el contenido 1110 multimedia puede ser un primer clip, escena o programa dentro del flujo 1100 de datos, y el contenido 1110 multimedia puede proporcionarse simultáneamente con el indicador 1112 de sincronización de aplicaciones en el flujo 1100 de datos. De manera similar, el contenido 1120 multimedia puede ser un segundo clip, escena o programa dentro del flujo 1100 de datos, y el contenido 1120 multimedia puede proporcionarse simultáneamente con el indicador 1122 de sincronización de aplicaciones en el flujo 1100 de datos. Por lo tanto, el indicador 1112 de sincronización de aplicaciones puede corresponder al contenido 1110 multimedia, y el indicador 1122 de sincronización de aplicaciones puede corresponder al contenido 1120 multimedia.
Además, el indicador 1112 de sincronización de aplicaciones puede corresponder al contenido 1115 complementario. Como se indica en la FIG. 11, el contenido 1115 complementario puede ser o incluir una página web o emisión de vídeo en tiempo real, y el contenido 1115 complementario puede ser distinto del contenido 1110 multimedia, pero aún pertinente al contenido 1110 multimedia. Asimismo, el contenido 1125 complementario puede ser o incluir una página web o una emisión de vídeo en tiempo real, y el contenido 1125 complementario puede ser distinto del contenido 1120 multimedia, pero no obstante pertinente al contenido 1120 multimedia.
La relación de correspondencia entre el indicador 1112 de sincronización de aplicaciones y el contenido 1110 multimedia puede surgir en función de que el indicador 1112 de sincronización de aplicaciones se proporcione al mismo tiempo que el contenido 1110 multimedia dentro del flujo 1100 de datos. Por ejemplo, la provisión contemporánea del contenido 1110 multimedia y el indicador 1112 de sincronización de aplicaciones pueden estar dentro de un período de tiempo corto (por
ejemplo, según lo percibe el usuario 132), tal como dentro de cinco segundos entre sí. Puede existir una relación de correspondencia similar entre el indicador 1122 de sincronización de aplicaciones y el contenido 1120 multimedia.
La relación de correspondencia entre el indicador 1112 de sincronización de aplicaciones y el contenido 1115 complementario puede surgir en función de que el indicador 1112 de sincronización de aplicaciones sea o incluya un identificador del contenido 1115 complementario (por ejemplo, URI), una referencia al contenido 1115 complementario (por ejemplo, un URL), o cualquier combinación adecuada de los mismos. Puede existir una relación de correspondencia similar entre el indicador 1122 de sincronización de aplicaciones y el contenido 1125 complementario.
En determinadas realizaciones de ejemplo, la funcionalidad completa del indicador 1112 de sincronización de aplicaciones puede implementarse mediante múltiples indicadores de sincronización de aplicaciones, cada uno de los cuales realiza solo una parte de esta funcionalidad completa. Por ejemplo, un primer indicador de sincronización de aplicaciones puede identificar el módulo 232 de sincronización del dispositivo 140 de medios, y el dispositivo 140 de medios puede lanzar su módulo 232 de sincronización basándose en (por ejemplo, respuesta a) este primer indicador de sincronización de aplicaciones que se proporciona en el flujo de datos (por ejemplo, proporcionado simultáneamente con el contenido 110 de medios, de una manera similar a la descrita con anterioridad para el indicador 1112 de sincronización de aplicaciones). Este primer indicador de sincronización de aplicaciones puede no contener información que identifique la aplicación 440 que será lanzada por el dispositivo 130 auxiliar, y esta primera sincronización de aplicaciones puede no contener información que identifique ningún contenido complementario (por ejemplo, contenido 1115 complementario) que será presentado por la aplicación 440.1. En tal situación, se puede proporcionar un segundo indicador de sincronización de aplicaciones en el flujo 1100 de datos (por ejemplo, al mismo tiempo que el contenido 1110 multimedia). Como ejemplo, este segundo indicador de sincronización de aplicaciones puede identificar la aplicación 440, así como el contenido 1115 complementario que será presentado por la aplicación 440. Como otro ejemplo, el módulo 232 de sincronización puede tener u obtener un identificador de la aplicación 440 (por ejemplo, como datos almacenados, datos codificados o datos a los que se accede desde la base 115 de datos, la máquina 110 servidor de medios o la máquina 120 servidor web), y el segundo indicador de sincronización puede identificar sólo el contenido 1115 complementario.
De acuerdo con varias realizaciones de ejemplo, una o más de las metodologías descritas en este documento pueden facilitar la sincronización del lanzamiento de una aplicación en un dispositivo auxiliar. Además, una o más de las metodologías descritas en el presente documento pueden permitir la sincronización del lanzamiento de una aplicación de este tipo con el contenido multimedia que se presenta en una pantalla. Además, una o más de las metodologías descritas en el presente documento pueden facilitar la recuperación y presentación de contenido complementario a través de la aplicación sincronizada, de modo que el contenido complementario se presente simultáneamente con el contenido multimedia, cuando el contenido multimedia se presenta en la pantalla.
Cuando estos efectos se consideran en conjunto, una o más de las metodologías descritas en este documento pueden obviar la necesidad de ciertos esfuerzos o recursos que, de otra manera, estarían involucrados en la sincronización del lanzamiento de una aplicación con contenido multimedia, visualización contemporánea de contenido complementario con contenido multimedia, o cualquier combinación adecuada de los mismos. Los esfuerzos realizados por un usuario para identificar, iniciar o sincronizar la visualización de contenido complementario en un dispositivo auxiliar mientras el contenido multimedia se presenta mediante un dispositivo multimedia pueden reducirse mediante una o más de las metodologías descritas en el presente documento. Los recursos informáticos utilizados por una o más máquinas, bases de datos o dispositivos (por ejemplo, dentro del entorno 100 de red) pueden reducirse de manera similar. Ejemplos de tales recursos informáticos incluyen ciclos de procesador, tráfico de red, uso de memoria, capacidad de almacenamiento de datos, consumo de energía y capacidad de enfriamiento.
Como ejemplo de un caso de uso, la máquina 110 servidor de medios puede incrustar el indicador 1112 de sincronización de aplicaciones en una AIT dentro del flujo 1100 de datos, que puede incluir un flujo de audio y vídeo de transmisión de un juego de béisbol en vivo como contenido 1110 multimedia, y esta AIT puede hacer referencia a una página web (por ejemplo, al incluir un URL que se abrirá a través de un navegador) como contenido 1115 complementario. El dispositivo 140 de medios recibe la AIT al mismo tiempo que el contenido de audio y vídeo que representa un punto o evento particular en el juego de béisbol (por ejemplo, como un jugador particular que se convierte en el jugador actual “al bate”). En respuesta a la AIT, el dispositivo 140 de medios puede mostrar un botón verde en la pantalla 142 durante 30 segundos, después de lo cual el botón desaparece. El botón verde puede ser un solo ícono y puede corresponder a una tecla verde en un control remoto que es operable por el usuario 132 para controlar total o parcialmente el dispositivo 140 de medios y así controlar lo que se muestra en la pantalla 142.
En el dispositivo 140 de medios, si la tecla verde en el control remoto se activa durante el período de 30 segundos, el módulo 232 de sincronización puede solicitar del módulo 330 de detección una lista de dispositivos auxiliares cercanos (por ejemplo, dispositivos 130 y 150 auxiliares). En algunas realizaciones de ejemplo, la tecla verde puede activarse después del período de 30 segundos (por ejemplo, si el dispositivo 140 de medios registró un oyente para la tecla verde, y este oyente todavía está activo). El módulo 330 de detección puede detectar aquellos dispositivos auxiliares que están dentro de un umbral de distancia y configurados con el módulo 234 auxiliar. Dichos dispositivos auxiliares (por ejemplo, dispositivos 130 y 150 auxiliares) pueden identificarse en una lista (por ejemplo, un menú) proporcionada por el módulo 330 de detección al módulo 232 de sincronización. El módulo 232 de sincronización puede entonces mostrar la lista en la
pantalla 142, lo que puede permitir al usuario 132 navegar por la lista (por ejemplo, presionando una o más teclas de flecha en el control remoto) y seleccionar qué de los dispositivos auxiliares enumerados (por ejemplo, el dispositivo 130 auxiliar) deben usarse para iniciar y ejecutar una aplicación sincronizada (por ejemplo, la aplicación 440). En respuesta a una selección realizada, el módulo 232 de sincronización envía la instrucción de lanzamiento al uno o más dispositivos auxiliares seleccionados (por ejemplo, el dispositivo 130 auxiliar). En algunas realizaciones de ejemplo, no se muestra una lista de dispositivos auxiliares detectados en la pantalla 142, y uno o más dispositivos auxiliares detectados (por ejemplo, identificados en una lista confiable de dispositivos auxiliares) pueden seleccionarse automáticamente para iniciar la ejecución de una aplicación sincronizada (por ejemplo, aplicación 440).
La instrucción de lanzamiento puede incluir el URL de la página web, que puede contener contenido complementario relacionado con el juego de béisbol en vivo. Tal página web puede incluir uno o más enlaces a contenido complementario presentable por la aplicación 440 (por ejemplo, contenido 1115 complementario). Ejemplos de dicho contenido complementario incluyen estadísticas para cada equipo involucrado en el juego de béisbol, opciones para seleccionar ángulos de cámara alternativos que representen el juego de béisbol en vivo desde diferentes ángulos y una opción para seleccionar una transmisión de audio alternativa para el juego de béisbol en vivo (por ejemplo, anuncios de locutores de radio que describen el juego de béisbol en vivo jugada por jugada, cuyos anuncios pueden ser más informativos que el contenido de los medios de comunicación del juego de béisbol en vivo). El usuario 132 puede seleccionar independientemente su opción elegida para su dispositivo 130 auxiliar, sin afectar lo que muestra el dispositivo 140 de medios en la pantalla 142, y sin afectar lo que el usuario 152 pueda seleccionar para la presentación en su dispositivo 150 auxiliar.
Además, el juego de béisbol en vivo puede representar a un jugador actual “al bate”, y la página web puede ofrecer contenido complementario que se refiere al mismo jugador (por ejemplo, contenido 1115 complementario). Por ejemplo, la AIT puede contener una referencia al jugador (por ejemplo, por su nombre); la instrucción de lanzamiento puede incluir la referencia al jugador; y la aplicación 440 puede iniciarse con la referencia al jugador como entrada (por ejemplo, como un parámetro de entrada para iniciar la aplicación 440). La referencia puede actualizarse cuando cambia el jugador actual “al bate” (por ejemplo, dentro de una nueva versión de la misma AIT o en una nueva AIT incrustada en el flujo de datos). En consecuencia, la máquina servidor de medios puede incrustar tales referencias en el flujo de datos como eventos que indican dinámicamente cambios en el contenido complementario para el juego de béisbol en vivo (por ejemplo, un cambio que reemplaza el contenido 1115 complementario con el contenido 1125 complementario). Cualquiera o más de tales eventos pueden ser procesados por el módulo 232 de sincronización del dispositivo 140 de medios. Además, el procesamiento de tal evento puede hacer que el módulo 232 de sincronización transmita señales de sincronización adicionales (por ejemplo, metadatos similares a una AIT) al módulo 234 auxiliar en el dispositivo 130, a la aplicación 440 (por ejemplo, directamente), o ambos.
Como característica de ejemplo, según varias realizaciones de ejemplo, el módulo 232 de sincronización del dispositivo 140 de medios puede proporcionar a la aplicación 440 en el dispositivo 130 auxiliar una instrucción para cambiar el contenido complementario en respuesta al usuario 132 cambiando el flujo de datos accedido (por ejemplo, recibir) por el dispositivo 140 de medios (por ejemplo, por el usuario 132 que cambia los canales de difusión para ver un flujo de datos de difusión diferente). Por ejemplo, esta instrucción para cambiar el contenido complementario puede ser o incluir un URL de nuevo contenido complementario que corresponda al nuevo flujo de datos. En algunas realizaciones de ejemplo, esta instrucción se puede proporcionar al módulo 234 auxiliar en el dispositivo 130 auxiliar, y el módulo 234 auxiliar puede configurarse para proporcionar este URL a la aplicación 440 en su siguiente lanzamiento. Por consiguiente, si la aplicación 440 se cierra y el usuario 132 cambia de canal en el dispositivo 140 de medios, la aplicación 440 puede iniciarse con contenido complementario apropiado que corresponda al nuevo canal.
Como otra característica de ejemplo, según varias realizaciones de ejemplo, la detección de nuevos dispositivos auxiliares puede ser dinámica y continua. Por tanto, un usuario adicional (por ejemplo, un usuario recién llegado, más allá de los usuarios 132 y 152) puede traer un dispositivo auxiliar adicional (por ejemplo, un dispositivo auxiliar recién llegado, más allá de los dispositivos 130 y 150 auxiliares) a la proximidad física del dispositivo 140 de medios. El dispositivo 140 de medios puede detectar este nuevo dispositivo auxiliar y, en respuesta, presentar el botón verde como se discutió con anterioridad. Esto puede permitir una forma conveniente de agregar usuarios adicionales de manera flexible para mostrar contenido complementario. Por ejemplo, si el contenido multimedia es un programa de juegos y el contenido complementario es una página web que permite a los usuarios 132 y 152 jugar en sus respectivos dispositivos 130 y 150, uno o más usuarios adicionales pueden unirse al juego presionando el botón verde y seleccionando sus propios dispositivos auxiliares para presentar la página web.
Como una característica de ejemplo adicional, de acuerdo con varias realizaciones de ejemplo, la aplicación 440 puede configurarse para almacenar parte o todo el contenido complementario (por ejemplo, contenido 1112 complementario) presentable por la aplicación 440, referencia de almacenamiento (por ejemplo, un URL) a parte o todo el contenido complementario, o cualquier combinación adecuada de los mismos. Esta capacidad para almacenar una o más porciones del contenido complementario, o referencias al mismo, puede permitir que la aplicación 440 presente estas porciones de una manera flexible dependiendo del rendimiento de la red (por ejemplo, velocidades de transferencia de datos dentro de la red 192). Por ejemplo, la aplicación 440 puede almacenar una receta de un programa de cocina para su presentación repetida en un momento posterior (por ejemplo, días o meses después de que finalice la presentación del programa de
cocina). La aplicación 440 puede configurarse para determinar un rendimiento de red esperado (por ejemplo, siempre bien conectado, desconectado los fines de semana o cualquier otro patrón de rendimiento de red). Basándose en este rendimiento esperado de la red, la aplicación 440 puede determinar si se almacenará una parte del contenido complementario o si se almacenará una referencia a la parte. Por ejemplo, si se espera que el rendimiento de la red sea alto en un momento dado, pero el rendimiento real de la red es bajo, la aplicación 440 puede almacenar una referencia a una parte del contenido complementario, de modo que se pueda acceder a la parte en un momento posterior. cuando el rendimiento real de la red es alto. Como otro ejemplo, si se espera que el rendimiento de la red sea alto, y el rendimiento real de la red también es alto, la aplicación 440 almacena la parte real del contenido complementario (por ejemplo, aprovechando el alto rendimiento de la red). En algunas situaciones híbridas, la aplicación 440 puede iniciar el almacenamiento tanto de la parte del contenido complementario como de la referencia al contenido complementario. Además, la aplicación 440 puede iniciar el almacenamiento de una porción del contenido complementario (por ejemplo, una receta del programa de cocina) e iniciar el almacenamiento de una referencia a otra porción del contenido complementario (por ejemplo, un vídeo de esa receta en proceso).
En algunas versiones de ejemplo de este caso de uso, la aplicación 440 (por ejemplo, un navegador) en el dispositivo 130 auxiliar está configurada para comunicarse con el módulo 320 de presentación en el dispositivo 140 de medios. El módulo 320 de presentación puede incluir un navegador u otro software adecuado que permite que la aplicación 440 en el dispositivo 130 auxiliar presente parte o todo el contenido complementario en la pantalla 142 del dispositivo 140 de medios. En consecuencia, el usuario 132 puede optar por activar un botón etiquetado como “enviar contenido complementario a la pantalla principal” y permitir que otros usuarios (por ejemplo, usuario 152) experimenten el mismo contenido complementario. Tal activación puede hacer que parte o todo el contenido complementario se envíe desde el dispositivo 130 auxiliar al dispositivo 140 de medios para su presentación en la pantalla 142. En algunas realizaciones de ejemplo, dicha activación provoca una referencia (por ejemplo, un URL) a algunos o todo el contenido complementario que se enviará desde el dispositivo 130 auxiliar al dispositivo 140 de medios, y el dispositivo 140 de medios puede obtener (por ejemplo, acceder a) parte o todo el contenido complementario para su presentación en la pantalla 142.
Cuando se utilizan múltiples dispositivos auxiliares (por ejemplo, dispositivos 130 y 150 auxiliares), según algunas realizaciones de ejemplo, la aplicación que se lanzará puede variar de un dispositivo auxiliar a otro. Por ejemplo, el módulo 232 de sincronización puede tener (por ejemplo, almacenar) u obtener (por ejemplo, acceder o recibir) un perfil para cada dispositivo auxiliar individual. Dichos perfiles pueden formar todo o parte de una lista confiable de dispositivos auxiliares. El perfil para un dispositivo auxiliar dado (por ejemplo, el dispositivo 130 auxiliar) puede identificar la aplicación (por ejemplo, la aplicación 440) que se lanzará. En determinadas realizaciones de ejemplo, el perfil de un dispositivo auxiliar (por ejemplo, el dispositivo 130 auxiliar) es o incluye un perfil del usuario principal (por ejemplo, el usuario 132) del dispositivo auxiliar.
FIG. 12 es un diagrama de bloques que ilustra los componentes de una máquina 1200, de acuerdo con algunas realizaciones de ejemplo, capaces de leer instrucciones de un medio legible por máquina (por ejemplo, un medio de almacenamiento legible por máquina, un medio de almacenamiento legible por ordenador o cualquier combinación adecuada de los mismos) y realizar una o más de las metodologías aquí discutidas, en su totalidad o en parte. Específicamente, la FIG. 12 muestra una representación esquemática de la máquina 1200 en la forma de ejemplo de un sistema informático y dentro de la cual las instrucciones 1224 (por ejemplo, software, un programa, una aplicación, un subprograma, una aplicación u otro código ejecutable) para hacer que la máquina 1200 realice una o más de las metodologías discutidas en este documento pueden ejecutarse, en su totalidad o en parte. En realizaciones alternativas, la máquina 1200 funciona como un dispositivo autónomo o puede estar conectada (por ejemplo, en red) a otras máquinas. En un despliegue en red, la máquina 1200 puede funcionar en la capacidad de una máquina servidor o una máquina cliente en un entorno de red servidor-cliente, o como una máquina par en un entorno de red distribuida (por ejemplo, de igual a igual). La máquina 1200 puede ser un ordenador servidor, un ordenador cliente, un ordenador personal (PC), una tableta, un ordenador portátil, una netbook, un STB, un asistente digital personal (PDA), un teléfono celular, un teléfono inteligente, un dispositivo web, un enrutador de red, un conmutador de red, un puente de red o cualquier máquina capaz de ejecutar las instrucciones 1224, secuencialmente o de otro modo, que especifican las acciones que debe realizar esa máquina. Además, aunque solo se ilustra una única máquina, el término “máquina” también se interpretará para incluir una colección de máquinas que ejecutan individual o conjuntamente las instrucciones 1224 para realizar la totalidad o parte de una o más de las metodologías aquí discutidas.
La máquina 1200 incluye un procesador 1202 (por ejemplo, una unidad central de procesamiento (CPU), una unidad de procesamiento de gráficos (GPU), un procesador de señales digitales (DSP), un circuito integrado específico de aplicación (ASIC), un circuito integrado de radiofrecuencia (RFIC), o cualquier combinación adecuada de los mismos), una memoria 204 principal y una memoria 1206 estática, que están configuradas para comunicarse entre sí a través de un bus 1208. La máquina 1200 puede incluir, además, una pantalla 1210 gráfica (por ejemplo, un panel de pantalla de plasma (PDP), una pantalla de diodos emisores de luz (LED), una pantalla de cristal líquido (LCD), un proyector o un tubo de rayos catódicos (CRT)). La máquina 1200 también puede incluir un dispositivo 1212 de entrada alfanumérico (por ejemplo, un teclado), un dispositivo 1214 de control del cursor (por ejemplo, un ratón, un panel táctil, una bola de seguimiento, un joystick, un sensor de movimiento u otro instrumento señalador), una unidad 1216 de almacenamiento, un dispositivo 1218 de generación de señales (por ejemplo, un altavoz) y un dispositivo 1220 de interfaz de red.
La unidad 1216 de almacenamiento incluye un medio 1222 legible por máquina en el que se almacenan las instrucciones 1224 que incorporan una o más de las metodologías o funciones descritas en el presente documento. Las instrucciones 1224 también pueden residir, completa o al menos parcialmente, dentro de la memoria 1204 principal, dentro del procesador 1202 (por ejemplo, dentro de la memoria caché del procesador), o ambos, durante la ejecución de las mismas por la máquina 1200. Por consiguiente, la memoria principal 1204 y el procesador 1202 pueden considerarse medios legibles por máquina. Las instrucciones 1224 pueden transmitirse o recibirse a través de una red 1226 (por ejemplo, la red 190 o la red 192) a través del dispositivo 1220 de interfaz de red.
Como se usa en el presente documento, el término “memoria” se refiere a un medio legible por máquina capaz de almacenar datos de forma temporal o permanente y se puede considerar que incluye, pero no se limita a memoria de acceso aleatorio (RAM), sólo lectura memoria (ROM), memoria intermedia, memoria flash y memoria caché. Si bien el medio 1222 legible por máquina se muestra en una realización de ejemplo como un solo medio, la expresión “medio legible por máquina” debe tomarse para incluir un medio único o varios medios (por ejemplo, una base de datos centralizada o distribuida, o cachés asociados y servidores) capaces de almacenar instrucciones. La expresión “medio legible por máquina” también incluirá cualquier medio, o combinación de múltiples medios, que sea capaz de almacenar instrucciones para su ejecución por una máquina (por ejemplo, la máquina 1200), de modo que las instrucciones, cuando las ejecuta uno o más procesadores de la máquina (por ejemplo, el procesador 1202), hacen que la máquina realice una o más de las metodologías descritas en este documento. Por consiguiente, un “medio legible por máquina” se refiere a un solo aparato o dispositivo de almacenamiento, así como a sistemas de almacenamiento o redes de almacenamiento “basados en la nube” que incluyen múltiples aparatos o dispositivos de almacenamiento. Por consiguiente, la expresión “medio legible por máquina” incluirá, pero no se limitará a uno o más repositorios de datos tangibles en forma de memoria de estado sólido, medio óptico, medio magnético o cualquier combinación adecuada de los mismos.
A lo largo de esta memoria descriptiva, las instancias plurales pueden implementar componentes, operaciones o estructuras descritas como una instancia única. Aunque las operaciones individuales de uno o más métodos se ilustran y se describen como operaciones separadas, una o más de las operaciones individuales se pueden realizar simultáneamente, y nada requiere que las operaciones se realicen en el orden ilustrado. Las estructuras y la funcionalidad presentadas como componentes separados en configuraciones de ejemplo pueden implementarse como una estructura o componente combinado. De manera similar, las estructuras y funcionalidades presentadas como un solo componente pueden implementarse como componentes separados.
Ciertas realizaciones se describen en el presente documento como que incluyen lógica o varios componentes, módulos o mecanismos. Los módulos pueden constituir módulos de software (por ejemplo, código incorporado en un medio legible por máquina o en una señal de transmisión) o módulos de hardware. Un “módulo de hardware” es una unidad tangible capaz de realizar determinadas operaciones y puede configurarse o disponerse de una determinada manera física. En diversas realizaciones de ejemplo, uno o más sistemas informáticos (por ejemplo, un sistema informático independiente, un sistema informático cliente o un sistema informático servidor) o uno o más módulos de hardware de un sistema informático (por ejemplo, un procesador o un grupo de procesadores) puede configurarse por software (por ejemplo, una aplicación o parte de la aplicación) como un módulo de hardware que funciona para realizar ciertas operaciones como se describe en este documento.
En algunas realizaciones, un módulo de hardware puede implementarse en forma mecánica, electrónica o cualquier combinación adecuada de los mismos. Por ejemplo, un módulo de hardware puede incluir circuitos o lógica dedicados que están configurados permanentemente para realizar ciertas operaciones. Por ejemplo, un módulo de hardware puede ser un procesador de propósito especial, como una matriz de puertas programables en campo (FP-GA) o un ASIC. Un módulo de hardware también puede incluir circuitos o lógica programable que está configurado temporalmente por software para realizar ciertas operaciones. Por ejemplo, un módulo de hardware puede incluir software incluido en un procesador de propósito general u otro procesador programable. Se apreciará que la decisión de implementar un módulo de hardware mecánicamente, en circuitos dedicados y configurados en forma permanente, o en circuitos configurados en forma temporal (por ejemplo, configurados por software) puede estar impulsada por consideraciones de costo y tiempo.
En consecuencia, debe entenderse que la frase “módulo de hardware” abarca una entidad tangible, ya sea una entidad construida físicamente, configurada de modo permanente (por ejemplo, cableada) o configurada de modo temporal (por ejemplo, programada) para operar en una determinada manera o para realizar ciertas operaciones descritas en este documento. Como se usa en este documento, “módulo implementado por hardware” se refiere a un módulo de hardware. Teniendo en cuenta las realizaciones en las que los módulos de hardware se configuran temporalmente (por ejemplo, se programan), no es necesario configurar o instanciar cada uno de los módulos de hardware en cualquier instancia en el tiempo. Por ejemplo, cuando un módulo de hardware comprende un procesador de propósito general configurado por software para convertirse en un procesador de propósito especial, el procesador de propósito general puede configurarse como procesadores de propósito especial diferentes respectivamente (por ejemplo, que comprenden diferentes módulos de hardware) en diferentes momentos. En consecuencia, el software puede configurar un procesador, por ejemplo, para constituir un módulo de hardware particular en una instancia de tiempo y para constituir un módulo de hardware diferente en una instancia de tiempo diferente.
Los módulos de hardware pueden proporcionar información y recibir información de otros módulos de hardware. Por
consiguiente, se puede considerar que los módulos de hardware descritos están acoplados comunicativamente. Cuando existen múltiples módulos de hardware al mismo tiempo, las comunicaciones pueden lograrse mediante la transmisión de señales (por ejemplo, a través de circuitos y buses apropiados) entre dos o más de los módulos de hardware. En realizaciones en las que se configuran o instancian múltiples módulos de hardware en diferentes momentos, las comunicaciones entre dichos módulos de hardware se pueden lograr, por ejemplo, mediante el almacenamiento y recuperación de información en estructuras de memoria a las que tienen acceso los múltiples módulos de hardware. Por ejemplo, un módulo de hardware puede realizar una operación y almacenar la salida de esa operación en un dispositivo de memoria al que está acoplado comunicativamente. Un módulo de hardware adicional puede entonces acceder, en un momento posterior, al dispositivo de memoria para recuperar y procesar la salida almacenada. Los módulos de hardware también pueden iniciar comunicaciones con dispositivos de entrada o salida y pueden operar en un recurso (por ejemplo, una recopilación de información).
Las diversas operaciones de los métodos de ejemplo descritos en este documento se pueden realizar, al menos en forma parcial, por uno o más procesadores que están configurados temporalmente (por ejemplo, por software) o configurados permanentemente para realizar las operaciones relevantes. Ya sea que estén configurados de forma temporal o permanente, dichos procesadores pueden constituir módulos implementados por el procesador que operan para realizar una o más operaciones o funciones descritas en este documento. Como se usa en el presente documento, “módulo implementado por procesador” se refiere a un módulo de hardware implementado usando uno o más procesadores.
De manera similar, los métodos descritos en el presente documento pueden implementarse al menos parcialmente con un procesador, siendo un procesador un ejemplo de hardware. Por ejemplo, al menos algunas de las operaciones de un método pueden ser realizadas por uno o más procesadores o módulos implementados por procesador. Además, el uno o más procesadores también pueden funcionar para respaldar el rendimiento de las operaciones relevantes en un entorno de “computación en la nube” o como un “software como servicio” (SaaS). Por ejemplo, al menos algunas de las operaciones pueden ser realizadas por un grupo de ordenadores (como ejemplos de máquinas que incluyen procesadores), siendo estas operaciones accesibles a través de una red (por ejemplo, Internet) y a través de una o más interfaces apropiadas (por ejemplo, una interfaz de programa de aplicación (API)).
El rendimiento de ciertas operaciones puede distribuirse entre uno o más procesadores, no solo residiendo dentro de una sola máquina, sino desplegados en varias máquinas. En algunas realizaciones de ejemplo, el uno o más procesadores o módulos implementados por el procesador pueden estar ubicados en una única ubicación geográfica (por ejemplo, dentro de un entorno doméstico, un entorno de oficina o una granja de servidores). En otras realizaciones de ejemplo, el uno o más procesadores o módulos implementados por procesador pueden distribuirse a través de varias ubicaciones geográficas.
Claims (15)
1. Un método que comprende, mediante un dispositivo (140) de medios:
acceder, utilizando un módulo (310) de recepción, un flujo (1100) de datos que incluye contenido (1110) multimedia y un indicador (1112) de sincronización de aplicaciones asociado con el contenido (1110) multimedia; y provocar, utilizando un módulo (320) de presentación, la presentación del contenido (1110) multimedia en una pantalla (142), caracterizado porque detecta, utilizando un módulo (330) de detección, múltiples dispositivos (130, 150) auxiliares en proximidad física al dispositivo (140) de medios; recibe, usando un módulo (232) de sincronización, una selección que indica que uno de los dispositivos (130, 150) auxiliares detectados está seleccionado; y
configurar un procesador, utilizando el módulo (232) de sincronización, para generar y enviar, al seleccionado de los dispositivos (130, 150) auxiliares detectados, una instrucción de lanzamiento basada en la selección, haciendo que la instrucción de lanzamiento provoque el lanzamiento de una aplicación correspondiente al indicador (1112) de sincronización de aplicaciones en el seleccionado de los dispositivos (130, 150) auxiliares detectados, siendo enviada la instrucción de lanzamiento al mismo tiempo que la presentación del contenido (1110) multimedia en la pantalla (142).
2. El método de acuerdo con la reivindicación 1, que comprende:
usar un procesador, generar (520) el flujo (1100) de datos que incluye al mismo tiempo el contenido (1110) multimedia y el indicador (1112) de sincronización de aplicaciones para el contenido (1110) multimedia; y proporcionar (530) el flujo (1100) de datos que incluye el indicador de sincronización de aplicaciones al mismo tiempo que el contenido (1110) multimedia al dispositivo (140) de medios.
3. El método de acuerdo con la reivindicación 1 o la reivindicación 2, en el que:
la generación (520) del flujo (1100) de datos incluye incrustar (620) la aplicación en el flujo (1100) de datos que incluye el indicador (1112) de sincronización de aplicaciones; y
el seleccionado de los dispositivos (130, 150) auxiliares recibe la aplicación desde el dispositivo (140) de medios antes de iniciar la aplicación.
4. El método de acuerdo con cualquiera de las reivindicaciones anteriores, en el que:
el indicador (1112) de sincronización de aplicaciones incluye un localizador de recursos uniforme (URL) que localiza contenido (1115) complementario que corresponde al contenido (1110) multimedia;
el dispositivo (140) de medios está configurado para extraer (735) el URL del indicador (1112) de sincronización de aplicaciones;
el dispositivo (140) de medios, antes de enviar la instrucción de lanzamiento al seleccionado de los dispositivos (130, 150) auxiliares, determina (736) que el URL está referenciado por una lista de URL confiables;
la instrucción de lanzamiento incluye el URL extraído del indicador (1112) de sincronización de aplicaciones; y el seleccionado de los dispositivos (130, 150) auxiliares lanza (550) la aplicación con el URL como entrada en la aplicación.
5. El método de acuerdo con cualquier reivindicación anterior, en el que:
el indicador (1112) de sincronización de aplicaciones y la instrucción de lanzamiento identifican la aplicación entre múltiples aplicaciones almacenadas por el seleccionado de los dispositivos (130, 150) auxiliares;
el dispositivo (140) de medios envía la instrucción de lanzamiento basada en el indicador (1112) de sincronización de aplicaciones que identifica la aplicación; y
el seleccionado de los dispositivos (130, 150) auxiliares lanza la aplicación basándose en la instrucción de lanzamiento que identifica la aplicación.
6. El método de acuerdo con cualquier reivindicación anterior, en el que:
el dispositivo (140) de medios, antes de enviar la instrucción de lanzamiento al seleccionado de los dispositivos (130, 150) auxiliares, determina que la aplicación está referenciada por una lista de aplicaciones confiables.
7. El método de acuerdo con cualquiera de las reivindicaciones anteriores, en el que:
el indicador (1112) de sincronización de aplicaciones incluye una referencia a contenido (1115) complementario para el contenido (1110) multimedia;
el dispositivo (140) de medios está configurado para extraer (735) la referencia al contenido (1115) complementario del indicador (1112) de sincronización de aplicaciones;
la instrucción de lanzamiento incluye la referencia al contenido (1115) complementario; y
el seleccionado de los dispositivos (130, 150) auxiliares, al lanzar la aplicación, hace que la aplicación inicie (1052) una presentación del contenido (1115) complementario en una pantalla del seleccionado de los dispositivos (130, 150) auxiliares.
8. El método de acuerdo con la reivindicación 7, en el que:
el suministro (530) del flujo (1100) de datos al dispositivo (140) de medios se produce a través de una primera red (190); y el método comprende, además, proporcionar el contenido (1115) complementario al seleccionado de los dispositivos (130, 150) auxiliares a través de una segunda red (192).
9. El método de acuerdo con cualquiera de las reivindicaciones 7 u 8, en el que:
el dispositivo (140) de medios, antes de enviar la instrucción de lanzamiento al seleccionado de los dispositivos (130, 150) auxiliares, presenta una sugerencia (737) de que el dispositivo (140) auxiliar presenta el contenido (1115) complementario.
10. El método de acuerdo con la reivindicación 9, en el que:
el dispositivo (140) de medios presenta la sugerencia en la pantalla (142) del dispositivo (140) de medios y recibe una aceptación de la sugerencia de un control remoto configurado para controlar el dispositivo (140) de medios.
11. El método de acuerdo con la reivindicación 10, en el que:
el dispositivo (140) de medios presenta la sugerencia haciendo que el seleccionado de los dispositivos (130, 150) auxiliares presente la sugerencia en la pantalla (450) del seleccionado de los dispositivos (130, 150) auxiliares; y el dispositivo (140) de medios recibe una aceptación de la sugerencia del seleccionado de los dispositivos (130, 150) auxiliares.
12. El método de acuerdo con cualquiera de las reivindicaciones 9 a 11, en el que:
la sugerencia es un icono único que indica la disponibilidad del contenido (1115) complementario para la presentación e identifica un botón que se puede operar para enviar la aceptación de la sugerencia.
13. El método de acuerdo con cualquier reivindicación anterior, en el que:
el dispositivo (140) de medios, antes de enviar la instrucción de lanzamiento al dispositivo auxiliar (130), presenta un menú de dispositivos (130, 150) auxiliares detectados en la pantalla (142) y recibe la selección que indica el seleccionado de los dispositivos (130, 150) auxiliares del menú presentado.
14. El método de acuerdo con cualquier reivindicación anterior, en el que:
el dispositivo (140) de medios, antes de establecer un enlace (906) de comunicación con los dispositivos (130, 150) auxiliares detectados, determina que los dispositivos (130, 150) auxiliares detectados son referenciados por una lista de dispositivos auxiliares confiables; y
el dispositivo (140) de medios, antes de enviar la instrucción de lanzamiento a los dispositivos (130, 150) auxiliares detectados, establece un enlace (906) de comunicación con los dispositivos (130, 150) auxiliares detectados basándose en los dispositivos (130,150) auxiliares siendo llevado dentro de una distancia umbral del dispositivo (140) de medios.
15. Un dispositivo (140) de medios que comprende:
un módulo (310) de recepción configurado para acceder a un flujo (1100) de datos que incluye contenido (1110) multimedia y un indicador (1112) de sincronización de aplicaciones asociado con el contenido (1110) multimedia; un módulo (320) de presentación configurado para provocar la presentación del contenido (1110) multimedia en una pantalla (142), caracterizado por un módulo (330) de detección configurado para detectar múltiples dispositivos (130, 150) auxiliares en proximidad física al dispositivo (140) de medios;
un módulo (232) de sincronización configurado para recibir una selección que indica que uno de los dispositivos (130, 150) auxiliares detectados está seleccionado; y
un procesador configurado por el módulo (232) de sincronización para generar y enviar, al seleccionado de los dispositivos (130, 150) auxiliares detectados, una instrucción de lanzamiento basada en la selección, donde la instrucción de lanzamiento provoca el lanzamiento de una aplicación correspondiente al indicador (1112) de sincronización de aplicaciones en el seleccionado de los dispositivos (130, 150) auxiliares detectados, siendo enviada la instrucción de lanzamiento al mismo tiempo que la presentación del contenido multimedia en la pantalla (142).
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/905,779 US9143565B2 (en) | 2013-05-30 | 2013-05-30 | Synchronizing an application on a companion device |
| PCT/US2014/040075 WO2014194126A1 (en) | 2013-05-30 | 2014-05-29 | Synchronizing an application on a companion device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2811805T3 true ES2811805T3 (es) | 2021-03-15 |
Family
ID=51986417
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES14804322T Active ES2811805T3 (es) | 2013-05-30 | 2014-05-29 | Sincronización de una aplicación en un dispositivo auxiliar |
Country Status (9)
| Country | Link |
|---|---|
| US (8) | US9143565B2 (es) |
| EP (1) | EP3005693B1 (es) |
| JP (1) | JP2016529756A (es) |
| KR (1) | KR102290597B1 (es) |
| CN (1) | CN105432087B (es) |
| BR (1) | BR112015030076B1 (es) |
| CA (2) | CA2913542C (es) |
| ES (1) | ES2811805T3 (es) |
| WO (1) | WO2014194126A1 (es) |
Families Citing this family (36)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8745670B2 (en) | 2008-02-26 | 2014-06-03 | At&T Intellectual Property I, Lp | System and method for promoting marketable items |
| US10108980B2 (en) | 2011-06-24 | 2018-10-23 | At&T Intellectual Property I, L.P. | Method and apparatus for targeted advertising |
| US10423968B2 (en) | 2011-06-30 | 2019-09-24 | At&T Intellectual Property I, L.P. | Method and apparatus for marketability assessment |
| US9292842B2 (en) * | 2011-10-28 | 2016-03-22 | Anil H. Pereira | Systems and methods for managing software licensing agreements |
| US9953340B1 (en) * | 2012-05-22 | 2018-04-24 | Google Llc | Companion advertisements on remote control devices |
| KR20150140631A (ko) * | 2013-03-19 | 2015-12-16 | 엘지전자 주식회사 | 신호 송신 장치, 신호 송신 방법 및 신호 송수신 시스템 |
| JP6168839B2 (ja) * | 2013-05-15 | 2017-07-26 | キヤノン株式会社 | 情報処理装置、その制御方法、プログラム |
| US9143565B2 (en) | 2013-05-30 | 2015-09-22 | Opentv, Inc. | Synchronizing an application on a companion device |
| JP2015012561A (ja) * | 2013-07-02 | 2015-01-19 | ソニー株式会社 | 表示装置、情報取得方法及び情報提供方法 |
| KR102065414B1 (ko) * | 2013-09-05 | 2020-02-11 | 엘지전자 주식회사 | 이동 단말기 및 그 제어방법 |
| US9407954B2 (en) | 2013-10-23 | 2016-08-02 | At&T Intellectual Property I, Lp | Method and apparatus for promotional programming |
| FR3018983B1 (fr) * | 2014-03-20 | 2016-05-06 | Viaccess Sa | Procede et dispositif d'identification d'un contenu en cours de visualisation sur un ecran |
| WO2016018041A1 (ko) * | 2014-07-30 | 2016-02-04 | 엘지전자 주식회사 | 방송 전송 장치, 방송 수신 장치, 방송 전송 장치의 동작 방법 및 방송 수신 장치의 동작 방법 |
| EP3484163A1 (en) * | 2014-08-11 | 2019-05-15 | OpenTV, Inc. | Method and system to create interactivity between a main reception device and at least one secondary device |
| US20160088079A1 (en) * | 2014-09-21 | 2016-03-24 | Alcatel Lucent | Streaming playout of media content using interleaved media players |
| WO2016068342A1 (en) * | 2014-10-30 | 2016-05-06 | Sharp Kabushiki Kaisha | Media playback communication |
| US9596429B2 (en) * | 2015-05-08 | 2017-03-14 | Echostar Technologies L.L.C. | Apparatus, systems and methods for providing content when loud background noise is present |
| WO2017001026A1 (en) * | 2015-07-01 | 2017-01-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Apparatus and method for synchronizing advertisements between a first device and a second device |
| WO2017014553A1 (ko) * | 2015-07-21 | 2017-01-26 | 엘지전자 주식회사 | 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법 |
| US10708349B2 (en) * | 2015-10-09 | 2020-07-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Offloading a distribution server task to a media gateway |
| US9912526B2 (en) | 2015-10-21 | 2018-03-06 | At&T Intellectual Property I, L.P. | System and method for replacing media content |
| KR102121535B1 (ko) * | 2015-11-30 | 2020-06-10 | 삼성전자주식회사 | 전자 장치, 보조 장치 및 전자 장치의 동작 방법 |
| US10542327B2 (en) | 2015-12-21 | 2020-01-21 | Opentv, Inc. | Interactive application server on a second screen device |
| US10142699B2 (en) * | 2016-03-18 | 2018-11-27 | Google Llc | Systems and methods for providing interactive content |
| WO2018027237A1 (en) | 2016-08-05 | 2018-02-08 | Sportscastr.Live Llc | Systems, apparatus, and methods for scalable low-latency viewing of broadcast digital content streams of live events |
| WO2018078650A1 (en) * | 2016-10-26 | 2018-05-03 | Bhide Priyadarshan | Method and system for showcasing of media between a plurality of electronic devices. |
| US11257357B2 (en) | 2017-05-29 | 2022-02-22 | B&W Group Ltd. | Automated programming of a remote control |
| US20180343501A1 (en) * | 2017-05-29 | 2018-11-29 | EVA Automation, Inc. | Automated Identification of Viewed Content |
| US11330029B2 (en) * | 2018-03-27 | 2022-05-10 | Lenovo (Singapore) Pte. Ltd. | Sharing content with a detected device |
| US10757459B2 (en) | 2018-12-10 | 2020-08-25 | At&T Intellectual Property I, L.P. | Video steaming control |
| CN110392063B (zh) * | 2019-08-27 | 2022-04-01 | 深圳市威屏科技有限公司 | 电子白板数据同步方法、装置、设备及介质 |
| US11589124B1 (en) * | 2020-04-14 | 2023-02-21 | Worldpay Limited | Methods and systems for seamlessly transporting objects between connected devices for electronic transactions |
| US12058194B2 (en) * | 2020-04-21 | 2024-08-06 | Sling TV L.L.C. | Multimodal transfer between audio and video streams |
| CN111968360B (zh) * | 2020-08-27 | 2021-05-28 | 高斯贝尔数码科技股份有限公司 | 一种电子产品遥控功能定制方法及系统 |
| US20250029453A1 (en) * | 2023-07-18 | 2025-01-23 | A Really Big Corporation, Inc. | Apparatus, system and method for a hybrid mobile application for tracking real-time game show scores |
| WO2025217848A1 (en) * | 2024-04-17 | 2025-10-23 | Motorola Mobility Llc | Electronic devices and corresponding methods for transferring application operations between devices using swipe gestures |
Family Cites Families (39)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020162120A1 (en) | 2001-04-25 | 2002-10-31 | Slade Mitchell | Apparatus and method to provide supplemental content from an interactive television system to a remote device |
| US10664138B2 (en) | 2003-03-14 | 2020-05-26 | Comcast Cable Communications, Llc | Providing supplemental content for a second screen experience |
| US9195330B2 (en) | 2010-10-01 | 2015-11-24 | Z124 | Smartpad split screen |
| JP2005159592A (ja) * | 2003-11-25 | 2005-06-16 | Nippon Hoso Kyokai <Nhk> | コンテンツ送信装置およびコンテンツ受信装置 |
| US7590841B2 (en) | 2005-07-19 | 2009-09-15 | Microsoft Corporation | Automatic update of computer-readable components to support a trusted environment |
| KR20080056588A (ko) * | 2006-12-18 | 2008-06-23 | 엘지전자 주식회사 | 다중 앵글 서비스를 제공하는 영상표시기기 및 그 제어방법 |
| KR101421196B1 (ko) * | 2007-10-30 | 2014-07-28 | 삼성전자주식회사 | 디스플레이 장치 및 그 제어방법 |
| JP2012517188A (ja) | 2009-02-05 | 2012-07-26 | ディジマーク コーポレイション | テレビベースの広告と携帯電話向けtvウィジェットの配信 |
| KR20120024848A (ko) | 2009-05-26 | 2012-03-14 | 노키아 코포레이션 | 미디어 세션의 전달 방법 및 장치 |
| US8489774B2 (en) * | 2009-05-27 | 2013-07-16 | Spot411 Technologies, Inc. | Synchronized delivery of interactive content |
| JP2013509803A (ja) * | 2009-10-29 | 2013-03-14 | トムソン ライセンシング | マルチスクリーンの双方向性スクリーン・アーキテクチャ |
| US8321392B2 (en) * | 2009-12-30 | 2012-11-27 | Sybase, Inc. | Pending state management for mobile business objects |
| JP2011166441A (ja) * | 2010-02-09 | 2011-08-25 | Nippon Hoso Kyokai <Nhk> | デジタル放送受信機、端末装置及びコンピュータプログラム |
| US20110296472A1 (en) | 2010-06-01 | 2011-12-01 | Microsoft Corporation | Controllable device companion data |
| US9009339B2 (en) * | 2010-06-29 | 2015-04-14 | Echostar Technologies L.L.C. | Apparatus, systems and methods for accessing and synchronizing presentation of media content and supplemental media rich content |
| US9113535B2 (en) | 2010-06-30 | 2015-08-18 | The University Of Southern California | Fusing porphyrins with polycyclic aromatic hydrocarbons and heterocycles for optoelectronic applications |
| US8516528B2 (en) | 2010-06-30 | 2013-08-20 | Cable Television Laboratories, Inc. | Synchronization of 2nd screen applications |
| US8763060B2 (en) | 2010-07-11 | 2014-06-24 | Apple Inc. | System and method for delivering companion content |
| US9046992B2 (en) | 2010-10-01 | 2015-06-02 | Z124 | Gesture controls for multi-screen user interface |
| US9179198B2 (en) * | 2010-10-01 | 2015-11-03 | Sony Corporation | Receiving apparatus, receiving method, and program |
| US20120089923A1 (en) | 2010-10-08 | 2012-04-12 | Microsoft Corporation | Dynamic companion device user interface |
| US9788041B2 (en) | 2010-12-30 | 2017-10-10 | Yahoo Holdings, Inc. | Entertainment content rendering application |
| WO2012092247A1 (en) * | 2010-12-30 | 2012-07-05 | Thomson Licensing | Method and system for providing additional content related to a displayed content |
| WO2012120524A2 (en) | 2011-03-09 | 2012-09-13 | Tata Consultancy Services Limited | A method and system for implementation of an interactive television application |
| US9597590B2 (en) | 2011-04-01 | 2017-03-21 | Massachusetts Institute Of Technology | Methods and apparatus for accessing peripheral content |
| US8171137B1 (en) * | 2011-05-09 | 2012-05-01 | Google Inc. | Transferring application state across devices |
| JP5773747B2 (ja) * | 2011-05-18 | 2015-09-02 | 日本放送協会 | 端末連携システム、受信機及び情報処理端末 |
| US8843584B2 (en) | 2011-06-02 | 2014-09-23 | Google Inc. | Methods for displaying content on a second device that is related to the content playing on a first device |
| KR101996098B1 (ko) * | 2011-06-15 | 2019-10-01 | 소니 주식회사 | 수신 장치, 단말 장치, 제어 방법, 프로그램 및 통신 시스템 |
| WO2013028578A1 (en) | 2011-08-19 | 2013-02-28 | Redbox Automated Retail, Llc | System and method for providing supplemental information related to media content |
| JP2013066159A (ja) * | 2011-08-26 | 2013-04-11 | Nippon Hoso Kyokai <Nhk> | 受信機 |
| US9032451B2 (en) | 2011-09-01 | 2015-05-12 | The Directv Group, Inc. | Method and system for using a second screen device for interacting with a set top box to enhance a user experience |
| US8997169B2 (en) * | 2012-03-23 | 2015-03-31 | Sony Corporation | System, method, and infrastructure for synchronized streaming of content |
| US9654813B2 (en) * | 2012-09-04 | 2017-05-16 | Wickr Inc. | Method and system for synchronized multi-venue experience and production |
| US11115722B2 (en) * | 2012-11-08 | 2021-09-07 | Comcast Cable Communications, Llc | Crowdsourcing supplemental content |
| US20140213227A1 (en) * | 2013-01-28 | 2014-07-31 | Bindu Rama Rao | Mobile device capable of substantially synchronized sharing of streaming media, calls and other content with other devices |
| US9955204B2 (en) * | 2013-03-06 | 2018-04-24 | Centurylink Intellectual Property Llc | System and method for distributing content through a set-top box |
| US20140279889A1 (en) * | 2013-03-14 | 2014-09-18 | Aliphcom | Intelligent device connection for wireless media ecosystem |
| US9143565B2 (en) | 2013-05-30 | 2015-09-22 | Opentv, Inc. | Synchronizing an application on a companion device |
-
2013
- 2013-05-30 US US13/905,779 patent/US9143565B2/en active Active
-
2014
- 2014-05-29 CA CA2913542A patent/CA2913542C/en active Active
- 2014-05-29 CA CA3203472A patent/CA3203472A1/en active Pending
- 2014-05-29 JP JP2016516829A patent/JP2016529756A/ja active Pending
- 2014-05-29 WO PCT/US2014/040075 patent/WO2014194126A1/en not_active Ceased
- 2014-05-29 ES ES14804322T patent/ES2811805T3/es active Active
- 2014-05-29 KR KR1020157037107A patent/KR102290597B1/ko active Active
- 2014-05-29 CN CN201480042381.8A patent/CN105432087B/zh active Active
- 2014-05-29 EP EP14804322.7A patent/EP3005693B1/en active Active
- 2014-05-29 BR BR112015030076-6A patent/BR112015030076B1/pt active IP Right Grant
-
2015
- 2015-08-21 US US14/832,986 patent/US9723076B2/en active Active
-
2017
- 2017-06-28 US US15/635,455 patent/US10469576B2/en active Active
-
2019
- 2019-09-24 US US16/580,368 patent/US10880374B2/en active Active
-
2020
- 2020-11-20 US US16/953,860 patent/US11356507B2/en active Active
-
2022
- 2022-05-06 US US17/662,359 patent/US11824928B2/en active Active
-
2023
- 2023-10-11 US US18/484,779 patent/US12250270B2/en active Active
-
2025
- 2025-02-06 US US19/046,613 patent/US20250227146A1/en active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| US20250227146A1 (en) | 2025-07-10 |
| CA2913542C (en) | 2023-08-22 |
| BR112015030076B1 (pt) | 2023-02-14 |
| CN105432087B (zh) | 2021-08-27 |
| US20210144204A1 (en) | 2021-05-13 |
| EP3005693A4 (en) | 2016-12-28 |
| US20200162548A1 (en) | 2020-05-21 |
| JP2016529756A (ja) | 2016-09-23 |
| CA2913542A1 (en) | 2014-12-04 |
| US20240114071A1 (en) | 2024-04-04 |
| KR102290597B1 (ko) | 2021-08-18 |
| BR112015030076A2 (pt) | 2017-07-25 |
| US10880374B2 (en) | 2020-12-29 |
| CA3203472A1 (en) | 2014-12-04 |
| US9143565B2 (en) | 2015-09-22 |
| US20170339226A1 (en) | 2017-11-23 |
| US20140359057A1 (en) | 2014-12-04 |
| US9723076B2 (en) | 2017-08-01 |
| WO2014194126A1 (en) | 2014-12-04 |
| EP3005693A1 (en) | 2016-04-13 |
| CN105432087A (zh) | 2016-03-23 |
| US10469576B2 (en) | 2019-11-05 |
| US11356507B2 (en) | 2022-06-07 |
| EP3005693B1 (en) | 2020-07-22 |
| KR20160016945A (ko) | 2016-02-15 |
| US20160044104A1 (en) | 2016-02-11 |
| US20220321651A1 (en) | 2022-10-06 |
| US12250270B2 (en) | 2025-03-11 |
| US11824928B2 (en) | 2023-11-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2811805T3 (es) | Sincronización de una aplicación en un dispositivo auxiliar | |
| US9078047B2 (en) | Content reproduction device | |
| CN110383848A (zh) | 用于多设备呈现的定制视频流式传输 | |
| CN105049903A (zh) | 媒体文件跨设备同步的方法、系统及媒体播放设备 | |
| JP6580132B2 (ja) | メディアコンテンツに関連付けられた情報を提供する方法および装置 | |
| WO2015090095A1 (zh) | 一种信息推送方法、设备和系统 | |
| WO2018205833A1 (zh) | 音乐文件信息的传输方法及装置、存储介质以及电子装置 | |
| CN104010206B (zh) | 基于地理位置的虚拟现实视频播放的方法和系统 | |
| Ohmata et al. | Hybridcast: A new media experience by integration of broadcasting and broadband | |
| JP2015154296A (ja) | 再生装置、受信機器、再生システム、及び、プログラム。 | |
| TW201533732A (zh) | 聲感視覺特效系統及聲感視覺特效處理方法 | |
| TW201627987A (zh) | 演唱視覺特效系統及演唱視覺特效處理方法 | |
| JP7613516B2 (ja) | 放送受信機および放送受信機の動作方法 | |
| JP5811426B1 (ja) | 音声データ送受信システム | |
| JP6854194B2 (ja) | コンテンツ提供システム、マルチメディア配信装置、端末装置及びプログラム | |
| CN121635722A (zh) | 一种内容互动方法、装置、计算机设备和程序产品 | |
| WO2016000154A1 (zh) | 信息推送方法、装置和系统 | |
| JP2015029166A (ja) | 放送通信連携システム、及び、外部端末 | |
| JP2013258461A (ja) | コンテンツの配信システム、配信装置、受信装置および配信方法 |