ES2228110T3 - Sistema de medios interactivos. - Google Patents

Sistema de medios interactivos.

Info

Publication number
ES2228110T3
ES2228110T3 ES99949144T ES99949144T ES2228110T3 ES 2228110 T3 ES2228110 T3 ES 2228110T3 ES 99949144 T ES99949144 T ES 99949144T ES 99949144 T ES99949144 T ES 99949144T ES 2228110 T3 ES2228110 T3 ES 2228110T3
Authority
ES
Spain
Prior art keywords
message
routing
data
server
state
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.)
Expired - Lifetime
Application number
ES99949144T
Other languages
English (en)
Inventor
Julian Goring Archdale Ellison
Mark Gregory Smith
Shimon Morad
Alexandros Constantinos Tapaccos
Yongchun Ji
James William Handley
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.)
RED FIG Ltd
Original Assignee
RED FIG Ltd
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 RED FIG Ltd filed Critical RED FIG Ltd
Application granted granted Critical
Publication of ES2228110T3 publication Critical patent/ES2228110T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72427User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting games or graphical animations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72445User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting Internet browser applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Sistema de medios interactivos, que incluye: una interfaz de usuario que comprende un dispositivo de salida que tiene una parte (115, 118; 205; 306, 307) de interfaz de usuario de salida visual, dispuesta para uso privado y medios (114, 117; 206; 308, 309) de entrada de usuario dispuestos para su uso por un usuario simultáneamente con la parte (115, 118; 205; 306, 307) de interfaz de usuario de salida y un servidor (101; 204; 301), caracterizado por: el servidor (101; 204; 301) que comprende: una máquina (3a, 3b, 3c; 5, 6a, 6b, 6c; 7a, 7b, 7c, 9a, 9b, 9c) de estado; un medio (1; 5; 8) de enrutamiento de entrada para recibir un mensaje procedente de los medios (114, 117; 206; 308, 309) de entrada de usuario, comprendiendo el mensaje una referencia de sesión y datos, y para enrutar al menos la parte de datos de un mensaje recibido hasta la máquina (3a, 3b, 3c) de estado dependiendo de la referencia de sesión; y medios (4; 8) de enrutamiento de salida para enrutar mensajes, que comprenden al menos una referencia de destino y datos de control para el dispositivo de salida, y para enrutar dichos datos de control al dispositivo de salida dependiendo de dicha referencia de destino, en el que la máquina (3a, 3b, 3c; 5, 6a, 6b, 6c; 7a, 7b, 7c, 9a, 9b, 9c) de estado es sensible a los datos enrutados hasta la misma por los medios (1; 5; 8) de enrutamiento de entrada para generar un mensaje que comprende al menos una referencia de destino.

Description

