MX2015003117A - Metodo y sistema para la comunicacion entre un dispositivo anfitrion y dispositivo de usuario a traves de un dispositivo intermedio usando traduccion de sintaxis. - Google Patents

Metodo y sistema para la comunicacion entre un dispositivo anfitrion y dispositivo de usuario a traves de un dispositivo intermedio usando traduccion de sintaxis.

Info

Publication number
MX2015003117A
MX2015003117A MX2015003117A MX2015003117A MX2015003117A MX 2015003117 A MX2015003117 A MX 2015003117A MX 2015003117 A MX2015003117 A MX 2015003117A MX 2015003117 A MX2015003117 A MX 2015003117A MX 2015003117 A MX2015003117 A MX 2015003117A
Authority
MX
Mexico
Prior art keywords
command
user
server
syntax
intermediate device
Prior art date
Application number
MX2015003117A
Other languages
English (en)
Other versions
MX341601B (es
Inventor
Sean S Lee
Scott D Casavant
Phillip T Wang
Original Assignee
Directv Group Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Directv Group Inc filed Critical Directv Group Inc
Publication of MX2015003117A publication Critical patent/MX2015003117A/es
Publication of MX341601B publication Critical patent/MX341601B/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/20Adaptations for transmission via a GHz frequency band, e.g. via satellite
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Astronomy & Astrophysics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

Un sistema y método incluye un dispositivo anfitrión, un dispositivo intermedio y un dispositivo de usuario que tiene un tipo de dispositivo asociado con él. Una red está en comunicación con el dispositivo anfitrión, el dispositivo intermedio y el dispositivo de usuario. El dispositivo anfitrión comunica un primer comando de gráficos al dispositivo intermedio. El dispositivo intermedio convierte el primer comando de gráficos en un segundo comando de gráficos, en respuesta al tipo de dispositivo. El dispositivo de usuario genera una presentación en pantalla en respuesta al segundo comando de gráficos.

Description

MÉTODO Y SISTEMA.PARA LA COMUNICACIÓN ENTRE UN DISPOSITIVO ANFITRION Y DISPOSITIVO DE USUARIO A TRAVES DE UN DISPOSITIVO INTERMEDIO USANDO TRADUCCIÓN DE SINTAXIS CAMPO DE LA INVENCIÓN La presente divulgación se refiere en general a un sistema de comunicaciones para la comunicación de contenido a un dispositivo de usuario y, más específicamente, a un método y sistema para la comunicación de contenido al dispositivo de usuario a través de un dispositivo intermedio, usando una traducción de sintaxis compuesta.
ANTECEDENTES DE LA INVENCIÓN El contenido de esta sección meramente proporciona información de antecedentes relacionados con la presente invención y que pueden no formar parte del arte previo.
La televisión satelital se ha vuelto cada vez más popular debido a la amplia variedad de contenido disponible y su calidad. Un sistema de televisión satelital típicamente incluye un decodificador que se usa para recibir las señales satelitales y decodificarlas a fin de emplearlas en un aparato de televisión. Típicamente, el decodificador tiene asociada una memoria. La memoria puede incluir un grabador de video digital o recurso similar, así como también el almacenamiento del código de operación del decodificador.
Debido a los numerosos componentes asociados con el decodificador, el decodificador de cada televisión individual resulta relativamente costoso.
Los sistemas de televisión satelital típicamente difunden contenido simultáneamente a una cantidad de usuarios de un sistema. Los sistemas de televisión satelital también ofrecen acceso por suscripción o pago por evento o televisión a la carta para difundir contenido. El acceso se provee usando difusión de señales por el satélite. Una vez provisto el acceso, el usuario puede acceder al contenido particular.
Los dispositivos electrónicos acceden cada vez más a Internet. En los aparatos de televisión con pantalla plana más recientes, se proveen conexiones a Internet para ampliar la experiencia del cliente. Por ejemplo, diversas fuentes de Internet como fuentes de películas y fuentes de datos tales como los datos del tiempo y de las cotizaciones en bolsas de valores pueden obtenerse todas directamente desde el dispositivo conectado a Internet.
Como cada dispositivo electrónico recibe las señales y también las procesa, las experiencias del cliente en cada uno de los dispositivos electrónicos pueden ser levemente diferentes. La coherencia y calidad que el cliente percibe en cada dispositivo son importantes para proveerle una experiencia adecuada.
BREVE DESCRIPCIÓN DE LA INVENCIÓN La presente divulgación provee un método y sistema para la intercomunicación entre dos dispositivos a través de un dispositivo intermedio cambiando la sintaxis de los comandos.
En un aspecto de la divulgación, un sistema incluye un primer dispositivo, un dispositivo intermedio y un segundo dispositivo. Una red está en comunicación con el primer dispositivo, el dispositivo intermedio y el segundo dispositivo. El primer dispositivo comunica un comando en un primer formato al dispositivo intermedio. El dispositivo intermedio convierte el comando a un segundo formato. El dispositivo intermedio comunica el comando en un segundo formato al segundo dispositivo. El segundo dispositivo después procesa el comando en el segundo formato.
En un aspecto adicional de la divulgación, un sistema incluye un dispositivo anfitrión, un dispositivo intermedio y un dispositivo de usuario que tiene un tipo de dispositivo asociado con él. Una red está en comunicación con el dispositivo anfitrión, el dispositivo intermedio y el dispositivo de usuario. El dispositivo anfitrión comunica un primer comando de gráficos al dispositivo intermedio. El dispositivo intermedio convierte el primer comando de gráficos en un segundo comando de gráficos, en respuesta al tipo de dispositivo. El dispositivo de usuario genera una presentación en pantalla, en respuesta al segundo comando de gráficos.
Incluso en otro aspecto de la divulgación, un método incluye: comunicar un tipo de señal de dispositivo de un dispositivo de usuario a un dispositivo intermedio; comunicar un primer comando de gráficos de un dispositivo anfitrión al dispositivo intermedio y convertir el primer comando de gráficos en un segundo comando de gráficos, en respuesta al tipo de señal de dispositivo en el dispositivo intermedio; y generar una presentación en pantalla en el dispositivo de usuario, en respuesta al segundo comando de gráficos.
Más áreas de aplicabilidad resultarán evidentes a partir de la descripción aquí provista. Se debe entender que la descripción y los ejemplos específicos se presentan sólo con fines ilustrativos y no pretenden limitar el alcance de la presente invención.
BREVE DESCRIPCIÓN DE LOS DIBUJOS Las figuras aquí descritas se presentan a efectos ilustrativos y no pretenden limitar de ningún modo el alcance de la presente invención.
La Figura 1 es una vista diagramática de bloques de alto nivel de un sistema de distribución satelital de acuerdo con la presente invención.
La Figura 2 es una vista diagramática de bloques de una primera topología de red.
La Figura 3 es una vista diagramática de bloques de un segundo ejemplo de la topología de red.
La Figura 4 es una vista diagramática de bloques de un tercer ejemplo de una topología de red.
La Figura 5 es una vista diagramática de bloques de un cuarto ejemplo de una topología de red.
La Figura 6 es una vista diagramática en bloques de un quinto ejemplo de una red.
La Figura 7 es una vista diagramática en bloques de un sexto ejemplo de una red.
La Figura 8 es una vista diagramática en bloques de un séptimo ejemplo de una topología de red.
La Figura 9 es un octavo ejemplo de una topología de red.
La Figura 10 es una vista diagramática en bloques de un dispositivo cliente.
La Figura 11A es una vista diagramática en bloques de un dispositivo intermedio junto con un servidor simplificado.
La Figura 11B es un segundo ejemplo de un dispositivo intermedio.
La Figura 12 es un diagrama de flujo de un método para la comunicación entre un dispositivo del primer formato y un dispositivo que no es del primer formato.
La Figura 13 es un diagrama de flujo de un método para la comunicación de comandos de gráficos entre dos dispositivos.
La Figura 14 es un diagrama de flujo de un método para iniciar una sesión entre un puente RVU y un cliente HTML.
La Figura 15 es un diagrama de flujo de un método para la comunicación entre un puente RVU, un dispositivo cliente y un dispositivo servidor.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN La siguiente descripción es de naturaleza meramente ejemplificativa y no se pretende limitar la presente invención, su aplicación o usos. A los efectos de la claridad, se emplearán los mismos números de referencia de las figuras para identificar elementos similares. Tal como se usa aquí, el término módulo se refiere a un circuito integrado especifico de aplicación (ASIC), un circuito electrónico, un procesador (compartido dedicado o grupo) y memoria que ejecutan uno o más programas de software o firmware, un circuito lógico combinatorio y/u otros componentes adecuados que proveen la funcionalidad descrita. Tal como aquí se emplea, la frase "al menos uno de A, B y C" debe interpretarse como que significa una lógica (A o B o C), que usa un O lógico no excluyente. Se debe entender que los pasos dentro de un método pueden ejecutarse en diferente orden sin alterar los principios de la presente invención.
Las enseñanzas de la presente divulgación pueden implementarse en un sistema para la comunicación de contenido a un usuario final o dispositivo de usuario. Tanto la fuente de datos como el dispositivo de usuario pueden formarse usando un dispositivo de computación general que tenga una memoria u otro almacenamiento de datos para los datos entrantes y salientes. La memoria puede comprender, pero no está limitada a ello, una unidad de hardware, memoria de cambio de fase FLASH, RAM, PROM, EEPROM, ROM u otros componentes de memoria discretos.
Cada dispositivo de computación de uso general puede implementarse en circuitos analógicos, circuitos digitales o combinaciones de unos y otros. Asimismo, el dispositivo de computación puede incluir un microprocesador o microcontrolador que ejecuta las instrucciones para llevar a cabo los pasos efectuados por los diversos componentes del sistema.
También se describe un proveedor de contenido o servicios. Un proveedor de contenido o servicios es un proveedor de datos al usuario final. El proveedor de servicios, por ejemplo, puede proveer los datos correspondientes al contenido, tales como los metadatos asi como también el contenido real de una corriente o señal de datos. El proveedor de contenido o servicios puede incluir un dispositivo de computación de uso general, componentes de comunicación, interfaces de red y otros circuitos asociados para posibilitar la comunicación con los diversos otros dispositivos del sistema.
Asimismo, si bien la siguiente divulgación se hace con respecto a la entrega de video (por ejemplo, televisión (TV), películas, videos musicales, etc.), debe entenderse que los sistemas y métodos divulgados en la presente también podrían emplearse para la entrega de cualquier tipo de contenido de medios, por ejemplo, audio, música, archivos de datos, páginas web, publicidad, etc. Además, en toda esta divulgación se hace referencia a datos, contenido, información, programas, avances de películas, películas, publicidad, recursos, datos de video, etc.; sin embargo, a las personas conocedoras de la téenica les resultará de inmediato evidente que esos términos son sustancialmente equivalentes al referirse a los sistemas y/o métodos ejemplificativos divulgados en la presente. Tal como se emplea en la presente, el término "titulo" se referirá, por ejemplo, a la propia película y no al nombre de la misma.
Si bien la siguiente divulgación se hace con respecto a servicios y sistemas de difusión de DIRECTV® ejemplificativos, debe entenderse que muchos otros sistemas de entrega son fácilmente aplicables a los sistemas y métodos divulgados. Tales sistemas incluyen sistemas de distribución terrestre inalámbricos, sistemas de distribución cableada o por cable, sistemas de distribución de televisión por cable, sistemas de frecuencia radial de frecuencia ultra alta (UHF)/frecuencia muy alta (VHF) u otros sistemas de distribución terrestre (por ejemplo, el sistema de distribución multicanal multipunto (MMDS), el sistema de distribución local multipunto (LMDS), etc.), los sistemas de distribución basados en Internet, los sistemas de distribución celular, los sistemas de difusión por líneas eléctricas, cualquier red de entrega de protocolo de Internet (IP) punto a punto y/o de multidifusión y redes de fibra óptica. Asimismo, las diferentes funciones asignadas en conjunto entre un proveedor de servicios y receptores/decodificadores integrados (IRD), del modo descrito a continuación, puede reasignarse como se desee sin apartarse del alcance previsto de la presente patente.
Tal como aquí se emplea, "RVU" se refiere al protocolo RVU. El protocolo RVU es un protocolo de comunicaciones que se ejecuta en un dispositivo servidor de medios y múltiples dispositivos cliente. El protocolo RVU es un protocolo de capa de aplicaciones que combina las normas de la "Alianza para el estilo de vida digital en red" (DINA) y un protocolo de interfaz de usuario remoto.
Con respecto ahora a la Figura 1, en ella se ilustra un sistema de comunicaciones 10. El sistema de comunicaciones 10 incluye un sistema de procesamiento de contenido 12 que se usa como una fuente de procesamiento y transmisión. Múltiples proveedores de contenido 14, uno solo de los cuales se ilustra, puede proporcionar contenido al sistema de procesamiento 12. El sistema de procesamiento de contenido 12 recibe diversos tipos de contenido del proveedor 14 y comunica el contenido a los usuarios del sistema. El sistema de procesamiento de contenido 12 también puede asociarse con un servidor de distribución central 16. El servidor de distribución central 16 puede incorporarse al sistema de procesamiento de contenido 12 o puede ser un elemento por separado. El servidor de distribución central 16 puede usarse para los diversos tipos de funciones de distribución, que incluyen la provisión de contenido, la provisión de comandos de control tales como restablecer un dispositivo de usuario, proveer una imagen de software o proveer una imagen de software actualizada a un sistema de usuario. A continuación, se describirán otros usos del servidor de distribución central 16.
El sistema de procesamiento de contenido 12 se comunica con diversos sistemas de usuario a través de un sistema de entrega de contenido 19. El sistema de entrega de contenido 19 puede ser uno de diversos tipos de sistemas, como un sistema cableado, inalámbrico, protocolos de Internet, cable, alta frecuencia, etc. ya descritos. En este caso, se ilustra un sistema satelital pero eso no debe considerarse limitativo.
Siguiendo con el ejemplo del sistema satelital, el sistema de procesamiento de contenido 12 incluye una antena 18 para comunicar el contenido procesado a través de un enlace ascendente 20 a un satélite 22. El satélite 22 puede incluir una antena receptora 24 y una antena transmisora 26. La antena receptora 24 recibe las señales de enlace ascendente 20 de la antena satelital 18. La antena transmisora 26 genera enlaces descendentes 28 y comunica los enlaces descendentes 28 a los diversos dispositivos de usuario.
Un sistema de usuario fijo 30 recibe las señales de enlace descendente 30 a través de una antena receptora 32. El sistema de usuario fijo 30 es un sistema de usuario fijo, lo cual significa que está inmóvil. Sin embargo, algunos componentes pueden ser componentes móviles. El sistema de usuario fijo 30 puede desplegarse dentro de un edificio, tal como la casa de una sola familia, una unidad de múltiples viviendas o una empresa. El sistema de usuario fijo 30 puede ser un decodificador, una consola de juegos o la propia televisión que se ha modificado para comunicarse a través de una red. A continuación se proveen los detalles del sistema de usuario fijo.
La presente invención también es aplicable a un sistema de usuario móvil 40. El sistema de usuario móvil 40 puede incluir una antena satelital 42. La antena satelital 42 Puede ser una antena de rastreo que dé cuenta de la movilidad del sistema de usuario móvil. Esto es en contraste con la antena 32 del sistema de usuario fijo que puede estar fija en una sola dirección. El sistema de usuario móvil 40 puede incluir los sistemas en aeroplanos, trenes, buses, barcos y otros por el estilo.
El sistema de usuario fijo 30 y el sistema de usuario móvil 40 pueden estar en comunicación con una red 50. La red 50 puede ser una sola red o una combinación de diferentes redes o diferentes tipos de redes. La red 50 puede ser, por ejemplo, una red cableada de difusión o una red inalámbrica.
Las diferentes redes pueden tener diferentes velocidades o velocidades de bits. La red 50 puede ser una red unidireccional de manera que los datos o el contenido pueden comunicarse del sistema de usuario fijo 30 o el sistema de usuario móvil 40 a través de la red 50 al sistema de procesamiento de contenido 12 y el servidor de distribución central 16. Del mismo modo, la red 50 también puede ser unilateral en la otra dirección de manera que el servidor de distribución de contenido 16 puede comunicar datos de contenido u otra una señales de control, como una señal de restablecimiento, a través de la red 50 al sistema de usuario fijo 30 y el sistema de usuario móvil 40. La red 50 también puede ser una red bidireccional de manera que las comunicaciones pueden tener lugar entre el sistema de procesamiento de contenido 12, que incluye el servidor de distribución 16, y el sistema de usuario fijo 30 y el sistema de usuario móvil 40.
Con respecto ahora a la Figura 2, en ella se ilustra con mayor detalle un ejemplo de un sistema de usuario fijo 30. El sistema de usuario fijo 30 puede incluir un servidor de red local 110. El servidor de red local 110 puede recibir contenido de una fuente externa 112. La fuente externa 112 puede ser un sistema de distribución satelital, tal como se ilustra en la Figura 1 o las otras fuentes descritas precedentemente. En tal caso, la fuente externa 112 puede ser la antena satelital 32 ilustrada en la Figura 1 y el servidor 110 puede ser un decodificador de televisión satelital (con capacidades de servidor) que recibe las señales de video de televisión satelital. La fuente externa 112 puede ser una variedad de fuentes de señales televisivas como un sintonizador por aire, un cable, un sistema inalámbrico o un sistema óptico. Diversos tipos de señales tales como datos, música, video, juegos, audio y combinaciones de ellos pueden ser parte de la fuente externa.
El dispositivo anfitrión o servidor 110 puede actuar como un decodificador para comunicar directamente el contenido a una pantalla 114. El contenido de una conexión directa puede no ser contenido interpretable sino más bien señales directamente mostrables dentro de una banda de frecuencias. Las señales a la pantalla 114 también pueden ser interpretables. La pantalla 114 puede ser un aparato de televisión o un monitor.
El servidor 110 también puede estar en comunicación con una red de área local 120. Aunque se ilustran conexiones cableadas, pueden usarse señales inalámbricas u ópticas para comunicar a través de la red de área local 120. El dispositivo servidor 110 también puede comunicarse con la red 50 ilustrada en la Figura 1. En ese caso, la red 50 es una red externa en comparación con local área red 120. La red de área local de la Figura 2 está formada a través del servidor 110. Es decir, el servidor 110 actúa para comunicarse a ambos clientes A y B, asi como también como intermediario si el cliente A se comunica con el cliente B o viceversa.
El dispositivo anfitrión o servidor 110 puede comunicarse con un primer cliente, Cliente A, usando un dispositivo cliente 122. El dispositivo servidor 110 puede transportar señales de contenido al dispositivo cliente 122. El dispositivo servidor 110 también puede controlar la pantalla de contenido y las pantallas o interfaces de usuario remoto en el dispositivo cliente. La interfaz de usuario remoto puede ser una interfaz gráfica de usuario para controlar diversas selecciones o controles. El dispositivo cliente 122 puede realizar diversas funciones que se describirán a continuación. Por ejemplo, el dispositivo cliente 122 puede interpretar las señales interpretables del servidor o dispositivo intermediario para mostrar las mismas en una pantalla 124 asociada con el dispositivo cliente 122. El dispositivo cliente 122 puede seleccionar también el contenido y los controles de la interfaz de usuario y comunicar las señales de control al dispositivo servidor 110.
Un segundo cliente, Cliente B, también puede estar en comunicación con el servidor 110 a través de la red de área local 120. El Cliente B puede contener un dispositivo cliente interno, que no se muestra, para mostrar las señales interpretadas en la pantalla 126. El dispositivo cliente interno puede ser funcionalmente equivalente al dispositivo cliente autónomo 122. Como ambos, el primer cliente, Cliente A, y el segundo cliente, Cliente B y el dispositivo intermediario 128, están en comunicación directamente con el servidor 110, la red 120 puede llamarse red cerrada. Diversas cantidades de clientes puede conectarse a la red de área local 120.
Dentro de la red de área local 120 puede haber dispuesto un dispositivo intermedio 128. El dispositivo intermedio 128 está en comunicación con el servidor 110 y al menos uno de los clientes 122, 126. El dispositivo intermedio puede actuar como un traductor de sintaxis que traduce las señales de una primera sintaxis en las señales de una segunda sintaxis. El dispositivo intermedio 128 puede trasladar las señales del servidor 110 para uno de los clientes 122, 126 o viceversa. El dispositivo intermedio 128 puede efectuar la traducción de sintaxis usando un servidor de navegador que interactúa con las señales XML de los dispositivos cliente. Debe notarse que el dispositivo intermedio 128 puede permitir que un servidor se comunique en un primer formato o sintaxis de comunicación con uno de los dispositivos cliente 122, 126 en un segundo formato o sintaxis y viceversa. El dispositivo intermedio 128 también puede emplearse para efectuar diversas funciones. Las funciones se describirán además más adelante con respecto a las figuras detalladas del dispositivo intermedio.
Con respecto ahora a la Figura 3, en ella se ilustra un sistema de usuario 30' que está en una red abierta. En este ejemplo, se proveen los mismos componentes descritos precedentemente en la Figura 2, con los mismos números de referencia. En este ejemplo, la red de área local 120 puede incluir una cantidad de elementos de red doméstica. Un elemento de red doméstica puede ser un servidor de red doméstica 140 u otro dispositivo de computación. Otro elemento de red doméstica puede incluir una computadora laptop 142 que está en comunicación con la red de área local 120. Otro elemento de red doméstica puede incluir una impresora de red 144 y un enrutador 146. El enrutador 146 puede comunicarse con otros dispositivos a través de una red externa tal como Internet 148.
El sistema de usuario fijo 30 también puede tener elementos inalámbricos asociados con él. El enrutador 146 u otro dispositivo de red puede generar señales inalámbricas que permiten que un dispositivo de usuario inalámbrico 150 se comunique con al menos un servidor 110 ó 140. El dispositivo de usuario inalámbrico 150 puede ser, por ejemplo, un asistente personal digital, un teléfono celular, un dispositivo personal de medios o un reproductor Blu-Ray o DVD. Por supuesto, otros dispositivos inalámbricos pueden ser parte de la red 120. El dispositivo de usuario inalámbrico 150 también puede comunicarse con la red de área local 120 a través de internet 148 y es por eso que el sistema 30' no está limitado a un sistema local.
Con respecto ahora a la Figura 4, en ella se ilustra otro ejemplo de un sistema de usuario 30''. En este ejemplo, se proveen los mismos elementos que en las Figuras 2 y 3 con los mismos números de referencia. La red de área local 120 puede incluir también dos servidores 110A y 110B. Cada servidor puede incluir un dispositivo de pantalla opcional 114A, 114B, respectivamente. En este ejemplo, se ilustra un tercer cliente, Cliente C, que tiene una pantalla 152 y un dispositivo cliente 154. El dispositivo de usuario inalámbrico 150 se ilustra comunicándose a través de Internet 148 y el enrutador 146 a la red de área local 120. Como ya se mencionó, el enrutador 146 puede comunicarse directamente con el dispositivo de usuario 150.
Con respecto ahora a la Figura 5, es importante proveer a los clientes un servicio confiable. Se ilustra un cuarto ejemplo del sistema de usuario fijo 30'''. En ciertos casos, una red doméstica puede no ser tan confiable como una conexión directa. En la Figura 5, la red de área local se divide en una primera red de área local 120A entre el primer cliente, Cliente A, el segundo cliente, Cliente B, y el servidor 110. Es decir, el servidor 110 se comunica a través de la primera red de área local 120A con ambos, el Cliente A y el Cliente B y cualquier otro cliente que pueda estar en el sistema. Una segunda red de área local 120B puede comunicarse con otros dispositivos centro de la red doméstica, tales como el servidor 140, la computadora laptop 142, la impresora 144 y el enrutador 146.
Con respecto ahora a la Figura 6, en ella se ilustra una vista diagramática en bloques simplificada de un dispositivo intermedio 128 en comunicación con un anfitrión o servidor 110 y un cliente 126. En este ejemplo, el cliente B 126 puede configurarse para que transmita y reciba las señales usando una segunda sintaxis, diferente de la primera sintaxis asociada con el anfitrión o servidor. Todas las señales que pasan entre el anfitrión o servidor 110 y el cliente B pueden comunicarse a través del dispositivo intermedio 128 que actúa como un traductor de sintaxis. El dispositivo intermedio 128 puede proveer señales de video que tienen gráficos sobreimpuestos para la presentación por parte del cliente B. El dispositivo intermedio 128 puede comunicar las señales de interacción, tales como las señales de comando, del cliente B y traducirlas a la primera sintaxis.
Con respecto ahora a la Figura 7, en ella se expone un sistema de usuario 30IV que tiene un dispositivo intermedio 128 que actúa como un dispositivo puente y permite que un servidor de la primera sintaxis 110 se comunique con un cliente de la segunda sintaxis 126. En un ejemplo, el servidor se comunica usando comandos RVU y el cliente 126 recibe comandos HTML.
Se ilustra un adaptador coaxial Ethernet de DIRECTV® (DECA) 130. El adaptador 130 permite que las señales contenidas dentro de un cable coaxial estén en conexión con una conexión de red Ethernet. En este ejemplo, el cliente 126 puede estar en comunicación con el enrutador 146 que, a su vez, está en comunicación con el adaptador 130. De este modo, el cliente 126 puede adaptarse para recibir las señales Ethernet.
Con respecto ahora a la Figura 8, en otro sistema, el servidor 110 utiliza una primera sintaxis para comunicar diversas señales de comando y señales de contenido mientras un cliente que no es de la primera sintaxis 132 está en comunicación con el enrutador 146. El dispositivo intermedio 128 actúa como un dispositivo puente que permite que el cliente que no es de la primera sintaxis 132 se comunique con el servidor 110 convirtiendo las señales de comando entre ellos. El adaptador 130 también está en comunicación entre el servidor 110 y el cliente que no es de la primera sintaxis 132.
Con respecto ahora a la Figura 9, en ella se ilustra otro sistema de usuario 30VI. En este ejemplo, un servidor de la primera sintaxis 134 está en comunicación con un dispositivo cliente de la segunda sintaxis 122 usando el dispositivo intermedio 128 para la comunicación entre ellos. El dispositivo intermedio 128, en este caso, efectúa la operación de convertir comandos de gráficos que no son del primer formato (segundo) en los comandos de gráficos de interfaz de usuario de la primera sintaxis que comprende el dispositivo cliente 122. El dispositivo intermedio 128 también puede convertir los datos de audio y video en un formato adecuado para que lo use el dispositivo cliente 122.
Con respecto ahora a la Figura 10, en ella se ilustra un dispositivo cliente 122'. El dispositivo cliente 122 puede ser un dispositivo basado en navegador que tiene un navegador 350. El navegador 350, en este ejemplo, es un navegador tipo HTML5. Por supuesto, pueden usarse otros tipos de navegador. En este ejemplo, el navegador 350 ejecuta una aplicación JavaScript 354. La aplicación JavaScript 354 utiliza una interfaz de aplicación tal como la de la teenología WebSocket 352 para comunicarse con el dispositivo intermedio por la red. La teenología WebSocket provee comunicaciones bidireccionales de dúplex completo por un solo Protocolo de control de transmisión (TCP). La tecnología WebSocket se usa como ejemplo de una interfaz. Puede usarse otra interfaz de comunicaciones en lugar de WebSocket. La aplicación JavaScript 354 puede recibir comandos de gráficos que en definitiva se originan en el dispositivo servidor o anfitrión y pasan a través del dispositivo intermedio. Los comandos de gráficos permiten que el navegador de web 352 represente una imagen de gráficos tal como, pero sin limitarse a ello, un fondo, una guía cuadriculada y transparencias. Pueden usarse múltiples comandos de gráficos para formar diversas porciones de la presentación en pantalla a través de la interfaz de exhibición 356.
El dispositivo de usuario 122 también puede incluir un decodificador de audio 358 y un decodificador de video 360. El decodificador de audio 358 y el decodificador de video 360 pueden decodificar múltiples formatos de señales recibidas a través de la red. La decodificación de audio AC3 y la decodificación MPEG son ejemplos del decodificador de audio 358 y el decodificador de video 360, respectivamente.
Con respecto ahora a la Figura 11A, en ella se expone un ejemplo de un sistema que utiliza el protocolo RVU. El sistema incluye un servidor 510 que tiene un servidor RVU 512. El sistema también incluye un dispositivo intermedio 514 que efectúa la comunicación entre el servidor RVU 512 del dispositivo servidor 510 y un dispositivo cliente 516. El dispositivo cliente 516 puede tener un cliente HTML 518. El cuadro de puntos 520 representa que el dispositivo intermedio 514 y el cliente HTML 518 puedan estar ambos incluidos dentro del dispositivo cliente 520, en lugar de dispositivos separados.
El servidor RVU 512 está en comunicación con un RVU proxy 530 del dispositivo intermedio 514. El servidor RVU 512, por ejemplo, comunica los datos de gráficos RVU y los comandos RVU tales como un comando de grabación RVU. El RVU proxy 530 puede comunicar las respuestas RVU del dispositivo intermedio 514 o el dispositivo cliente 516 al servidor RVU 512.
El dispositivo intermedio 514 también puede incluir un módulo de traducción y control 532 que se para cambiar la sintaxis del servidor a la sintaxis del cliente y viceversa. El módulo de traducción y control 531 efectúa la verdadera traducción de la señal entre el formato RVU y el formato HTTP. Más adelante, en las Figuras 12-15, se describe además un ejemplo de los pasos efectuados por el módulo de traducción y control 532. El dispositivo puente 514 también puede incluir un servidor HTTP 534. El servidor HTTP comunica las señales HTML, las señales JavaScript, las señales JSON y las señales de gráficos de red portable (PNG) al cliente HTML 518. Los comandos de los comandos de la notación literal de objetos JavaScript (JSON) también pueden comunicarse del servidor HTTP 534 al cliente HTML 518. El servidor HTTP 534 comunica los comandos JSON al cliente HTML 518.
El cliente HTML 518 comunica las respuestas JSON al servidor. Asimismo, también pueden comunicarse comandos HTTP GET del cliente HTML 518 al servidor HTTP.
El módulo de traducción y control 532 traduce la sintaxis de las señales RVU del servidor RVU 512 a un formato tal como el formato JSON comunicado por el servidor HTTP 534 al cliente HTML 518. El módulo de traducción y control 532 también puede convertir los datos de gráficos sin procesar en señales de gráficos PNG. Un ejemplo de traducción de sintaxis de un comando RVU en un comando JSON es la señal de comando de búfer de asignación RVU: "<AllocateBuffer comandoToken="l" width="200" height="300" pixelFormat="ARGB-32" color="0"/>". La correspondiente señal de comando JSON es: "{ "type": "RVU", "xmlTag": "AllocateBuffer", "xmlToken": "1", "xmlAttributes":{ "width": "200", "height": "300", "pixelFormat": "ARGB-32", "color": "0"}}. " Un ejemplo de traducción de sintaxis entre una señal de respuesta JSON del cliente 518 al servidor 512, en el módulo de traducción y control 532 es: "{ "xmlTag": "RvuResponse", "xmlToken": "1" , "xmlAttributes":{}, "xmlStatus": "Okay"} ". La respuesta RVU traducida es "<Response comandoToken="l" errCode="ERR_SUCCESS"/>. " El módulo de traducción y control 532 también se usa para efectuar la conversión de imagen en los datos de grabación de imagen. Esto permite mejorar el rendimiento de la aplicación JavaScript. El servidor RVU emite los comandos de grabación RVU junto con los datos de pixeles de imagen asociados. El módulo de traducción y control 532 comprime los datos de pixeles de imagen en un archivo PNG accesible a través del servidor HTTP 534. El módulo de traducción y control 532 traduce el comando de grabación RVU en un comando de grabación JSON con un campo adicional tal como "binUrl" a fin de indicar la ubicación del archivo PNG en el servidor HTTP 534. El cliente HTTP 518 recibe los comandos de grabación JSON del dispositivo intermedio 514 y utiliza el campo "binUrl" para recuperar los PNG con una señal de obtención HTTP estándar proveniente del servidor HTTP 534. El cliente HTTP 518 después responde al dispositivo intermedio 514 con una respuesta JSON estándar. Más adelante se describe con mayor detalle el procesamiento que se efectúa dentro del dispositivo intermedio 514.
Con respecto ahora a la Figura 11B, en ella se ilustra con mayor detalle un servidor 110. El servidor 110 se usa para comunicarse con los diversos dispositivos cliente 122. El servidor 110, como ya se mencionó, también puede emplearse para comunicarse directamente con una pantalla. El servidor 110 puede ser un dispositivo autónomo o puede proveerse dentro de otro dispositivo. Por ejemplo, el servidor 110 puede proveerse dentro o incorporado en un decodificador estándar. El servidor 110 también puede incluirse dentro de un sistema de juegos de video, una computadora u otro tipo de dispositivo ejecutable. Los bloques funcionales presentados a continuación pueden variar según el sistema y los requisitos deseados para él.
El dispositivo servidor 110 puede ser varios tipos diferentes de dispositivos. El dispositivo servidor 110 puede actuar como un decodificador para diversos tipos de señales, tales como señales satelitales o señales de televisión por cable. El dispositivo servidor 110 también puede ser parte de un sistema de juegos de video. Por eso, no se requieren todos los componentes expuestos a continuación para el dispositivo servidor. Como ya se mencionó, el dispositivo servidor 110 puede estar en comunicación con diversas fuentes externas de contenido, tales como televisión satelital, televisión por cable, Internet u otros tipos de fuentes de datos. Puede proveerse una computadora de interacción con los usuarios (front-end) 408 para procesar las señales, si se requiere. Cuando está en comunicación con fuentes de televisión, la computadora de interacción con los usuarios 408 del dispositivo servidor puede incluir una pluralidad de sintonizadores 410 A-E, una pluralidad de demoduladores 412 A-E, una pluralidad de decodificadores de corrección de errores hacia adelante 414 A-E y cualquier búfer asociado con él. La la computadora de interacción con los usuarios 408 del dispositivo servidor 110 puede usarse asi para sintonizar y remodular diversos canales para proveer en definitiva televisión en vivo o grabada al dispositivo cliente 122. Puede proveerse también un módulo de acceso condicional 420. El módulo de acceso condicional 420 puede permitir que el dispositivo decodifique correctamente las señales e impedir la recepción no autorizada de las mismas.
Un módulo de formato 424 puede estar en comunicación con un módulo de interfaz de red 426. El módulo de formato puede recibir las señales decodificadas del decodificador 414 o el módulo de acceso condicional 420, si lo hubiera, y dar formato a las señales de manera que las mismas puedas interpretarse después de su transmisión a través de la red de área local y a través del módulo de interfaz de red 426 al dispositivo cliente. El módulo de formato 424 puede generar una señal apta para ser usada como un mapa de bits u otros tipos de señales interpretables. Esencialmente, el módulo de formato 424 puede generar comandos para controlar los pixeles en las diferentes localizaciones de la pantalla. El módulo de interfaz de red 426 también puede usarse para recibir señales provenientes de un dispositivo o dispositivos cliente.
El dispositivo servidor 110 también puede usarse para otras funciones que incluyen gestionar las imágenes de software para el cliente. Puede usarse un módulo gestor de imágenes de cliente 430 para hacer el seguimiento de los diversos dispositivos que están conectados a la red de área local o directamente al dispositivo servidor. El módulo gestor de imágenes de cliente 430 también puede hacer el seguimiento de las revisiones de software mayor y menor. El módulo gestor de imágenes de cliente 430 puede ser una base de datos de las imágenes de software y su estado de actualización.
Además puede incorporarse una memoria 434 en el dispositivo servidor 110. La memoria 434 puede ser diversos tipos de memoria o una combinación de diferentes tipos de memoria. Los mismos pueden incluir, pero sin limitarse a ello, una unidad de disco rígido, memoria flash, ROM, RAM, memoria permanente y otras por el estilo.
La memoria 434 puede contener diversos datos, tales como la imagen de la base de datos de gestor de clientes descrita precedentemente con respecto al módulo gestor de imágenes de cliente 430. La memoria también puede contener otros datos tales como una base de datos de clientes conectados 436. La base de datos de clientes conectados también puede incluir los datos del módulo gestor de imágenes de cliente.
Un módulo de reproducción con funciones adicionales (Trick-Play) 440 también puede incluirse dentro del dispositivo servidor 110. El módulo de reproducción con funciones adicionales 440 puede permitir que el dispositivo servidor 110 provea las señales interpretables con formato del módulo 424 en un formato que admita señales de reproducción con funciones adicionales tales como rebobinado, avance, salto y otras por el estilo. Un módulo de servidor HTTP 444 también puede estar en comunicación con el módulo de interfaz de red 426. El módulo de servidor HTTP 444 puede permitir que el dispositivo servidor 110 se comunique con la red de área local. Además, el módulo de servidor HTTP puede también permitir que el dispositivo servidor se comunique con redes externas tales como Internet.
Un módulo de servidor de interfaz de usuario remoto (RUI) 446 puede controlar las interfaces de usuario remoto se proveen del dispositivo servidor 110 al dispositivo cliente 122.
También puede incorporarse un reloj 450 dentro del dispositivo servidor 110. El reloj 450 puede usarse para temporizar y controlar las diversas comunicaciones con los diversos dispositivos cliente 122.
Puede usarse un módulo de punto de control 452 para controlar y supervisar las diversas funciones provistas precedentemente dentro del dispositivo servidor.
Debe notarse que pueden proveerse múltiples sintonizadores y circuitos asociados. El dispositivo servidor 110 puede admitir múltiples dispositivos cliente 122 dentro de la red de área local. Cada dispositivo es apto para recibir un diferente canal o corriente de datos. Cada dispositivo cliente puede ser controlado por el dispositivo servidor para que reciba una señal interpretable de contenido diferente.
El dispositivo servidor 110 también puede incluir un módulo de gestión de recursos 460 que está en comunicación con un módulo de resolución de conflictos 462. El módulo de gestión de recursos 460 puede estar en comunicación con un módulo de interfaz de red 426. El módulo de interfaz de red 426 puede recibir señales tales como señales de control o señales de selección provenientes de los diversos dispositivos cliente. El módulo de gestión de recursos 460 puede identificar el momento en que surge un conflicto en una solicitud que lo causa y él ha recibido de uno de los dispositivos cliente.
Puede surgir un conflicto cuando una actividad concurrente de visualización o servicio requiere más recursos que los que hay disponibles en el dispositivo servidor.
Como se describirá asimismo más adelante, el módulo de gestión de recursos 460 puede generar un conjunto de "equipos suficientes" Los equipos suficientes puede proveerse al módulo de resolución de conflictos 462. El módulo de gestión de recursos 460 o el módulo de resolución de conflictos 462 después puede determinar un curco de acción a seguir respecto del conflicto hallado. El módulo de resolución de conflictos 462 puede considerar el tipo de actividad que genera la solicitud que causa el conflicto versus las actividades del conjunto de equipos suficientes. El módulo de resolución de conflictos 462 devuelve los equipos suficientes clasificados de acuerdo con los requisitos del sistema. El módulo de gestión de recursos 460 de ese modo puede resolver el conflicto de acuerdo con los equipos suficientes y solicitar una entrada al usuario de un dispositivo cliente, si se requiere. El módulo de resolución de conflictos 462 puede resolver los conflictos entre diversos aspectos de la operación del servidor, incluso los conflictos de sintonizador como se describirá más adelante.
Con respecto ahora a la Figura 12, en ella se expone un método para la comunicación entre un dispositivo de primera sintaxis y un dispositivo de segunda sintaxis. La sintaxis se refiere al formato de comando usado por el dispositivo. En el paso 1210, el dispositivo intermedio descubre el dispositivo de segunda o no de primera sintaxis. El dispositivo intermedio puede sondear la red en busca de nuevos dispositivos o el dispositivo que no es de la primera sintaxis puede generar una señal de anuncio. En el paso 1212, un navegador de un dispositivo de usuario se conecta a un navegador de un servidor que está dentro del dispositivo intermedio. En el paso 1214, se descargan una página web y una aplicación JavaScript que se ejecutan en el navegador, en respuesta a la conexión. En el paso 1216, se establece una interfaz de teenología WebSocket del dispositivo de usuario al dispositivo intermedio. En el paso 1218, el servidor del primer formato se conecta al dispositivo intermedio para la comunicación entre ellos.
En el paso 1220, se genera un comando de gráficos de interfaz de usuario remoto en el servidor del primer formato. Pueden usarse diversos tipos de comandos de gráficos que no están limitados a guías cuadriculadas, transparencias, imágenes de fondo, consultas y confirmaciones de menús. En el paso 1222, el comando de gráficos de interfaz de usuario remoto se comunica al dispositivo intermedio. En el paso 1224, el comando de gráficos de interfaz de usuario se vuelve a empaquetar en un segundo comando de gráficos que está en una sintaxis de navegador adecuada para la aplicación. En el presente ejemplo, el módulo de traducción y control 532 se usa para convertir la sintaxis del comando de gráficos de interfaz de usuario en una segunda sintaxis de comando de gráficos. En el presente ejemplo, la segunda sintaxis es la anotación literal de objetos JavaScript (JSON). Por supuesto, puede usarse una encapsulación diferente de JSON. El paso 1224 genera una segunda o vuelta a empaquetar señal de comando de gráficos, en una sintaxis diferente.
En el paso 1226, la señal de comando vuelta a empaquetar (JSON es la sintaxis en este ejemplo) se comunica a la aplicación JavaScript a través de la interfaz de teenología WebSocket. En el paso 1228, se genera una señal de respuesta en la segunda sintaxis. En el paso 1230, la señal de respuesta en una segunda sintaxis se comunica del dispositivo intermedio al dispositivo cliente. En el paso 1232, el dispositivo intermedio convierte la señal de respuesta de la segunda sintaxis en una señal de respuesta de la primera sintaxis. En el presente ejemplo, las señales de respuesta XML pueden formarse a partir de la señal en la segunda sintaxis.
Debe notarse que el dispositivo intermedio puede funcionar con diversos tipos de navegadores. Un navegador HTML5 que admite la teenología WebSocket también puede transferir datos binarios así como también datos de texto. Las versiones anteriores del navegador HTML5 sólo pueden admitir datos de texto a través de la interfaz de tecnología WebSocket. Un ejemplo de conversión de comandos es convertir todos los comandos en datos de texto para la comunicación desde el dispositivo intermedio. Los datos gráficos binarios pueden convertirse en texto usando la codificación Base64 para la comunicación a través de la interfaz WebSocket. La aplicación JavaScript puede decodificar mediante Base64 el texto convirtiéndolo nuevamente en binario a fin de usarlo en el navegador. Debe notarse que también puede usarse la compresión para reducir los datos a transferir en los datos binarios antes de transmitir los datos a la aplicación JavaScript.
Un ejemplo de un esquema de compresión comprime los datos sin procesar del servidor o anfitrión en el dispositivo intermedio convirtiéndolos en PNG. Los navegadores HTML típicos admiten de manera nativa el formato PNG. Puede enviarse un localizador de recursos uniforme (URL) que vincula los datos PNG, a través de la interfaz WebSocket, donde la aplicación JavaScript puede recuperar los datos PNG usando el comando de obtención HTTP fuera de la conexión de la interfaz WebSocket.
También debe notarse que el dispositivo intermedio puede pasar comandos basados en XML, tales como RVU, directamente a la aplicación JavaScript sin modificación. La aplicación JavaScript, por lo tanto, analizaría o generaría directamente los comandos o respuestas basados en XML.
Los navegadores más antiguos sin teenología WebSocket también pueden funcionar con el dispositivo intermedio. La aplicación JavaScript puede usar una técnica tal como COMET o de sondeo largo para comunicarse con el dispositivo intermedio.
El dispositivo intermedio también puede proveer funcionalidades adicionales encima de las funciones de traducción de comandos. El dispositivo intermedio puede emular dos o más dispositivos cliente y proveer una sola interfaz de usuario al navegador. El dispositivo intermedio puede tomar las dos corrientes de contenido y sintetizar una sola interfaz de usuario para formar una funcionalidad tal como de imagen en imagen. El dispositivo intermedio también puede conectarse a dos servidores diferentes dentro de una sola red o de diferentes redes. El dispositivo intermedio puede combinar el contenido con el contenido original provisto por el servidor RVU, tal como el agregado de un cartel de gráficos de publicidad.
El dispositivo intermedio también puede proveer autenticación. El acceso a un dispositivo intermedio por parte de un dispositivo cliente puede ser controlado por un administrador local que impone la autenticación en el dispositivo intermedio.
De la manera expuesta en la Figura 12, empleando un dispositivo que admite HTML5, puede comunicarse un dispositivo tipo navegador con un dispositivo servidor, tal como un servidor RVU, siendo también posible lo inverso en que un único cliente RVU puede proveer la funcionalidad de navegación HTML a través del servidor RVU y un dispositivo intermedio. Un servidor RVU que contenga un navegador puede proveer a los clientes RVU capacidades de navegación HTML. En lugar de representar la exhibición del servidor RVU, puede efectuarse la presentación en la exhibición de salida del cliente RVU usando los comandos RVU. De manera similar, las salidas de usuario del cliente RVU se envían al servidor RVU como comandos RVU comandos y la traducción pulsa la tecla para las entradas de presentación HTML en el servidor RVU.
Con respecto ahora a la Figura 13, en ella se expone un método para presentar los comandos de gráficos. En el paso 1310, se descubre un servidor de segunda sintaxis en el dispositivo intermedio. Debe notarse que para el descubrimiento puede comunicarse una señal de aviso del segundo servidor. El dispositivo intermedio también puede solicitar o iniciar una respuesta que general una señal de consulta.
En el paso 1320, se comunica un comando de gráficos de segunda sintaxis de un servidor de segunda sintaxis a un dispositivo intermedio. El servidor de segunda sintaxis puede ser un servidor HTML5 u otro tipo de servidor. En el paso 1314, el dispositivo intermedio convierte los comandos de gráficos de segunda sintaxis en comandos de gráficos de primera sintaxis. En el paso 1316, los comandos de primer formato se comunican a un cliente de primera sintaxis. El cliente de primera sintaxis puede ser un cliente RVU. En el paso 1318, las señales de audio y video de segunda sintaxis también se comunican al dispositivo intermedio desde el servidor de segunda sintaxis. En el paso 1320, las señales de audio y video de segunda sintaxis se comunican en una señal de audio de primera sintaxis y una señal de video de primera sintaxis. En el paso 1322, se exhiben en el dispositivo cliente de primera sintaxis los comandos de gráficos de primera sintaxis, las señales de video de primera sintaxis y las señales de audio de primera sintaxis. Los comandos de gráficos pueden incluir comandos de gráficos binarios.
Con respecto ahora a la Figura 14, en ella se expone el establecimiento inicial de una sesión. En el paso 1410, el cliente HTML del dispositivo cliente se conecta con el servidor HTTP contenido dentro del dispositivo intermedio en un URL bien conocido o mutuamente conocido. El ULR puede ser un localizador de recursos uniforme predeterminado. El ULR también podría autodetectarse a través de algún mecanismo tal como el protocolo de descubrimiento de servicio simple (SSDP). En el paso 1412, se transfiere una página HTML al dispositivo cliente junto con una aplicación JavaScript. En el paso 1414, el cliente HTML ejecuta la aplicación JavaScript. En el paso 1416, se establece una conexión WebSocket del cliente HTML al dispositivo intermedio, en respuesta a la ejecución de la aplicación. En el paso 1418, se comunica una señal de control se comunica del servidor HTTP al módulo de traducción y control a fin de notificar al RVU proxy que se ha establecido una conexión entre el servidor HTTP y el cliente HTML. El módulo de traducción y control ordena al RVU proxy que establezca una sesión RVU con el servidor RVU, en el paso 1420.
En el paso 1422, el RVU proxy inicia una sesión RVU con el servidor RVU del dispositivo servidor.
Con respecto ahora a la Figura 15, en ella se describe con mayor detalle la operación del sistema ilustrada en la Figura 11A. En el paso 1510, se inicia la sesión RVU de la Figura 14. En el paso 1512, el servidor RVU del dispositivo servidor emite los comandos RVU al puente RVU. En el paso 1514, el puente RVU vuelve a empaquetar los comandos RVU como un objeto JSON. En el paso 1516, el objeto JSON se comunica al cliente HTML que puede ser un navegador. En el paso 1518, el navegador efectúa los comandos de gráficos especificados en el objeto JSON. Se una una interfaz de aplicación contenida dentro del navegador para efectuar el comando. En el paso 1520, se comunica una respuesta JSON al puente RVU y, más específicamente, al servidor HTTP del puente RVU. En el paso 1522, el módulo de traducción y control del puente RVU traduce la respuesta JSON en una respuesta RVU. En el paso 1524, el puente RVU a través del RVU proxy envía la respuesta RVU al servidor RVU.
También pueden emitirse eventos de usuario del dispositivo de usuario al dispositivo servidor. Por ejemplo, un usuario pulsa un botón de tecla en el cliente HTML. La aplicación JavaScript tomará el evento de tecla y lo empaquetará en un objeto JSON. La aplicación JavaScript comunicará el objeto JSON al puente RVU. El puente RVU convertirá el objeto JSON en un comando RVU que representa un evento de tecla de usuario. El comando RVU después se comunica al servidor RVU.
Los expertos en la téenica pueden apreciar ahora, a partir de la descripción precedente, que las amplias enseñanzas de la invención pueden implementarse en una variedad de formas. Por lo tanto, si bien esta invención incluye ejemplos particulares, su verdadero alcance no debe limitarse asi pues otras modificaciones les resultarán evidentes a los expertos en la técnica al estudiar las figuras, la memoria descriptiva y las reivindicaciones siguientes.

Claims (25)

NOVEDAD DE LA INVENCIÓN Habiendo descrito la presente invención como antecede, se considera como una novedad y, por lo tanto, se reclama como propiedad lo contenido en las siguientes: REIVINDICACIONES
1. Un sistema, que comprende: un dispositivo de cliente que tiene un primer tipo de sintaxis asociado con el mismo, dicho dispositivo de cliente comprende un primer navegador; un dispositivo intermedio que comprende un primer servidor con un segundo navegador en comunicación con el primer navegador, un módulo de traducción y control y un proxy; dicho primer servidor comunica una aplicación que opera en el primer navegador y establece una conexión WebSocket con el dispositivo intermedio; un segundo servidor que tiene un segundo tipo de sintaxis asociado con el mismo y en comunicación con el proxy; y una red en comunicación con el dispositivo de cliente, el dispositivo intermedio y el segundo servidor; dicho segundo servidor comunica un segundo comando de sintaxis al dispositivo intermedio; dicho dispositivo intermedio convierte el segundo comando de sintaxis en un primer comando de sintaxis en respuesta al primer tipo de sintaxis en el módulo de traducción y control; dicho dispositivo de cliente procesa el primer comando de sintaxis después de recibir el primer comando de sintaxis desde el dispositivo intermedio.
2. El sistema de acuerdo con la reivindicación 1, caracterizado porque el dispositivo de cliente comprende un dispositivo de usuario, en donde el primer comando de sintaxis y el segundo comando de sintaxis comprenden un primer comando de gráficos y un segundo comando de gráficos y el dispositivo de usuario genera una presentación en pantalla en respuesta al primer comando de gráficos.
3. El sistema de acuerdo con la reivindicación 2, caracterizado porque dicho primer servidor comunica una aplicación que opera en el primer navegador y establece una conexión WebSocket con el dispositivo intermedio, dicho primer comando de gráficos legible por la aplicación.
4. El sistema de acuerdo con la reivindicación 1, caracterizado porque la aplicación comprende una aplicación JavaScript.
5. El sistema de acuerdo con la reivindicación 3, caracterizado porque el primer comando de gráficos comprende un comando de notación de objeto de JavaScript (JSON).
6. El sistema de acuerdo con la reivindicación 3, caracterizado porque el primer servidor comprende un servidor HTTP y el primer navegador comprende un navegador HTML.
7. El sistema de acuerdo con la reivindicación 3, caracterizado porque el dispositivo de cliente genera una señal de respuesta desde el primer navegador y comunica la señal de respuesta al primer servidor del dispositivo intermedio.
8. El sistema de acuerdo con la reivindicación 2, caracterizado porque el segundo comando de sintaxis comprende un comando de gráficos binario.
9. El sistema de acuerdo con la reivindicación 8, caracterizado porque el dispositivo intermedio convierte el primer comando de sintaxis en el segundo comando de sintaxis utilizando uno de codificación de base64, PNG o JPG.
10. El sistema de acuerdo con la reivindicación 1, caracterizado porque el segundo servidor genera un comando de respuesta de notación de objeto de JavaScript (JSON) y comunica el comando de respuesta de JSON al dispositivo intermedio, dicho dispositivo intermedio convierte el comando de respuesta de JSON en un comando de respuesta XML, dicho dispositivo intermedio comunica el comando de respuesta XML al dispositivo de cliente.
11. El sistema de acuerdo con la reivindicación 1, caracterizado porque el dispositivo de cliente comprende un dispositivo de usuario, el primer comando de sintaxis y el segundo comando de sintaxis comprenden comandos de evento de usuario y el segundo servidor procesa los comandos de evento de usuario.
12. El sistema de acuerdo con la reivindicación 11, caracterizado porque el dispositivo de usuario genera un comando de usuario de notación de objeto de JavaScript (JSON) y comunica el comando de usuario de JSON al dispositivo intermedio, dicho dispositivo intermedio convierte el comando de usuario de JSON en un comando de usuario XML, dicho dispositivo intermedio comunica el comando de usuario XML al segundo servidor.
13. El sistema de acuerdo con la reivindicación 11, caracterizado porque la aplicación comprende una aplicación JavaScript que recibe eventos de usuario del navegador HTML, convierte los eventos de usuario del navegador HTML en comandos de usuario de JSON, y comunica los comandos de usuario de JSON al dispositivo intermedio.
14. Un método, que comprende comunicar una primera señal de sintaxis tipo desde un dispositivo de cliente a un dispositivo intermedio, dicho dispositivo de cliente comprende un primer navegador; comunicar una aplicación desde un primer servidor del dispositivo intermedio que opera en el primer navegador; establecer una conexión WebSocket con el primer servidor desde el primer navegador; comunicar un segundo comando de sintaxis desde un segundo dispositivo de servidor a un proxy del dispositivo intermedio; convertir el segundo comando de sintaxis en un primer comando de sintaxis en respuesta a la primera señal de sintaxis tipo en un módulo de traducción y control del dispositivo intermedio; comunicar el primer comando de sintaxis desde el dispositivo intermedio al dispositivo de cliente; y procesar el primer comando de sintaxis en el dispositivo de cliente.
15. El método de acuerdo con la reivindicación 14, caracterizado porque el dispositivo de cliente comprende un dispositivo de usuario, en donde el primer comando de sintaxis comprende un primer comando de gráficos y el segundo comando de sintaxis comprende un segundo comando de gráficos y el dispositivo de usuario genera una presentación en pantalla en respuesta al segundo comando de gráficos.
16. El método de acuerdo con la reivindicación 15, caracterizado porque convertir comprende convertir el segundo comando de gráficos en un formato legible por la aplicación.
17. El método de acuerdo con la reivindicación 16, además comprende generar una señal de respuesta desde el primer navegador y comunicar la señal de respuesta al servidor del dispositivo intermedio.
18. El método de acuerdo con la reivindicación 16, caracterizado porque comunicar la aplicación comprende descargar una aplicación de JavaScript y en donde convertir el segundo comando de gráficos en un primer comando de gráficos comprende convertir el primer comando de gráficos en el segundo comando de gráficos que comprende un comando de notación de objeto de JavaScript (JSON).
19. El método de acuerdo con la reivindicación 15, caracterizado porque comunicar la aplicación comprende descargar una aplicación utilizando un navegador HTML del dispositivo de usuario desde un servidor HTTP del dispositivo intermedio que establece la conexión WebSocket con el dispositivo intermedio, y en donde convertir comprende convertir el segundo comando de gráficos en un formato legible por la aplicación. A l
20. El método de acuerdo con la reivindicación 15, caracterizado porque convertir el segundo comando de gráficos al primer comando de gráficos comprende convertir el segundo comando de gráficos a un comando de gráficos binario.
21. El método de acuerdo con la rei indicación 20, caracterizado porque convertir comprende convertir el segundo comando de gráficos en el primer comando de gráficos que comprende texto utilizando codificación de base64, PNG o JPG.
22. El método de acuerdo con la reivindicación 15, además comprende generar un comando de respuesta de notación de objeto de JavaScript (JSON) desde el dispositivo de usuario, comunicar el comando de respuesta de JSON desde el dispositivo de usuario al dispositivo intermedio, convertir el comando de respuesta de JSON en un comando de respuesta XML en el dispositivo intermedio, y comunicar el comando de respuesta XML al segundo dispositivo de servidor.
23. El método de acuerdo con la reivindicación 14, caracterizado porque el dispositivo de cliente comprende un dispositivo de usuario, el primer comando de sintaxis comprende un primer comando de servidor y el segundo comando comprende un segundo comando de evento de usuario y el segundo dispositivo de servidor procesa el segundo comando de evento de usuario.
24. El método de acuerdo con la reivindicación 23, además comprende generar un comando de usuario de notación de objeto de JavaScript (JSON) desde el dispositivo de usuario, comunicar el comando de usuario de JSON desde el dispositivo de usuario al dispositivo intermedio, convertir el comando de usuario de JSON en un comando de usuario XML en el dispositivo intermedio, y comunicar el comando de usuario XML al segundo dispositivo servidor.
25. El método de acuerdo con la reivindicación 24, caracterizado porque la aplicación comprende una aplicación JavaScript que recibe eventos de usuario del navegador HTML, convierte los eventos de usuario del navegador HTML en comandos de usuario de JSON, y comunica los comandos de usuario de JSON al dispositivo intermedio.
MX2015003117A 2012-09-12 2013-09-06 Metodo y sistema para la comunicacion entre un dispositivo anfitrion y dispositivo de usuario a traves de un dispositivo intermedio usando traduccion de sintaxis. MX341601B (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/612,389 US9137501B2 (en) 2012-09-12 2012-09-12 Method and system for communicating between a host device and user device through an intermediate device using syntax translation
PCT/US2013/058493 WO2014042989A1 (en) 2012-09-12 2013-09-06 Method and system for communicating between a host device and user device through an intermediate device syntax translation

Publications (2)

Publication Number Publication Date
MX2015003117A true MX2015003117A (es) 2015-07-06
MX341601B MX341601B (es) 2016-08-23

Family

ID=49237620

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2015003117A MX341601B (es) 2012-09-12 2013-09-06 Metodo y sistema para la comunicacion entre un dispositivo anfitrion y dispositivo de usuario a traves de un dispositivo intermedio usando traduccion de sintaxis.

Country Status (8)

Country Link
US (1) US9137501B2 (es)
EP (1) EP2896178A1 (es)
AR (1) AR092508A1 (es)
BR (1) BR112015005054A2 (es)
CL (1) CL2015000618A1 (es)
CO (1) CO7220322A2 (es)
MX (1) MX341601B (es)
WO (1) WO2014042989A1 (es)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9116706B2 (en) * 2012-10-09 2015-08-25 Tamer Yunten Yunten's web application methodology and web programming language (YWAM and WPL)
US10264208B2 (en) * 2015-12-11 2019-04-16 Qualcomm Incorporated Layered display content for wireless display
US10547660B2 (en) * 2016-09-12 2020-01-28 Bose Corporation Advertising media processing capabilities

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6064420A (en) 1995-06-15 2000-05-16 Intel Corporation Simulating two way connectivity for one way data streams for multiple parties
US6247048B1 (en) * 1998-04-30 2001-06-12 Openwave Systems Inc Method and apparatus for transcoding character sets between internet hosts and thin client devices over data networks
US6253326B1 (en) * 1998-05-29 2001-06-26 Palm, Inc. Method and system for secure communications
US6345307B1 (en) * 1999-04-30 2002-02-05 General Instrument Corporation Method and apparatus for compressing hypertext transfer protocol (HTTP) messages
WO2001054400A1 (en) 2000-01-24 2001-07-26 Matsushita Electric Industrial Co., Ltd. Image synthesizing device, recorded medium, and program
US7196710B1 (en) * 2000-08-23 2007-03-27 Nintendo Co., Ltd. Method and apparatus for buffering graphics data in a graphics system
US20020188956A1 (en) * 2001-06-07 2002-12-12 Michael Ficco Method and system for electronic program guide temporal content organization
US6996838B2 (en) 2001-06-12 2006-02-07 Scientific Atlanta, Inc. System and method for media processing with adaptive resource access priority assignment
US7631084B2 (en) * 2001-11-02 2009-12-08 Juniper Networks, Inc. Method and system for providing secure access to private networks with client redirection
KR100562904B1 (ko) 2003-09-02 2006-03-21 삼성전자주식회사 미니맵을 이용한 epg 정보 표시 방법
US8023882B2 (en) * 2004-01-14 2011-09-20 The Nielsen Company (Us), Llc. Portable audience measurement architectures and methods for portable audience measurement
US20060149746A1 (en) * 2005-01-04 2006-07-06 Microsoft Corporation Web application communication protocol
US7667704B2 (en) 2005-03-30 2010-02-23 Microsoft Corporation System for efficient remote projection of rich interactive user interfaces
US8325107B2 (en) 2006-02-10 2012-12-04 Qualcomm Incorporated Wireless monitor proxy
US7974293B2 (en) * 2006-11-06 2011-07-05 The Directv Group, Inc. Method and apparatus for transcrypting or transcoding content for a terminal within a vehicle
US8060486B2 (en) * 2007-05-07 2011-11-15 Hewlett-Packard Development Company, L.P. Automatic conversion schema for cached web requests
US7970857B2 (en) * 2007-05-18 2011-06-28 Red Hat, Inc. Method and an apparatus to record web transactions using a proxy server
WO2008156640A2 (en) * 2007-06-12 2008-12-24 Smartmicros Usa, Llc A method and apparatus for encoding data
KR101125847B1 (ko) 2007-07-11 2012-03-28 삼성전자주식회사 UPnP 디바이스와 RUI 클라이언트를 중계하는 방법및 이를 위한 장치
US9152995B2 (en) * 2007-08-30 2015-10-06 Cc Serve Corporation Method and system for loan application non-acceptance follow-up
US7664862B2 (en) * 2008-01-14 2010-02-16 International Business Machines Corporation Browser-based proxy server for customization and distribution of existing applications
US20090189892A1 (en) 2008-01-27 2009-07-30 Nitin Desai Methods and systems for detecting a dirty region within a frame encompassing three dimensional graphics
US8145794B2 (en) * 2008-03-14 2012-03-27 Microsoft Corporation Encoding/decoding while allowing varying message formats per message
WO2009137498A1 (en) * 2008-05-06 2009-11-12 The Directv Group, Inc. Method and system for interfacing content between devices
US8200795B2 (en) * 2008-06-05 2012-06-12 Sony Computer Entertainment Inc. Mobile phone game interface
US8250653B2 (en) * 2009-04-30 2012-08-21 Microsoft Corporation Secure multi-principal web browser
US8813127B2 (en) * 2009-05-19 2014-08-19 Microsoft Corporation Media content retrieval system and personal virtual channel
US8028079B2 (en) * 2009-06-15 2011-09-27 Microsoft Corporation Efficient transform from XML to javascript objects
US8332467B2 (en) * 2009-07-29 2012-12-11 International Business Machines Corporation Lightweight RRD extension framework
EP2471005A4 (en) * 2009-08-28 2013-04-03 Zynga Inc APPARATUSES, METHODS, AND SYSTEMS FOR A DISTRIBUTED OBJECT RENDERING DEVICE
US9537650B2 (en) * 2009-12-15 2017-01-03 Microsoft Technology Licensing, Llc Verifiable trust for data through wrapper composition
US8595234B2 (en) * 2010-05-17 2013-11-26 Wal-Mart Stores, Inc. Processing data feeds
US9130975B2 (en) * 2010-06-02 2015-09-08 Avaya Inc. Generation of macros
US8640180B2 (en) * 2010-09-29 2014-01-28 Alcatel Lucent Apparatus and method for client-side compositing of video streams
US8799357B2 (en) * 2010-11-08 2014-08-05 Sony Corporation Methods and systems for use in providing a remote user interface
US20120127516A1 (en) * 2010-11-22 2012-05-24 I O Interconnect, Ltd. Portable device and printing method thereof
US20120158472A1 (en) * 2010-12-21 2012-06-21 Research In Motion Limited Contextual customization of content display on a communication device
US9032450B2 (en) * 2011-01-21 2015-05-12 Samsung Electronics Co., Ltd. Adaptive audio/video streams proxy
US20120254450A1 (en) 2011-03-28 2012-10-04 Sony Corporation Tiered hierarchical remote user interface
US9647989B2 (en) * 2011-04-27 2017-05-09 Symantec Corporation System and method of data interception and conversion in a proxy
US8681203B1 (en) * 2012-08-20 2014-03-25 Google Inc. Automatic mute control for video conferencing

Also Published As

Publication number Publication date
WO2014042989A1 (en) 2014-03-20
US9137501B2 (en) 2015-09-15
EP2896178A1 (en) 2015-07-22
MX341601B (es) 2016-08-23
AR092508A1 (es) 2015-04-22
US20140075486A1 (en) 2014-03-13
BR112015005054A2 (pt) 2017-08-22
CL2015000618A1 (es) 2016-03-28
CO7220322A2 (es) 2015-03-20

Similar Documents

Publication Publication Date Title
US8671211B2 (en) Method and system for distributing content
US8532472B2 (en) Methods and apparatus for fast seeking within a media stream buffer
US20130135179A1 (en) Control method and device thereof
US20090193466A1 (en) Distributed network-based video content for television
US20110302603A1 (en) Content output system, content output method, program, terminal device, and output device
CN105681139A (zh) 用于传输自适应调整的文件的设备和方法
US20110016484A1 (en) Space-shifting ip streaming system achieved through a video playback method based on a rich internet application (ria)
KR20210058791A (ko) 클라우드 기반 유저 인터페이스 제공 시스템 및 그 방법
KR20080076347A (ko) 디지털 방송의 미들웨어 표준이 다른 장치에서 상호서비스를 제공하는 장치 및 방법
US9800901B2 (en) Apparatus, systems and methods for remote storage of media content events
MX2015003117A (es) Metodo y sistema para la comunicacion entre un dispositivo anfitrion y dispositivo de usuario a traves de un dispositivo intermedio usando traduccion de sintaxis.
KR102284295B1 (ko) 클라우드 기반 유저 인터페이스 제공 시스템 및 그 방법
US9535722B2 (en) Method and system for communicating between a host device and a user device through an intermediate device using a composite graphics signal
KR100979909B1 (ko) 디지털 방송의 데이터 애플리케이션 제공 방법 및 이를실현시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한기록 매체
US9674306B2 (en) Method and system for communicating from a client device to a server device in a centralized content distribution system
US10521250B2 (en) Method and system for communicating between a host device and user device through an intermediate device using a composite video signal
US9066120B2 (en) Systems and methods for personalized television viewing
US8862761B1 (en) Method and system for forming an audio overlay for streaming content of a content distribution system
KR101911248B1 (ko) 시청률 관련 데이터를 처리하는 멀티미디어 디바이스의 제어 방법 및 상기 멀티미디어 디바이스
KR101666895B1 (ko) 디지털 방송 수신기 및 컨텐츠 관리 방법

Legal Events

Date Code Title Description
FG Grant or registration