ES2305262T3 - Metodo, unidad de usuario y soporte legible por ordenador que almacena instrucciones para gestionar la comunicacion en un sistema. - Google Patents
Metodo, unidad de usuario y soporte legible por ordenador que almacena instrucciones para gestionar la comunicacion en un sistema. Download PDFInfo
- Publication number
- ES2305262T3 ES2305262T3 ES02746277T ES02746277T ES2305262T3 ES 2305262 T3 ES2305262 T3 ES 2305262T3 ES 02746277 T ES02746277 T ES 02746277T ES 02746277 T ES02746277 T ES 02746277T ES 2305262 T3 ES2305262 T3 ES 2305262T3
- Authority
- ES
- Spain
- Prior art keywords
- user unit
- server
- instruction
- information
- data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000004891 communication Methods 0.000 title claims abstract description 34
- 230000004044 response Effects 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 11
- 230000000694 effects Effects 0.000 claims description 9
- 230000009471 action Effects 0.000 claims description 8
- 230000004913 activation Effects 0.000 description 16
- 230000000875 corresponding effect Effects 0.000 description 10
- 238000013461 design Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000002730 additional effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
- G06F3/0317—Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
- Communication Control (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Mobile Radio Communication Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
Un método para gestionar la comunicación en un sistema, en que el sistema incluye al menos una unidad de usuario, cuya unidad de usuario es capaz de leer información desde una superficie y comunicar al menos parte de ella a un servidor, un servidor de búsqueda que almacena reglas de gestión de información asociadas a información leída desde la superficie, y al menos un servidor de aplicaciones, en que el método incluye los pasos de: recibir, en la unidad de usuario desde el servidor de búsqueda, al menos una instrucción con datos de control que están basados en las reglas de gestión de información y controlan qué información se permite que sea comunicada por la unidad de usuario; y determinar, en la unidad de usuario y sobre la base de la instrucción recibida desde el servidor de búsqueda, cuando se recibe una instrucción desde un servidor de aplicaciones para responder con datos de información específicos, si se permite que los datos de información específicos sean comunicados y, en caso afirmativo, transmitir los datos de información específicos en un mensaje de unidad de usuario a un servidor de aplicaciones receptor.
Description
Método, unidad de usuario y soporte legible por
ordenador que almacena instrucciones para gestionar la comunicación
en un sistema.
La presente invención se refiere a un método,
una unidad de usuario y un soporte legible por ordenador que
almacena instrucciones para gestionar la comunicación en un sistema,
cuyo sistema incluye al menos una unidad de usuario capaz de leer
información desde una superficie y una pluralidad de servidores
preparados para la comunicación con la unidad de usuario.
La información es a menudo escrita y comunicada
por medio de bolígrafo y papel. Esta información basada en papel es,
sin embargo, difícil de gestionar y comunicar eficientemente.
Los ordenadores se usan, en una medida
creciente, para gestionar y comunicar información. La información se
introduce típicamente por medio de un teclado y se almacena en la
memoria interna o externa del ordenador, por ejemplo en un disco
duro. La introducción de la información por medio de un teclado es,
sin embargo, un proceso relativamente lento y hay un riesgo
significativo de que se produzcan errores en ese proceso. Tampoco
es particularmente convenientemente leer cantidades grandes de texto
en una pantalla de ordenador. La información gráfica, tal como
dibujos o imágenes, se introduce a menudo por medio de un lector de
imágenes separado, tal como un escáner o similar, en un proceso que
es costoso en tiempo, incómodo, y que bastante a menudo da
resultados insatisfactorios. Sin embargo, una vez que la
información está en el ordenador, es fácil comunicarla a otros, por
ejemplo con un mensaje de correo electrónico o con un mensaje SMS
(del inglés "Short Message Service", servicio de mensajes
cortos) a través de una conexión de Internet, o con un fax a través
de un módem-fax.
El presente solicitante ha propuesto un remedio
a este problema en la solicitud internacional WO 01/16691, en la
cual el solicitante prevé el uso de un producto con una superficie
de escritura que está dotada de un código de posiciones. El código
de posiciones, que codifica una pluralidad de posiciones en la
superficie, permite la grabación electrónica de información que
está siendo escrita en la superficie de escritura. La información
es escrita por medio de un bolígrafo digital que tiene un sensor que
detecta el código de posiciones y calcula posiciones
correspondientemente a la información escrita. El producto también
tiene uno o más iconos de activación que, cuando son detectados por
el bolígrafo digital, provocan que el bolígrafo inicie una operación
predeterminada respectiva que utiliza la información grabada por el
bolígrafo.
Más específicamente, el producto con
codificación de posiciones tiene una funcionalidad integrada, en el
sentido de que posiciones diferentes en el producto, tales como
posiciones dentro del icono de activación y posiciones dentro de la
superficie de escritura, están dedicadas a diferentes funciones.
Además, el código de posiciones es capaz de codificar coordenadas
de un gran número de posiciones, mucho mayor que el número de
posiciones necesarias en un único producto. Así, puede considerarse
que el código de posiciones forma una superficie virtual que está
definida por todas las posiciones que el código de posiciones es
capaz de codificar, en que posiciones diferentes sobre la superficie
virtual están dedicadas a funciones y/o actores diferentes.
El concepto anterior puede usarse para un número
de propósitos diferentes. La combinación de bolígrafo y producto
con codificación de posiciones puede usarse como dispositivo de
entrada a un ordenador, un PDA (del inglés "Personal Digital
Assistant", asistente personal digital), un teléfono móvil o
similar. Por ejemplo, texto y esquemas escritos en un bloc de notas
con codificación de posiciones pueden ser transferidos a través del
bolígrafo a un ordenador. Adicionalmente, la combinación de
bolígrafo y producto con codificación de posiciones permite una
comunicación global, directamente desde el producto a través del
bolígrafo, mediante el recurso de que el código de posiciones en el
producto está dedicado a una comunicación así. Por ejemplo, la
información registrada por el bolígrafo puede ser transformada a un
mensaje de fax, un mensaje de correo electrónico o un mensaje SMS,
y luego ser enviada desde el bolígrafo a un receptor. Además, la
combinación de bolígrafo y producto con codificación de posiciones
puede usarse en el comercio electrónico. Por ejemplo, el bolígrafo
digital puede usarse para solicitar un artículo desde un anuncio con
codificación de posiciones en una revista, mediante el recurso de
que el código de posiciones en el anuncio está dedicado a un
servicio así.
Típicamente, un sistema diseñado para incluir
bolígrafos digitales, o dispositivos correspondientes, incluirá,
además de los bolígrafos y una pluralidad de productos con
codificación de posiciones, al menos un servidor de búsqueda que
ejecuta un servicio denominado Servicio de Búsqueda en Papel (PLS,
del inglés "Paper Look-up Service") y una
pluralidad de servidores de aplicaciones que actúan como actores o
como gestores de servicios (SH, del inglés "Service Handlers")
en el sistema. El servidor de búsqueda usa una base de datos para
gestionar la superficie virtual definida por el código de
posiciones y la información relacionada con esta superficie
virtual, es decir la funcionalidad de cada posición en la superficie
virtual y el actor asociado a cada posición tal. El servidor de
aplicaciones es un servidor que efectúa un servicio en nombre de un
bolígrafo digital, tal como almacenar o retransmitir información
digital, o que inicia la transmisión de información o de elementos a
un receptor.
En un sistema así, anteriormente descrito, es
muy difícil prever cómo un bolígrafo digital se comunicará con el
único, o los múltiples, servidor(es) de búsqueda y los
múltiples servidores de aplicaciones. El sistema proporciona un
gran número de posibilidades para un actor que desea diseñar un
servicio o aplicación, por ejemplo qué servicios o servidores de
aplicaciones adicionales únicos o múltiples deben ser implicados en
un servicio específico, la interacción entre el bolígrafo digital y
diferentes servicios cuando se usa un servicio específico, qué
acciones tienen que ser realizadas por el bolígrafo digital durante
la utilización de un servicio, etc. También, un operador de un
servidor de búsqueda se beneficiaría de ser capaz de controlar los
datos comunicados y la propia comunicación entre bolígrafos
digitales y diferentes actores, especialmente durante la iniciación
de un servicio. Además, podría haber más de un servidor de búsqueda
en el sistema, con por ejemplo diferentes responsabilidades, de
forma que se necesita un mecanismo para controlar con qué servidor
de búsqueda debe comunicarse un bolígrafo digital.
De este modo, un problema que necesita ser
resuelto es cómo coordinar y controlar la comunicación en un sistema
como el descrito anteriormente de un modo sencillo y eficiente.
Un objetivo de la presente invención es
proporcionar un esquema para controlar la comunicación entre una
unidad de usuario, que es capaz de leer información desde una
superficie, y servidores que ejecutan servicios que apoyan a la
unidad de usuario.
Otro objetivo es proporcionar un protocolo de
comunicación a usar por una unidad de usuario que permita que un
servidor de búsqueda controle la comunicación en la cual está
implicada la unidad de usuario. En particular, un objetivo es
permitir que un servidor de búsqueda tenga control exclusivo con
respecto a qué información, cuya información bien está almacenada o
bien es leída por el bolígrafo digital, debe ser accesible a un
servidor de aplicaciones que se comunica con el bolígrafo
digital.
De acuerdo con la invención, el problema es
resuelto y los objetivos son conseguidos mediante un método con las
características definidas en la reivindicación independiente 1, una
unidad de usuario con las características definidas en la
reivindicación independiente 23 y un soporte legible por ordenador
con las características definidas en la reivindicación independiente
24.
La invención es aplicable en un sistema que
incluye al menos una unidad de usuario capaz de leer información
desde una superficie y comunicar al menos parte de ella a un
servidor, un servidor de búsqueda que almacena reglas de gestión de
información asociadas con información leída desde la superficie y al
menos un servidor de aplicaciones. De acuerdo con la invención, una
unidad de usuario recibe una o más instrucciones con datos de
control desde el servidor de búsqueda. La unidad de usuario es
entonces capaz de determinar, sobre la base de estos datos de
control, qué datos de información específicos deben ser accesibles a
un servidor de aplicaciones, es decir que debe permitirse que sean
comunicados a un servidor de aplicaciones. Entonces, cuando recibe
una instrucción desde un servidor de aplicaciones para responder
con datos de información específicos, la unidad de usuario
determina, sobre la base de los datos de control, si se permite que
estos datos de información específicos sean comunicados. Si este es
el caso, los datos de información específicos son transmitidos en un
mensaje a un servidor de aplicaciones
receptor.
receptor.
Debe entenderse que diferentes servidores de
aplicaciones proporcionarán servicios con diferentes propósitos.
Dependiendo del tipo de servicio, el servicio puede ser barato o
caro (para una unidad de usuario que usa el servicio o para un
actor que proporciona el servicio). Por ejemplo, un servicio barato
podría ser un servicio que simplemente permite que una unidad de
usuario solicite información adicional de algún tipo, mientras que
un servicio caro podría ser un servicio de corretaje en bolsa.
Usando la presente invención, un servidor de
búsqueda en el sistema usará sus instrucciones exclusivas para
controlar qué información puede ser comunicada desde la unidad de
usuario a un servidor de aplicaciones que ejecuta un servicio
particular. Esto también implica que el servidor de búsqueda puede
garantizar qué información almacenada o leída por una unidad de
usuario puede, y qué información no, ser accedida por un servidor de
aplicaciones. El operador del servidor de búsqueda puede tener un
acuerdo con un operador de un servicio implementado por un servidor
de aplicaciones, en cuyo acuerdo el operador del servicio de
búsqueda garantiza ciertos detalles del servicio. Por ejemplo, para
un servicio de corretaje en bolsa, puede garantizarse que sólo al
operador de este servicio puede proporcionársele acceso a un número
de cuenta que está asociado al servicio y está almacenado por la
unidad de usuario. Por otro lado, para un servicio más barato que
sólo es usado para solicitar información, el servidor de
aplicaciones que implementa este servicio de solicitud de
información debe ser sólo capaz de acceder a cuanta menos
información posible de la unidad de usuario, tal como las
propiedades de nombre y dirección postal almacenadas por la unidad
de
usuario.
usuario.
Además, la invención puede permitir que un
servidor de búsqueda controle el nivel de seguridad de la
comunicación en la cual está implicada la unidad de usuario.
Proporcionando una seguridad mayor para algunos servicios, o
algunas suscripciones de unidad de usuario, tales servicios o
suscripciones pueden ser proporcionados a un precio mayor e
incrementar los ingresos de un operador.
\newpage
Los datos de control de una instrucción
específica desde el servidor de búsqueda pueden corresponder bien a
uno o bien a más parámetros que definen una o más propiedades
almacenadas por la unidad de usuario, o a un parámetro que define
una dirección de página, es decir la dirección de un área reducida
de la superficie desde la que la unidad de usuario es capaz de leer
información. En el primer caso, esto implica que se permite a la
unidad de usuario comunique datos de información específicos que
corresponden a un valor de parámetro de propiedad almacenado por la
unidad de usuario. En el último caso, esto implica que se permite a
la unidad de usuario comunicar datos de información específicos que
corresponden a posiciones leídas por la unidad de usuario desde una
página particular.
La unidad de usuario responde, de acuerdo con la
invención, a un conjunto específico de instrucciones que son de uso
exclusivo para el servidor de búsqueda. Estas instrucciones
exclusivas tienen propósitos diferentes, de acuerdo con sus
definiciones y uso como se describirá en la descripción detallada, e
incluyen instrucciones para controlar qué datos de información,
bien almacenados o bien leídos por la unidad de usuario, deben ser
accesibles a un servidor de aplicaciones.
Típicamente, la unidad de usuario puede, a
partir de una instrucción para responder con datos de información
específicos, extraer una dirección que identifica un servidor de
aplicaciones receptor específico. Esta dirección es necesaria
cuando el servidor de aplicaciones receptor de los datos de
información específicos es un servidor diferente que el servidor de
aplicaciones desde el cual se recibió la instrucción para responder
con esos datos de información específicos.
Ventajosamente, la unidad de usuario está
preparada para extraer datos de resultado a partir de una
instrucción subsiguiente recibida desde el servidor de aplicaciones
receptor al cual la unidad de usuario transmitió el mensaje con los
datos de información específicos. Estos datos de resultado son
almacenados por la unidad de usuario y transmitidos posteriormente
al servidor de búsqueda como una indicación del resultado de una
actividad realizada por el servidor de aplicaciones. Así, la
comunicación es controlada con ello de tal modo que permite el
seguimiento de las actividades en las que está implicada una unidad
de usuario. De este modo, un operador en el sistema, por ejemplo el
operador del servidor de búsqueda, tendrá una base para administrar
la facturación del suscriptor de la unidad de usuario y/o un actor,
tal como un operador de un servicio implementado por un servidor de
aplicaciones, para las actividades realizadas y, de esta manera, los
servicios usados en el sistema general.
Un mensaje con instrucciones recibido por la
unidad de usuario y cualquier mensaje con datos de información
transmitido desde la unidad de usuario como resultado del anterior
define un proceso de ida y vuelta de la unidad de usuario. Una
sesión de comunicación en la que la unidad de usuario transmite
datos leídos desde una superficie implica uno o más procesos de ida
y vuelta de este tipo.
Cuando se inicia una sesión de comunicación, la
unidad de usuario ejecuta un conjunto de instrucciones de arranque
pre-almacenadas. Éstas resultan típicamente en que
un mensaje es transmitido al servidor de búsqueda que almacena
reglas de gestión de información asociadas a diferentes áreas de
superficie. El servidor de búsqueda es además responsable del
control inicial del comportamiento de comunicación de la unidad de
usuario. Ventajosamente, la unidad de usuario es capaz de asociar
instrucciones nuevas a su procedimiento de arranque en respuesta a
una instrucción desde el servidor de búsqueda, cuya instrucción está
predefinida para iniciar una acción así. Además, si la unidad de
usuario ha detectado información de un área de superficie específica
que define una operación de envío, las instrucciones
pre-almacenadas asociadas a esta área son
ejecutadas.
Un técnico en la materia reconocerá que la
unidad de usuario de la presente invención puede ser cualquier tipo
de dispositivo de mano que sea capaz de leer información desde una
superficie y comunicar al menos parte de ella a través de una red de
comunicaciones.
Otras características y ventajas de la presente
invención se pondrán de manifiesto a partir de la siguiente
descripción, que se refiere a los dibujos adjuntos, de realizaciones
de ella a modo de ejemplo.
Se describirán ahora más detalladamente
realizaciones a modo de ejemplo de la presente invención con
referencia a los dibujos adjuntos, en los cuales:
la figura 1 muestra los elementos y su
interacción básica en un sistema que incluye unidades de usuario y
servidores que ejecutan servicios de apoyo;
la figura 2 es una vista esquemática del
interior de un bolígrafo digital que es una realización de una
unidad de usuario;
la figura 3 muestra las pilas de protocolo
usadas cuando una unidad de usuario comunica con un servidor de red
remoto o un servidor local;
la figura 4 muestra un diagrama de flujo de la
operación de una unidad de usuario de acuerdo con una realización a
modo de ejemplo; y
la figura 5 muestra un diagrama que ilustra la
operación de una unidad de usuario y su comunicación con servicios
de apoyo durante una sesión de comunicación de acuerdo con otra
realización de la invención.
\vskip1.000000\baselineskip
La infraestructura de un sistema que incluye
unidades de usuario y servicios de apoyo se muestra en la figura 1.
Esta infraestructura y partes de su operación han sido previamente
descritas en las solicitudes de patente internacional
PCT/SE00/02640, PCT/SE00/02641, y PCT/SE0002659 del presente
solicitante.
El sistema de la figura 1 comprende una
pluralidad de unidades de usuario 100, una pluralidad de productos
110 con códigos de posiciones 120, una pluralidad de unidades de
conexión a red 130 y una pluralidad de servidores 140, 150, 160 que
ejecutan servicios de apoyo. Los servidores incluyen al menos un
servidor de búsqueda remoto 140, un servidor de búsqueda local 150
y una pluralidad de servidores de aplicaciones 160. Por facilidad de
descripción, la figura 1 sólo incluye un bolígrafo digital 100 que
es una realización de una unidad de usuario, un producto 110 con un
código de posiciones 120 y un icono de activación 125, un terminal
móvil 130 que es una realización de una unidad de conexión a red,
un servidor de búsqueda remoto 140 que ejecuta un Servicio de
Búsqueda en Papel remoto (servicio PLS remoto), un servidor de
búsqueda local 150 que ejecuta un Servicio de Búsqueda en papel
local (servicio PLS local) y un servidor de aplicaciones 160 que
ejecuta un Servicio de Aplicaciones (AS, del inglés "Application
Service").
El producto 110 está dotado de un patrón de
codificación que es interpretado por el bolígrafo digital 100 como
posiciones en la superficie del producto 110. El patrón de
codificación es tal que codifica posiciones sobre una superficie
total que es mucho mayor que la superficie del producto 110. Sobre
la base de las posiciones detectadas, el bolígrafo digital
determina una o más coordenadas absolutas de la superficie.
La superficie total es dividida ventajosamente
en un número de segmentos, en que cada segmento es dividido en un
número de estantes, cada estante es dividido en un número de libros,
y cada libro es dividido en un número de páginas. El bolígrafo
digital determinará que una coordenada absoluta está situada en una
cierta página. La página puede ser identificada usando el formato
1.2.3.4 (segmento.estante.libro.página), que denota la página 4 del
libro 3, en el estante 2, en el segmento 1. Esta notación define una
dirección de página.
Cuando el usuario mueve el bolígrafo digital 100
a través de la superficie del producto 110, la información es
grabada detectando posiciones sobre la superficie y determinando las
coordenadas absolutas correspondientes. Estas coordenadas
absolutas, o la dirección de página a la que pertenecen las
coordenadas, son comunicadas a través del terminal móvil 130 bien
al servidor PLS local 150, bien al servidor PLS remoto 140 o bien al
servidor de aplicaciones 160. Si el servidor PLS local 150 está
equipado con un transceptor Bluetooth®, el bolígrafo digital 100
puede comunicarse directamente con el servidor PLS local 150. El
servidor PLS remoto almacena en una memoria o en una base de datos
conectada (no mostrada) detalles acerca de todas las coordenadas de
la superficie total. Esto también incluye almacenar detalles acerca
de las páginas en las que está dividida la superficie total.
Similarmente, el servidor PLS local 150 almacena detalles acerca de
coordenadas y páginas de una o más áreas reducidas de superficie,
cuyas áreas de superficie son usadas por un usuario o un número
limitado de usuarios y cuyas áreas de superficie son parte de la
superficie total. El servidor PLS remoto/local contiene software
que procesa la información recibida, que incluye al menos contenido
de coordenadas o contenido de direcciones de página, de acuerdo con
las reglas de gestión que han sido asociadas a una coordenada
particular o a una dirección de página
particular.
particular.
Para el usuario, el sistema es sencillo de usar
ya que el propio usuario no tiene que definir por sí mismo cómo
debe ser gestionada la información grabada. Cuando el usuario inicia
una sesión de comunicación para transmisión de información, la
gestión de esta información es controlada sobre la base de las
coordenadas que el usuario graba y/o la dirección de página en la
cual la información fue grabada por medio del bolígrafo digital
100.
Cuando el usuario del bolígrafo digital 100
desea iniciar la transmisión de información, "marca" el icono
de activación 125. La grabación de la al menos una posición del
icono de activación será reconocida en este caso por la unidad de
usuario 100 como una coordenada de un área de emisión, cuya área de
emisión está asociada a una instrucción de envío particular. Por
defecto, esta instrucción de envío incluye la dirección de un
servidor PLS predefinido, bien el servidor PLS remoto 140 o bien el
servidor PLS local 150. Alternativamente, existen dos áreas de
envío, una asociada al servidor PLS remoto y una asociada al
servidor PLS local.
El patrón de codificación de posiciones de la
superficie total, en la cual la superficie del producto 110
constituye una parte mínima, puede ser construido de diversos modos,
pero tiene la característica general de que si cualquier parte del
patrón de un tamaño mínimo particular es grabada, entonces su
posición en el patrón de codificación de posiciones global pueden
ser determinada sin ambigüedades. Además de ello, el patrón de
codificación de posiciones global está dividido en páginas como se
ha descrito anteriormente.
El patrón de codificación de posiciones es
ventajosamente del tipo que se muestra en la solicitud publicada de
patente internacional WO 00/73983 presentada el 26 de mayo de 2000,
o en la solicitud de patente internacional WO 01/26032 presentada
el 2 de octubre de 2000, en que ambas aplicaciones están cedidas al
presente solicitante. En estos patrones cada posición está
codificada por una pluralidad de marcas o símbolos, y cada símbolo
contribuye a la codificación de varias posiciones. El patrón de
codificación de posiciones está construido a partir de un número
pequeño de tipos de símbolos.
Un ejemplo se muestra en el documento WO
00/73983, en el que un punto más grande representa un "uno" y
un punto más pequeño representa un "cero".
El patrón actualmente más preferido se muestra
en el documento WO 01/26032, en el que cuatro desplazamientos
diferentes de un punto o marca con relación a un punto de una trama
codifican cuatro valores diferentes. Este patrón es construido a
partir de pequeños puntos con un espaciado nominal de 0,3 mm.
Cualquier parte del patrón que contiene 6 x 6 de tales puntos
define un par de coordenadas absolutas. Cada par de coordenadas
absolutas está definido así por un subconjunto de 1,8 mm x 1,8 mm
del patrón de codificación de posiciones. Por medio de la
determinación de la posición de los 6 x 6 puntos detectados por el
sensor en la unidad de usuario que se usa para leer el patrón, una
posición absoluta en la superficie virtual puede ser calculada por
interpolación con una resolución
de 0,03 mm.
de 0,03 mm.
Este patrón de codificación de posiciones es
capaz de codificar un gran número de posiciones absolutas. Como
cada posición está codificada por 6 x 6 puntos, cada uno de los
cuales puede tener uno de cuatro valores, pueden ser codificadas
4^{36} posiciones, que con la distancia nominal anteriormente
mencionada entre los puntos corresponden a una superficie de 4,6
millones de km^{2}.
Como se ha mencionado, la superficie total es
dividida preferentemente, a su vez, en segmentos, estantes, libros
y páginas de un libro. Los diferentes segmentos no solapados están
dedicados a diferentes tipos de gestión de información. El concepto
de
páginas-libros-estantes-segmentos
permite que, por ejemplo, una parte de un libro entero o un estante
entero, etc. esté dedicada a un grupo particular para un cierto tipo
de gestión de información. Por ejemplo, ciertas páginas pueden
estar dedicadas a recogida de información electrónica para una
compañía de transporte, otras páginas a gestión de postales gráficas
electrónicas para una compañía de distribución, otras páginas más a
distribución de información de productos para un comprador de un
producto particular, otras páginas más pueden estar dedicadas a
grabar información escrita a mano que debe siempre ser reenviada a
un servidor predeterminado en Internet y otras páginas más pueden
estar dedicadas al envío de mensajes de correo electrónico, mensajes
SMS, fax o similares de tipo gráfico.
Los servicios de aplicaciones son aplicaciones
en las que la gestión de información es controlada a través de uno
o más servidores de aplicaciones predeterminados en el sistema. Como
se ha indicado anteriormente, una compañía o similar puede recibir
la asignación de una o más páginas, o preferentemente estantes
completos, de la superficie total, tras lo cual la compañía tiene
el derecho exclusivo sobre la parte asignada de la superficie
total. Los servicios de aplicación pueden estar presentes también en
un servidor local, por ejemplo el mismo servidor que el que incluye
el servicio PLS local, y aplicaciones locales diferentes pueden ser
asignadas a páginas diferentes. En el servidor PLS remoto 140, que
gestiona todas las páginas de la superficie total, se observa qué
compañía tiene el derecho sobre qué parte de la superficie total. El
servidor PLS remoto 140, en respuesta a la información recibida del
bolígrafo digital 100, que incluye al menos una coordenada o
dirección de página, determinará a qué grupo, por ejemplo compañía,
está asignada la correspondiente área de superficie y cómo tiene
que ser manejada la información. De modo similar, el servidor local
150, en respuesta a información recibida que incluye al menos una
coordenada o una dirección de página, determinará a qué aplicación
local, por ejemplo aplicación de agenda, correo electrónico o fax,
está asignada la correspondiente área de superficie y cómo tiene que
ser manejada la
información.
información.
La figura 2 muestra un ejemplo de una unidad de
usuario 2. La unidad de usuario comprende una envoltura 11 que
tiene la forma aproximada de un bolígrafo. Un lado corto de la
envoltura tiene una abertura 12 y está destinado a ser mantenido en
contacto con o a una distancia pequeña de una base dotada de un
patrón de codificación de
posiciones.
posiciones.
La unidad de usuario, denominada a continuación
bolígrafo digital, contiene esencialmente una parte de sistema
óptico, una parte de circuitería electrónica y un sistema de
alimentación de energía.
La parte de sistema óptico forma una cámara
digital y comprende al menos un diodo emisor de luz infrarroja 13
para iluminar la superficie de la cual hay que formar una imagen, y
un sensor de área sensible a la luz 14, por ejemplo un sensor CCD
(del inglés "Charge-Coupled Device",
dispositivo acoplado por carga) o un sensor CMOS (del inglés
"Complementary Metal Oxide Semiconductor", semiconductor
complementario de óxido metálico), para grabar una imagen
bidimensional. La unidad de usuario puede contener también un
sistema de lentes (no mostrado). La luz infrarroja es absorbida por
símbolos, preferentemente puntos, en el patrón de codificación de
posiciones, y de este modo los hace visibles al sensor 14. El sensor
graba ventajosamente al menos 100 imágenes por
segundo.
segundo.
La alimentación de energía para el bolígrafo se
obtiene a partir de una pila 15 que está montada en un compartimento
separado en la envoltura. Alternativamente, sin embargo, el
bolígrafo puede estar conectado a una fuente de alimentación
externa.
La parte de circuitería electrónica comprende un
procesador de señales 16 para determinar una posición sobre la base
de la imagen leída por el sensor 14 y más específicamente una unidad
de procesamiento con un microprocesador que está programado para
grabar imágenes del sensor, identificar símbolos en la imagen y
determinar en tiempo real coordenadas absolutas para posiciones en
la superficie sobre la base del subconjunto, del que se ha formado
una imagen, del patrón de codificación de posiciones.
La determinación de posiciones es llevada a cabo
por el procesador de señales 16 que entonces debe tener software
que le permita localizar y descodificar los símbolos en una imagen y
que le permita determinar posiciones a partir de los códigos así
obtenidos. Un técnico en la materia sería capaz de diseñar un
software así a partir de la descripción en la solicitud de patente
WO 01/26032 anteriormente mencionada.
El procesador de señales 16 está programado
también para analizar pares almacenados de coordenadas y
convertirlos en un tren de coordenadas que constituye una
descripción de cómo la unidad de usuario 2 ha sido movida a través
de la superficie que está dotada del patrón de codificación de
posiciones.
El procesador de señales 16 no tiene que
reenviar toda la información grabada al mismo servidor. El
procesador de señales 16 puede ser programado para analizar las
coordenadas grabadas y reenviar sólo la información que está
representada por coordenadas dentro de un área de coordenadas
particular. El procesador de señales 16 puede tener también software
para cifrar la información que es enviada a un servidor.
El bolígrafo digital incluye la definición del
patrón de codificación de posiciones para la superficie total que
puede ser codificada a partir de este patrón. Así, a partir de una
posición determinada, el procesador de señales puede derivar el
área de la superficie total a la que pertenece la posición.
Típicamente, un área así, representa una página específica o un
icono de activación específico en una página.
El bolígrafo digital está preparado para
transmitir información de una superficie con codificación de
posiciones, que es generada por el usuario con el bolígrafo
digital, a un servicio de búsqueda local o remoto, o a un servicio
de aplicaciones. En el sistema según la figura 1, la información es
transmitida inalámbricamente al terminal móvil 130 que es una
realización de la unidad de conexión a red, que a su vez transmite
la información al servidor PLS local 150, al servidor PLS remoto
140 o al servidor de aplicaciones 160. La unidad de conexión a red
es alternativamente un ordenador u otra unidad adecuada que tiene
una interfaz con una red, por ejemplo Internet, una red local de
compañía, o una red telefónica. La unidad de conexión a red 130
puede constituir alternativamente una parte integrada del bolígrafo
100. Todos los datos grabados pueden ser almacenados en una memoria
intermedia 20 que espera la transmisión al servidor receptor 140,
150, 160. Como resultado de ello, el bolígrafo 100 puede trabajar
en un modo autónomo, es decir el bolígrafo 100 envía la información
cuando tiene la oportunidad, por ejemplo cuando establece contacto
con la unidad de conexión a red 130, tras lo cual recupera la
información grabada desde la memoria
intermedia 20.
intermedia 20.
Aparte de transmitir coordenadas absolutas de
posiciones que son generadas analizando trazos de bolígrafo sobre
una superficie, y datos de direcciones de página, el bolígrafo
digital también es capaz de transmitir datos de propiedades de
bolígrafo a un servidor. Las propiedades son almacenadas en la
memoria 20 como valores direccionables o cadenas de caracteres que
pueden ser leídos y escritos por el procesador 16. A continuación
hay una lista no exhaustiva, a modo de ejemplo, de datos de
propiedades de bolígrafo, y propiedades adicionales pueden ser
fácilmente concebibles.
\vskip1.000000\baselineskip
Una unidad de usuario y su unidad de conexión a
red asociada están localizadas normalmente bastante cerca una de
otra. La comunicación entre la unidad de usuario y la unidad de
conexión a red, tal como entre el bolígrafo digital 100 y el
terminal móvil 130 de la figura 1, puede ser establecida por hilo,
por radiación infrarroja o por ondas de radio, por ejemplo de
acuerdo con la tecnología Bluetooth®, o alguna otra tecnología para
la transferencia de información a través de distancias cortas. Para
este propósito, el bolígrafo digital en la figura 2 tiene un
transceptor 19 para la comunicación inalámbrica con unidades
externas, preferentemente un transceptor Bluetooth®.
En la figura 3 se muestran pilas de protocolo a
modo de ejemplo usadas para la comunicación entre una unidad de
usuario 100, tal como un bolígrafo digital, y servicios de apoyo en
diferentes servidores. En el lado izquierdo se muestran pilas de
protocolo a modo de ejemplo para la comunicación a través de
Internet entre un bolígrafo digital (BOLIGRAFO) y un servicio de
búsqueda en papel (PLS), o entre un bolígrafo y un servicio de
aplicaciones (Gestor de Servicio de Aplicaciones) que proporciona
un servicio. En el lado derecho se muestran pilas a modo de ejemplo
para la comunicación entre un bolígrafo digital y un servidor local.
El servidor local es por ejemplo un ordenador personal local que
ejecuta un Servicio de Enrutador de Aplicaciones Local (LARS, del
inglés "Local Application Router Service") (que opera como un
servidor PLS local). Adicionalmente, el servidor local puede
ejecutar un servicio de aplicaciones local.
La comunicación entre el bolígrafo digital y
cualquier servidor local o remoto está basada en un conjunto de
instrucciones predefinidas que en conjunto definen un Protocolo de
Bolígrafo (PP, del inglés "Pen Protocol"). El protocolo PP
está implementado sobre un Protocolo de Bolígrafo de Seguridad SPP
(del inglés "Security Pen Protocol"), que a su vez está
implementado sobre el bien conocido protocolo HTTP (del inglés
"HyperText Transfer Protocol", protocolo de transferencia de
hipertexto). En el caso de Internet, la capa HTTP está implementada
sobre TCP/IP (del inglés "Transmission Control Protocol/Internet
Protocol", protocolo de control de transmisiones/protocolo de
Internet), PPP ("Point to Point Protocol", protocolo punto a
punto) y el perfil RFCOMM (del inglés "Radio Frequency
COMMunication", comunicación por radiofrecuencia) de Bluetooth®,
y en el caso local directamente sobre el perfil RFCOMM de
Bluetooth®. Así, el protocolo de bolígrafo PP es el protocolo que
implementa el esquema de comunicación que está sujeto a la presente
invención. El Protocolo de Bolígrafo de Seguridad SPP es un
protocolo propietario del solicitante de la presente invención y la
interfaz API (del inglés "Application Programmers Interface",
interfaz para programadores de aplicaciones) del bolígrafo añade una
capa de abstracción sobre el protocolo PP a usar por actores cuando
diseñan servicios de apoyo a bolígrafos digitales. Ni el protocolo
SPP ni la interfaz API del bolígrafo están dentro del alcance de la
invención, y no serán descritos adicionalmente. Las otras partes de
las pilas son capas de protocolo de comunicación que son bien
conocidas para un técnico en la materia.
Las instrucciones son recibidas por el bolígrafo
digital en una respuesta HTTP transmitida desde un servidor en
respuesta a una solicitud HTTP transmitida previamente por el
bolígrafo.
Un mensaje recibido en una respuesta HTTP consta
de tres partes: una parte de datos de versión de protocolo que
describe a qué versión del protocolo de bolígrafo se ajusta el
resto de la respuesta, una parte de encabezamiento de respuesta que
contiene metadatos acerca de la respuesta, y una parte de datos de
instrucciones que contiene un número de instrucciones con
parámetros. La parte de datos de instrucciones identifica las
instrucciones por medio de sus identidades predefinidas. Cada
identidad de instrucción está acompañada por uno o más parámetros
identificados por su respectiva identidad de parámetro. Cada
identidad de parámetro está acompañada por el valor del parámetro,
cuyo valor puede ser un valor booleano, un entero, una cadena de
caracteres, una secuencia de bytes, o una matriz de valores de
cualquiera de los tipos previamente mencionados.
Cualquier mensaje de unidad de usuario
transmitido desde el bolígrafo digital es transmitido en una
solicitud HTTP. El mensaje de unidad de usuario es transmitido a un
servidor específico y consta de cuatro partes: una parte de datos
de protocolo que describe a qué versión del protocolo de bolígrafo
se ajusta el resto de la solicitud, una parte de encabezamiento de
solicitud que contiene metadatos acerca de la solicitud, una parte
de datos de página con datos de trazos de bolígrafo grabados, y una
parte de datos de propiedades con una o más propiedades de
bolígrafo. La parte de datos de propiedades identifica las
propiedades por medio de sus identidades predefinidas. Cada
identidad de propiedad predefinida está acompañada por el valor de
la propiedad, cuyo valor puede ser de cualquiera de los tipos
descritos anteriormente para el valor del parámetro en una
respuesta. La parte de encabezamiento de solicitud incluye una
dirección de página y una identidad de pidget (del inglés "paper
widget", widget de papel). La dirección de página es la identidad
de página de la página en la cual está localizada un área de envío,
o cualquier otro icono de activación, que inició la solicitud. Las
posiciones de bit fijas de la dirección de página representan, a su
vez, un segmento, un estante, un libro y una página. Como se ha
descrito previamente, una dirección de página puede denotarse por
"segmento.estante.libro.página". La identidad de pidget es la
identidad del área de envío (o icono de activación) en la página en
cuestión. Una identidad así es necesaria ya que más de un icono de
activación puede estar situado en la misma página. Cualquier
solicitud desde el bolígrafo digital durante la misma sesión de
envío, es decir durante la misma transacción, iniciada por una
cierta área de envío en una cierta página incluirá la dirección de
página de la página y el pidget del área de envío.
La definición de cada instrucción que está
incluida en el protocolo de bolígrafo se almacena en la memoria 20
del bolígrafo digital 100. Cuando el bolígrafo digital debe realizar
la acción o las acciones asociada(s) a una instrucción
específica, el procesador 16 se dirigirá a la correspondiente
definición en la memoria 20, cuya definición controlará la
operación del procesador 16 y, con ello, del bolígrafo digital 100.
La operación del bolígrafo digital en general, y las operaciones de
acuerdo con las instrucciones de protocolo de bolígrafo en
particular, están controladas por componentes ejecutables por
ordenador almacenados por la memoria 20. Por lo tanto, la memoria
20 es una realización de un soporte legible por ordenador que
almacena componentes para provocar que un bolígrafo digital 100
opere de acuerdo con la presente invención. Sin embargo, un soporte
legible por ordenador así podría ser también externo al bolígrafo
digital, bien con el fin de ser accedido por el bolígrafo digital,
o bien con el fin de ser transferido y descargado a la memoria 20
del bolígrafo 100 en una etapa posterior.
A continuación viene una lista no exhaustiva de
instrucciones incluidas por el protocolo de bolígrafo PP. La lista
está dividida en instrucciones exclusivas del servidor PLS remoto y
en instrucciones públicas. Las últimas significan que cualquier
servidor, un servidor PLS remoto o local así como cualquier servidor
de aplicaciones, puede controlar las acciones de un bolígrafo
digital por medio de estas instrucciones.
\vskip1.000000\baselineskip
El parámetro direcciónPágina define la(s)
página(s) que puede(n) ser accedida(s) en una
instrucción añadirDatosPágina en la misma sesión.
\vskip1.000000\baselineskip
Uno o más parámetros de identidad de propiedades
definen qué propiedades de bolígrafo pueden ser accedidas en una
instrucción añadirDatosPropiedades en la misma sesión.
\vskip1.000000\baselineskip
Manda una solicitud al localizador url
suministrado. La instrucción implica que se usa el protocolo SPP
subyacente. Esta instrucción puede incluir también un parámetro que
define la versión mínima, y un parámetro que define la versión
máxima, del protocolo SPP a usar. Además, la instrucción puede
incluir dos parámetros que definen las versiones mínima y máxima del
Protocolo de Bolígrafo a usar.
\vskip1.000000\baselineskip
Manda una solicitud al localizador url definido
por la propiedad URL_PLS. La instrucción implica que se usa el
protocolo SPP subyacente.
\vskip1.000000\baselineskip
- regApVertical (direcciónPágina,
scriptInstrucciones)
Asocia una página o páginas definidas por el
parámetro direcciónPágina a un conjunto de instrucciones
definido por el parámetro scriptInstrucciones. Estas
instrucciones se ejecutarán entonces cuando se detecten posiciones
del área de superficie específica, tal como un área de envío.
\vskip1.000000\baselineskip
Asigna un valor específico a una cierta
propiedad. El valor puede ser un valor booleano, un entero, una
cadena de caracteres, una secuencia de bytes, o una matriz de
valores de cualquiera de los tipos anteriormente mencionados.
\vskip1.000000\baselineskip
La instrucción comienza una transacción de
aplicación. El parámetro identifica la transacción y es
preferentemente igual a la hora GMT (del inglés "Greenwich Mean
Time", hora del meridiano de Greenwich) en milisegundos desde el
año 1970, contados por el servidor PLS remoto.
\vskip1.000000\baselineskip
Manda una solicitud al localizador url definido
por la propiedad URL_LOCAL.
\vskip1.000000\baselineskip
Aborta una transacción de aplicación.
\vskip1.000000\baselineskip
- añadirDatosPágina
(direcciónPágina)
El parámetro direcciónPágina especifica
la página desde la que los datos grabados tienen que ser añadidos a
un mensaje de unidad de usuario en una solicitud. Esta instrucción
requiere que el servidor que transmite la instrucción tenga el
derecho a leer los correspondientes datos de página. Esto implica
que el servidor es el servidor PLS remoto, o que una instrucción
otorgarAccesoDatosPágina ha sido llamada por el servidor PLS
remoto anteriormente en la sesión, o que la sesión es una sesión
local y es legible por el servidor PLS local.
\vskip1.000000\baselineskip
Uno o más parámetros que identifican una o más
propiedades de bolígrafo. Los valores de estas propiedades serán
incluidos en (añadidos a) un mensaje de unidad de usuario de una
solicitud. Esta instrucción requiere que el servidor que transmite
la instrucción tenga el derecho a leer las propiedades
correspondientes. Esto implica que el servidor es el servidor PLS
remoto o que una instrucción otorgarAccesoPropiedades ha sido
llamada por el servidor PLS remoto previamente en la misma
sesión.
\vskip1.000000\baselineskip
Consuma una transacción, es decir dice al
bolígrafo que el servicio ha sido realizado con éxito por el
servidor.
\vskip1.000000\baselineskip
Manda una solicitud al localizador suministrado.
La instrucción implica que se usa el protocolo SPP subyacente.
\vskip1.000000\baselineskip
Manda una solicitud al localizador url
suministrado.
\vskip1.000000\baselineskip
Con referencia a la figura 4, se muestra un
diagrama de flujo de la operación de una unidad de usuario de
acuerdo con una realización a modo de ejemplo. Obsérvese que las
instrucciones y los parámetros descritos a continuación son meros
ejemplos. Muchos de éstos pueden ser alterados o reemplazados por
otras instrucciones y/o parámetros adecuados descritos aquí, sin
salirse de la realización de la figura 4.
En el paso 400 el bolígrafo digital 100 graba
aquellas partes del patrón con codificación de posiciones que están
dentro del campo de visión del sensor de área 14 durante trazos de
bolígrafo realizados con el bolígrafo digital por el usuario sobre
una superficie 120 que tiene un patrón así. El procesador 16
convierte las posiciones detectadas sobre la superficie con el
patrón de codificación de posiciones en coordenadas absolutas y
genera una secuencia de coordenadas que describen cómo fue movido
el bolígrafo digital sobre la superficie durante los trazos de
bolígrafo. Esta secuencia de coordenadas es conocida también como
datos de trazos de bolígrafo. Sobre la base de estas coordenadas y
el conocimiento de cómo las coordenadas definen la superficie total
del patrón con codificación de posiciones, el procesador determina
la correspondiente dirección de página de la superficie específica
a la que pertenecen las coordenadas. Si algunas coordenadas
pertenecen a un icono de activación 125, tal como un área de envío,
la identidad del área de envío correspondiente, es decir la
identidad del pidget, es determinada sobre la base del conocimiento
de qué coordenadas definen qué cajas de activación.
En el paso 410, el procesador 16 del bolígrafo
digital 100 ejecuta un conjunto de instrucciones de arranque
pre-almacenadas con un número de parámetros
pre-almacenados que definen qué datos hay que
transmitir a qué servidor. Por ejemplo, si el procesador detecta
que algunas coordenadas grabadas pertenecen a un icono de
activación 125 que define un área de envío de Internet, las
instrucciones de arranque pre-almacenadas que están
asociadas a este área de envío son ejecutadas. Por ejemplo, las
instrucciones de arranque podrían ser:
\vskip1.000000\baselineskip
- -
- añadirDatosPropiedades (ID_BOLIGRAFO,
- DATOS_TRANSACCION, ID_FABRICANTE_BOLIGRAFO,
- ULTIMA_ACTUALIZACION_PROPIEDADES)
- -
- solicitudBúsquedaInternet (URL_PLS).
\vskip1.000000\baselineskip
La primera instrucción define qué datos de
propiedades hay que transmitir. La segunda instrucción ordenará al
bolígrafo digital transmitir una solicitud HTTP con un mensaje de
unidad de usuario que incluye los datos de propiedades
especificados al servidor PLS remoto 140. El servidor receptor está
identificado por un localizador URL predefinido almacenado en la
propiedad URL_PLS.
Alternativamente, si las coordenadas detectadas
pertenecen a un icono de activación 125 que define un área de envío
local, el mensaje de unidad de usuario debe ser transmitido al
servidor PLS local 150 y las instrucciones de arranque
pre-almacenadas podrían ser como sigue:
\vskip1.000000\baselineskip
- -
- añadirDatosPropiedades (ID_BOLIGRAFO)
- -
- solicitudBúsquedaLocal (URL_LOCAL)
\vskip1.000000\baselineskip
Preferentemente, y como se ha indicado
anteriormente, la instrucción de arranque que define qué datos de
propiedades hay que transmitir al servidor PLS remoto incluye la
propiedad DATOS_TRANSACCION. Esta propiedad incluye la identidad de
la última transacción así como el estatus de la última transacción.
Este estatus indica el resultado (por ejemplo, exitosa, abortada,
pendiente) de una actividad de un servidor de aplicaciones implicado
en la última transacción. Ventajosamente, el servidor PLS remoto
receptor puede basar la facturación en los datos de transacción
recibidos, por ejemplo facturando al suscriptor del bolígrafo si la
transacción ha sido exitosa, pero no si el estatus indica que la
transacción, por algún motivo, ha sido abortada. Esta acción de
incluir el resultado de la última transacción en el mensaje a
transmitir se indica como paso 420 en la figura 4. Otra propiedad
que preferentemente es transmitida por medio de las instrucciones de
arranque es la ULTIMA_ACTUALIZACION_PROPIEDADES. Esta propiedad
puede ser usada por el servidor PLS remoto 140 receptor para
determinar si contiene cualquier información actualizada que debe
ser almacenada por el bolígrafo como un valor actualizado de
propiedades de bolígrafo. Si es así, el servidor 140 iniciará en
una etapa posterior el almacenamiento de valores nuevos para una o
más propiedades usando la instrucción asignarPropiedad, como
se discutirá posteriormente.
La transmisión de la solicitud HTTP con el
mensaje de unidad de usuario al servidor se indica como paso 430.
Como se ha descrito previamente, cualquier mensaje de unidad de
usuario incluirá la dirección de página del área de superficie
sobre la cual fueron detectados trazos de bolígrafo y, si algún
icono de activación fue "marcado" por un trazo de bolígrafo,
la identidad de este icono de activación (identidad de pidget).
Realizando la transmisión de la solicitud HTTP, el bolígrafo
digital inicia una sesión de envío. Así, la sesión de envío puede
ser iniciada por el bolígrafo que envía la solicitud HTTP a un
servidor PLS bien remoto o bien local usando la instrucción
solicitudBúsquedaInternet o la instrucción solicitudBúsquedaLocal,
respectivamente. Cuando se envía la solicitud HTTP por medio de la
instrucción solicitudBúsquedaInternet, esto implica que el
Protocolo de Bolígrafo PP usará el Protocolo de Bolígrafo de
Seguridad SPP subyacente. El protocolo SPP proporciona cifrado de
la comunicación entre el bolígrafo digital y el servidor PLS remoto.
Debido a este cifrado, es posible que el servidor PLS remoto
transmita una instrucción de un conjunto reducido predefinido de
instrucciones al bolígrafo digital, es decir las instrucciones
exclusivas del servidor PLS remoto, y que el bolígrafo digital esté
seguro de que cualquier instrucción de este conjunto reducido haya
sido recibida desde el servidor PLS remoto específico, y no desde
cualquier otro servidor. Este cifrado puede emplear técnicas que
son bien conocidas para un experto en la técnica de cifrado. En
cualquier caso, la implementación del protocolo SPP está fuera del
alcance de la presente invención.
Cualquier instrucción recibida por el bolígrafo
digital 100 es recibida en el paso 440 en una respuesta HTTP desde
el servidor al que el bolígrafo realizó una solicitud HTTP. Una
variedad de instrucciones puede ser recibida en la respuesta HTTP.
La respuesta incluirá típicamente instrucciones del conjunto
reducido de instrucciones discutido. Ejemplos típicos de tales
instrucciones incluyen una instrucción para actualizar una propiedad
almacenada en el bolígrafo, una instrucción para asociar un
conjunto de instrucciones de arranque a un área de envío, o un
número de instrucciones que inician una cierta transacción de
aplicación.
Con la instrucción
asignarPropiedad(IDpropiedad, valor), el servidor PLS
remoto actualiza una o más propiedades almacenadas por el
bolígrafo. Por ejemplo, si el bolígrafo en su solicitud transmitió
la propiedad ULTIMA_
ACTUALIZACION_PROPIEDADES con un valor de 2, el servidor receptor comparará este valor con un valor de actualización de propiedades correspondiente almacenado por el servidor. Si hay alguna diferencia entre los valores, el servidor es capaz de identificar qué propiedad tiene que ser actualizada. Por ejemplo, cuando el bolígrafo recibe la instrucción asignarPropiedad (CORREO_ELECTRONICO_PROPIETARIO_BOLIGRAFO, mr_X@empresa_Y.com) en la respuesta HTTP, esto significa que el bolígrafo almacenará la nueva dirección de correo electrónico de su propietario. Esta actividad es realizada en el paso 450. Si no se recibieran más instrucciones, el bolígrafo terminará la sesión en el paso 470, tras lo cual la ejecución retorna al paso 400 para el procesamiento de nuevas posiciones grabadas desde la superficie.
ACTUALIZACION_PROPIEDADES con un valor de 2, el servidor receptor comparará este valor con un valor de actualización de propiedades correspondiente almacenado por el servidor. Si hay alguna diferencia entre los valores, el servidor es capaz de identificar qué propiedad tiene que ser actualizada. Por ejemplo, cuando el bolígrafo recibe la instrucción asignarPropiedad (CORREO_ELECTRONICO_PROPIETARIO_BOLIGRAFO, mr_X@empresa_Y.com) en la respuesta HTTP, esto significa que el bolígrafo almacenará la nueva dirección de correo electrónico de su propietario. Esta actividad es realizada en el paso 450. Si no se recibieran más instrucciones, el bolígrafo terminará la sesión en el paso 470, tras lo cual la ejecución retorna al paso 400 para el procesamiento de nuevas posiciones grabadas desde la superficie.
Con la instrucción
regApVertical(direcciónPágina, scriptInstrucciones) un
nuevo conjunto de instrucciones de arranque es asociado a un área
de envío. Por ejemplo, la instrucción podría referirse a todas las
páginas en un cierto segmento/estante/libro. Esto se indica con la
dirección de página, por ejemplo 2.3.4.* significa todas las
páginas del libro 4, estante 3, segmento 2. El script de
instrucciones incluye parámetros de coordenadas y define qué
instrucciones hay que ejecutar cuando el bolígrafo detecta la
grabación de posiciones de un área de envío definida por estas
coordenadas en todas las páginas definidas por la dirección de
página 2.3.4.*. Debe observarse que pueden asociarse nuevas
instrucciones a cualquier caja de activación en cualquier página de
modo similar. El bolígrafo almacena las nuevas instrucciones en el
paso 450. Si no se recibieran más instrucciones, el bolígrafo
terminaría la sesión en el paso 470, tras lo cual la ejecución
retorna al paso 400 para el procesamiento de nuevas posiciones
grabadas desde la superficie.
Otro ejemplo típico de instrucciones que son
recibidas desde el servidor PLS remoto en el paso 440 son las
instrucciones que inician una transacción de aplicación y que
implican típicamente la transmisión adicional de datos de trazos de
bolígrafo desde el bolígrafo digital. Las instrucciones son
transmitidas por el servidor PLS remoto de acuerdo con sus reglas
de gestión almacenadas que están asociadas a la dirección de página
recibida con la solicitud HTTP desde el bolígrafo. Un ejemplo de
las instrucciones recibidas cuando se inicia una transacción de
aplicación son (todos los parámetros excluidos):
\vskip1.000000\baselineskip
- comenzarTransacción;
- añadirDatosPropiedades;
- añadirDatosPágina; y
- solicitudAplicaciónInicialInternet.
\vskip1.000000\baselineskip
De nuevo, la ejecución de acuerdo con las
definiciones de estas instrucciones se realiza en el paso 450.
La instrucción
comenzarTransacción(IDtrans) comienza la nueva
transacción. El parámetro IDtrans identifica la transacción
comenzada y es almacenado por el bolígrafo como parte de una
propiedad DATOS_TRANSACCION para esta transacción. Ventajosamente,
la identidad de transacción es una etiqueta de tiempo, por ejemplo
la hora GMT (hora del meridiano de Greenwich) actual en
milisegundos desde el año 1970. Ventajosamente, el bolígrafo puede
usar la identidad de transacción para sincronizar su reloj interno
con el reloj del servidor PLS remoto que envió la instrucción.
La instrucción
añadirDatosPropiedades(ID_BOLIGRAFO,
CORREO_ELECTRONICO_PROPIETARIO_BOLIGRAFO) implica que
las propiedades de bolígrafo identificadas son incluidas por el
bolígrafo en el siguiente mensaje de unidad de usuario a
transmitir. Como la instrucción en este ejemplo es llamada por el
servidor PLS remoto, no tiene que estar precedida por una
instrucción otorgarAccesoPropiedades.
La instrucción
añadirDatosPágina(direcciónPágina) implica que datos
de trazos de bolígrafo de la página identificada son incluidos por
el bolígrafo en el siguiente mensaje de unidad de usuario a
transmitir. La instrucción es llamada aquí por el servidor PLS
remoto y no tiene que estar precedida por una instrucción
otorgarAccesoDatosPágina.
La instrucción
solicitudAplicaciónInicialInternet (url) implica que el
bolígrafo transmite el mensaje de unidad de usuario en una
solicitud HTTP al servidor de aplicaciones identificado por el
localizador url específico, y cuyo servidor de aplicaciones está
implicado en la transacción actual.
\newpage
La ejecución de las instrucciones anteriores
hasta la transmisión de la solicitud HTTP desde el bolígrafo se
realiza en el paso 450, tras lo cual la ejecución del bolígrafo
retorna al paso 430 en el cual el mensaje de unidad de usuario, en
respuesta a la instrucción
solicitudAplicaciónInicialInternet, es transmitido al
servidor identificado.
Por ejemplo, si un usuario de un bolígrafo
digital ha realizado varios trazos de bolígrafo en un anuncio
impreso en una superficie con un patrón de codificación de
posiciones y luego inicia una sesión de envío "marcando" un
área de envío del anuncio, las instrucciones de arranque
anteriormente descritas resultarán en una solicitud HTTP al
servidor PLS remoto que incluye la dirección de página de la
superficie sobre la cual se imprimió el anuncio y la identidad del
área de envío "marcada". De acuerdo con las instrucciones de
gestión asociadas a la página, la respuesta HTTP desde el servidor
PLS remoto incluye instrucciones para controlar el bolígrafo para
transmitir una solicitud HTTP al actor asociado a la página,
típicamente un servicio ejecutado por el anunciante en un servidor
de aplicaciones. En este ejemplo, como resultado de las
instrucciones anteriormente recibidas, el bolígrafo transmitirá su
identidad de bolígrafo, la dirección de correo electrónico de su
propietario y los datos de trazos de bolígrafo realizados sobre el
anuncio al anunciante. Esto podría resultar por ejemplo en una
solicitud de un producto o en una solicitud de información adicional
de un producto, etc.
Las actividades realizadas por el servicio del
servidor de aplicaciones como consecuencia de la solicitud HTTP
transmitida desde el bolígrafo al servidor de aplicaciones en el
paso 430 pueden bien ser exitosas o bien, por algún motivo, fallar.
Si la actividad fue exitosa, esto se comunica de vuelta al bolígrafo
en el paso 440 con una instrucción
consumarTransacciónVerbosa. El bolígrafo almacenará entonces
en el paso 460 una indicación de la transacción exitosa en la
propiedad DATOS_TRANSACCION asociada a esta transacción. Después de
ello, el bolígrafo pone fin a la sesión en el paso 470 y la
ejecución retorna al paso 400. La siguiente vez que el usuario por
alguna razón inicie una sesión de envío, la propiedad
DATOS_TRANSACCION de esta última transacción será incluida en la
solicitud HTTP al servidor PLS remoto.
Con el fin de ilustrar adicionalmente una
realización a modo de ejemplo de la invención, se hace referencia a
la figura 5. La figura 5 muestra un bolígrafo digital 500, un
servidor PLS remoto 510, un servidor de aplicaciones 520 y otro
servidor de aplicaciones 530. Un actor, el anunciante "X"
ejecuta un servicio de aplicaciones en el servidor de aplicaciones
520 que tiene el localizador URL "anunciante_x.com" y otro
servicio de aplicación es ejecutado por un comerciante local
"Y" en el servidor 530 con el localizador URL
"comerciante_local_y.com".
Recordando el ejemplo descrito en conexión con
la figura 4, el usuario realizó algunos trazos de bolígrafo sobre
un anuncio y "marcó" un área de envío en el mismo. El paso 1 de
la figura 5 muestra la solicitud HTTP que es enviada entonces al
servidor PLS remoto 510 y que incluye la dirección de página de la
superficie sobre la cual fue imprimido el anuncio y la identidad
del área de envío "marcada". El paso 2 muestra la respuesta
HTTP transmitida desde el servidor PLS remoto 510 de vuelta al
bolígrafo 500 con instrucciones de acuerdo con las reglas de
gestión asociadas a la página en cuestión. En este caso las
instrucciones son:
\vskip1.000000\baselineskip
- -
- comenzarTransacción(IDtrans);
- -
- otorgarAccesoDatosPágina(1.2.3.4);
- -
- otorgarAccesoPropiedades(ID_BOLIGRAFO, NOMBRE_PROPIETARIO_BOLIGRAFO, DIRECCION FACTURACION_PROPIETARIO_BOLIGRAFO);
- -
- añadirDatosPropiedades(ID_BOLIGRAFO, DIRECCION_PROPIETARIO_BOLIGRAFO); y
- -
- solicitudAplicaciónInicialInternet(anunciante_x.com).
\vskip1.000000\baselineskip
Una diferencia respecto al ejemplo de la figura
4 es la transmisión de una instrucción
otorgarAccesoDatosPágina en vez de la instrucción
añadirDatosPágina. La instrucción
otorgarAccesoDatosPágina definirá con un parámetro de
dirección de página la página 1.2.3.4 (que es la página de la
superficie sobre la cual está impreso el anuncio) a la que puede
acceder cualquier instrucción añadirDatosPágina más tarde en
la misma sesión, y, por lo tanto, durante la transacción de
aplicación. Del mismo modo, la instrucción
otorgarAccesoPropiedades definirá a qué propiedades puede
acceder un servidor durante la transacción de aplicación. La
instrucción resultará en una solicitud HTTP, paso 3, desde el
bolígrafo 500 al servidor de aplicaciones 520 usando el localizador
URL anunciante_x.com y con las propiedades ID_BOLIGRAFO y
DIRECCION_PROPIETARIO_BOLIGRAFO en el mensaje de unidad de
usuario.
Supóngase ahora que este servicio receptor es un
servicio central ejecutado por el anunciante y que el anunciante
quiere dirigir a cualquier usuario hacia un comerciante local. Por
ejemplo examinando la dirección del propietario del bolígrafo, el
servicio determina el comerciante local más cercano al propietario
del bolígrafo para el producto anunciado. El servicio de
anunciante_x.com transmitirá en el paso 4 una respuesta HTTP de
vuelta al bolígrafo 500 con las instrucciones:
\newpage
- -
- añadirDatosPágina(1.2.3.4);
- -
- añadirDatosPropiedades(ID_BOLIGRAFO, NOMBRE_PROPIETARIO_BOLIGRAFO, DIRECCION_FACTURACION_PROPIETARIO_BOLIGRAFO) y
- -
- solicitudAplicaciónInternet(comerciante_local_y.com)
\vskip1.000000\baselineskip
Estas instrucciones resultan en una solicitud
HTTP, paso 5, desde el bolígrafo 500 al servicio ejecutado por
comerciante_local_y.com. La solicitud incluye un mensaje de
unidad de usuario con los datos de trazos de bolígrafo desde la
página 1.2.3.4 y los datos de propiedades ID_BOLIGRAFO,
NOMBRE_PROPIETARIO_BOLIGRAFO,
DIRECCION_FACTURACION_PROPIETARIO_BOLIGRAFO. Si la solicitud del
producto puede ser atendida, el servicio del comerciante local en
el paso 6 responde a la solicitud con una respuesta HTTP desde el
servidor de aplicaciones 530 al bolígrafo 500 que incluye una
instrucción consumarTransacciónVerbosa que incluye un
conjunto de parámetros de consumación. Como se ha descrito
previamente, esta información que indica que el servicio fue
realizado exitosamente será transmitida desde el bolígrafo 500 al
servidor PLS remoto 510 durante la siguiente sesión de envío
iniciada por el bolígrafo, indicada como paso 7. Sobre la base de
esta información, el operador del servidor PLS remoto 510 puede
facturar a la suscripción de usuario por usar el servicio
proporcionado por el operador.
Este ejemplo ilustra que una y la misma sesión
puede constar de más de un proceso de ida y vuelta, en que un
proceso de ida y vuelta individual consta de una solicitud HTTP
transmitida por el bolígrafo a un servidor y una respuesta HTTP
siguiente recibida por el bolígrafo desde el mismo servidor.
Debe entenderse que son posibles muchas
alteraciones, modificaciones y acciones similares diferentes con
respecto a las propiedades de bolígrafo existentes, las
instrucciones existentes y sus parámetros asociados y con respecto a
la secuencia exacta de las instrucciones.
Así, incluso aunque la invención ha sido
descrita con referencia a realizaciones específicas de ella a modo
de ejemplo, no se pretende que estas realizaciones limiten el
alcance de la invención, definido por las reivindicaciones
adjuntas.
Claims (24)
1. Un método para gestionar la comunicación en
un sistema, en que el sistema incluye al menos una unidad de
usuario, cuya unidad de usuario es capaz de leer información desde
una superficie y comunicar al menos parte de ella a un servidor, un
servidor de búsqueda que almacena reglas de gestión de información
asociadas a información leída desde la superficie, y al menos un
servidor de aplicaciones, en que el método incluye los pasos de:
- recibir, en la unidad de usuario desde el servidor de búsqueda, al menos una instrucción con datos de control que están basados en las reglas de gestión de información y controlan qué información se permite que sea comunicada por la unidad de usuario; y
- determinar, en la unidad de usuario y sobre la base de la instrucción recibida desde el servidor de búsqueda, cuando se recibe una instrucción desde un servidor de aplicaciones para responder con datos de información específicos, si se permite que los datos de información específicos sean comunicados y, en caso afirmativo, transmitir los datos de información específicos en un mensaje de unidad de usuario a un servidor de aplicaciones receptor.
2. El método según la reivindicación 1, en que
el servidor de búsqueda es un servidor de red remoto o un servidor
local que ejecuta un servicio de búsqueda que almacena reglas de
gestión de información asociadas a información leída desde la
superficie, y en que el servidor de aplicaciones es cualquier
servidor que ejecuta una aplicación preparada para realizar una
actividad de servicio en respuesta a un mensaje de unidad de usuario
desde una unidad de
usuario.
usuario.
3. El método según la reivindicación 1 ó 2, en
que la unidad de usuario, cuando recibe la instrucción con datos de
control, realiza las acciones asociadas a la instrucción de acuerdo
con una definición proporcionada por un conjunto de instrucciones
almacenado por la unidad de usuario.
4. El método según una cualquiera de las
reivindicaciones 1-3, en que el paso de
determinación incluye extraer una dirección desde la instrucción
recibida desde el servidor de aplicaciones, cuya dirección
identifica el servidor de aplicaciones receptor del mensaje de
unidad de usuario.
5. El método según una cualquiera de las
reivindicaciones 1-4, en que la unidad de usuario
determina que la instrucción recibida con datos de control sea
incluida en un conjunto específico de instrucciones exclusivamente
para uso por el servidor de búsqueda.
6. El método según una cualquiera de las
reivindicaciones 1-5, en que los datos de control
corresponden a uno o más parámetros que definen una o más
propiedades almacenadas por la unidad de usuario.
7. El método según una cualquiera de las
reivindicaciones 1-6, en que dichos datos de
información específicos incluyen al menos un valor de parámetro de
propiedad almacenado por la unidad de usuario.
8. El método según una cualquiera de las
reivindicaciones 1-7, en que los datos de control
corresponden a un parámetro que define una dirección de página.
9. El método según una cualquiera de las
reivindicaciones 1-8, en que dichos datos de
información específicos incluyen coordenadas de posiciones leídas
por la unidad de usuario desde una superficie.
10. El método según una cualquiera de las
reivindicaciones 1-9, en que el paso de recibir una
instrucción con datos de control desde el servidor de búsqueda está
precedido por un paso de transmitir un mensaje de unidad de usuario
desde la unidad de usuario al servidor de búsqueda en conexión con
la ejecución, por la unidad de usuario, de un conjunto de
instrucciones de arranque pre-almacenadas.
11. El método según una cualquiera de las
reivindicaciones 1-10, en que la unidad de usuario
realiza los pasos adicionales de:
- recibir, desde el servidor de aplicaciones al que fue transmitido el mensaje de unidad de usuario, una instrucción con datos de resultado;
- extraer los datos de resultado desde la instrucción recibida desde el servidor de aplicaciones;
- almacenar los datos de resultado como una indicación de un resultado de una actividad realizada por el servidor de aplicaciones; y
- transmitir dicho resultado en un mensaje siguiente de unidad de usuario al servidor de búsqueda en conexión con la ejecución, por la unidad de usuario, de un conjunto de instrucciones de arranque pre-almacenadas.
\newpage
12. El método según la reivindicación 10 u 11,
en que la transmisión de un mensaje de unidad de usuario a un
servidor seguida por la recepción de al menos una instrucción desde
el mismo servidor define un proceso de ida y vuelta de unidad de
usuario, en que una sesión iniciada por la unidad de usuario para
enviar datos desde la unidad de usuario incluye bien un proceso de
ida y vuelta o bien un número de procesos de ida y vuelta
subsiguientes.
13. El método según una cualquiera de las
reivindicaciones 10-12, en que las instrucciones de
arranque pre-almacenadas incluyen un parámetro de
dirección que identifica el servidor de búsqueda y un conjunto de
parámetros de propiedades de unidad de usuario que definen qué
propiedades de unidad de usuario deben ser incluidas en el mensaje
de unidad de usuario transmitido al servidor de búsqueda en conexión
con la ejecución de las instrucciones de arranque
pre-almacenadas.
14. El método según una cualquiera de las
reivindicaciones 10-13, en que la unidad de usuario,
a continuación de la ejecución de las instrucciones de arranque
pre-almacenadas, está preparada para:
- recibir una instrucción adicional, desde el servidor de búsqueda, con un parámetro de propiedad que identifica un comienzo de una sesión específica por medio de un identificador; y
- almacenar el identificador en la forma de una etiqueta de tiempo.
15. El método según la reivindicación 14, en que
la unidad de usuario sincroniza su reloj interno con respecto a
dicho identificador.
16. El método según la reivindicación 13, en que
el conjunto de parámetros de propiedades de unidad de usuario
incluye un parámetro de última actualización realizada de
propiedades, en que la unidad de usuario, a continuación de la
ejecución de las instrucciones de arranque
pre-almacenadas, está preparada para:
- recibir una instrucción adicional, desde el servidor de búsqueda, con un valor actualizado de una propiedad; y
- almacenar el valor actualizado de la propiedad.
17. El método según una cualquiera de las
reivindicaciones 10-13, en que la unidad de usuario,
a continuación de la ejecución de las instrucciones de arranque
pre-almacenadas, está preparada para:
- recibir instrucciones adicionales, desde el servidor de búsqueda, sobre la base de las cuales el conjunto de instrucciones de arranque pre-almacenadas es alterado o un nuevo conjunto de instrucciones de arranque es definido.
18. El método según una cualquiera de las
reivindicaciones 10-13, en que las instrucciones de
arranque pre-almacenadas son ejecutadas por la
unidad de usuario cuando la unidad de usuario inicia una sesión para
enviar información leída desde una superficie, cuya sesión es
iniciada cuando la unidad de usuario detecta la lectura de
información desde un área de envío específica de la superficie.
19. El método según la reivindicación 18, en que
dicha área de envío está predeterminada a estar asociada a un
parámetro de dirección que define un servidor de búsqueda remoto, en
que el paso de recibir una instrucción con datos de control incluye
recibir una instrucción con datos de control que están basados en
reglas de gestión de información almacenadas por el servidor de
búsqueda remoto.
20. El método según la reivindicación 18, en que
dicha área de envío está predeterminada a estar asociada a un
parámetro de dirección que define un servidor de búsqueda local, en
que el paso de recibir una instrucción con datos de control incluye
recibir una instrucción con datos de control que están basados en
reglas de gestión de información almacenadas por el servidor de
búsqueda local.
21. El método según una cualquiera de las
reivindicaciones 1-20, en que cualquier mensaje de
unidad de usuario transmitido desde la unidad de usuario incluye una
identidad única de la unidad de usuario.
22. El método según una cualquiera de las
reivindicaciones 1-21, en que la información leída
desde una superficie incluye al menos una posición de una superficie
con codificación de posiciones.
23. Una unidad de usuario preparada para
gestionar la comunicación en un sistema, en que la unidad de usuario
es capaz de leer información desde una superficie y comunicar al
menos parte de ella a un servidor en el sistema, en que el sistema
incluye un servidor de búsqueda que almacena reglas de gestión de
información asociadas a información leída desde la superficie y al
menos un servidor de aplicaciones, en que la unidad de usuario está
preparada además para:
- recibir, desde el servidor de búsqueda, al menos una instrucción con datos de control que están basados en las reglas de gestión de información y controlan qué información se permite que sea comunicada por la unidad de usuario; y
- determinar, sobre la base de la instrucción recibida desde el servidor de búsqueda, cuando se recibe una instrucción desde un servidor de aplicaciones para responder con datos de información específicos, si se permite que los datos de información específicos sean comunicados y, en caso afirmativo, transmitir los datos de información específicos en un mensaje de unidad de usuario a un servidor de aplicaciones receptor.
24. Un soporte legible por ordenador que
almacena componentes ejecutables por ordenador para provocar que una
unidad de usuario, que es capaz de leer información desde una
superficie y comunicar al menos parte de ella a un servidor, realice
los pasos expuestos en una cualquiera de las reivindicaciones
1-20 cuando los componentes ejecutables por
ordenador son ejecutados en un microprocesador incluido en la unidad
de usuario.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE0102418A SE523112C2 (sv) | 2001-07-05 | 2001-07-05 | Förfaringssätt för kommunikation mellan en användarenhet som har möjlighet att läsa information från en yta, och servrar som exekverar tjänster som stöder användarenheten |
SE0102418 | 2001-07-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2305262T3 true ES2305262T3 (es) | 2008-11-01 |
Family
ID=20284757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES02746277T Expired - Lifetime ES2305262T3 (es) | 2001-07-05 | 2002-07-04 | Metodo, unidad de usuario y soporte legible por ordenador que almacena instrucciones para gestionar la comunicacion en un sistema. |
Country Status (9)
Country | Link |
---|---|
US (1) | US7089308B2 (es) |
EP (1) | EP1415220B1 (es) |
JP (1) | JP4282475B2 (es) |
CN (1) | CN1299191C (es) |
AT (1) | ATE393426T1 (es) |
DE (1) | DE60226246T2 (es) |
ES (1) | ES2305262T3 (es) |
SE (1) | SE523112C2 (es) |
WO (1) | WO2003005181A1 (es) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356012B2 (en) * | 2001-12-27 | 2008-04-08 | Anoto Ab | Method for transmitting information |
US20060085202A1 (en) * | 2003-01-03 | 2006-04-20 | Bjorn Sahlberg | Method and a system for responding to a request for access to an application service |
GB0321167D0 (en) * | 2003-09-10 | 2003-10-08 | Hewlett Packard Development Co | Printing digital documents |
GB0321166D0 (en) * | 2003-09-10 | 2003-10-08 | Hewlett Packard Development Co | Printing digital documents |
GB0321172D0 (en) * | 2003-09-10 | 2003-10-08 | Hewlett Packard Development Co | Creation of documents with position identification pattern |
SE0302884D0 (sv) * | 2003-10-31 | 2003-10-31 | Anoto Ab | Information management unit and method for controlling data flow from electronic pens |
US8316128B2 (en) * | 2004-01-26 | 2012-11-20 | Forte Internet Software, Inc. | Methods and system for creating and managing identity oriented networked communication |
US20080296074A1 (en) * | 2004-06-30 | 2008-12-04 | Anoto Ab | Data Management in an Electric Pen |
US20070246539A1 (en) * | 2004-06-30 | 2007-10-25 | Anoto Ab | Data Processing in an Electric Pen |
SE0401687D0 (sv) | 2004-06-30 | 2004-06-30 | Anoto Ab | Information management |
WO2006041387A1 (en) * | 2004-10-12 | 2006-04-20 | Anoto Ab | Methods and a system for a secure management of information from an electronic pen |
US20060116162A1 (en) * | 2004-11-30 | 2006-06-01 | Bellsouth Intellectual Property Corporation | Methods for providing a subscriber service |
US11627944B2 (en) | 2004-11-30 | 2023-04-18 | The Regents Of The University Of California | Ultrasound case builder system and method |
WO2006062468A1 (en) * | 2004-12-07 | 2006-06-15 | Anoto Ab | Methods and apparatuses for routing information to an application service |
US8094139B2 (en) | 2005-02-23 | 2012-01-10 | Anoto Ab | Method in electronic pen, computer program product, and electronic pen |
WO2006137798A1 (en) * | 2005-06-23 | 2006-12-28 | Anoto Ab | Methods and devices relating to transfer of non-pen stroke data |
US7489819B2 (en) * | 2006-05-12 | 2009-02-10 | Velosum, Inc. | Systems and methods for handwritten digital pen lexical inference |
US7502509B2 (en) * | 2006-05-12 | 2009-03-10 | Velosum, Inc. | Systems and methods for digital pen stroke correction |
EP2130110B1 (en) | 2007-03-23 | 2014-10-08 | Anoto AB | Printing of a position-coding pattern |
WO2009008833A1 (en) * | 2007-07-10 | 2009-01-15 | Anoto Ab | System, software module and methods for creating a response to input by an electronic pen |
US8271864B2 (en) * | 2007-07-10 | 2012-09-18 | Anoto Ab | Electronic representations of position-coded products in digital pen systems |
US8477095B2 (en) * | 2007-10-05 | 2013-07-02 | Leapfrog Enterprises, Inc. | Audio book for pen-based computer |
KR101930510B1 (ko) * | 2011-09-16 | 2018-12-19 | 삼성전자주식회사 | 네트워크 상의 객체 검색 방법 및 시스템 |
US11631342B1 (en) | 2012-05-25 | 2023-04-18 | The Regents Of University Of California | Embedded motion sensing technology for integration within commercial ultrasound probes |
WO2013186344A2 (en) | 2012-06-14 | 2013-12-19 | Dolby International Ab | Smooth configuration switching for multichannel audio rendering based on a variable number of received channels |
US10380920B2 (en) | 2013-09-23 | 2019-08-13 | SonoSim, Inc. | System and method for augmented ultrasound simulation using flexible touch sensitive surfaces |
US10380919B2 (en) | 2013-11-21 | 2019-08-13 | SonoSim, Inc. | System and method for extended spectrum ultrasound training using animate and inanimate training objects |
DE112014005455A5 (de) * | 2013-11-28 | 2016-08-11 | Patrick Faulwetter | Plattform-Vorrichtung zur Bereitstellung qualitativen Schwarm-Wissens |
US11600201B1 (en) | 2015-06-30 | 2023-03-07 | The Regents Of The University Of California | System and method for converting handheld diagnostic ultrasound systems into ultrasound training systems |
US10896628B2 (en) | 2017-01-26 | 2021-01-19 | SonoSim, Inc. | System and method for multisensory psychomotor skill training |
US11810473B2 (en) | 2019-01-29 | 2023-11-07 | The Regents Of The University Of California | Optical surface tracking for medical simulation |
US11495142B2 (en) | 2019-01-30 | 2022-11-08 | The Regents Of The University Of California | Ultrasound trainer with internal optical tracking |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5852434A (en) | 1992-04-03 | 1998-12-22 | Sekendur; Oral F. | Absolute optical position determination |
US5652412A (en) * | 1994-07-11 | 1997-07-29 | Sia Technology Corp. | Pen and paper information recording system |
US5661506A (en) | 1994-11-10 | 1997-08-26 | Sia Technology Corporation | Pen and paper information recording system using an imaging pen |
DE69628087D1 (de) * | 1995-03-22 | 2003-06-18 | Sun Microsystems Inc | Vorrichtung und Verfahren zur Verwaltung von Rechnerprozessen |
US5696898A (en) * | 1995-06-06 | 1997-12-09 | Lucent Technologies Inc. | System and method for database access control |
CN1292113A (zh) * | 1998-02-26 | 2001-04-18 | 太阳微系统公司 | 用于共享存储器空间的交互式设计工具 |
WO1999044134A1 (en) * | 1998-02-26 | 1999-09-02 | Sun Microsystems, Inc. | Method and system for facilitating access to a lookup service |
US6182086B1 (en) * | 1998-03-02 | 2001-01-30 | Microsoft Corporation | Client-server computer system with application recovery of server applications and client applications |
WO1999050751A1 (en) | 1998-04-01 | 1999-10-07 | Xerox Corporation | Routing document identifiers |
US6266692B1 (en) * | 1999-01-04 | 2001-07-24 | International Business Machines Corporation | Method for blocking all unwanted e-mail (SPAM) using a header-based password |
US6816274B1 (en) | 1999-05-25 | 2004-11-09 | Silverbrook Research Pty Ltd | Method and system for composition and delivery of electronic mail |
WO2000073983A1 (en) | 1999-05-28 | 2000-12-07 | Anoto Ab | Position determination |
MXPA02002247A (es) * | 1999-08-30 | 2002-09-30 | Anoto Ab | Bloc de notas. |
AU7080700A (en) * | 1999-09-01 | 2001-03-26 | Peter L. Katsikas | System for eliminating unauthorized electronic mail |
KR20010029046A (ko) * | 1999-09-29 | 2001-04-06 | 전주범 | 피디에이에서 지니를 이용한 부가 서비스 방법 |
SE517445C2 (sv) * | 1999-10-01 | 2002-06-04 | Anoto Ab | Positionsbestämning på en yta försedd med ett positionskodningsmönster |
US6366907B1 (en) * | 1999-12-15 | 2002-04-02 | Napster, Inc. | Real-time search engine |
WO2001048592A1 (en) | 1999-12-23 | 2001-07-05 | Anoto Ab | Charge card purchase |
KR100752817B1 (ko) | 1999-12-23 | 2007-08-29 | 아노토 아베 | 일반 정보 관리 시스템 |
EP1244955A1 (en) | 1999-12-23 | 2002-10-02 | Anoto AB | Centralized information management |
US6724373B1 (en) * | 2000-01-05 | 2004-04-20 | Brother International Corporation | Electronic whiteboard hot zones for controlling local and remote personal computer functions |
US6952497B1 (en) * | 2000-02-16 | 2005-10-04 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for electronically recording transactions and performing security function |
AU3925401A (en) | 2000-02-16 | 2001-08-27 | Telefonaktiebolaget Lm Ericsson (Publ) | A system and method for operating an electronic reading device user interface |
-
2001
- 2001-07-05 SE SE0102418A patent/SE523112C2/sv not_active IP Right Cessation
-
2002
- 2002-07-04 DE DE60226246T patent/DE60226246T2/de not_active Expired - Lifetime
- 2002-07-04 ES ES02746277T patent/ES2305262T3/es not_active Expired - Lifetime
- 2002-07-04 CN CNB028132947A patent/CN1299191C/zh not_active Expired - Fee Related
- 2002-07-04 EP EP02746277A patent/EP1415220B1/en not_active Expired - Lifetime
- 2002-07-04 JP JP2003511083A patent/JP4282475B2/ja not_active Expired - Lifetime
- 2002-07-04 WO PCT/SE2002/001332 patent/WO2003005181A1/en active Application Filing
- 2002-07-04 AT AT02746277T patent/ATE393426T1/de not_active IP Right Cessation
- 2002-07-05 US US10/188,960 patent/US7089308B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20030055865A1 (en) | 2003-03-20 |
ATE393426T1 (de) | 2008-05-15 |
EP1415220B1 (en) | 2008-04-23 |
WO2003005181A1 (en) | 2003-01-16 |
SE0102418L (sv) | 2003-02-06 |
EP1415220A1 (en) | 2004-05-06 |
DE60226246D1 (de) | 2008-06-05 |
CN1522400A (zh) | 2004-08-18 |
CN1299191C (zh) | 2007-02-07 |
SE0102418D0 (sv) | 2001-07-05 |
DE60226246T2 (de) | 2009-05-14 |
SE523112C2 (sv) | 2004-03-30 |
JP2004534319A (ja) | 2004-11-11 |
JP4282475B2 (ja) | 2009-06-24 |
US7089308B2 (en) | 2006-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2305262T3 (es) | Metodo, unidad de usuario y soporte legible por ordenador que almacena instrucciones para gestionar la comunicacion en un sistema. | |
US10007664B2 (en) | Systems, methods and apparatus for dynamic content management and delivery | |
CN100585544C (zh) | 电子笔中的数据管理 | |
US9679072B2 (en) | Mobile photo sharing via barcode, sound or collision | |
US7333947B2 (en) | Network-based system | |
US20070129959A1 (en) | Virtual business card and method for sharing contact information electronically | |
US20030046184A1 (en) | Electronic pen catalog ordering system and method of using the catalog to stimulate electronic pen use | |
JP5079377B2 (ja) | 情報処理システム、管理情報処理装置、およびプログラム | |
KR20070012114A (ko) | 코드 다중 서비스 시스템 및 그 방법 | |
JP5266717B2 (ja) | 非接触リーダライタ、情報提供システム、リダイレクトサーバ、及びアドレス情報提供方法等 | |
KR20070112148A (ko) | 전자펜에 대한 방법, 컴퓨터 프로그램 제품, 및 전자펜 | |
US7296075B2 (en) | Method, apparatus and system for connecting a portable unit to a particular server unit from among a plurality of server units | |
JP2009064371A (ja) | 名刺情報提供システム | |
JP2010066880A (ja) | 携帯端末、サーバ、およびサービス情報提供システム | |
JP5560741B2 (ja) | 広告調査管理方法、システム、装置、プログラム | |
JP2004508228A (ja) | 位置コーディングパターン付きビジネスカード | |
JP2002324161A (ja) | 携帯通信端末及びユーザ情報管理方法、ユーザ情報管理プログラム及びコンピュータ読み取り可能な記録媒体 | |
KR20090043116A (ko) | 전자태그를 활용한 애완견 서비스 시스템 및 방법 | |
ES2800998T3 (es) | Sistema de distribución de contenido para una función de tarjeta sin contacto y método de distribución de contenido para una función de tarjeta sin contacto | |
KR101361696B1 (ko) | 리더 기반 서비스를 제공하는 무선 인식 시스템, 그 서비스사업자 단말기 및 리더 기반 서비스를 제공하는 무선 인식방법 | |
Nishiyama et al. | Combining RFID tag reader with mobile phone: An approach to realize everyone's ubiquitous appliances | |
JP2004534989A (ja) | 通信ネットワークの技術プロバイダーをサポートする通信のシステムと方法 | |
JP2009140015A (ja) | ポイントカードシステム | |
JP2008083773A (ja) | 広告媒体を利用した情報配信システム及び方法 | |
JP5450740B2 (ja) | 情報処理システム、管理情報処理装置、およびプログラム |