Sistema de medios interactivos.
La presente invención se refiere a un sistema de medios interactivos, que incluye una interfaz de usuario que comprende un dispositivo de salida que tiene una parte de interfaz de usuario de salida visual dispuesta para uso privado y medios de entrada de usuario dispuestos para su utilización por un usuario simultáneamente con la parte de interfaz de usuario de salida, y un servidor. La presente invención se refiere también a un método de provisión de interactividad para un usuario y a un aparato servidor para un sistema de difusión de datos que emplea un servicio de mensajería de una red de telefonía móvil y un cliente con un navegador web.
En los últimos años, se ha producido un rápido crecimiento en la provisión de servicios interactivos con la utilización de la World Wide Web, y se han realizado propuestas para una televisión interactiva. Sin embargo, cada uno de los sistemas interactivos actuales se sustenta por sí solo, y generalmente no puede combinar diferentes medios de salida, aunque en el documento WO-A-9851068 se describe un sistema que combina teléfonos móviles y pantallas de visualización pública.
El objetivo de la presente invención consiste en proporcionar una arquitectura común para la provisión interactiva de información, entretenimiento y servicios.
Un sistema de medios interactivos, según la presente invención, está caracterizado por
el servidor que comprende:
una máquina de estado;
un medio de enrutamiento de entrada para recibir un mensaje desde el medio de entrada de usuario, comprendiendo el mensaje una referencia de sesión y datos, y para enrutar al menos la parte de datos de un mensaje recibido hasta la máquina de estado, dependiendo de la referencia de sesión, y
un medio de enrutamiento de salida para enrutar mensajes, que comprenden al menos una referencia de destino y datos de control para el dispositivo de salida, y para enrutar dichos datos de control hasta el dispositivo de salida dependiendo de dicha señal de destino,
en el que la máquina de estado actúa en respuesta a los datos enrutados hasta la misma por los medios de enrutamiento de entrada, para generar un mensaje, comprendiendo al menos una referencia de destino.
Preferiblemente, el medio de enrutamiento de salida recibe mensajes desde la máquina de estado. Sin embargo, la función de enrutamiento de salida puede ser proporcionada por la propia máquina de estado.
La referencia de sesión puede comprender, por ejemplo, un ID de sesión o un ID de fuente de mensaje, que puede utilizarse para identificar una sesión.
De este modo, la presente invención difiere del sistema descrito en el documento WO-A-9851068 en que la interfaz de usuario de salida visual está dispuesta para uso privado a diferencia de los grandes visualizadores públicos descritos en el documento WO-A-9851068.
En el contexto de la presente solicitud, "máquina de estado" significa un elemento de hardware o software que puede existir en un número predeterminado de estados, y que puede realizar un número limitado de transiciones desde un estado a otro, en respuesta a señales de entrada o al estado de alguna variable cuando esa variable es inspeccionada.
Preferiblemente, un sistema según la presente invención incluye un aparato de procesamiento adicional, en el que dicha referencia de destino puede referirse selectivamente a la interfaz de usuario o al medio de procesamiento adicional. En consecuencia, el servidor puede controlar alguna operación distinta de la generación de la salida de interfaz de usuario.
El servidor puede comprender una pluralidad de máquinas de estado, siendo sensible cada máquina de estado a los datos enrutados hasta la misma por el medio de enrutamiento de entrada para proporcionar un mensaje, que comprende al menos una referencia de destino que identifica al dispositivo de salida, y datos de control para el dispositivo de salida, hasta el medio de enrutamiento de salida. Se proporciona preferiblemente una máquina de estado independiente para cada sesión. Los datos de control para el dispositivo de salida consisten en una instrucción para el dispositivo de salida, y no, por ejemplo, en una señal de datos de imagen o de audio.
La o cada máquina de estado puede comprender una instancia de un componente o un objeto de software. Si la o cada máquina comprende un componente, los medios de enrutamiento de entrada y de salida existen preferiblemente en el mismo espacio de proceso y el, o cada, componente existe en su propio espacio de proceso.
Preferiblemente, la actuación, por ejemplo de las transiciones de estado permisibles, de la, o de cada, máquina de estado, está definida, al menos en parte, por un archivo de control respectivo. El, o cada, archivo de control puede comprender datos en forma de lenguaje específico. Más preferiblemente, la o cada máquina de estado comprende un objeto de software, estando definidos los cambios de estado de la máquina de estado, en algunos caos, por métodos de dicho objeto, y en otros casos, por el contenido del archivo de control respectivo. Esto permite que mensajes no generados directamente por el usuario, por ejemplo para la sincronización de los aspectos de audio y de video de la interfaz de usuario, sean tratados de manera estándar, de modo que no necesiten ser considerados por diseñadores de contenido cuando producen un archivo de control.
Los medios de enrutamiento de entrada y de salida pueden comprender un único objeto o procedimiento de software. Esto significa que los mensajes procedentes de las máquinas de estado pueden ser el resultado de métodos de función invocados con mensajes entrantes como parámetros.
En una realización, la interfaz de usuario comprende un dispositivo de ordenador portátil que tiene un programa de navegador web y un medio de teléfono móvil asociado, y dichos mensajes son enviados entre el servidor y el medio de teléfono móvil a través de un servicio de mensajería.
En otra realización, la interfaz de usuario comprende un teléfono y un servidor web. Un sistema de este tipo puede ser un sistema de comercio electrónico, en el la información sensible es introducida por el usuario accionando los botones de un teléfono en vez de introduciendo los datos en forma HTML para su transmisión vía Internet. Preferiblemente, un sistema de este tipo, el servidor comunicará con un proveedor de servicios financieros para confirmar que existen fondos disponibles para un compra a un vendedor, presentados al usuario por el servidor de web. Si el servidor es operado por una compañía de telefonía, las compras realizadas con la utilización del sistema podrían ser notificadas a la cuenta de teléfono del usuario.
En otra realización más, la interfaz de usuario comprende un teléfono y un aparato de difusión de televisión. Se puede utilizar un sistema de este tipo para proporcionar servicios interactivos en asociación con un programa de televisión de difusión.
Según la presente invención, se proporciona un método de provisión de interactividad a un usuario, incluyendo el método las etapas de:
recibir un primer mensaje desde un medio de entrada de usuario de una interfaz de usuario, comprendiendo la interfaz de usuario un dispositivo de salida que tiene una parte de interfaz de usuario de salida visual, dispuesto para uso privado, y estando el medio de entrada de usuario dispuesto para su uso por un usuario simultáneamente con la parte interfaz de usuario de salida, y comprendiendo el mensaje una referencia de sesión y datos;
enrutar dicho primer mensaje hasta una máquina de estado;
utilizar dicha máquina de estado para generar un segundo mensaje, que comprende al menos una referencia de destino y datos de control, en respuesta a los datos de dicho primer mensaje; y
enrutar dicho segundo mensaje hasta dicho dispositivo de salida dependiendo de dicha referencia de destino.
Un método según la presente invención, puede incluir las etapas de:
recibir un tercer mensaje desde dichos medios de entrada de usuario;
enrutar dicho tercer mensaje hasta dicha máquina de estado;
utilizar dicha máquina de estado para generar un cuarto mensaje, que comprenda al menos una referencia de destino y datos, en respuesta a los datos de dicho tercer mensaje; y
enrutar dicho cuarto mensaje hasta un dispositivo distinto de dicha interfaz de usuario.
Preferiblemente, dicha máquina de estado se elige entre una pluralidad de máquinas de estado dependiendo de dicha referencia de sesión.
Preferiblemente, la, o cada, máquina de estado comprende una instancia de un objeto de software.
Preferiblemente, la actuación de la, o de cada, máquina de estado está definida, al menos en parte, por un archivo de control respectivo. Más preferiblemente, el o cada archivo de control comprende datos en forma de lenguaje específico.
La o cada máquina de estado puede comprender un objeto de software, estando definidos los cambios de estado de la máquina de estado, en algunos casos, por métodos de dicho objeto, y en otros casos, por el contenido del archivo de control respectivo.
La interfaz de usuario puede comprender un dispositivo de computación portátil que tenga un programa de navegador web y un medio de teléfono móvil asociado, y dichos mensajes son enviados entre el servidor y el medio de teléfono móvil a través de un servicio de mensajería, o de un teléfono y un servidor web, o de un teléfono y un aparato de difusión de televisión.
Según la presente invención, se proporciona también un aparato servidor para un sistema de difusión de datos que emplea un servidor de mensajería de una red de telefonía móvil y un cliente con un navegador web, comprendiendo el aparato:
medios receptores para recibir mensajes desde una red de telefonía móvil;
medios de difusión para difundir mensajes del servicio de mensajes a una estación móvil de una red de telefonía móvil; y
un servidor que comprende:
una máquina de estado;
medios de enrutamiento de entrada para recibir un mensaje desde los medios de recepción, comprendiendo el mensaje una referencia de sesión y datos, y para enrutar al menos la parte de datos de un mensaje recibido hasta la máquina de estado, dependiendo de la referencia de sesión; y
medios de enrutamiento de salida para enrutar mensajes, que comprenden al menos una referencia de destino y datos de control para el dispositivo de salida, y para enrutar dichos datos de control hasta el dispositivo de salida dependiendo de dicha referencia de destino,
en el que la máquina de estado actúa en respuesta a los datos enrutados hasta la misma por el enrutador de entrada, para generar un mensaje que comprende al menos una referencia de destino.
Los medios receptores están preferiblemente configurados para recibir mensajes del servicio de mensajes.
Preferiblemente, los medios de procesamiento comprenden una base de datos de usuarios de clientes, medios para analizar un mensaje recibido por los medios receptores, para determinar a cuál de un conjunto de páginas de navegador soportadas se refiere, y medios para generar instancias de objeto, estando cada instancia relacionada con una página de navegador y con un usuario, en la que dichos objetos tienen un método para generar datos de salida, que han de ser incluidos en un mensaje del servicio de mensajes para su distribución por los medios de distribución, en base a un mensaje recibido.
Una característica de los servicios de mensajes, tal como el servicio de mensajes cortos GSM, es que los abonados pueden realizar llamadas durante la transmisión y recepción de mensajes cortos del servicio de mensajes. En consecuencia, los usuarios que interactúan con un aparato servidor conforme a la presente invención, pueden hablar unos con otros mientras visualizan los mismos datos en vivo con la utilización de sus navegadores. De este modo, los usuarios que jueguen al juego de ajedrez descrito anteriormente, pueden conversar mientras juegan.
A continuación, se describirán realizaciones de la presente invención, a título de ejemplo, con referencia a los dibujos adjuntos, en los que:
La figura 1 es un diagrama de bloques conceptual de un servidor para un sistema que materializa la presente invención;
la figura 2 es un diagrama de bloques de una primera realización de una pluralidad de máquinas de estado;
la figura 3 es un diagrama de bloques de una segunda realización de una pluralidad de máquinas de estado;
la figura 4 muestra un primer sistema según la presente invención;
la figura 5 es un diagrama de flujo de datos que ilustra la actuación de un cliente de la figura 4;
la figura 6 es un diagrama de bloques funcional del servidor de la figura 4;
la figura 7 es un diagrama de flujo de datos que ilustra la configuración y actuación del servidor de la figura 4;
la figura 8 muestra una página de navegador para un servicio financiero de cinta de teleimpresora;
la figura 9 muestra una página de un navegador de acceso de servicio de cinta de teleimpresora;
las figuras 10 y 11 muestran páginas de navegador de juego de ajedrez para un primer y un segundo jugadores;
la figura 12 muestra un segundo sistema según la presente invención;
la figura 13 es un diagrama de bloques funcional del servidor de la figura 12;
la figura 14 es un diagrama de estado para una máquina de estado del servidor de la figura 13;
la figura 15 muestra un tercer sistema según la presente invención, y
la figura 16 muestra una difusión de imagen de televisión por el sistema de la figura 15.
Con referencia a la figura 1, un servidor comprende un enrutador 1 de entrada, una base 2 de datos, una pluralidad de máquinas 3a, 3b, 3c de estado y un enrutador 4 de salida. El enrutador 1 de entrada recibe datos de entrada desde una pluralidad de fuentes, por ejemplo teléfonos móviles, navegadores web, en mensajes. Estos mensajes contienen al menos una referencia de sesión, por ejemplo la indicación de la fuente de datos o un ID de sesión, y los propios datos. La base 2 de datos contiene tablas de enrutamiento de entrada y salida. Cuando el enrutador 1 de entrada recibe un mensaje, interroga a la base 2 de datos utilizando la referencia de sesión contenida en el mensaje, y obtiene como respuesta la identidad de una de las máquinas 3a, 3b, 3c de estado. Al menos los datos del mensaje son enrutados a continuación hasta la máquina 3a, 3b, 3c de estado identificada, por medio del enrutador 1 de entrada. El estado de la máquina 3a, 3b, 3c de estado identificada puede cambiar en respuesta a los datos del mensaje y se puede generar una salida, si ello lo requiere el nuevo estado. Tales salidas comprenden mensajes de control de salida que incluyen al menos un ID del dispositivo de salida y un comando de dispositivo de salida. Las salidas procedentes de las máquinas 3a, 3b, 3c de estado son manejadas por el enrutador 4 de salida, el cual las encamina hasta el dispositivo de salida apropiado, por ejemplo una unidad de visualización o una unidad de audio para enviar audio a través de un teléfono móvil.
Con referencia a la figura 2, las máquinas 3a, 3b, 3c de estado y el enrutador 1 de salida, pueden estar materializados mediante un proceso 5 de máquina de estado compartido y una pluralidad de archivos 6a, 6b, 6c de instrucciones, cada uno de los cuales define la actuación de una "máquina de estado". En este caso, la funcionalidad del enrutador 1 de entrada reside en la selección del archivo 6a, 6b, 6c de instrucciones correcto, dependiendo del ID de la fuente de mensajes, por medio del proceso 5 de máquina de estado compartido.
Con referencia a la figura 3, en otra realización, las máquinas 3a, 3b, 3c de estado están implementadas por instancias de objetos 7a, 7b, 7c de software y las funciones de los enrutadores 1, 4 de entrada y salida están combinadas en parte en un proceso 8 de enrutamiento. En este caso, el proceso 8 de enrutamiento invoca un método del objeto 7a, 7b, 7c apropiado utilizando los datos de mensaje al menos como un parámetro. Si el nuevo estado de la "máquina de estado" requiere una salida, el método invocado devuelve al menos un ID del dispositivo de salida y un comando de dispositivo de salida, hasta el proceso 8 de enrutamiento, el cual lo distribuye después según sea necesario.
Los objetos 7a, 7b, 7c de software pueden ser componentes que exponen la misma interfaz al proceso 8 de enrutamiento. De este modo, se pueden añadir "máquinas de estado" sin necesidad de modificar el código de programa para el proceso 8 de enrutamiento. Cada objeto 7a, 7b, 7c de software se refiere a un archivo 9a, 9b, 9c de control respectivo para generar algunos mensajes de control. Este procesamiento de mensajes de "preparación" se maneja de manera estándar mediante un código que define los objetos de software de manera estándar. Los archivos 9a, 9b, 9c de control definen el contenido y el flujo del sistema según lo percibe un usuario.
Los archivos 9a, 9b, 9c de control pueden tener la estructura general siguiente:
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
(Esquema pasa a página siguiente)
1
Las etiquetas de entrada (<ENTRADA1>, </ENTRADA1> etc.) pueden comprender los diversos mensajes que pueden ser recibidos legítimamente para el estado al que se refieren.
Se puede proporcionar un entorno de autoría para la generación de los archivos de control, y empaquetarlos con archivos de audio o de video asociados para suministrarlos al servidor y a los dispositivos de salida. El entorno de autoría proporciona preferiblemente una interfaz de usuario gráfica y permite la definición de los estados y de los cambios de estado por medio del "drag and drop" ("arrastre y colocación"). El servidor puede estar operado por un operador servidor que vende recursos en un servidor a terceras partes que proporcionan los archivos de control y de medios que éstas han preparado con la utilización del entorno de autoría. La transferencia de los archivos de control y de medios hasta el servidor puede ser un proceso automatizado que incluya la transmisión de los archivos de control y de medios a través de Internet o de cualquier otra red.
Las "máquinas de estado" también pueden tomar información de tiempo o de reloj como entradas, y esto puede ser necesario para que el proceso 8 de enrutamiento obtenga los objetos 7a, 7b, 7c de software de forma regular, para obtener mensajes de salida resultantes de los cambios de estado en base al tiempo.
Ahora se va a describir un primer sistema que materializa la presente invención.
Con referencia a la figura 4, un sistema de distribución de información comprende un servidor 101, una estación 102 de control conectada al servidor 101 a través de Internet, un centro 103 de servicio de mensajes cortos conectado al servidor 101 por medio de una línea alquilada, y una red 104 de telefonía móvil GSM. La red GSM incluye un acceso 105 al servicio de mensajes cortos, un registro 106 de posición base, y un primer y un segundo centros 107, 108 de conmutación del servicio móvil. Los centros 107, 108 de conmutación del servicio móvil están conectados respectivamente a un primer y un segundo controladores 109, 110 de estación base (en la práctica, cada centro de conmutación de servicio móvil estará conectado normalmente a una pluralidad de controladores de estación base). Los controladores 109, 110 de estación base están conectados respectivamente a una primera y una segunda estaciones 111, 112 transceptoras base (en la práctica, cada controlador de estación base estará conectado normalmente a una pluralidad de estaciones transceptoras base). Un primer cliente 113, comprende una primera estación 114 móvil conectada mediante un enlace de serie a un primer ordenador 115 portátil. El primer cliente 113 está situado en una célula cubierta por la primera estación 109 transceptora base. Un segundo cliente 116 comprende una segunda estación 117 móvil conectada por medio de un enlace de serie a un segundo ordenador 118 portátil. El segundo cliente está situado en la célula cubierta por la segunda estación 112 transceptora base. En este ejemplo, la primera y la segunda estaciones 114, 117 móviles tienen módems integrados tales como los que se encuentran en los Ericsson SH888 y Nokia 8810. Ventajosamente, los ordenadores 115, 118 portátiles serán máquinas portátiles tales como las máquinas WindowsCE o Psion Serie 5. Puede existir una pluralidad de estaciones 102 de control, cada una de ellas relacionada con uno o más grupos de usuarios.
El enrutamiento de mensajes del servicio de mensajes cortos es convencional y se pueden obtener detalles en Mouly, M et al., "The GSM system for Mobile Communications ", ISBN 2-9507190-0-7.
Con referencia a la figura 5, el primer ordenador 115 portátil soporta un proceso 122 de servidor proxy, un proceso 123 manipulador de protocolo, y un navegador 124 web. El proceso 122 de servidor proxy se ejecuta siempre que se enciende el ordenador 115. Sin embargo, el proceso 123 manipulador de protocolo solamente se ejecutará cuando se requieran sus funciones.
El proceso 122 manipulador de protocolo procesa las URL suministradas desde el navegador 124, y devuelve páginas HTML al navegador 124. Las páginas HTML son creadas por el proceso 123 manipulador de protocolo uniendo los datos generados localmente, por ejemplo el nombre del usuario, y los datos recibidos desde el servidor 101 en mensajes del servicio de mensajes cortos, con plantillas de página HTML.
El proceso 122 de servidor proxy almacena en la caché los mensajes del servicio de mensajes cortos procedentes del servidor 101 que se relacionan con las plantillas de páginas HTML. Estos mensajes tienen un encabezador característico en su parte de datos de usuario. También realiza algunas funciones locales en respuesta a las URL presentadas, y genera y envía mensajes de servicio de mensajes cortos al servidor 101 con la utilización de la primera estación 114 móvil. Los mensajes enviados por el proceso 122 de servidor proxy se generan basándose en las URL presentadas que pasan desde el proceso 123 manipulador de protocolo.
Un proceso 130 de servidor de servicio de mensajes cortos envía mensajes de servicio de mensajes cortos al primer cliente 115 en respuesta a los diversos eventos que se van a describir en lo que sigue. Estos mensajes contienen datos de variables para páginas HTML para las que el usuario tiene plantillas 126. Los contenidos sin procesar de los mensajes del servicio de mensajes cortos, son almacenados por el proceso 122 de servidor proxy en una caché 128.
Cuando el usuario presenta una URL con la utilización del navegador 124, el navegador 124 determina si se refiere a una página del actual sistema procedente de la presencia o ausencia de un prefijo swim://, en vez de, por ejemplo, el prefijo http:// convencional. Si la URL tiene el prefijo swim://, se inicia el proceso 123 manipulador de protocolo y la URL se transfiere al mismo.
Las URLs "swim://" comprenden un identificador de página y uno o más pares de nombre-valor. Los pares de nombre-valor pueden incluir datos que han de ser comunicados al proceso 130 de servidor, o almacenados localmente, y directivas para definir el manejo de la URL por el proceso 123 manipulador de protocolo y el proceso 122 de servidor proxy.
Si la URL incluye una directiva que indica que no se requieren datos de variables o que se requieren solamente variables generadas localmente, el proceso 123 manipulador de protocolo funde simplemente la plantilla 126 de página HTML identificada con cualquier dato de variable identificado generado localmente procedente de un almacén 127 de datos local y devuelve la página HTML resultante al navegador 124.
Si, no obstante, la URL indica que se requieren datos del servidor 101, el proceso 123 manipulador de protocolo pasa la URL (o al menos la parte de ésta según requiera el proceso 122 de servidor proxy) hasta el proceso 122 de servidor proxy, junto con un ID de mensaje. Si la URL no requiere respuesta ad hoc del proceso 130 de servidor, el proceso 122 de servidor proxy transfiere el contenido de su caché de mensajes 128 hasta el proceso 123 manipulador de protocolo.
En este caso, el proceso 123 manipulador de protocolo analiza los mensajes recibidos desde el proceso 122 de servidor proxy, y actualiza los datos de variables en su almacén 127 de datos local. El proceso 123 manipulador de protocolo recupera entonces los datos de variable para la URL presentada, procedente de su almacén 127 local de datos, y los funde con la plantilla de la página HTML relevante. La página HTML resultante se envía a continuación al navegador 124.
Se proporciona una directiva de servidor proxy que provoca que los datos de una URL sean almacenados en una caché 128 de mensajes, a modo de seudo-mensaje de servicio de mensajes cortos. Estos datos serán enviados después de nuevo hasta el proceso 123 manipulador de protocolo, como si los mismos hubieran sido recibidos desde el proceso 130 de servidor. De este modo, el contenido del almacén 127 de datos del proceso manipulador de protocolo puede ser corregido para incluir datos introducidos por el usuario y para actualizar los controles sobre la página visualizada sin necesidad de contactar con el servidor 101 ni de recibir ninguna respuesta del mismo.
Si los datos de URL recibidos por el proceso 122 de servidor proxy indican que el servidor 101 debe ser contactado, el proceso 122 de servidor proxy construye un mensaje del servicio de mensajes cortos, utilizando los elementos de datos de la URL y el ID del mensaje, y a continuación envía el mensaje al proceso 130 servidor, utilizando la estación 113 móvil y el servicio de mensajes cortos de la red 105.
La estructura y funcionamiento del servidor 101 y el proceso 130 de servidor, van a ser descritos con detalle en lo que sigue. Sin embargo, si no se requiere ninguna respuesta desde el servidor 101, el proceso 122 de servidor proxy envía inmediatamente el contenido de su caché 128 de mensajes, hasta el proceso 123 manipulador de protocolo, el cual procede como se ha descrito en lo que antecede.
Por otra parte, si se requiere una respuesta desde el proceso 130 de servidor, el proceso 122 de servidor proxy monitoriza los mensajes entrantes del servicio de mensajes cortos, hasta que recibe un mensaje completo portador del ID del mensaje que se envió inicialmente al proceso 130 del servidor. Cuando se ha recibido este mensaje de respuesta, el proceso 122 de servidor proxy transfiere el contenido de su caché 128 de mensajes, el cual incluye ahora el mensaje de respuesta, al proceso 123 manipulador de protocolo, el cual procesa los datos de la caché de mensajes según se ha descrito en lo que antecede, y genera la nueva página HTML utilizando los datos devueltos por el proceso 130 de servidor.
Con fin de minimizar el tráfico de servicio de mensajes cortos, los datos URL pueden ser almacenados en la caché también por el proceso 122 de servidor proxy en una caché 129 de datos URL, hasta que se reciba una URL que contenga una directiva de propuesta explícita, procedente del proceso 123 manipulador de protocolo. Este mecanismo podría emplearse normalmente cuando un usuario necesite pinchar varias veces en una página HTML para realizar una selección, y pinchar después en un botón presentado. En este caso, las selecciones iniciales podrían provocar que se envíe una secuencia de URLs hasta el proceso 122 de servidor proxy, cada una de las cuales contiene una directiva y datos de caché. Estos datos serán almacenados a continuación en la caché 129 de datos de URL. Pulsando sobre el botón presentado, se provocaría el envío de una URL con una directiva presentada hasta el proceso 122 de servidor proxy, el cual podrá formar a continuación un mensaje del servicio de mensajes cortos utilizando los datos de la caché, y enviarlo hasta el servidor 101. Una variante de esta directiva contiene un valor de conteo y dispara una presentación al servidor 101 cuando el número de URLs recibidas, que contienen la directiva y que originan la página HTML desde la misma, alcanza el valor de conteo.
Puesto que las condiciones en el servidor 101 pueden cambiar con el tiempo, y el proceso 130 de servidor puede enviar datos de variables hasta los clientes 113, 116 sin que realice ninguna petición específica, resulta deseable que el navegador 124 vuelva a presentar la URL actual a intervalos, de modo que la página visualizada se mantenga actualizada.
El segundo cliente 116 está configurado de forma similar, e interactúa con el servidor de la misma manera.
Lo que antecede proporciona una visión general de la funcionalidad de un ejemplo de cliente según la presente invención. Por lo general, las directivas han de ser definidas cuando se diseñan el proceso 123 manipulador de protocolo y el proceso 122 de servidor proxy. Sin embargo, los elementos de datos serán definidos cuando se está diseñando la página HTML.
Con referencia a la figura 6, el servidor 101 comprende un procesador 131 que incluye una CPU, una ROM, una RAM y unidades de disco, una interfaz 132 para Internet, y una interfaz 133 de servicio de mensajes cortos. El servidor 101 se ha implementado con la utilización de una máquina Sun Sparc.
Con referencia a la figura 7, un servidor 134 web y el proceso 130 de servidor de servicio de mensajes cortos, han sido implementados como procesos en el servidor 101. El servidor 134 web se proporciona de modo que el servidor 135 de servicio de mensajes cortos puede estar controlado desde un navegador web mediante una conexión de Internet. El servidor 130 de servicio de mensajes cortos se implementa con la utilización de un sistema de base de datos orientado al objeto.
Cada usuario del sistema está representado por una instancia de tipo de usuario, e incluye, entre otros, el número de teléfono móvil del usuario. Los usuarios son miembros de uno o más grupos representados por instancias de un tipo de grupo que mantiene una lista de páginas HTML disponibles para los miembros del grupo. Un grupo puede contener un sólo usuario.
Los grupos pueden ser empleados de una misma compañía, un grupo de amigos, o cualquier otro colectivo de personas con un interés común. Un usuario puede permitir que sus detalles, almacenados en la base de datos, estén disponibles para otros usuarios. Esto hace que sea posible que los usuarios creen nuevos grupos invitando a otros miembros a unirse. Por ejemplo, un usuario que tenga interés en el surfing, desea estructurar un servicio que proporcione información sobre condiciones de práctica de surf en diferentes playas. Para hacer esto, deberá diseñar las páginas HTML necesarias y los objetos de control, es decir, "máquinas de estado". Los objetos de control deberían ser cargados en el servidor 101. El usuario podría enviar entonces correos electrónicos a los otros usuarios invitándoles a unirse al nuevo grupo, y a continuación enviar por correo electrónico las páginas HTML a quienes hayan respondido positivamente. Por supuesto, si se encuentra ya establecido un servicio, solamente sería necesario enviar páginas HTML a los nuevos miembros del grupo para el servicio. El modo de distribución de las páginas HTML no es importante, citándose los correos electrónicos solamente como ejemplo. Otro método de distribución podría ser incluir páginas HTML adecuadas en el disco libre de la portada de una revista de ordenadores. Estas páginas podrían incluir las páginas HTML para el servicio y una página HTML especial para registrar el servicio con el servidor 101.
Cada página que pueda ser visualizada por un cliente 113, 116 del sistema, tiene una clase asociada a la misma. La clase define las propiedades de la página que necesita el servidor 101 y la lógica asociada a las páginas de ese tipo en forma de métodos. Para cada clase de página existe un tipo de objeto manipulador de clase respectivo.
Cuando se recibe un mensaje del servicio de mensajes cortos procedente del proceso 122 de servidor proxy de un cliente 113, 116, se transfiere a una instancia 140 de objeto de enrutamiento. La instancia 140 de objeto de enrutamiento, identifica el tipo de página con el que se relaciona el mensaje, y lo enruta hasta la instancia 141 de objeto manipulador de clase para ese tipo de página. La instancia 140 de objeto de enrutamiento y la instancia 141 de objeto manipulador de clase, proporcionan en este caso la funcionalidad del enrutador 1 de entrada en la figura 1. El mensaje contiene la identidad del usuario que envía el mensaje y, utilizando esta información que, en combinación con la URL, identifica la transacción, la instancia 141 de objeto de manipulador de clase busca a través de una lista asociada de instancias de objetos 142 de la clase que representa la página para una instancia que incluya al usuario como su, o como uno de sus, propietario(s).
Si no se encuentra una instancia 142 de objeto de página perteneciente al usuario, el objeto 141 de manipulador de clase ejemplifica en general una nueva instancia 142 de objeto de página. Sin embargo, se permiten mensajes que no requieran la instalación de la nueva instancia 142 de objeto de página. Si se ejemplifica una nueva instancia, el constructor del objeto de página ejemplificará una o más instancias 143 de objeto de representación de página. Las instancias 143 de objeto de representación de página almacenan el estado de la página según se presenta al, o a cada, usuario. En algunos casos, se aplicará la misma instancia 143 de objeto de representación de página para todos los propietarios y, en otros casos, cada usuario estará viendo una visualización diferente y, en consecuencia, se requieren instancias 143 de objeto respectivas de representación de página. Las instancias 142 de objeto de página pueden tener acceso a los objetos 144 de usuario para sus propietarios, de modo que su operación puede estar adaptada según las preferencias de sus propietarios.
Una vez que la instancia 142 de objeto de página ha sido ejemplificada, o ha sido encontrada en la búsqueda realizada por la instancia 141 de objeto de manipulador de página, se transfiere el mensaje, el cual se procesa a continuación para producir una salida. La salida será normalmente un datos de variables (es decir, un comando de salida) que ha de ser enviado de nuevo al cliente 113, 116 que inició el procesamiento, o que ha de ser enviado a otro cliente 113, 116 cuyo usuario pertenece al mismo grupo. En estos casos, el datos de variables se pasa a un proceso 145 de salida de mensaje del servicio de mensajes cortos (es decir, al enrutador de salida 4 de la figura 1), el cual construye mensajes del servicio de mensajes cortos para transportar el datos de variables hasta su destino. Sin embargo, la salida podría ser para otros muchos destinos 146, por ejemplo un conmutador de telefonía para proporcionar funciones de llamada de conferencia a los propietarios de la instancia 142 de objeto de clase de página, o al servidor 134 web para informar a un supervisor de grupo.
El servidor 130 del servicio de mensajes cortos, no sólo responde a los mensajes del servicio de mensajes cortos procedentes de los clientes 113, 116. Una actualización de los datos de variables para una página, puede ser recibida desde la estación 102 de control a través del servidor 134 web. Un mensaje de este tipo adopta la forma la identidad de la página, del grupo al que se refiere la actualización, y de la propia actualización. El mensaje se transfiere a la instancia 140 de objeto de enrutamiento. La instancia 140 de objeto de enrutamiento identifica el tipo de página a la que se refiere el mensaje, y lo enruta hasta la instancia 141 de objeto manipulador de clase, para ese tipo de página. El mensaje contiene la identidad del usuario de la página a través de la identificación de grupo y, utilizando esta información, la instancia 140 de objeto manipulador de clase busca a través de una lista de instancias asociada de objetos 142 de páginas para una instancia que incluya a los usuarios de ese grupo como sus propietarios.
Si no se encuentra una instancia 142 de objeto de página perteneciente al grupo, el objeto 141 manipulador de clase ejemplifica una nueva instancia 142 de objeto de página. El constructor del objeto la página ejemplificará una o más instancias 143 de objeto de representación de página, según se necesite.
Una vez que la instancia 142 de objeto de página ha sido ejemplificada, o ha sido encontrada en la búsqueda por la instancia 141 de objeto de manipulador de página, se hace pasar el mensaje de actualización. La instancia 142 de objeto de página a continuación da salida a los datos de variables actualizados en los pares apropiados de nombre-valor para el proceso 145 de salida de mensaje del servicio de mensajes cortos, con instrucciones para enviarlo a cada miembro del grupo. El proceso 145 de salida de mensaje del servicio de mensajes cortos, envía a continuación los mensajes necesarios a los miembros del grupo, de modo que los dato de variables actualizados se encuentran disponible la próxima vez que un usuario selecciona la URL para la página, o la página se regenera.
Las instancias 142 de objeto de página serán destruidas cuando ya no se requiera su mantenimiento.
Se puede encontrar disponible una página HTML, lo que sería tratado en el servidor 101 como se ha descrito en lo que antecede, pero el nuevo usuario podría ser tratado por defecto como miembro de un grupo global de usuarios. La instancia 142 de objeto de página podrá crear un nuevo registro de usuario en la base de datos como respuesta a la información personal que suministre el nuevo usuario, por ejemplo, el nombre, el número de teléfono móvil, la dirección de correo electrónico y los detalles de la tarjeta de crédito, utilizando la página HTML de registro.
Ahora se van a describir ejemplos de aplicación de la presente realización.
El primer ejemplo consiste en un servicio financiero de cinta de teleimpresora.
Un usuario dispondrá de una plantilla 126 para la página HTML que se muestra en la figura 8, almacenada en su cliente 113, 116. Se puede ver que la página tiene una pluralidad de filas, cada una de las cuales tiene el nombre de una compañía y el precio de una cuota ordinaria. Toda la información de la página se mantiene sin cambios, salvo en lo referente a los precios en sí mismos. La plantilla 126 tendrá, por lo tanto, todos los códigos de texto, salvo los precios, y de formateo. Las posiciones de los precios se mantienen mediante dispositivos de mantenimiento de posición respectivos en la plantilla 126.
El proveedor del servicio tiene acceso al servidor 101 a través del servidor 134 web, y puede utilizar éste para añadir nuevos usuarios al grupo de suscriptores del servicio de cinta de teleimpresora. Los datos de cinta de teleimpresora son generados automáticamente por el proveedor del servicio, y suministrados a intervalos regulares al servidor 1 por medio del servidor 134 web.
Un proceso en el servidor 134 web, transfiere estos datos al objeto 140 enrutador, el cual los enruta hasta la instancia 141 de objeto manipulador de página, para la página de servicio de cinta de teleimpresora. En este caso, la instancia 141 de objeto manipulador de página ejemplificará una instancia 142 de objeto de página de cinta de teleimpresora, y después pasará los datos desde el proveedor de servicio. La instancia 142 de objeto de página de cinta de teleimpresora da salida a los datos en forma de pares de nombre-valor para el proceso 145 de salida de servicio de mensajes cortos, junto con los números de teléfono móvil de los abonados de los objetos 144 de usuario. El proceso 145 de salida de servicio de mensajes cortos construye a continuación, y transmite mensajes de servicio de mensajes cortos portadores de los precios hasta los clientes 113, 116. Se debe apreciar que en este caso no se requiere una instancia 143 de objeto de representación de página.
Una vez que los datos han sido enviados al proceso 145 de salida de servicio de mensajes cortos, la instancia de objeto de clase de página de cinta de teleimpresora se destruye.
Los terminales de clientes 113, 116 de los abonados al servicio de cinta de teleimpresora recibirán por lo tanto mensajes del servicio de mensajes cortos que contienen los precios. En cada cliente 113, 116 estos mensajes son almacenados en la caché por el proceso 122 de servidor proxy.
La URL para la página de servicio de cinta de teleimpresora es bastante compleja para que un usuario la rellene adecuadamente. Por lo tanto, se proporciona una página de acceso de servicio de cinta de teleimpresora (véase la figura 9). Esta página es una página HTML convencional, almacenada localmente. Según se puede ver, la página incluye un botón para acceder al servicio de cinta de teleimpresora. Cuando el usuario hace clic sobre este botón, se presenta la URL swim:// para la página de servicio de cinta de teleimpresora. Esta URL se procesa mediante el proceso 123 manipulador de protocolo y el proceso 122 de servidor proxy. Se provoca que el proceso 122 de servidor proxy envíe los mensajes almacenados en la caché al proceso 123 manipulador de protocolo, el cual almacena la última versión de los datos de precio en el almacén 128 de datos. El último precio se lee desde el almacén 128 de datos mediante el proceso 123 manipulador de protocolo, y se funde en la plantilla HTML para la página de servicio de cinta de teleimpresora. El documento resultante se envía a continuación al navegador 124 y se visualiza.
Si el usuario no cierra el navegador 124 o presenta otra URL, el navegador 124 volverá a presentar la URL de la página de cinta de teleimpresora después de que haya transcurrido un período predeterminado, de modo que la página se regenerará con los últimos precios.
El segundo ejemplo consiste en el procesamiento de un movimiento en una partida de ajedrez jugada entre los usuarios del primer y del segundo clientes 113, 116.
El primer cliente 113 está visualizando la página mostrada en la figura 10 y el segundo cliente está visualizando la página mostrada en la figura 11. Se puede apreciar que existen diferencias entre las páginas visualizadas. El primer y el segundo usuarios están utilizando respectivamente el primer y el segundo clientes 113, 116.
En el servidor 101, se ha ejemplificado una instancia 142 de objeto de una página de juego de ajedrez. Esta instancia 142 de objeto materializa las normas del ajedrez y la lógica para controlar las páginas mostradas a los usuarios. Puesto que estas páginas son diferentes, el objeto 142 de juego de ajedrez mantiene dos representaciones 143 de páginas, una para cada jugador. Ambas representaciones 143 de página registran las posiciones de las piezas.
Cuando el primer usuario desea mover una pieza, hace clic en primer lugar sobre el mapa binario que representa el cuadrado que contiene la pieza que va a ser movida. El navegador 124 responde generando una URL que se presenta al proceso 123 manipulador de protocolo. La URL identifica la página, una posición para un mapa binario "sobreiluminado" para sustituir al que se ha activado, y la identidad del cuadro del tablero de ajedrez representado por el mapa binario en el que se ha hecho clic. La URL contiene también una directiva que provoca que la posición del mapa binario "sobreiluminado" sea almacenada a modo de seudo-mensaje en la caché 128 de mensajes del servidor proxy, y una directiva que hace que la identidad del cuadro del tablero de ajedrez sea almacenada en la caché 129 de la URL del servidor proxy. Esta segunda directiva tiene asociado un valor de conteo, en este caso dos.
Tras recibir los datos URL, el proceso 122 de servidor proxy envía el contenido de su caché 128 de mensajes al procesador 123 manipulador de protocolo. El proceso 123 manipulador de protocolo fundirá a continuación la plantilla de página de juego de ajedrez con los datos actualizados, lo que incluye la nueva posición de mapa binario para el cuadro en el que se ha hecho clic, y envía la nueva página al navegador 124. En consecuencia, se proporciona al usuario una indicación visual del cuadro en el que se ha hecho clic.
El primer usuario hace ahora clic sobre el cuadro al que desea mover la pieza elegida. Se genera una segunda URL, que es igual que la primera salvo en lo que se refiere al cuadro identificado, y se envía al proceso 122 de servidor proxy por medio del proceso 123 manipulador de protocolo. Los datos de posición del mapa binario son tratados como en el primer caso. Sin embargo, la directiva de almacenamiento en caché es la misma, con el mismo valor de conteo, es decir, dos. El proceso 122 de servidor proxy detecta que las dos directivas citadas han sido ahora recibidas, y construye un mensaje del servicio de mensajes cortos, que incluye las identidades de los cuadros en los que ha pinchado el usuario, y un ID de mensaje desde el proceso 123 manipulador de protocolo. Este mensaje se envía a continuación al servidor 101.
En el servidor 101, el mensaje se enruta hasta la instancia 142 de objeto de página de ajedrez durante el juego. Esta instancia 142 de objeto comprueba que el movimiento propuesto es legal mediante referencia a una de las representaciones 143 de página. Si el movimiento es ilegal, la instancia 142 de objeto envía un mensaje de retorno al primer usuario, lo que provoca que se muestre una página con el texto "Error: movimiento ilegal", y un enlace que cuando se elija, provocará que la página de ajedrez sea mostrada de nuevo.
Si el movimiento es legal, la instancia 142 de objeto comprueba cualquier situación de jaque mate. La instancia 142 de objeto actualiza a continuación las representaciones de página con la nueva posición de la pieza, cambia al texto "su movimiento" y "movimiento del contrario" y, si es necesario, añade "jaque mate - juego terminado". A continuación se construyen mensajes para el usuario, que reflejan los cambios a sus representaciones de página respectivas y se envían a los usuarios.
Cuando el primer usuario recibe su mensaje, el proceso 122 de servidor proxy del primer cliente 113 lo almacena en la caché hasta que se pida la siguiente regeneración por parte de su navegador 124, en cuyo momento transfiere el contenido de su caché 128 de mensajes hasta el proceso 123 manipulador de protocolo. El proceso 123 manipulador de protocolo crea entonces una página HTML actualizada, y la envía hasta el navegador 124 de modo que el usuario ve las piezas de ajedrez en sus nuevas posiciones, la leyenda "movimiento del contrario" y, en su caso, "jaque mate - juego terminado".
El mensaje recibido por el segundo usuario se procesa de forma similar por parte del segundo cliente 116. Sin embargo, la página mostrada al segundo usuario portará la leyenda "su movimiento" suponiendo que el último movimiento del primer jugador no terminó el juego.
En la descripción que sigue, el servidor 101 está conectado al centro 103 de servicio de mensajes cortos por medio de una línea alquilada. Sin embargo, el servidor 101 puede utilizar una estación móvil para enviar mensajes a los clientes a través del servicio de mensajes cortos.
En una realización pasiva, se configura un cliente según la presente invención para fundir mensajes del servicio de mensajes cortos de radiodifusión celular en páginas HTML de modo que estos mensajes pueden ser vistos convenientemente utilizando un navegador.
Ahora se va a describir un segundo sistema que materializa la presente invención.
Con referencia a la figura 12, un sistema comercio electrónico hace uso de Internet 201. Conectados a Internet 201, se encuentran un sitio 202 de vendedor, un sitio 203 de usuario, y un sitio 204 de servidor. El sitio 202 de vendedor incluye un servidor web. El sitio 202 de usuario comprende un ordenador 205 personal y un teléfono 206 que puede ser un terminal rtpc o rmtp. El teléfono 206 puede ser utilizado para llamar al sitio 204 de servidor por medio del rtpc y/o de un rmtp. El sitio 204 de servidor está conectado también a un sitio 207 de servicios financieros. El sitio 207 de servicios financieros pertenece a un proveedor de servicios financieros que garantiza fondos para transacciones entre el usuario y el vendedor.
Con referencia a la figura 13, el sitio 204 de servidor comprende una interfaz 208 de teléfono digital multi-línea, que incluye sintetizadores de habla, para su interconexión con una red 209 de teléfono, una interfaz 209 de Internet, y una interfaz 211 de comunicaciones para proporcionar una conexión con el sitio 207 de servicios financieros. Adicionalmente, el sitio 204 de servidor soporta un proceso 212 de enrutamiento, una base 213 de datos, una instancia 214 de objeto de control de máquina de estado de transacción específica, una instancia 215 de objeto de máquina de estado de control general, un proceso 216 de entrada de teléfono, un proceso 217 de entrada de comunicaciones, un proceso 218 de entrada de Internet, un proceso 219 de salida de Internet, un proceso 220 de salida de comunicaciones, y un proceso 221 de salida de teléfono. La base 213 de datos incluye, entre otros, una tabla que contiene los detalles de los usuarios registrados, incluyendo los respectivos PINs y los números de teléfono y de cuenta.
Ahora se va a describir una transacción que hace uso del sistema de las figuras 12 y 13, también con referencia a la figura 14.
En la descripción que sigue, los mensajes enrutados a través del proceso 212 de enrutamiento comprenden una parte de enrutamiento y una parte de datos.
Un vendedor anuncia productos o servicios utilizando páginas web proporcionadas por el servidor web en el sitio 202 de vendedor. Una página de transacción, generada por el sitio de vendedor, incluye un applet de Java que permite que se visualice el contenido de la página que ha de ser cambiado sin que un usuario vuelva a presentar la URL de la página. La página de transacción incluye también un código de transacción único generado cuando un usuario presenta la URL de la página. El código comprende una parte de código de vendedor y una parte de código de transacción variable.
Cuando un sitio 203 de usuario desea realizar una compra, el usuario rellenará, por ejemplo, una "cesta de la compra" con artículos virtuales, y presentará la URL de la página de transacción del vendedor, normalmente haciendo clic sobre un enlace. Cuando la página de transacción ha sido mostrada en el ordenador 205 personal del usuario, el usuario marca el número de teléfono mostrado utilizando el teléfono 206. La llamada es contestada por la interfaz 208 de teléfono digital, y por el proceso 216 de entrada telefónica. Un rutina de inicialización del proceso 216 de entrada de teléfono, obtiene el número de teléfono del usuario utilizando CLI, y lo almacena localmente junto con un ID único de transacción temporal reservada y un ID para la línea de teléfono por la que se recibe la llamada.
El proceso 216 de entrada de teléfono envía entonces un mensaje de inicialización al proceso 212 de enrutamiento. El mensaje de inicialización comprende el ID de transacción temporal en la parte de enrutamiento y la "fuente-teléfono" en la parte de datos.
Una tabla de enrutamiento de entrada de la base 213 de datos se utiliza para correlacionar los IDs de transacción sobre los IDs de objeto de control. Los IDs de transacción temporal reservada son todos correlacionados con el ID de una instancia 215 de objeto de control general.
El proceso 212 de enrutamiento accede a la entrada de la tabla de enrutamiento de entrada para el ID de transacción, y obtiene el ID de la instancia 220 de objeto de control general. El proceso 212 de enrutamiento invoca el método de la instancia 220 de objeto de control general, haciendo que pase el mensaje como parámetro.
Una tabla de enrutamiento de salida tiene tres columnas que comprenden: ID de transacción, destino, e ID de proceso de salida.
Este método crea o edita un registro en la tabla de enrutamiento de salida para el ID de transacción temporal que establece el campo de destino para "teléfono" y el ID de proceso de salida en el ID del proceso 221 de salida de teléfono. El método devuelve un mensaje que comprende un ID de transacción temporal y el "teléfono" en la parte de enrutamiento, y un comando de "enviar petición de introducción de código" en la parte de datos del proceso 212 de enrutamiento. El proceso 212 de enrutamiento accede a continuación a la entrada de la tabla de enrutamiento de salida para el ID de transacción temporal donde destino = "teléfono", y recupera el ID de proceso de salida que en este caso es el proceso 221 de salida de teléfono. El proceso 212 de enrutamiento envía a continuación el mensaje al proceso 221 de salida de teléfono.
El proceso 219 de salida de teléfono responde al mensaje de "enviar petición de introducción de código" encontrando el ID de la línea de teléfono utilizando el código de transacción temporal del mensaje, y conectando la salida de un sintetizador de habla con la línea de teléfono identificada, e instruye al sintetizador hablado para que dé salida a un mensaje de habla que solicite al usuario que introduzca el código mostrado en la página web.
El usuario responde al mensaje hablado introduciendo el código mostrado, utilizando los botones del teléfono 206. El proceso 216 de entrada de teléfono detecta las señales. DTMF procedentes del teléfono 206, y construye un mensaje que comprende el ID de transacción temporal y el código introducido. Este mensaje se envía a continuación al proceso 212 de enrutamiento.
Cuando el proceso 212 de enrutamiento recibe el mensaje que contiene el código introducido, accede de nuevo al registro de tabla de enrutamiento de entrada para el ID de transacción temporal, y obtiene el ID de la instancia 215 de objeto de control general. Por lo tanto, el proceso 212 de enrutamiento invoca el método de la instancia 215 de objeto de control general.
El método extrae la parte de vendedor del ID de transacción introducido, y ejemplifica una instancia 214 del objeto de control correspondiente para ese vendedor, disponiéndolo en un primer estado, y crea una nueva entrada en la tabla de enrutamiento de entrada que correlaciona el ID de transacción introducido con el ID de la nueva instancia 214 del objeto de control de transacción específica. El método añade a continuación las siguientes filas a la tabla de enrutamiento de salida:
ID de transacción, "teléfono", ID de proceso de salida de teléfono.
ID de transacción; "vendedor", ID de proceso de salida de internet.
ID de transacción; "financiero", ID de proceso de salida de comunicaciones.
Los objetos de control pueden estar dispuestos en una lista de modo que se puede acceder a los mismos mediante referencia a su posición en la lista. En este caso, el ID es la posición de la instancia en la lista. Éste podrá, por supuesto, ser actualizado cuando se destruye un objeto de control, y la reinicialización de los IDs de transacción debería ser una característica común de los destructores de objetos de control.
El método de la instancia 215 de objeto de control general, devuelve entonces un "mensaje de sustituto" que comprende el ID de transacción temporal y el "teléfono" en la parte de enrutamiento, y "sustituto = [ID de transacción introducido]" en la parte de datos. El proceso 212 de enrutamiento encamina este mensaje hasta el proceso 221 de salida de teléfono según la entrada relevante para el ID de transacción temporal en la tabla de enrutamiento de salida.
Cuando el proceso 221 de salida de teléfono recibe el mensaje, sustituye el ID de transacción temporal, almacenado por el proceso 216 de entrada de teléfono, por el ID de transacción introducido, y a continuación instruye al proceso 216 de entrada de teléfono para que envíe un mensaje "inicial" al proceso 212 de enrutamiento. El mensaje "inicial" comprende el ID de transacción y ningún dato.
El proceso 212 de enrutamiento busca a continuación el ID de objeto de control para el ID de transacción en la tabla de enrutamiento de entrada, y esta vez obtiene el ID de la nueva instancia 214. El proceso 212 de enrutamiento utiliza este ID para invocar un método manipulador de mensaje de la instancia 214 de objeto de control.
Puesto que la instancia 214 de objeto de control está en ese momento en su primer estado, el método invocado genera a continuación un mensaje para un proceso 221 de salida de teléfono que comprende el ID de transacción y el "teléfono" en la parte de enrutamiento, y un comando de "envío de petición de PIN" en la parte de los datos. Este mensaje se devuelve al proceso 212 de enrutamiento y la instancia 214 de objeto de control entra en un segundo estado.
El proceso 212 de enrutamiento obtiene el ID de proceso de salida, es decir, el proceso 221 de salida de teléfono, para la combinación del ID de transacción y del "teléfono" a partir de la tabla de enrutamiento de salida, y envía el mensaje al proceso 221 de salida de teléfono. El proceso 221 de salida de teléfono responde al mensaje de "envío de petición de PIN" conectando la salida de un sintetizador de habla de la línea de teléfono con el teléfono 206 del usuario, e instruye al sintetizador de habla para disponer a la salida un mensaje hablado pidiendo al usuario que introduzca su PIN.
El usuario responde al mensaje hablado introduciendo su PIN con la utilización de los botones del teléfono 206. El proceso 216 de introducción de teléfono detecta las señales DTMF procedentes del teléfono 206 y construye un mensaje que comprende el ID de transacción en la parte de enrutamiento y el "pin = número [PIN introducido] = [número de teléfono del usuario]" en la parte de datos. Este mensaje se envía después al proceso 212 de enrutamiento.
Al recibir el mensaje de PIN, el proceso 212 de enrutamiento obtiene el ID para la instancia 214 de objeto de control desde la tabla de enrutamiento e invoca el método de manipulación de mensaje de la instancia 214 de objeto de control. El método invocado analiza la parte de datos del mensaje y determina que se ha introducido el PIN y también que está en sí mismo en el segundo estado. El método busca, por lo tanto, el número de teléfono del usuario en la tabla de la base de datos de usuarios registrados, y compara el PIN en el registro localizado, si existe, con el PIN introducido.
Si los PINs coinciden, el método genera un mensaje para el sitio 202 de vendedor. Este mensaje tiene el ID de la transacción y el "vendedor" en la parte de enrutamiento, y el "reconocido = [nombre]" en la parte de datos. Este mensaje se devuelve a continuación al proceso 212 de enrutamiento, y la instancia 214 de objeto de control introduce un tercer estado.
El proceso 212 de enrutamiento obtiene el ID del proceso 219 de salida de Internet a partir de la tabla de enrutamiento por la combinación de ID de transacción y "vendedor". El proceso 212 de enrutamiento hace seguir a continuación el mensaje hasta el proceso 219 de salida de Internet, el cual envía el mensaje hasta el sitio 202 de vendedor utilizando su propia tabla de enrutamiento que correlaciona la parte de código de vendedor del ID de transacción respecto a la dirección IP.
Cuando el sitio 202 de vendedor recibe el mensaje, utiliza el applet de Java para cambiar la página web mostrada al usuario, identificada por el código de transacción, para incluir el mensaje "Su orden está siendo procesada [nombre]", donde [nombre] es el nombre del usuario recibido en el mensaje. Una vez que se ha efectuado este cambio, el sitio 202 de vendedor envía un mensaje de vuelta al servidor 204. Este mensaje comprende el ID de transacción en la parte de enrutamiento y la "cantidad = [coste]" en la parte de datos.
El mensaje de "cantidad" se recibe mediante el proceso 218 de entrada de Internet, y se pasa al proceso 212 de enrutamiento. El proceso 212 de enrutamiento obtiene el ID de la instancia 214 de objeto de control relevante desde la tabla de enrutamiento de entrada, e invoca el método de manipulación de mensaje de la instancia 214 de objeto de control.
El método de manipulación de mensaje analiza el mensaje de entrada, y determina que es un mensaje de "cantidad", y también que está en sí mismo en el tercer estado. Dependiendo del contenido del mensaje y del estado actual, el método genera un mensaje de comprobación de crédito para el sitio 207 de servicio financiero. Este mensaje comprende el ID de la transacción y el "financiero" en la parte de enrutamiento, y la "cuenta = [número de cuenta a partir de la base de datos de usuario] cantidad = [cantidad del vendedor]" en la parte de datos.
El mensaje de comprobación de crédito se enruta mediante el proceso 212 de enrutamiento hasta el sitio 207 de servicio financiero a través del proceso 220 de salida de comunicaciones. El sitio 207 de servicio financiero determina si la transacción debería seguir adelante, y genera un mensaje apropiado para el servidor 204. Si la transacción debe continuar, el sitio 207 de servicio financiero registra el código de transacción, el número de cuenta y la cantidad para su posterior conciliación y genera un mensaje que comprende el ID de transacción en la parte de enrutamiento y el "crédito = válido" en la parte de datos.
El mensaje se transfiere, a través del proceso 217 de entrada de comunicaciones, al proceso 212 de enrutamiento, el cual invoca a continuación el método de manipulación de mensaje de la instancia 214 de objeto de control. El método responde a este mensaje generando un mensaje de "transacción confirmada" que se devuelve al proceso 212 de enrutamiento, y lo envía al sitio 202 de vendedor como se ha descrito anteriormente e introduce un cuarto estado. El sitio 202 de vendedor responde mostrando un mensaje completo de transacción en la página web de la transacción, incluyendo una instrucción para colgar, utilizando el applet de Java y enviando un mensaje de "completado" al servidor 204.
Si la transacción no debe continuar, el sitio 207 de servicio financiero genera un mensaje que comprende el ID de la transacción en la parte de enrutamiento y "crédito = no válido" en la parte de datos.
El mensaje se transfiere al proceso 214 de enrutamiento, el cual invoca a continuación el método de manipulación de mensaje de la instancia 214 de objeto de control. El método responde a este mensaje generando un mensaje de transacción no confirmada, que se retorna al proceso 212 de enrutamiento, y lo envía al sitio 202 de vendedor, e introduce un quinto estado. El sitio 202 de vendedor responde mostrando un mensaje de transacción rechazada sobre la página web de transacción, incluyendo una instrucción de colgar y contactar con el propietario del servidor 207 de servicio financiero, utilizando el applet de Java, y enviando un mensaje de "completado" de nuevo hasta el servidor 204.
El mensaje completo de "completado" se enruta, como se ha descrito en lo que antecede, hasta el método de manipulación de mensaje de la instancia 214 de objeto de control. El método genera entonces un mensaje de terminado para el proceso 221 de salida de teléfono, en este caso con independencia de si está en el cuarto o en el quinto estado, e introduce un sexto estado. Este mensaje se devuelve al proceso 212 de enrutamiento, y se envía al proceso 221 de salida de teléfono. El proceso 221 de salida de teléfono responde provocando que la interfaz 208 de teléfono digital cuelgue, instruyendo al proceso 216 de entrada de teléfono para que envíe un mensaje de "colgado" al proceso 212 de enrutamiento, y elimine el registro local del ID de transacción y los datos asociados.
El mensaje de "colgado" se enruta hasta la instancia 214 de objeto de control, la cual responde ejecutando un método destructor. El método destructor borra las entradas de las tablas de enrutamiento para el ID de transacción asociado, y reinicia los IDs de instancia de objeto de control para aquellos objetos de control bajo los mismos en la lista de instancias de objeto de control.
Haciendo referencia particular a la figura 14, los mensajes que no se han descrito en lo que antecede, tanto en contenido como en tiempo, son ignorados, y no afectan al estado de la instancia 214 de objeto de control.
Si el sitio 207 financiero o el sitio 204 de servidor es accionado por, o junto con, la compañía de teléfono del usuario, las compras del usuario pueden ser mostradas en la cuenta de teléfono del usuario, de modo que el usuario puede hacer el pago de las mismas cuando paga la factura del teléfono.
Se apreciará que lo que antecede es un sistema abreviado, y que se podrían emplear transiciones de estado y conjuntos de estados mucho más complejos, incluyendo una manipulación de excepción. También se puede apreciar que los objetos de control pueden ser adaptados individualmente a los sitios de vendedor incluidos en el sistema. Por ejemplo, los comandos enviados al sitio del vendedor pueden necesitar ser diferentes debido al software diferente de los distintos sitios del vendedor.
Mientras que el sistema que antecede ha sido descrito con referencia a una instancia de objeto de control específica de sesión activa, se apreciará que las tablas de enrutamiento significan que una pluralidad de instancias de tales objetos de control del mismo tipo, o diferente, pueden ser soportadas simultáneamente, proporcionando con ello transacciones simultáneas.
En una variante de sistema, un vendedor proporciona una página de transacción con la forma de un formato HTML. Cuando un usuario del sitio 203 de usuario desea realizar una compra, el usuario llenará, por ejemplo, una "cesta de compra" con artículos virtuales, y presentará la URL de la página de transacción del vendedor, normalmente haciendo clic en un enlace. La página de transacción incluye casillas para el nombre de usuario y texto de palabra clave, y el usuario rellenará estas últimas utilizando el teclado de su ordenador, y haciendo clic a continuación sobre un botón de presentación de la página de transacción. Un programa CGI genera un mensaje de inicialización para el servidor 204 en respuesta a la URL de actuación representada. Este mensaje contiene un código, que comprende un ID de transacción único en la parte de enrutamiento, y una "fuente = vendedor" en la parte de datos, y se envía al servidor 204 a través de Internet 201.
El proceso 218 de entrada de Internet recibe el mensaje desde el sitio 202 de vendedor y lo envía al proceso 212 de enrutamiento.
El proceso 212 de enrutamiento accede a la tabla de enrutamiento de entrada y no encontrará ninguna entrada para el ID de la transacción. Por defecto, determina que debería utilizar el ID de la instancia 220 de objeto de control general para enrutar el mensaje. El proceso 212 de enrutamiento invoca un método de la instancia 220 de objeto de control general, transfiriendo el mensaje en forma de parámetro.
Este método crea un registro en la tabla de enrutamiento de salida para el ID de transacción, estableciendo el campo de destino en "vendedor" y el ID de proceso de salida en el ID del proceso 219 de salida de Internet. El método extrae también la parte de vendedor del ID de transacción introducido, y ejemplifica una instancia 214 del objeto de control correspondiente para el vendedor, disponiéndolo en un primer estado, y crea una nueva entrada en la tabla de enrutamiento de entrada que correlaciona el ID de transacción introducido con el ID de la nueva instancia 214 del objeto de control de transacción específica. El método añade a continuación las siguientes filas a la tabla de enrutamiento de salida:
ID de transacción; "vendedor", ID de proceso de salida de internet.
ID de transacción; "financiero", ID de proceso de salida de comunicaciones.
Los objetos de control pueden estar dispuestos en una lista de modo que se pueda tener acceso a los mismos mediante referencia a su posición en la lista. En este caso, el ID es la posición de la instancia en la lista. Éste, por supuesto, podrá actualizarse cuando se destruye un objeto de control, y el reinicio de los IDs de transacción debería ser una característica común de los destructores de objetos de control.
El método de la instancia 215 de objeto de control general vuelve entonces a enviar un mensaje de detalles que comprende el ID de transacción y el "vendedor" en la parte de enrutamiento, y un comando de "envío de detalles" en la parte de datos. Este mensaje se retorna al proceso 212 de enrutamiento.
El proceso 212 de enrutamiento obtiene el ID del proceso de salida, es decir, el del proceso 219 de salida de Internet, para la combinación de ID de transacción y de "vendedor" a partir de la tabla de enrutamiento de salida, y envía el mensaje al proceso 219 de salida de Internet, el cual lo envía al sitio 202 de vendedor.
El programa CGI responde al mensaje "enviar detalles" mediante generación de un mensaje que comprende el ID de transacción en la parte de enrutamiento, y el "usuario = [nombre de usuario] palabra clave = [palabra clave] cantidad = [cantidad]" en la parte de datos. Este método se envía después al proceso 212 de enrutamiento en el servidor 204.
Con la recepción del mensaje "detalles", el proceso 212 de enrutamiento obtiene el ID para la instancia 214 de objeto de control a partir de la tabla de enrutamiento, e invoca el método de manipulación de mensaje de la instancia 214 de objeto de control. El método invocado analiza la parte de datos del mensaje y determina que los detalles han sido recibidos, y también que él mismo constituye el primer estado. El nombre de usuario y la palabra clave utilizan una tabla de base de datos de usuarios registrados.
Si el nombre de usuario y la palabra clave coinciden con un registro de la base de datos de usuarios registrados, el método genera un mensaje de comprobación de crédito para el sitio 207 de servicio financiero. Este mensaje comprende el ID de la transacción y "financiero" en la parte de enrutamiento, y "cuenta = [número de cuenta a partir de la base de datos de usuario] cantidad = [cantidad a partir del vendedor]" en la parte de datos.
El mensaje de comprobación de crédito se enruta mediante el proceso 212 de enrutamiento hasta el sitio 207 de servicio financiero, a través del proceso 220 de salida de comunicaciones. El sitio 207 de servicio financiero determina si la transacción debe proseguir y genera un mensaje apropiado para el servidor 204. Si la transacción debe continuar, el sitio 207 de servicio financiero registra el código de transacción, el número de cuenta y la cantidad para su ajuste posterior, y genera un mensaje que comprende el ID de la transacción en la parte de enrutamiento y "crédito = válido" en la parte de datos.
El mensaje se transfiere, por medio del proceso 217 de entrada de comunicaciones, hasta el proceso 212 de enrutamiento, el cual invoca a continuación el método de manipulación de mensaje de la instancia 214 de objeto de control. El método responde a este mensaje generando un mensaje de "transacción confirmada", el cual se devuelve al proceso 212 de enrutamiento, y se envía al sitio 202 del vendedor, como se ha descrito anteriormente, y entra un tercer estado. El sitio 202 de vendedor responde mostrando una página de transacción completada con éxito, y envía un mensaje de "completado" de vuelta al servidor 204.
Si la transacción no debe continuar, el sitio 207 de servicio financiero genera un mensaje que comprende un ID de transacción en la parte de enrutamiento y "crédito = no válido" en la parte de datos.
El mensaje se transfiere al proceso 214 de enrutamiento, el cual invoca a continuación el método de manipulación de mensaje de la instancia 214 de objeto de control. El método responde a este mensaje generando un mensaje de transacción no confirmada, el cual se devuelve al proceso 212 de enrutamiento, y se envía al sitio 202 de vendedor, y entra un cuarto estado. El sitio 202 de vendedor responde mostrando una página de transacción rechazada, incluyendo una instrucción para contactar con el propietario del servidor 207 de servicio financiero, y enviando un mensaje de "completado" de vuelta al servidor 204.
El mensaje completo de "completado", se enruta según se ha descrito en lo que antecede hasta el método de manipulación de mensaje de la instancia 214 de objeto de control. La instancia 214 de objeto de control responde ejecutando un método destructor. El método destructor borra las entradas de las tablas de enrutamiento para el ID de transacción asociado, y reinicia los IDs de instancia de objeto de control para aquellos objetos de control bajo el mismo en la lista de instancias de objeto de control.
Ahora se va a describir un tercer sistema que materializa la presente invención.
Con referencia a la figura 15, un sistema de televisión interactiva comprende una estación 300 maestra, un servidor 301 conectado a la estación 300 maestra, un procesador 302 de televisión, y un procesador 303 de comunicaciones. El procesador 302 de televisión y el procesador 303 de comunicaciones están conectados al servidor 301 para el intercambio de mensajes con el mismo. Una trayectoria para la señal de audio está prevista entre el procesador 302 de televisión y el procesador 303 de comunicaciones. El sistema incluye también un transmisor 305 de televisión para transmitir señales de televisión generadas por el procesador 302 de televisión, una primera y una segunda televisiones 306, 307 para recibir la señal de televisión transmitida por el transmisor 305, y un primer y un segundo teléfonos 308, 309 móviles digitales próximos a la primera y la segunda televisiones 306, 307, respectivamente.
El procesador 302 de televisión se ha conectado de modo que recibe señales procedentes de una cámara 310 de video y una cinta 311 de video. El procesador 302 de televisión puede generar también imágenes gráficas y de texto bajo control de programa.
El procesador 303 de comunicaciones puede participar en una pluralidad de llamadas de teléfono, por ejemplo con los teléfonos 308, 309 móviles, simultáneamente, y está conectado al banco de terminales 312 de telefonía.
El servidor 301 actúa generalmente en respuesta a señales procedentes del procesador 303 de comunicaciones para enviar señales comando al procesador 302 de televisión, y de vuelta al procesador 303 de comunicaciones.
La estación 300 maestra se utiliza para controlar el servidor 301, por ejemplo inicializando su funcionamiento, y para enviar archivos de control, que definen la actuación del servidor, hasta el servidor 301.
Con referencia a la figura 16, una imagen de televisión producida por el procesador 302 de televisión se destina a un programa de debate, y comprende una imagen 320 principal que muestra un grupo de debate, obtenida a partir de la cinta 311, y una primera, una segunda, una tercera y una cuarta superposiciones 321, 322, 323, 324. La primera superposición 321 incluye un gráfico que ilustra los votos del sí y del no realizados por el público en respuesta al debate, y un primer número de teléfono. La segunda superposición 322 contiene una imagen de video de un experto, filmada con la utilización de la cámara 310 de video, dando un comentario sobre el debate que tiene lugar en la imagen principal, y un segundo número de teléfono. La tercera superposición 323 contiene la imagen de un teléfono, y un tercer número de teléfono. La imagen del teléfono constituye una invitación a los espectadores para que llamen a un "teléfono de ayuda" relacionado con el objeto del debate. La cuarta superposición 324 contiene una imagen de un bloc de notas y un "flash" de comunicación, y un cuarto número de teléfono. La imagen de la cuarta superposición 324 es una invitación a los espectadores para que soliciten información adicional.
Cuando el programa de televisión mostrado en la figura 16 ha de ser transmitido, un operador envía una señal de inicialización hasta el servidor 301 desde la estación 300 maestra. El servidor 301 responde ejemplificando instancias de objeto de control de máquina de estado asociadas a cada una de las superposiciones 321, 322, 323, 324.
Ahora se va a describir la actuación de la presente realización con respecto a la primera superposición 321.
Cuando un espectador marca el primer número utilizando su teléfono 308, 309, la llamada es contestada por el procesador 303 de comunicaciones. El procesador 303 de comunicaciones genera un mensaje que comprende un "ID de función" de votación en una parte de enrutamiento, y "nueva llamada = [canal núm.]" en una parte de datos. El número de canal identifica un canal lógico que el procesador 303 de comunicaciones puede utilizar para enviar señales al nuevo comunicador. El mensaje se envía a continuación al servidor 301.
El mensaje es recibido por un proceso de enrutamiento en el servidor 301, el cual obtiene el ID de la instancia de objeto de control para la primera superposición a partir de una tabla de enrutamiento de entrada, estructurada con la utilización de la estación 301 maestra, utilizando la parte de enrutamiento del mensaje. El proceso de enrutamiento invoca a continuación un mensaje manejando el método de la instancia de objeto de control apropiada. El método responde al mensaje generando un mensaje de "invitación a participar" que comprende el ID de función y "comms" en la parte de enrutamiento, y "[nº de canal] = invitación a participar" en la parte de datos. Este mensaje se devuelve al proceso de enrutamiento, el cual lo envía hasta el procesador 303 de comunicaciones después de buscar el destino en una tabla de enrutamiento de salida, estructurada con la utilización de la estación maestra, usando la parte de enrutamiento del mensaje.
Cuando el procesador 303 de comunicaciones recibe el mensaje, responde reproduciendo un archivo de audio, indicando a la persona que llama que presione "1" para el sí, y "0" para el no, a través del canal lógico especificado en el mensaje. El procesador 303 de comunicaciones espera entonces la llegada de un dígito. Cuando se ha introducido un "1" o un "0" por parte del que llama, el procesador 303 de comunicaciones cuelga y genera un mensaje de "voto" que comprende el ID de función en la parte de enrutamiento y el "voto = [sí/no]" en la parte de datos.
El mensaje de "voto" se enruta hasta la instancia de objeto de control adecuada, la cual responde actualizando un registro local de votos sí o no, según sea necesario, e incrementando un conteo de votos. Si el conteo de votos es igual a un número predeterminado, se calcula el porcentaje de votos sí y conteo se reinicia a cero. Un mensaje, que comprende el ID de función y "video" en la parte de enrutamiento y el "porcentaje = [porcentaje]" en la parte de datos, se devuelve al proceso de enrutamiento y se envía al procesador 302 de televisión. Si el conteo no ha alcanzado el número predeterminado, se devuelve un mensaje vacío al proceso de enrutamiento, que lo ignora.
Cuando el procesador 302 de televisión recibe el "mensaje de porcentaje", dibuja de nuevo el gráfico en la primera superposición 321 para ilustrar la nueva relación de votos sí y no.
Ahora se va a describir la actuación de la presente realización con respecto a la segunda superposición 322.
Cuando un espectador marca el segundo número utilizando su teléfono 308, 309, la llamada es contestada por el procesador 303 de comunicaciones. El procesador 303 de comunicaciones genera entonces un mensaje que comprende un "ID de función" de alimentación de audio en una parte de enrutamiento, y "nueva llamada = [nº de canal]" en una parte de datos. El número de canal identifica un canal lógico que el procesador 303 de comunicaciones puede utilizar para enviar señales a la nueva persona que llama. El mensaje se envía después al servidor 301.
El mensaje es recibido por un proceso de enrutamiento en el servidor 301, el cual obtiene el ID de la instancia de objeto de control para la segunda superposición 322 procedente de la tabla de enrutamiento de entrada. El proceso de enrutamiento invoca entonces un método de manipulación de mensaje de la instancia de objeto de control apropiada. El método responde al mensaje generando un mensaje de "alimentar audio" que comprende la función ID y "comms" en la parte de enrutamiento, y "[nº de canal] = alimentar audio" en la parte de datos. Este mensaje se devuelve al proceso de enrutamiento, el cual lo envía hasta el procesador 303 de comunicaciones después de buscar el destino en la tabla de enrutamiento de salida.
Cuando el procesador 303 de comunicaciones recibe el mensaje, responde conectando la alimentación de audio, desde el procesador 302 de televisión hasta el canal lógico especificado en el mensaje. En consecuencia, el espectador puede oír al experto a través de su teléfono 308, 309.
Cuando el espectador cuelga, el procesador 303 de comunicaciones genera un mensaje que comprende un "ID de función" de alimentación de audio en la parte de enrutamiento, y "[nº de canal] = colgar" en la parte de datos. El mensaje se envía entonces al servidor 301.
El mensaje es recibido por un proceso de enrutamiento en el servidor 301, el cual obtiene el ID de la instancia de objeto de control para la segunda superposición 322 a partir de una tabla de enrutamiento de entrada. El proceso de enrutamiento invoca entonces el método de manipulación de mensaje de la instancia de objeto de control apropiada. El método responde al mensaje generando un mensaje de "colgado" que comprende el ID de función y "comms" en la parte de enrutamiento, y "[nº de canal] = colgado" en la parte de datos. Este mensaje se devuelve al proceso de enrutamiento, el cual lo envía al procesador 303 de comunicaciones después de buscar el destino en la tabla de enrutamiento de salida.
El procesador 303 de comunicaciones responde rompiendo el enlace entre la alimentación de audio procedente del procesador 302 de televisión y el canal lógico especificado, y cae la línea de teléfono asociada al número de canal especificado.
Ahora se va a describir la actuación de la presente realización con respecto a la tercera superposición 323.
Cuando un espectador marca el tercer número usando su teléfono 308, 309, la llamada es respondida por el procesador 303 de comunicaciones. El procesador 303 de comunicaciones genera a continuación un mensaje que comprende un "ID de función" del teléfono en una parte de enrutamiento, y "nueva llamada = [canal núm.]" en la parte de datos. El número de canal identifica un canal lógico que el procesador 303 de comunicaciones puede utilizar para enviar señales al nuevo participante. El mensaje se envía a continuación al servidor 301.
El mensaje es recibido por un proceso de enrutamiento en el servidor 301, el cual obtiene el ID de la instancia de objeto de control para la tercera superposición 323 procedente de la tabla de enrutamiento de entrada. El proceso de enrutamiento invoca entonces un método de manipulación de mensaje de la instancia de objeto de control apropiada. El método responde al mensaje seleccionando el ID de un terminal 312 de telefonía libre en una lista, estableciendo una banderola de ocupado asociada al mismo como cierta, y generando un mensaje de "conectar" que comprende el ID de función y "comms" en la parte de enrutamiento, y "[nº de canal] = [ID de terminal)" en la parte de datos. Este mensaje se devuelve al proceso de enrutamiento, el cual lo envía al procesador 303 de comunicaciones después de buscar el destino en la tabla de enrutamiento de salida.
Cuando el procesador 303 de comunicaciones recibe el mensaje, responde conectando el terminal 312 de telefonía especificado con el canal lógico especificado en el mensaje. El espectador puede hablar entonces con el operador del terminal de telefonía especificado.
Si el espectador cuelga, el procesador 303 de comunicaciones genera un mensaje que comprende una "ID de función" del teléfono en una parte de enrutamiento, y "[nº de canal] = colgar" en la parte de datos. El mensaje se envía entonces al servidor 301.
Si el operador del terminal 312 de telefonía termina de llamar, el procesador 303 de comunicaciones genera un mensaje que comprende un "ID de función" del teléfono en la parte de enrutamiento, y "[nº de terminal] = terminado" en la parte de datos. El mensaje se envía entonces al servidor 301.
Cuando se recibe el mensaje de "colgar" o "terminado" por parte del proceso de enrutamiento en el servidor 301, el proceso de enrutamiento invoca entonces el método de manipulación de mensaje de la instancia de objeto de control apropiada. El método responde al mensaje generando un mensaje de "desconectar" que comprende el ID de función y "comms" en la parte de enrutamiento y "[nº de canal] = desconectar" en la parte de datos. Este mensaje se devuelve al proceso de enrutamiento, el cual lo envía al procesador 303 de comunicaciones después de buscar el destino en la tabla de enrutamiento de salida.
El procesador 303 de comunicaciones responde rompiendo la conexión entre el terminal 312 de telefonía y el canal lógico especificado, y cae la línea de teléfono asociada al número de canal especificado. El procesador 303 de comunicaciones envía entonces un mensaje de "completado", que comprende el ID de función en la parte de enrutamiento, y "[nº de canal] = completado", hasta el servidor 301. En el servidor 301, el mensaje se enruta hasta la instancia de objeto de control apropiada estableciendo la banderola de ocupado para el terminal de telefonía como falsa, y devolviendo un mensaje vacío.
Ahora se va a describir la actuación de la presente realización con respecto a la cuarta superposición 324.
Cuando un espectador marca el cuarto número utilizando su teléfono 308, 309, la llamada es contestada por el procesador 303 de comunicaciones. El procesador 303 de comunicaciones genera entonces un mensaje que comprende un "ID de función" de información en la parte de enrutamiento, y "nueva llamada = [nº de canal]" en la parte de datos. El número de canal identifica un canal lógico que el procesador 303 de comunicaciones puede usar para enviar señales hasta el nuevo comunicante. El mensaje se envía después al servidor 301.
El mensaje es recibido por un proceso de enrutamiento en el servidor 301, el cual obtiene el ID de la instancia de objeto de control para la cuarta superposición 324 a partir de la tabla de enrutamiento de entrada. El proceso de enrutamiento invoca entonces un método de manipulación de mensaje de la instancia de objeto de control apropiada. El método responde al mensaje generando un mensaje de "opciones de participación" que comprende el ID de función y "comms" en la parte de enrutamiento, y "[nº de canal] = opciones de participación]" en la parte de datos. Este mensaje se devuelve al proceso de enrutamiento, el cual lo envía al procesador 303 de comunicaciones después de buscar el destino en una tabla de enrutamiento de salida.
Cuando el procesador 303 de comunicaciones recibe el mensaje, responde reproduciendo un archivo de audio, indicando al participante que puede recibir información adicional presionando "1" para el servicio de mensajes cortos, "2" para correo electrónico, y "3" para fax, o cancelar presionando "0", a través del canal lógico especificado en el mensaje. El procesador 303 de comunicaciones espera entonces que se introduzca un dígito. Cuando el participante ha introducido un "1", "2", "3" ó "0", el procesador 303 de comunicaciones genera un mensaje de "modo" que comprende el ID de función en la parte de enrutamiento y "modo = [dígito introducido]" en la parte de datos.
El mensaje de "modo" se enruta hasta la instancia de objeto de control apropiada en el servidor 301.
Si el modo es "0", el método devuelve un mensaje de "colgado", que comprende el ID de función y "comms" en la parte de enrutamiento, y "[nº de canal] = colgado", que se envía al servidor 303 de comunicaciones. El servidor 303 de comunicaciones responde en este caso, dejando caer la llamada de teléfono identificada por el número de canal.
Si el modo es "1", "2" ó "3", el método devuelve un mensaje de "obtener número", que comprende el ID de función y "comms" en la parte de enrutamiento, y "[nº de canal] = obtener número" en la parte de datos. Este mensaje se envía al procesador 303 de comunicaciones, el cual responde generando un mensaje de "número de teléfono", que comprende el ID de función en la parte de enrutamiento, y "número = [número de teléfono]". El número de teléfono para el espectador se obtiene utilizando identificación de línea de quién llama (CLI). El mensaje de "número de teléfono" se envía al servidor 301, desde donde es enviado al método de manipulación de mensaje de la instancia de objeto de control apropiada.
El método busca el servicio de mensajes cortos del espectador, la dirección/ de fax o correo electrónico en una base de datos de usuario registrado dependiendo del contenido del mensaje del modo previamente recibido. Si no existe ninguna entrada para el número de teléfono, el método devuelve un mensaje de "no registrado", que comprende el ID de función y "comms" en la parte de enrutamiento, y "[nº de canal] = no registrado" en la parte de datos, el cual se envía al procesador 303 de comunicaciones. El procesador 303 de comunicaciones responde a este mensaje reproduciendo un archivo de audio a través del canal especificado, y dejando caer a continuación la línea. El archivo de audio proporciona las instrucciones visuales para el registro, por ejemplo, por teléfono o correo electrónico o en forma de página web.
Si el modo es "1" y se encuentra un número de servicio de mensajes cortos, el método envía un mensaje, que comprende el ID de función y "comms" en la parte de enrutamiento y "[nº de canal] = [número de servicio de mensaje corto]" en la parte de datos, hasta el servidor 303 de comunicaciones. El servidor 303 de comunicaciones responde reproduciendo un archivo de audio a través del canal especificado, para informar al usuario de que se está enviando la información mediante el servicio de mensajes cortos, y a continuación deja caer la línea. Después envía la información, la cual fue almacenada previamente en el procesador 303 de comunicaciones en una serie de mensajes del servicio de mensajes cortos, hasta el teléfono móvil 308, 309 del espectador.
Si se encuentra el modo "2" y una dirección de correo electrónico, el método envía un mensaje, que comprende el ID de función y "maestro" en la parte de enrutamiento, y "enviar = [dirección de correo electrónico, nº de canal]" en la parte de datos, hasta la estación 300 maestra. La estación 300 maestra responde añadiendo la dirección de correo electrónico a una lista de direcciones a las que se debe enviar la información, y a continuación envía un mensaje de "operación diferida", que comprende el ID de función en la parte de enrutamiento, y "[nº de canal] = operación diferida" en la parte de datos, hasta el servidor 301. Este mensaje se enruta de la manera normal, hasta el método de manipulación de mensaje de la instancia de objeto de control apropiada.
De forma similar, si el modo es "3" y se encuentra un número de fax, el método envía un mensaje, que comprende el ID de función y "maestro" en la parte de enrutamiento, y "enviar = [número de fax, nº de canal]" en la parte de datos, hasta la estación 300 maestra. La estación 300 maestra responde añadiendo el número de fax a una lista de números de fax a los que debe enviarse la información, y a continuación envía un mensaje de "operación diferida", que comprende el ID de función en la parte de enrutamiento, y "[nº de canal] = operación diferida" en la parte de datos, hasta el servidor 301. Este mensaje se enruta de manera normal hasta el método de manipulación de mensaje de la instancia de objeto de control apropiada.
Al recibir un mensaje de "operación diferida", el método devuelve un mensaje de "informe diferido", que comprende el ID de función y "comms" en la parte de enrutamiento, y "[canal núm.] = operación diferida" en la parte de datos, el cual se envía al procesador 303 de comunicaciones.
El servidor 303 de comunicaciones responde reproduciendo un archivo de audio a través del canal especificado, para informar al usuario de que la información está siendo enviada mediante el método elegido, y a continuación cae la línea.
Cuando el programa acaba, un operador de la estación 300 maestra hace que la estación maestra envíe un comando de interrupción al servidor 301, el cual completa cualquier transacción pendiente y termina su procesamiento de mensajes desde el procesador 303 de comunicaciones. El servidor 301, el procesador 302 de televisión y el procesador 303 de comunicaciones pueden ser reconfigurados a continuación para otro programa de televisión.
Se apreciará que las funciones asociadas a las diferentes superposiciones, no están interrelacionadas. En consecuencia, solamente una, o cualquiera, de las combinaciones de estas funciones, y de otras que aquí no se han descrito en detalle, puede ser utilizada con cualquier programa de televisión.
También se apreciará que las funciones interactivas auxiliares disponibles pueden variar durante un programa de televisión. Esto puede ser controlado mediante una secuencia de mensajes dependientes del tiempo o mediante la introducción de comandos, en tiempo real, en la estación 300 maestra por parte de un operador.

