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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72427—User 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72445—User 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)
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.
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)
| 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)
| 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 | ウェブ情報へのアクセス提供装置及び方法 |
-
1998
- 1998-12-03 GB GB9826640A patent/GB2344491A/en not_active Withdrawn
-
1999
- 1999-09-23 DE DE69919892T patent/DE69919892T2/de not_active Expired - Fee Related
- 1999-09-23 CA CA002352793A patent/CA2352793A1/en not_active Abandoned
- 1999-09-23 KR KR1020017006955A patent/KR20010090860A/ko not_active Ceased
- 1999-09-23 AU AU62132/99A patent/AU6213299A/en not_active Abandoned
- 1999-09-23 ES ES99949144T patent/ES2228110T3/es not_active Expired - Lifetime
- 1999-09-23 EP EP99949144A patent/EP1135913B1/en not_active Expired - Lifetime
- 1999-09-23 CN CN99814099A patent/CN1329791A/zh active Pending
- 1999-09-23 WO PCT/GB1999/003183 patent/WO2000033533A1/en not_active Ceased
- 1999-09-23 JP JP2000586062A patent/JP2002532010A/ja active Pending
- 1999-09-23 IL IL14351399A patent/IL143513A0/xx unknown
- 1999-09-23 AT AT99949144T patent/ATE275310T1/de not_active IP Right Cessation
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'organisation de distractions de masse | |
| JP2002044620A (ja) | 利用者通信システム、利用者通信方法及び利用者検索装置 | |
| KR100585839B1 (ko) | 이동 통신망에서의 아이알씨 연동을 통한 채팅 서비스방법 및 시스템 | |
| CN101395885B (zh) | 位置信息通信 | |
| JP2004334396A (ja) | メーリングリスト運営システム及び方法 | |
| JP2001007925A (ja) | 地図情報利用方法及び携帯電話機 | |
| KR100485449B1 (ko) | 무선 화상단말기 간의 화상 이미지 제공 시스템 및 방법 | |
| KR100727096B1 (ko) | 모바일 단말에서의 콜 발신/수신 서비스 방법 및 장치 | |
| KR20250146149A (ko) | 영상통화 ui 화면을 이용하여 개인화된 개별영상 메시지를 표시하는 서비스 시스템 및 그의 운용방법 | |
| JP2005151229A (ja) | 映像流通ネットワークシステムの端末および映像流通方法 |