ES2733484T3 - Procedimiento de presentación remota entre al menos dos terminales conectados a través de una red - Google Patents

Procedimiento de presentación remota entre al menos dos terminales conectados a través de una red Download PDF

Info

Publication number
ES2733484T3
ES2733484T3 ES13782758T ES13782758T ES2733484T3 ES 2733484 T3 ES2733484 T3 ES 2733484T3 ES 13782758 T ES13782758 T ES 13782758T ES 13782758 T ES13782758 T ES 13782758T ES 2733484 T3 ES2733484 T3 ES 2733484T3
Authority
ES
Spain
Prior art keywords
terminal
events
machine controller
web server
sending
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES13782758T
Other languages
English (en)
Inventor
Olivier Cadou
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Iqvia Operations France SAS
Original Assignee
Iqvia Operations France SAS
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 Iqvia Operations France SAS filed Critical Iqvia Operations France SAS
Application granted granted Critical
Publication of ES2733484T3 publication Critical patent/ES2733484T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Telephonic Communication Services (AREA)

Abstract

Procedimiento de presentación remota entre un primer terminal (100) y al menos un segundo terminal (200, 200') conectados a través de una red, que comprende las etapas que consisten en: - generar (20) unos eventos durante una acción de un usuario en uno de los periféricos del primer terminal y enviar dichos eventos generados a un controlador de máquina (110) del primer terminal; - enviar (30) a un servidor web (300) dichos eventos generados; y - enviar (40) dichos eventos desde dicho servidor web (300) a al menos un controlador de máquina de entre el controlador de máquina (210) de dicho segundo terminal (200) y el controlador de máquina (410) de un servidor de vídeo (400) cuya configuración es compatible con la del primer terminal (100), caracterizado por que además comprende las etapas que consisten en: - enviar (31) a dicho servidor web la identidad de la aplicación lanzada por la acción de un usuario en el primer terminal o en uno de sus periféricos; - enviar (32) la identidad de dicha aplicación desde dicho servidor web a al menos un controlador de máquina de dicho segundo terminal; y - forzar (33) la ejecución de dicha aplicación en dicho segundo terminal para que actúe como intermediario para los eventos procedentes del servidor web (300).

Description

DESCRIPCIÓN
Procedimiento de presentación remota entre al menos dos terminales conectados a través de una red
La presente invención se refiere al campo de la compartición de documentos o de aplicaciones entre dos terminales conectados a través de una red.
Por documento se debe entender cualquier tipo de información, independientemente de cuál sea su forma de representación, incluidos los gráficos, asociada a cualquier tipo de formato de archivo informático.
Por aplicación, se debe entender un programa informático, independientemente de cuál sea su versión, ejecutable de forma nativa por el terminal en el que está instalada o una aplicación web ejecutable por un servidor al que está conectado el terminal (solución en modo SaaS: anglicismo que designa Software como Servicio).
Por terminal se debe entender cualquier tipo de objeto de comunicación que pueda comunicarse con un servidor, por ejemplo, un teléfono inteligente, más comúnmente denominado con el anglicismo "smart phone" o un ordenador personal, más comúnmente denominado con el anglicismo Personal Computer o PC, independientemente de su sistema operativo, ya haya sido desarrollado por Microsoft (marca registrada), Apple (marca registrada) o sea un software libre, por ejemplo, Linux (marca registrada). El terminal puede presentarse con una forma fija (con unidad central), portátil o como tableta gráfica táctil, por ejemplo, un iPad (marca registrada).
Existen varios tipos de soluciones para compartir documentos o aplicaciones, por ejemplo, para hacer presentaciones, eventualmente interactivas, de forma remota entre dos terminales conectados a través de una red, por ejemplo, Internet.
Por convención, se entiende por emisor al terminal que transmite documentos con destino a uno o más terminales receptores, en este caso a través de un servidor web. Por ejemplo, el emisor puede estar asociado con un presentador que quiera compartir, presentar documentos o aplicaciones a unos participantes.
El documento de la técnica anterior US2003/0160813 describe un sistema de presentación remota que proporciona una interfaz entre la interfaz gráfica de usuario y un servidor que aloja una aplicación de presentación.
Otro documento de la técnica anterior EP2088519 describe un procedimiento de conferencia en el que la descarga de una página web en un terminal activa el envío automático de la dirección de la página Web al segundo terminal y su recuperación independiente.
Otro documento de la técnica anterior US2005/0246422 describe una navegación interactiva en Internet que permite que varias personas realicen una sesión de navegación en la Web, mientras otros individuos la siguen.
Un documento diferente del estado de la técnica US2002/0029245 describe un sistema para coordinar la navegación y la navegación combinada que utilizan módulos de extensión para registrar eventos del navegador.
Un primer tipo de compartición de documentos o aplicaciones entre dos terminales consiste en compartir todo o parte de una pantalla de visualización.
En este caso, normalmente, una aplicación instalada en un primer terminal, emisor, captura todo o parte (por ejemplo, una ventana de visualización) del contenido de su pantalla de visualización y la envía en forma de flujo de vídeo a un servidor que luego retransmite este flujo a un segundo terminal, receptor, que está equipado con un lector adecuado para leer este tipo de flujo de vídeo.
En este caso, se debe instalar la misma aplicación en el terminal de cada participante que desee compartir todo o parte de su pantalla de visualización.
La ventaja de este tipo de solución radica en el hecho de que supera los problemas de formato de la información o de los documentos intercambiados o de las aplicaciones utilizadas. No es necesario que el documento o la aplicación que se va a compartir exista en los terminales receptores, pueden existir solo en el terminal emisor. Independientemente de cuáles sean los documentos o aplicaciones utilizados por el presentador, los participantes pueden verlos mostrados en sus pantallas independientemente de cuál sea su configuración de software o hardware.
Sin embargo, este tipo de solución requiere la instalación de una aplicación en cada terminal emisor o receptor. Además, debido a la utilización de un flujo de vídeo, este tipo de solución requiere un ancho de banda importante (de subida y de bajada) y terminales de alto rendimiento.
Un segundo tipo de compartición de documentos o aplicaciones entre dos terminales consiste en tomar el control remoto de un terminal.
En este caso, normalmente, como antes, una aplicación instalada en un primer terminal, emisor, captura el contenido de toda o parte de su pantalla de visualización y envía este contenido en forma de flujo de vídeo a un servidor que, a continuación, retransmite este flujo de vídeo a un segundo terminal, receptor, que está equipado con un lector adecuado para leer este tipo de flujo de vídeo.
Además, una aplicación instalada en el segundo terminal se comunica con el primer terminal a través de un servidor para controlar los periféricos (ratón y teclado) del primer terminal.
En este caso, por ejemplo, un presentador asociado con el segundo terminal puede tomar el control del primer terminal asociado con un participante.
La ventaja de este tipo de solución radica en el hecho de que también supera los problemas de formato de los documentos intercambiados y de las aplicaciones utilizadas. Independientemente de cuáles sean los documentos o aplicaciones utilizados por el presentador, los participantes pueden verlos en sus pantallas, independientemente de cuál sea su configuración de software o hardware.
No obstante, este tipo de solución requiere la instalación de una aplicación en cada terminal.
Además, este tipo de solución requiere un ancho de banda (de subida y de bajada) importante y terminales de alto rendimiento.
Además, los documentos o aplicaciones presentados deben estar presentes en el primer terminal (sobre el que se toma el control).
Un tercer tipo de compartición de documentos entre dos terminales consiste en presentar documentos mediante un comando de actualización de la visualización.
En este caso, normalmente, los terminales se conectan a un servidor común que les distribuye los mismos documentos simultáneamente por medio de un sistema de actualización automática presente en la primera página de conexión. La elección de los documentos está controlada por uno de los terminales.
La ventaja de este tipo de solución radica en su simplicidad, ya que no requiere la instalación de una aplicación particular en el conjunto de los terminales, normalmente, un navegador de Internet puede ser suficiente.
Sin embargo, este tipo de solución depende de la configuración del software o hardware de los terminales de los usuarios para leer los documentos enviados.
Además, este tipo de solución generalmente requiere un ancho de banda (de bajada desde el servidor común) importante.
Además, este tipo de solución no permite compartir aplicaciones entre terminales.
De hecho, estos tres tipos de soluciones están bastante adaptados a organizaciones dedicadas, por ejemplo, dentro de una empresa, pero son muy restrictivas, incluso imposibles de implementar, por ejemplo, en el contexto de usuarios nómadas o de prestación de servicios, concretamente debido a:
- que en muchas situaciones es imposible instalar cualquier aplicación en los terminales de los participantes/receptores (mientras que a menudo es posible una instalación en el lado del presentador/transmisor);
- que con mucha frecuencia es imposible preparar múltiples versiones de los documentos que se van a presentar para adaptarse a las diferentes configuraciones posibles de software o hardware de los participantes; y
- que el presentador o los participantes a veces disponen de un ancho de banda pésimo.
La presente invención pretende superar al menos una de estas dificultades y propone un nuevo tipo de solución. De acuerdo con el primero de sus objetivos, la invención se refiere a un procedimiento de presentación remota entre un primer terminal (100) y al menos un segundo terminal (200, 200') conectados a través de una red, que comprende unas etapas que consisten en:
- generar (20) eventos durante una acción de un usuario en uno de los periféricos del primer terminal, y enviar dichos eventos generados a un controlador de máquina (110) del primer terminal.
Se caracteriza esencialmente por que además comprende unas etapas que consisten en:
- enviar (30) a un servidor web (300) dichos eventos generados; y
- enviar (40) dichos eventos desde dicho servidor web (300) a al menos un controlador de máquina de entre el controlador de máquina (210) de dicho segundo terminal (200) y el controlador de máquina (410) de un servidor de vídeo (400) cuya configuración es compatible con la del primer terminal (100).
En un modo de realización, además se han previsto unas etapas que consisten en:
- comparar (70) la configuración del primer terminal (100) y la del segundo terminal (210, 210'); y en función del resultado de la comparación,
- si las configuraciones son similares, traducir (80) dichos eventos antes de enviarlos a un controlador de máquina del segundo terminal;
- si las configuraciones no son compatibles,
o emitir (88) un mensaje de error o un mensaje de alerta.
Se puede prever, si las configuraciones son idénticas o similares, enviar los eventos a un controlador de máquina del segundo terminal, eventualmente sin traducción. El envío de dichos eventos se realiza preferentemente a través de un servidor web.
En un modo de realización, en el servidor de vídeo (400) se prevén además unas etapas que consisten en:
- generar y grabar (50) un flujo de vídeo que reproduce las acciones de un usuario en uno de los periféricos del primer terminal mediante los eventos generados (20) y enviados (30, 40).
Se puede prever,
- si las configuraciones no son compatibles,
o emitir (88) un mensaje de error o un mensaje de alerta; y
- si las configuraciones son similares, traducir (80) dichos eventos antes de enviarlos a un controlador de máquina del servidor de vídeo;
- generar en el servidor de vídeo y grabar en este mismo servidor (50) un flujo de vídeo a partir de los eventos desempeñados por el controlador de máquina del servidor de vídeo, reproduciendo las acciones de un usuario en uno de los periféricos del primer terminal mediante los eventos generados (20) y recibidos del servidor web (30, 40).
En un modo de realización, se prevé, además, una etapa que consiste en transmitir (60) dicho flujo de vídeo a dicho segundo terminal (200, 210').
En un modo de realización, además se prevé una etapa que consiste en:
- sincronizar (10) el primer terminal y el segundo terminal abriendo en su navegador respectivo la misma página web (URL) o abriendo una misma aplicación.
Gracias a esta característica, el primer terminal y el segundo terminal se encuentran en una situación inicial similar antes de que arranque la compartición remota.
En un modo de realización, se prevé que al menos uno del primer y del segundo terminal comprende un navegador configurado para leer el formato de datos HTML5.
En un modo de realización, además se prevé en al menos uno de dichos primer terminal y segundo terminal al menos una de las etapas que consisten en:
- descargar (90) un documento en tiempo real,
- descargar (91) un documento antes de la etapa de envío de dichos eventos desde dicho servidor a al menos un controlador de máquina de entre el controlador de máquina de dicho segundo terminal y el controlador de máquina de un servidor de vídeo, y
- descargar (92) un documento por transmisión en modo continuo.
En un modo de realización, se prevé que la etapa de traducción (80) comprenda para un terminal dado al menos una de las etapas que consisten en:
- transformar (81) las coordenadas de un puntero en coordenadas relativas a las dimensiones de la pantalla asociada con dicho terminal; y
- establecer (82) una correspondencia biyectiva entre las acciones de un usuario en una pantalla táctil y acciones similares en una pantalla no táctil.
En un modo de realización, además se han previsto unas etapas que consisten en:
- enviar (31) a dicho servidor web la identidad de la aplicación lanzada por la acción de un usuario en el primer terminal o en uno de sus periféricos;
- enviar (32) la identidad de dicha aplicación desde dicho servidor web a al menos un controlador de máquina de dicho segundo terminal; y
- forzar (33) la ejecución de dicha aplicación en dicho segundo terminal.
Según otro de sus objetivos, la invención se refiere a un programa informático, que comprende instrucciones de código de programa para ejecutar las etapas del procedimiento según la invención, cuando dicho programa se ejecuta en un ordenador.
La invención se puede aplicar concretamente en el trabajo colaborativo de un contenido web o dentro de una aplicación compartida entre usuarios equipados con tabletas gráficas como un iPad (marca registrada), por ejemplo, en el contexto de formación a distancia, e incluso para clases virtuales.
Otras características y ventajas de la presente invención se apreciarán con más claridad tras la lectura de la siguiente descripción, aportada a modo de ejemplo ilustrativo y no limitativo, y redactada haciendo referencia a las figuras adjuntas en las que:
- la figura 1 ilustra un modo de realización del procedimiento de acuerdo con la invención,
- la figura 2 ilustra un modo de realización de un sistema capaz de implementar el procedimiento de acuerdo con la invención, y
- la figura 3 ilustra un modo de realización de un sistema capaz de implementar el procedimiento de acuerdo con la invención.
Cualquier terminal 100, 200, 200' comprende uno o, en general, varios periféricos 120, 130, 220, 230, 220', 230', conectados al sistema informático de dicho terminal.
Puede tratarse de un periférico de entrada, por ejemplo, un teclado o un dispositivo de puntero, tal como un ratón o una tableta gráfica con un lápiz óptico; un periférico de salida, tal como una pantalla de visualización; o un periférico de entrada/salida, tal como una pantalla táctil.
Cada periférico está conectado en general a un controlador individual respectivo. De modo que cada terminal generalmente comprende al menos dos controladores distintos: un controlador de máquina y un controlador de periférico (común para el conjunto de periféricos o un controlador por periférico).
Cuando un usuario ejerce una o varias acciones físicas (secuenciales o simultáneas) en uno de los periféricos de un terminal, el controlador del periférico utilizado envía a un controlador del terminal, denominado controlador de máquina, un conjunto de instrucciones correspondientes, denominadas eventos. Al recibir estos eventos, el controlador de máquina los transforma en acciones informáticas, es decir, en comandos de máquina, eventualmente con destino a otro periférico.
Por ejemplo, sin que se inicie necesariamente una aplicación en particular, una acción física que consiste en hacer clic (derecha o izquierda) en un enlace de hipertexto, un botón, un icono..., en desplazar uno o dos punteros (por ejemplo, un ratón o uno o dos dedos por una pantalla táctil), etc., conlleva la generación 20 de eventos correspondientes que son resultado de que el controlador de máquina emita un comando asociado (acción informática): la apertura de una página nueva (web u otra) en la pantalla, el lanzamiento de una aplicación, es decir, la ejecución de un software, hacer zoom, una rotación, etc.
Los eventos enviados al controlador de máquina comprenden, por ejemplo, indicaciones sobre la posición del o de los punteros, su eventual movimiento (distancia y velocidad de desplazamiento o separación), así como la eventual acción (clic, doble clic, toque, deslizamiento, etc.).
El controlador de máquina 110, 210, 210' transforma estas indicaciones en instrucciones, típicamente con destino a un controlador de otro periférico, e incluso del mismo.
Por conveniencia del lenguaje, se entiende indistintamente por evento las indicaciones enviadas al controlador de máquina desde un controlador de periférico o las instrucciones enviadas desde el controlador de máquina a un controlador de periférico.
Cuando se inicia una aplicación particular, lo clásico es que cada aplicación use un controlador de aplicación propio, lo que permite, de acuerdo con el mismo principio, ejecutar un número determinado de funciones específicas, dependiendo de la acción física de un usuario en esta aplicación.
Por ejemplo, en una aplicación que permite introducir texto, cuando un usuario presiona la letra "A" en su teclado, el controlador de máquina recibe del controlador del teclado o de la pantalla táctil un evento que significa que se ha seleccionado esta letra A y emite con destino al controlador de la pantalla (táctil o no) una orden de visualización de este carácter A.
En el presente documento se propone un uso ingenioso de los eventos y de al menos un controlador de máquina de al menos uno de los dos terminales de red, en el cual, en un modo de realización, el controlador de máquina de uno de los dos terminales es controlado por los eventos generados por el otro de los dos terminales.
En otro modo de realización, alternativo o combinable, el controlador de máquina del terminal emisor de uno de los dos terminales emite eventos a un servidor de vídeo que transforma estas instrucciones en flujos de vídeo con destino al otro de los dos terminales o con destino a otros varios terminales (receptores). El controlador de máquina del segundo terminal (receptor) puede, en respuesta, incluso cuando recibe un flujo de vídeo, emitir eventos para controlar el primer terminal (emisor).
Gracias a la invención, es posible controlar el controlador de la aplicación de uno de los dos terminales directamente mediante el otro de los dos terminales a través de un servidor web.
Más adelante se describen diferentes modos de realización.
Se prevé un procedimiento de presentación remota entre un primer terminal 100 y al menos un segundo terminal 200, 200' conectados a través de una red, normalmente Internet.
Cada terminal puede actuar en modo de emisión (enviando eventos a un servidor web 300) o en modo de recepción (recibiendo eventos procedentes del servidor web).
Se prevé una etapa 30 que consiste en enviar a un servidor web 300 (normalmente a su controlador de máquina 310) los eventos generados por una acción de un usuario en el primer terminal o en uno de sus periféricos.
Gracias a esta característica, el ancho de banda entre el primer terminal y el servidor web puede ser muy limitado, concretamente, en comparación con el envío del contenido en forma de flujo de vídeo. De hecho, cada evento enviado normalmente solo representa unas decenas de bytes. La etapa de envío 30 puede ser, por lo tanto, muy rápida.
Preferentemente, el envío se efectúa por medio de una aplicación específica lanzada por un usuario de dicho primer terminal.
Una vez que el servidor web 300 ha recibido los eventos, se prevé una etapa 40 que consiste en enviar dichos eventos desde dicho servidor web a al menos un controlador de máquina 210 de dicho segundo terminal 200. Se puede prever como complemento o en sustitución, que la etapa 40 consista en enviar dichos eventos desde dicho servidor web 300 a al menos un controlador de máquina 410 de un servidor de vídeo 400.
El controlador de máquina 210 de dicho segundo terminal 200 recibe los eventos procedentes del servidor web 300 al que está conectado, preferentemente por medio de una aplicación específica lanzada por un usuario de dicho segundo terminal. El controlador de máquina 210 interpreta entonces los eventos como si procedieran de dicho usuario de dicho segundo terminal utilizando su interfaz y los transforma en acción informática, lo que reproduce en el segundo terminal 200 las acciones del usuario del primer terminal 100.
Al igual que antes, dado que solo se transmiten eventos, el ancho de banda entre el servidor web 300 y el segundo terminal 210 o el servidor de vídeo 400 puede ser muy pequeño.
Esta configuración es particularmente adecuada para aquellos casos donde el primer terminal y el segundo terminal tienen configuraciones idénticas o similares, es decir, configuraciones compatibles. Cualquier acción realizada en uno de los terminales se reproduce de manera idéntica en el otro terminal.
Por "configuración" se entiende al menos uno de los elementos de entre el sistema operativo, el tamaño de la pantalla, la resolución de la pantalla y la versión del software o del navegador.
Por "configuración similar" se entiende en concreto que el primer y el segundo terminal comprenden cada uno una versión respectiva de un mismo software, pero que estas dos versiones son compatibles entre sí, es decir, que una acción relativa a este el software en uno de los terminales conlleve la misma acción relativa a ese software en el otro terminal.
Dado que no todos los terminales tienen necesariamente configuraciones idénticas o similares, se puede prever una etapa 70 que consiste en comparar la configuración del primer terminal y la del segundo terminal.
Normalmente, esto equivale a identificar, por ejemplo, si los terminales conectados a la red son pantallas táctiles o no, las dimensiones de su pantalla, sus versiones de software, etc.
De este modo, en función del resultado de la comparación:
- si las configuraciones son idénticas, estos eventos se envían a un controlador de máquina del segundo terminal; - si las configuraciones son similares, se puede prever el traducir 80 dichos eventos antes de enviarlos a un controlador de máquina del segundo terminal; y
- si las configuraciones no son compatibles, se puede prever el emitir un mensaje de error o un mensaje de alerta, invitando, por ejemplo, a implementar la solución con el servidor de vídeo que se describe más adelante.
La etapa de traducción 80 preferentemente se implementa mediante el servidor web 300 equipado con unos medios de traducción 340, que normalmente comprenden una memoria y un calculador. Como alternativa, la etapa de traducción 80 se puede reubicar, al estar los medios de traducción 340 comprendidos en otra máquina, servidor o terminal. La etapa de traducción 80 comprende para un terminal dado al menos una de las etapas que consisten en: transformar 81 las coordenadas absolutas de un puntero en coordenadas relativas a las dimensiones de la pantalla asociada con dicho terminal; y
establecer 82 una correspondencia biyectiva entre las acciones de un usuario en una pantalla táctil y acciones similares en una pantalla no táctil.
Por ejemplo, cuando un usuario apunta con la ayuda de un puntero (ratón, lápiz óptico, dedo), las coordenadas absolutas (píxel X, píxel Y de la pantalla) del punto apuntado se transforman en coordenadas relativas (Xr %, Yr % de las dimensiones de la pantalla).
Estas coordenadas relativas se envían al otro terminal cuyo controlador de máquina puede entonces controlar la ejecución de manera que se aplique el mismo porcentaje, lo que es particularmente ventajoso cuando las dimensiones de las pantallas respectivas del primer y el segundo terminal son diferentes.
Por ejemplo, tomando como origen la esquina superior izquierda de la pantalla, si el usuario del primer terminal hace clic sobre el icono situado, por ejemplo, al 10 % del ancho de la pantalla y al 20 % de la altura de la pantalla con respecto al origen; se efectúa un clic o equivalente (véase más adelante) en el segundo terminal con el mismo porcentaje con respecto a las dimensiones de la pantalla del segundo terminal. De este modo, si los dos iconos situados en ubicaciones respectivas corresponden a la misma aplicación, esta aplicación lanzada en el primer terminal también se lanzará en el segundo terminal.
De manera similar, se puede establecer una correspondencia, preferentemente biyectiva, por ejemplo, en forma de tabla de correspondencia registrada en el servidor web, entre las acciones de un usuario en una pantalla táctil y las acciones correspondientes en una pantalla no táctil. Por ejemplo, en un terminal de pantalla táctil, la recepción de un evento correspondiente a un toque con un dedo, a una modificación de la distancia entre dos dedos, a un deslizamiento de un dedo, etc., genera en un terminal de pantalla no táctil, un evento correspondiente, respectivamente, a un clic, un zoom cuya proporción depende de la separación entre los dos dedos y pasar a la página siguiente/anterior en función del sentido de desplazamiento del deslizamiento del dedo, etc.
En algunos casos, los eventos enviados al servidor web también comprenden la identidad 31 de la aplicación lanzada (ejecutada) por la acción de un usuario en el primer terminal o en uno de sus periféricos. La identidad de dicha aplicación se envía 32 a continuación, desde el servidor web a al menos un controlador de máquina de dicho segundo terminal, lo que permite la ejecución, eventualmente forzada 33, de dicha aplicación en dicho segundo terminal.
Por otro lado, se puede prever la sincronización 10 previa del primer terminal y del segundo terminal. Para tal efecto, preferentemente se prevé sincronizarlos abriendo en su navegador respectivo una misma página web (URL). Por navegador se debe entender un navegador web de Internet o de una red social (por ejemplo, Facebook, marca registrada).
Tal configuración es ventajosa en las presentaciones web. En particular, se puede prever que al menos uno de los terminales primero y segundo comprenda un navegador configurado para leer el formato de datos HTML5.
En este caso, la etapa de traducción es opcional. Solo se necesita desde/hacia un terminal que comprenda un navegador configurado para leer el formato de datos anterior a HTML5, en este caso HTML4.
Ejemplos de funcionamiento.
En los casos en los que las configuraciones del primer y del segundo terminal son idénticas, las acciones de un usuario del primer terminal se reproducen de manera idéntica en el segundo terminal.
En los casos en los que las configuraciones del primer y del segundo terminal son compatibles, el servidor web traduce las acciones de un usuario del primer terminal para que se reproduzcan de manera idéntica en el segundo terminal.
Por ejemplo, un usuario del primer terminal, en este caso un iPad (marca registrada), desea compartir un documento con un usuario de un segundo terminal, en este caso, un PC con un ratón. Cuando se produce la conexión al servidor web, este calcula sus configuraciones y considera que son compatibles. Por ejemplo, el primer usuario es un presentador que utiliza en su iPad una aplicación que encapsula un navegador Web (normalmente Webkit). Este desea compartir un documento HTML5 remotamente con un segundo usuario, que utiliza un PC.
El segundo usuario se conecta con su navegador web (por ejemplo, Chrome) a un sitio cuya dirección URL le es comunicada por el presentador.
El navegador del segundo usuario envía al servidor web información relativa a su configuración (a través de agentes) y, en concreto, la identidad del navegador utilizado (en este caso Chrome, un navegador que sabe interpretar eventos HTML5) y la resolución de su pantalla.
A partir de ese momento, el presentador puede compartir un documento HTML5, cualquier evento en su terminal se traduce y reproduce en el segundo terminal.
Por ejemplo, un deslizamiento del dedo por la pantalla táctil del primer terminal se transforma, gracias a la tabla de correspondencia, en un evento de desplazamiento del ratón en el segundo terminal. Del mismo modo, un toque del dedo en la pantalla táctil del primer terminal se transforma, gracias a la tabla de correspondencia, en un evento de clic en el segundo terminal.
Es posible sincronizar los dos terminales en la misma aplicación, por ejemplo, un navegador, lo que es ventajoso, por ejemplo, en el caso de que la disposición de los iconos no sea la misma en ambos terminales. Los navegadores pueden ser diferentes, no es necesario que sean idénticos. Los navegadores comprenden el mismo lenguaje. Por ejemplo, las últimas versiones de Chrome, Safari, Opera, Firefox e Internet Explorer comprenden HTML5 y su Javascript.
El diálogo entre el controlador de máquina y el controlador de la aplicación del primer terminal se traduce entonces en un diálogo entre el controlador de máquina y el controlador de la aplicación del segundo terminal, lo que garantiza que las acciones del usuario del primer terminal se reproduzcan en el segundo terminal.
En los casos en los que las configuraciones del primer y del segundo terminal no sean compatibles, se puede prever un servidor de vídeo, además del segundo terminal.
El servidor de vídeo está equipado con una configuración compatible con el primer terminal y equipado con un software de captura de vídeo que permite que los medios de vídeo 450 generen y graben 50 un flujo de vídeo que reproduce las acciones de un usuario en uno de los periféricos del primer terminal, gracias a los eventos generados y enviados. Este flujo de vídeo puede entonces transmitirse 60 a un segundo terminal 200, 200', en particular a un segundo terminal 210' cuya configuración no es compatible con la del primer terminal.
El servidor de vídeo 400 puede funcionar en el sentido del segundo terminal como se describió anteriormente o emular su funcionamiento.
Se prevé grabar un flujo de vídeo de las acciones correspondientes a los eventos generados por las acciones de un usuario en el primer terminal o en uno de sus periféricos.
Para tal efecto, los eventos enviados por el primer terminal al servidor de vídeo (controlador de máquina) generan la ejecución de órdenes por parte de este que reproducen las acciones del usuario del primer terminal, estas órdenes se capturan en forma de flujo de vídeo transmitido al segundo terminal.
Esta configuración tiene la ventaja de que solo requiere un ancho de banda de enlace ascendente muy pequeño entre el primer terminal y el servidor de vídeo; y cualquier configuración de software/hardware del segundo terminal. Por lo tanto, es posible superar los problemas de formato de los documentos intercambiados. Independientemente de cuáles sean los documentos o software utilizados, por ejemplo, por un presentador en un terminal, los participantes en otros terminales pueden verlos en sus pantallas, independientemente de su configuración.
Para la presentación de un mismo documento entre dos terminales, se puede prever además en al menos uno de dichos primer terminal y segundo terminal, al menos una de las etapas que consisten en:
- descargar 90 un documento en tiempo real,
- descargar 91 un documento antes de la etapa de envío de dichos eventos desde dicho servidor a al menos un controlador de máquina de entre el controlador de máquina de dicho segundo terminal y el controlador de máquina de un servidor de vídeo, y
- descargar 92 un documento por transmisión en modo continuo.
En particular, se puede prever que la transmisión en modo continuo se efectúe en la memoria caché del terminal receptor.
La descarga previa es ventajosa, por ejemplo, en una configuración nómada.
La presente invención no está limitada a los modos de realización descritos anteriormente. Por ejemplo, se pueden combinar modos de realización técnicamente compatibles, descritos anteriormente, de los que se ilustra un modo de realización en la figura 2.
En la figura 2, la dirección de las flechas indica el posible sentido de la comunicación, las etapas del procedimiento están representadas por su referencia numérica y las líneas de puntos, como en la figura 1, son sinónimos de un carácter opcional.
El concepto de primer y segundo terminal es relativo: cada terminal puede considerarse como primero o segundo en función del contexto de uso y, preferentemente, cada terminal puede ser capaz de emitir y recibir eventos.
Por ejemplo, en el caso de que un participante en un segundo terminal no disponga de una configuración inicialmente compatible con la de un presentador en un primer terminal, el segundo terminal recibe un flujo de vídeo del servidor de vídeo, en el que el participante puede interactuar reenviando eventos que eventualmente son traducidos por el servidor web y enviados al primer terminal y a otros participantes eventuales.
Obviamente, la invención no está limitada a dos terminales, sino que puede comprender una pluralidad de terminales conectados en red. En particular, cuando los terminales de recepción son compatibles con el terminal emisor y no es necesario un servidor de vídeo, ya que solo se intercambian eventos a través del servidor web, el ancho de banda requerido es muy pequeño y es posible conectar de varios cientos a varios miles de terminales, lo que es particularmente ventajoso para la formación en línea.

Claims (9)

REIVINDICACIONES
1. Procedimiento de presentación remota entre un primer terminal (100) y al menos un segundo terminal (200, 200') conectados a través de una red, que comprende las etapas que consisten en:
- generar (20) unos eventos durante una acción de un usuario en uno de los periféricos del primer terminal y enviar dichos eventos generados a un controlador de máquina (110) del primer terminal;
- enviar (30) a un servidor web (300) dichos eventos generados; y
- enviar (40) dichos eventos desde dicho servidor web (300) a al menos un controlador de máquina de entre el controlador de máquina (210) de dicho segundo terminal (200) y el controlador de máquina (410) de un servidor de vídeo (400) cuya configuración es compatible con la del primer terminal (100), caracterizado por que además comprende las etapas que consisten en:
- enviar (31) a dicho servidor web la identidad de la aplicación lanzada por la acción de un usuario en el primer terminal o en uno de sus periféricos;
- enviar (32) la identidad de dicha aplicación desde dicho servidor web a al menos un controlador de máquina de dicho segundo terminal; y
- forzar (33) la ejecución de dicha aplicación en dicho segundo terminal para que actúe como intermediario para los eventos procedentes del servidor web (300).
2. Procedimiento según la reivindicación 1, que además comprende las etapas que consisten en:
- comparar (70) la configuración del primer terminal (100) y la del segundo terminal (210, 210'); y
en función del resultado de la comparación,
- si las configuraciones son similares, traducir (80) dichos eventos antes de enviarlos a un controlador de máquina del segundo terminal;
- si las configuraciones no son compatibles, emitir (88) un mensaje de error o un mensaje de alerta.
3. Procedimiento según la reivindicación 2, que además comprende, en el servidor de vídeo (400), las etapas que consisten en:
- generar y grabar (50) un flujo de vídeo que reproduce las acciones de un usuario en uno de los periféricos del primer terminal mediante los eventos generados (20) y enviados (30, 40).
4. Procedimiento según la reivindicación 3, que además comprende una etapa que consiste en transmitir (60) dicho flujo de vídeo a dicho segundo terminal (200, 210').
5. Procedimiento según una cualquiera de las reivindicaciones anteriores, que además comprende una etapa que consiste en:
- sincronizar (10) el primer terminal y el segundo terminal abriendo en su navegador respectivo una misma página web (URL) o abriendo la aplicación.
6. Procedimiento según la reivindicación 5, en el que al menos uno del primer y del segundo terminal comprende un navegador configurado para leer el formato de datos HTML5.
7. Procedimiento según una cualquiera de las reivindicaciones anteriores, que además comprende en al menos uno de dichos primer terminal y segundo terminal, al menos una de las etapas que consisten en:
- descargar (90) un documento en tiempo real,
- descargar (91) un documento antes de la etapa de envío de dichos eventos desde dicho servidor a al menos un controlador de máquina de entre el controlador de máquina de dicho segundo terminal y el controlador de máquina de un servidor de vídeo, y
- descargar (92) un documento por transmisión en modo continuo.
8. Procedimiento según una cualquiera de las reivindicaciones anteriores, en el que la etapa de traducción (80) comprende para un terminal dado al menos una de las etapas que consisten en:
- transformar (81) las coordenadas de un puntero en coordenadas relativas a las dimensiones de la pantalla asociada con dicho terminal; y
- establecer (82) una correspondencia biyectiva entre las acciones de un usuario en una pantalla táctil y acciones similares en una pantalla no táctil.
9. Programa informático que comprende instrucciones de código de programa para ejecutar las etapas del procedimiento, según una cualquiera de las reivindicaciones anteriores, cuando dicho programa se ejecuta en un ordenador.
Ċ
ES13782758T 2012-09-25 2013-09-24 Procedimiento de presentación remota entre al menos dos terminales conectados a través de una red Active ES2733484T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1258967A FR2996086B1 (fr) 2012-09-25 2012-09-25 Procede de presentation a distance entre au moins deux terminaux connectes a travers un reseau
PCT/FR2013/052247 WO2014049262A1 (fr) 2012-09-25 2013-09-24 Procede de presentation a distance entre au moins deux terminaux connectes a travers un reseau

Publications (1)

Publication Number Publication Date
ES2733484T3 true ES2733484T3 (es) 2019-11-29

Family

ID=47137954

Family Applications (1)

Application Number Title Priority Date Filing Date
ES13782758T Active ES2733484T3 (es) 2012-09-25 2013-09-24 Procedimiento de presentación remota entre al menos dos terminales conectados a través de una red

Country Status (9)

Country Link
US (1) US10298667B2 (es)
EP (1) EP2901328B1 (es)
JP (1) JP6272331B2 (es)
CN (1) CN104823186B (es)
AU (1) AU2013322414A1 (es)
BR (1) BR112015006570B1 (es)
ES (1) ES2733484T3 (es)
FR (1) FR2996086B1 (es)
WO (1) WO2014049262A1 (es)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9769227B2 (en) 2014-09-24 2017-09-19 Microsoft Technology Licensing, Llc Presentation of computing environment on multiple devices
US10025684B2 (en) 2014-09-24 2018-07-17 Microsoft Technology Licensing, Llc Lending target device resources to host device computing environment
US10635296B2 (en) 2014-09-24 2020-04-28 Microsoft Technology Licensing, Llc Partitioned application presentation across devices
US10448111B2 (en) 2014-09-24 2019-10-15 Microsoft Technology Licensing, Llc Content projection
CN104657211A (zh) * 2015-02-03 2015-05-27 百度在线网络技术(北京)有限公司 一种用于操作对应设备上目标应用的方法与设备
CN109213413A (zh) * 2017-07-07 2019-01-15 阿里巴巴集团控股有限公司 一种推荐方法、装置、设备和存储介质
CN108595274B (zh) * 2017-12-28 2021-07-20 广州京墨医疗科技有限公司 程序同步控制方法、装置、系统、计算机设备和存储介质
US11258834B2 (en) * 2018-10-05 2022-02-22 Explain Everything, Inc. System and method for recording online collaboration
JPWO2022239109A1 (es) * 2021-05-11 2022-11-17

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3289845B2 (ja) 1991-10-15 2002-06-10 富士ゼロックス株式会社 共同作業装置
US6240444B1 (en) * 1996-09-27 2001-05-29 International Business Machines Corporation Internet web page sharing
JPH10126773A (ja) 1996-10-23 1998-05-15 Nec Corp 画面データ転送用符号化方式
JPH10283293A (ja) 1997-03-31 1998-10-23 Nec Corp アプリケーション共有システム及びプログラムを記録した機械読み取り可能な記録媒体
US7739407B1 (en) * 1999-12-29 2010-06-15 Nokia Siemens Networks Oy Systems for customizing behaviors and interfaces in service invocations
US6775267B1 (en) * 1999-12-30 2004-08-10 At&T Corp Method for billing IP broadband subscribers
GB0003392D0 (en) 2000-02-14 2000-04-05 Molins Plc Improvements in and relating to packaging
US20040225716A1 (en) * 2000-05-31 2004-11-11 Ilan Shamir Methods and systems for allowing a group of users to interactively tour a computer network
US20020029245A1 (en) * 2000-09-05 2002-03-07 Yuval Nahon System and method for directing shared data
FR2804239B1 (fr) 2000-09-14 2002-07-12 Olivier Cadou Procede de commande a distance de l'ecran d'affichage d'un ordinateur
US20030160813A1 (en) * 2002-02-25 2003-08-28 Raju Narayan D. Method and apparatus for a dynamically-controlled remote presentation system
US20040019665A1 (en) 2002-07-24 2004-01-29 Liang Thomas T. Logging mobile devices onto multiple networks
EP1537491A1 (en) * 2002-09-11 2005-06-08 Nokia Corporation Method, device and system for automated synchronization between terminals
JP3753244B2 (ja) 2002-11-27 2006-03-08 日本電気株式会社 リアルタイムウェブ共有システム
EP1625476A4 (en) * 2003-05-16 2008-02-27 Picasa Inc SYSTEMS AND METHODS FOR NETWORK SHARING OF ONLINE CONVERSATIONS AND MULTIMEDIA CONTENT
GB2422995B (en) * 2003-11-04 2007-07-18 Ntt Comm Corp Method, apparatus and program for establishing encrypted communication channel between apparatuses
US20050246422A1 (en) * 2004-04-14 2005-11-03 Laning David B System and method for interactive internet co-browsing
US7477281B2 (en) * 2004-11-09 2009-01-13 Nokia Corporation Transmission control in multiparty conference
US20060167997A1 (en) * 2005-01-27 2006-07-27 Nokia Corporation System, method and computer program product for establishing a conference session and synchronously rendering content during the same
US8613620B2 (en) * 2005-07-26 2013-12-24 Interactive Sports Direct Incorporated Method and system for providing web based interactive lessons with improved session playback
US8996240B2 (en) * 2006-03-16 2015-03-31 Smartdrive Systems, Inc. Vehicle event recorders with integrated web server
US20070245391A1 (en) * 2006-03-27 2007-10-18 Dalton Pont System and method for an end-to-end IP television interactive broadcasting platform
US20080005233A1 (en) 2006-06-29 2008-01-03 Yigang Cai Online conferencing systems for sharing documents
US8103839B2 (en) * 2006-11-13 2012-01-24 Sony Corporation Content data communication system, content data recording/reproducing device, data communication method and program
US20090183087A1 (en) * 2008-01-10 2009-07-16 Binfire Corpoartion Method and Apparatus for Real Time Image Transfer Between Two or More Computers
EP2088519A1 (en) * 2008-02-11 2009-08-12 Nokia Siemens Networks Oy Conferencing
FR2931330B1 (fr) * 2008-05-13 2011-04-01 Kadrige Procede et systeme d'enregistrement automatique d'une session de communication
EP2247061B1 (de) * 2009-04-28 2011-12-07 Nokia Siemens Networks OY Verfahren und Vorrichtung zum berechtigungsabhängigen Zugriff auf Multimediainhalte sowie die Vorrichtung umfassendes System
US10860279B2 (en) * 2009-11-24 2020-12-08 Clearslide, Inc. Method and system for browser-based screen sharing
US20110185390A1 (en) * 2010-01-27 2011-07-28 Robert Bosch Gmbh Mobile phone integration into driver information systems
US9143570B2 (en) * 2010-05-04 2015-09-22 Microsoft Technology Licensing, Llc Desktop screen sharing over HTTP
CA2722460A1 (en) * 2010-11-26 2012-05-26 Centre De Recherche Informatique De Montreal Screen sharing and video conferencing system and method
US20120158527A1 (en) * 2010-12-21 2012-06-21 Class6Ix, Llc Systems, Methods and/or Computer Readable Storage Media Facilitating Aggregation and/or Personalized Sequencing of News Video Content
JP2014064048A (ja) * 2011-01-27 2014-04-10 Panasonic Corp ネットワーク制御システム、ネットワーク制御機器、ネットワーク被制御機器及び機器制御方法
EP2715556A4 (en) * 2011-05-30 2016-03-30 Clearslide Inc METHOD AND SYSTEM FOR BROWSER BASED CONTROL OF A REMOTE COMPUTER
US20130101115A1 (en) * 2011-10-19 2013-04-25 Playnsite, Llc Method, apparatus, and system for processing and delivering media content
WO2013142953A1 (en) * 2012-03-28 2013-10-03 Smart Technologies Ulc Method for organizing a collaborative event and system employing same
EP2645688A1 (en) * 2012-03-28 2013-10-02 Televic Conference NV Conference system
US20170118258A1 (en) * 2012-06-27 2017-04-27 Clearslide, Inc. System and method for switching control with browser-based screen sharing
US10694149B2 (en) * 2013-03-26 2020-06-23 Verizon Patent And Licensing Inc. Web based security system

Also Published As

Publication number Publication date
JP6272331B2 (ja) 2018-01-31
BR112015006570B1 (pt) 2022-11-29
BR112015006570A2 (pt) 2017-07-04
JP2015537280A (ja) 2015-12-24
CN104823186A (zh) 2015-08-05
EP2901328B1 (fr) 2019-04-03
FR2996086A1 (fr) 2014-03-28
US20150281341A1 (en) 2015-10-01
CN104823186B (zh) 2017-12-12
WO2014049262A1 (fr) 2014-04-03
AU2013322414A1 (en) 2015-04-09
EP2901328A1 (fr) 2015-08-05
FR2996086B1 (fr) 2014-10-24
BR112015006570A8 (pt) 2019-08-20
US10298667B2 (en) 2019-05-21

Similar Documents

Publication Publication Date Title
ES2733484T3 (es) Procedimiento de presentación remota entre al menos dos terminales conectados a través de una red
US20180356878A1 (en) Apparatus and method for recording and replaying interactive content in augmented/virtual reality in industrial automation systems and other systems
US20130346858A1 (en) Remote Control of Audio Application and Associated Sub-Windows
KR101717945B1 (ko) 웹소켓 기반의 실시간 콘텐츠 공유 방법 및 이 방법을 수행하기 위한 프로그램이 저장된 컴퓨터 판독가능한 저장매체
US20160191576A1 (en) Method for conducting a collaborative event and system employing same
CN110297550B (zh) 一种标注显示方法、装置、投屏设备、终端和存储介质
KR20140144104A (ko) 전자기기 및 이의 서비스 제공 방법
CN110609654B (zh) 数据同步显示方法、装置、设备以及远程会议系统
US20130038674A1 (en) System and method for distributing and interacting with images in a network
CN110399067A (zh) 可视化埋点方法、装置、电子设备、存储介质
CN106134148A (zh) 使用机器可读码的设备认证和配对
US10990344B2 (en) Information processing apparatus, information processing system, and information processing method
CN104244075A (zh) 一种媒体信息分享方法和系统
JP2016081485A5 (ja) 画像形成装置、ブラウザの制御方法およびプログラム
CN103281460A (zh) 一种移动终端遥控显示设备的方法和系统
US20140149891A1 (en) Using custom rtf commands to extend chat functionality
CN113391782A (zh) 计算机控制移动终端的方法、系统、电子设备及存储介质
US20080082991A1 (en) Computer interface system using multiple independent hardware and virtual human-computer input devices and related enabling subroutines
KR101514535B1 (ko) 퍼스널 컴퓨터를 통한 모바일 디바이스 입력 방법 및 장치
TWI598771B (zh) 簡報遙控系統
US20160036873A1 (en) Custom input routing using messaging channel of a ucc system
CN111158822A (zh) 一种显示界面控制方法、装置、存储介质和电子设备
KR101560748B1 (ko) 스마트폰을 이용한 원격 제어 시스템 장치 및 그 동작 방법
KR102066751B1 (ko) 무선 단말기 및 무선 단말기 제어 방법
US20150286738A1 (en) Method, system, electronic device and server for synchronous display of operating information