Claims (21)

1. Sistema de medios interactivos, que incluye:
una interfaz de usuario que comprende un dispositivo de salida que tiene una parte (115, 118; 205; 306, 307) de interfaz de usuario de salida visual, dispuesta para uso privado y medios (114, 117; 206; 308, 309) de entrada de usuario dispuestos para su uso por un usuario simultáneamente con la parte (115, 118; 205; 306, 307) de interfaz de usuario de salida y un servidor (101; 204; 301),
caracterizado por:
el servidor (101; 204; 301) que comprende:
una máquina (3a, 3b, 3c; 5, 6a, 6b, 6c; 7a, 7b, 7c, 9a, 9b, 9c) de estado;
un medio (1; 5; 8) de enrutamiento de entrada para recibir un mensaje procedente de los medios (114, 117; 206; 308, 309) de entrada de usuario, comprendiendo el mensaje una referencia de sesión y datos, y para enrutar al menos la parte de datos de un mensaje recibido hasta la máquina (3a, 3b, 3c) de estado dependiendo de la referencia de sesión; y
medios (4; 8) de enrutamiento de salida para enrutar mensajes, que comprenden al menos una referencia de destino y datos de control para el dispositivo de salida, y para enrutar dichos datos de control al dispositivo de salida dependiendo de dicha referencia de destino,
en el que la máquina (3a, 3b, 3c; 5, 6a, 6b, 6c; 7a, 7b, 7c, 9a, 9b, 9c) de estado es sensible a los datos enrutados hasta la misma por los medios (1; 5; 8) de enrutamiento de entrada para generar un mensaje que comprende al menos una referencia de destino.
2. Sistema según la reivindicación 1, en el que se incluye un aparato (202; 302) de procesamiento adicional y dicha referencia de destino puede referirse selectivamente a la interfaz de usuario o a los medios (202; 302) de procesamiento adicional.
3. Sistema según la reivindicación 1 ó 2, en el que el servidor (101; 204; 301) comprende una pluralidad de máquinas (3a, 3b, 3c; 5, 6a, 6b, 6c; 7a, 7b, 7c, 9a, 9b, 9c) de estado, siendo sensible cada máquina (3a, 3b, 3c; 5, 6a, 6b, 6c; 7a, 7b, 7c, 9a, 9b, 9c) de estado a los datos enrutados hasta la misma por los medios (1; 5; 8) de enrutamiento de entrada para proporcionar un mensaje, que comprende al menos una referencia de destino que identifica el dispositivo de salida y los datos de control para el dispositivo de salida, hasta los medios (4; 8) de enrutamiento de salida.
4. Sistema según la reivindicación 1, 2 ó 3, en el que la o cada máquina de estado comprende una instancia de un objeto (7a, 7b, 7c) de software.
5. Sistema según la reivindicación 4, en el que el o cada objeto (7a, 7b, 7c) es un componente, los medios (1, 4; 5; 8) de enrutamiento de entrada y salida existen en el mismo espacio de proceso y el o cada componente existe en su propio espacio de proceso.
6. Sistema según la reivindicación 1, 2 ó 3, en el que la operación de la o de cada máquina (31, 3b, 3c; 5, 6a, 6b, 6c; 7a, 7b, 7c, 9a, 9b, 9c) de estado se define, al menos en parte, mediante un archivo (6a, 6b, 6c; 9a, 9b, 9c) de control respectivo.
7. Sistema según la reivindicación 6, en el que el o cada archivo (6a, 6b, 6c; 9a, 9b, 9c) de control comprende datos en forma de lenguaje específico.
8. Sistema según la reivindicación 6, en el que la o cada máquina (3a, 3b, 3c; 5, 6a, 6b, 6c; 7a, 7b, 7c, 9a, 9b, 9c) de estado comprende un objeto (7a, 7b, 7c) de software, estando definidos en algunos casos los cambios de estado de la máquina de estado por métodos de dicho objeto, y en otros casos por el contenido del archivo de control respectivo.
9. Sistema según cualquier reivindicación anterior, en el que:
los medios (1; 4, 5; 8) de enrutamiento de entrada y salida comprenden un único procedimiento u objeto (8) de software.
10. Sistema según cualquier reivindicación anterior, en el que la interfaz de usuario comprende un dispositivo (115, 118) de computación portátil que tiene un programa navegador de web y un medio (114, 117) de teléfono móvil asociado, y dichos mensajes son enviados entre el servidor (101) y el medio (114, 117) de teléfono móvil por medio de un servicio de mensajería o de un teléfono (206) y un servidor (202) de web o un teléfono (308, 309) y un aparato (302, 305, 310, 311) de emisión de televisión.
11. Método de provisión de interactividad a un usuario, incluyendo el método las etapas de:
recibir en un visor, un primer mensaje procedente de un medio (114, 117; 206; 308, 309) de entrada de usuario de una interfaz de usuario, comprendiendo la interfaz de usuario un dispositivo de salida que tiene una parte (115, 118; 205; 306, 307) de interfaz de usuario de salida visual dispuesta para uso privado, y estando los medios (114, 117; 206; 308, 309) de entrada de usuario dispuestos para su uso por un usuario simultáneamente con la parte (115, 118; 205; 306, 307) de interfaz de usuario de salida, y comprendiendo el mensaje una referencia de sesión y datos;
enrutar dicho primer mensaje hasta una máquina (3a, 3b, 3c; 5, 6a, 6b, 6c; 7a, 7b, 7c, 9a, 9b, 9c) de estado en el visor;
utilizar dicha máquina (3a, 3b, 3c; 5, 6a, 6b, 6c; 7a, 7b, 7c, 9a, 9b, 9c) de estado para generar un segundo mensaje, que comprende al menos una referencia de destino y datos de control, en respuesta a los datos de dicho primer mensaje, y
enrutar dicho segundo mensaje hasta dicho dispositivo de salida dependiendo de dicha referencia de destino.
12. Método según la reivindicación 11, que incluye las etapas de:
recibir un tercer mensaje desde dichos medios (114, 117; 206; 308, 309) de entrada de usuario;
enrutar dicho tercer mensaje hasta dicha máquina (3a, 3b, 3c; 5, 6a, 6b, 6c; 7a, 7b, 7c, 9a, 9b, 9c) de estado;
utilizar dicha máquina (3a, 3b, 3c; 5, 6a, 6b, 6c; 7a, 7b, 7c, 9a, 9b, 9c) de estado para generar un cuarto mensaje, que comprende al menos una referencia de destino y datos, en respuesta a los datos de dicho tercer mensaje; y
enrutar dicho cuarto mensaje hasta un dispositivo (202; 302) distinto de dicha interfaz de usuario.
13. Método según la reivindicación 11 ó 12, en el que dicha máquina (3a, 3b, 3C; 5, 6a, 6b, 6c; 7a, 7b, 7c, 9a, 9b, 9c) de estado se elige entre una pluralidad de máquinas de estado dependiendo de dicha referencia de sesión.
14. Método según la reivindicación 11, 12 ó 13, en el que la o cada máquina (3a, 3b, 3c; 5, 6a, 6b, 6c; 7a, 7b, 7c, 9a, 9b, 9c) de estado comprende una instancia de un objeto (7a, 7b, 7c) de software.
15. Método según la reivindicación 11, 12 ó 13, en el que la actuación de la o de cada máquina (3a, 3b, 3c; 5, 6a, 6b, 6c; 7a, 7b, 7c, 9a, 9b, 9c) de estado está deinida, al menos en parte, por un archivo (6a, 6b, 6c; 9a, 9b, 9c) de control respectivo.
16. Método según la reivindicación 15, en el que el o cada archivo de control comprende datos en forma de lenguaje específico.
17. Método según la reivindicación 16, en el que la o cada máquina (3a, 3b, 3c; 5, 6a, 6b, 6c; 7a, 7b, 7c, 9a, 9b, 9c) de estado comprende un objeto (7a, 7b, 7c) de software, estando los cambios de estado de la máquina (3a, 3b, 3c; 5, 6a, 6b, 6c; 7a, 7b, 7c, 9a, 9b, 9c) de estado definidos en algunos casos por métodos de dicho objeto (7a, 7b, 7c), y en otros casos por el contenido del archivo (9a, 9b, 9c) de control respectivo.
18. Método según una cualquiera de las reivindicaciones 11 a 17, en el que la interfaz de usuario comprende un dispositivo (115, 118) de computación portátil que tiene un programa navegador de web y un medio (114, 117) de teléfono móvil asociado, y dichos mensajes son enviados entre el servidor (101) y el medio (114, 117) de teléfono móvil a través de un servicio de mensajería o de un teléfono (206) y un servidor (202) web o un teléfono (308, 309) y un aparato (302, 305, 310, 311) de emisión de televisión.
19. Aparato servidor para un sistema de distribución de datos que emplea un servicio de mensajería de una red (104) de telefonía móvil y un cliente (113, 116) con un navegador web, comprendiendo el aparato:
medios (103) receptores para recibir mensajes desde una red (104) de telefonía móvil;
medios (103) de envío para enviar mensajes del servicio de mensajería hasta una estación (114, 117) móvil de una red (104) de telefonía móvil; y
un servidor (101) que comprende:
una máquina (3a, 3b, 3c; 5, 6a, 6b, 6c; 7a, 7b, 7c, 9a, 9b, 9c) de estado;
un medio (1; 5; 8) de enrutamiento de entrada, para recibir un mensaje procedente de los medios (114, 117; 206; 308, 309) de entrada de usuario, comprendiendo el mensaje una referencia de sesión y datos, y para enrutar al menos la parte de datos de un mensaje recibido hasta la máquina (3a, 3b, 3c) de estado dependiendo de la referencia de sesión; y
medios (4; 8) de enrutamiento de salida para enrutar mensajes, que comprenden al menos una referencia de destino y datos de control para el dispositivo de salida, y para enrutar dichos datos de control hasta el dispositivo de salida dependiendo de dicha referencia de destino,
en el que la máquina (3a, 3b, 3c; 5, 6a, 6b, 6c; 7a, 7b, 7c, 9a, 9b, 9c) de estado es sensible a los datos enrutados hasta la misma por los medios (1; 5; 8) de enrutamiento de entrada para generar un mensaje que comprende al menos una referencia de destino.
20. Aparato servidor según la reivindicación 19, en el que el medio (103) receptor está configurado para recibir mensajes del servicio de mensajería.
21. Aparato servidor según la reivindicación 19 ó 20, en el que el servidor (101) comprende una base de datos de usuarios de estaciones (113, 116) móviles, y medios para generar instancias (142) de objetos, estando cada instancia relacionada con una página de navegador y con un usuario de terminal móvil, y el medio (1; 5; 8) de enrutamiento de entrada comprende medios (140) para analizar un mensaje recibido por los medios receptores, para determinar a cuál de un conjunto de páginas de navegador soportadas se refiere.
ES99949144T 1998-12-03 1999-09-23 Sistema de medios interactivos. Expired - Lifetime ES2228110T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9826640 1998-12-03
GB9826640A GB2344491A (en) 1998-12-03 1998-12-03 Browsing the Internet using a mobile telephone

Publications (1)

Publication Number Publication Date
ES2228110T3 true ES2228110T3 (es) 2005-04-01

Family

ID=10843618

Family Applications (1)

Application Number Title Priority Date Filing Date
ES99949144T Expired - Lifetime ES2228110T3 (es) 1998-12-03 1999-09-23 Sistema de medios interactivos.

Country Status (12)

Country Link
EP (1) EP1135913B1 (es)
JP (1) JP2002532010A (es)
KR (1) KR20010090860A (es)
CN (1) CN1329791A (es)
AT (1) ATE275310T1 (es)
AU (1) AU6213299A (es)
CA (1) CA2352793A1 (es)
DE (1) DE69919892T2 (es)
ES (1) ES2228110T3 (es)
GB (1) GB2344491A (es)
IL (1) IL143513A0 (es)
WO (1) WO2000033533A1 (es)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI110559B (fi) * 1999-07-07 2003-02-14 Curiositas Ltd Oy Menetelmä www-selaimen kauko-ohjaamiseksi
ATE312453T1 (de) 2000-04-20 2005-12-15 Nokia Corp Verfahren zur übertragung von ressourceninformation
GB0009873D0 (en) * 2000-04-20 2000-06-07 Nokia Corp Improvements in and relating to wireless communication devices
JP4004776B2 (ja) * 2000-11-27 2007-11-07 シャープ株式会社 移動通信環境下のsmsと結合した無線受信機、無線プロトコルシステム、およびインターネット・コンテンツの配信方法
US6910186B2 (en) 2000-12-08 2005-06-21 Kyunam Kim Graphic chatting with organizational avatars
GB2373406A (en) * 2001-03-02 2002-09-18 Nokia Mobile Phones Ltd Wireless transactions
GB2403046A (en) * 2001-03-16 2004-12-22 Nds Ltd A method for literal data access
GB2373677B (en) * 2001-03-19 2005-08-10 Nokia Mobile Phones Ltd Client server system
GB2386792B (en) * 2002-03-19 2005-05-18 Saj Muzaffar Interactive Audio System
US7124163B2 (en) * 2002-05-24 2006-10-17 Convedia Corporation Data server
US20040198403A1 (en) * 2002-07-25 2004-10-07 Pedersen Claus Aagaard Gaming concept for wireless terminals
KR100899755B1 (ko) * 2003-02-15 2009-05-27 삼성전자주식회사 이동통신 네트워크를 통한 인스턴트 메시지 서비스 방법및 시스템
US7862428B2 (en) 2003-07-02 2011-01-04 Ganz Interactive action figures for gaming systems
US7465212B2 (en) 2003-12-31 2008-12-16 Ganz System and method for toy adoption and marketing
JP4367862B2 (ja) 2003-12-31 2009-11-18 ガンズ,ア・パートナーシップ・オブ・トゥー・オンタリオ・コーポレイションズ 仮想世界プレゼンテーションを提供する方法
US7534157B2 (en) 2003-12-31 2009-05-19 Ganz System and method for toy adoption and marketing
DE102004005188A1 (de) * 2004-02-02 2005-09-01 Vodafone Holding Gmbh Übertragung und Wiedergabe von Nachrichten in Mobilfunknetzen
US8656268B2 (en) * 2005-07-01 2014-02-18 Microsoft Corporation Queueing events in an interactive media environment
FR2911751A1 (fr) * 2007-01-18 2008-07-25 Tagattitude Sa Procede et installation de telecommunication pour la fourniture d'un service a l'utilisateur d'un equipement personnel, support de donnees correspondant
CN101505472B (zh) * 2008-02-05 2011-07-20 华为技术有限公司 一种用户数据服务器系统和装置
WO2015039269A1 (zh) * 2013-09-23 2015-03-26 张俊良 一种多级互销商业系统
US11389735B2 (en) 2019-10-23 2022-07-19 Ganz Virtual pet system
US11358059B2 (en) 2020-05-27 2022-06-14 Ganz Live toy system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU5014493A (en) * 1992-08-14 1994-03-15 Dtmf Television, Inc. A participatory television system
EP0742670B1 (en) * 1995-05-08 2002-04-03 The Box Worldwide, Inc. Interactive video system
GB9523869D0 (en) * 1995-11-22 1996-01-24 Philips Electronics Nv Interactive television
US5819019A (en) * 1995-12-01 1998-10-06 Silicon Graphics, Inc. System/method for recovering network resources in a distributed environment, via registered callbacks
CA2239985C (en) * 1995-12-08 2002-05-14 Amsc Subsidiary Corporation Mobile communications terminal for satellite communications system
AU2810597A (en) * 1996-04-29 1997-11-19 Richard J D'Agostino Video directory entertainment and marketing method and apparatus
US6424991B1 (en) * 1996-07-01 2002-07-23 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server communication framework
FI103546B (fi) * 1996-09-16 1999-07-15 Nokia Telecommunications Oy Datapalvelu matkaviestinverkossa
JPH10271223A (ja) * 1997-02-18 1998-10-09 Lucent Technol Inc ウェブ情報へのアクセス提供装置及び方法

Also Published As

Publication number Publication date
DE69919892D1 (de) 2004-10-07
GB2344491A (en) 2000-06-07
JP2002532010A (ja) 2002-09-24
CN1329791A (zh) 2002-01-02
KR20010090860A (ko) 2001-10-19
DE69919892T2 (de) 2005-09-01
EP1135913A1 (en) 2001-09-26
EP1135913B1 (en) 2004-09-01
AU6213299A (en) 2000-06-19
ATE275310T1 (de) 2004-09-15
CA2352793A1 (en) 2000-06-08
GB9826640D0 (en) 1999-01-27
HK1040582A1 (en) 2002-06-14
IL143513A0 (en) 2002-04-21
WO2000033533A1 (en) 2000-06-08

Similar Documents

Publication Publication Date Title
ES2228110T3 (es) Sistema de medios interactivos.
ES2301417B1 (es) Procedimiento para la transmision de informacion adicional en un sistema de comunicacion, dispositivo de conmutacion y estacion de abonado.
JP2011507413A (ja) ユーザと双方向システムとの間の双方向交信を管理するためのシステムと方法
JP2000270007A (ja) ネットワークシステム、ネットワークサーバ及び端末装置
TWM425348U (en) System providing interactive management service
JP2002305607A (ja) コンテンツ提供システム及び方法、並びに中継装置、この中継装置で実行されるプログラム、及びこのプログラムを記録した記録媒体
KR20020079713A (ko) 이동 통신 단말기의 통화 연결 화면 제공 방법 및 시스템
ES2280245T3 (es) Sistema, metodo de distribucion de las informaciones y programa de distribucion del almacenamiento de medios legibles por ordenador.
US9749828B2 (en) Communication system and method for making telephone calls over the internet
JP2001292238A (ja) 移動電話端末広告表示システム
JP2002268970A (ja) アクセス方法および情報処理装置および情報提供装置
US20100180323A1 (en) Stateful server based social networking using mobile devices
US7023972B1 (en) Communication system and communication method sharing communication data among a plurality of communication terminals
KR100858754B1 (ko) 유/무선 통신망을 이용한 정보 공유 방법 및 그 장치
JP2016067001A (ja) 伝送管理システム、伝送システム、管理方法、及びプログラム
WO2004007040A1 (fr) Dispositif d&#39;organisation de distractions de masse
JP2002044620A (ja) 利用者通信システム、利用者通信方法及び利用者検索装置
KR100585839B1 (ko) 이동 통신망에서의 아이알씨 연동을 통한 채팅 서비스방법 및 시스템
CN101395885B (zh) 位置信息通信
JP2004334396A (ja) メーリングリスト運営システム及び方法
JP2001007925A (ja) 地図情報利用方法及び携帯電話機
KR100485449B1 (ko) 무선 화상단말기 간의 화상 이미지 제공 시스템 및 방법
KR100727096B1 (ko) 모바일 단말에서의 콜 발신/수신 서비스 방법 및 장치
KR20250146149A (ko) 영상통화 ui 화면을 이용하여 개인화된 개별영상 메시지를 표시하는 서비스 시스템 및 그의 운용방법
JP2005151229A (ja) 映像流通ネットワークシステムの端末および映像流通方法