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 PDF

Info

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
Application number
ES02746277T
Other languages
English (en)
Inventor
Bjorn Fransson
Ola Sandstrom
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anoto AB
Original Assignee
Anoto AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Anoto AB filed Critical Anoto AB
Application granted granted Critical
Publication of ES2305262T3 publication Critical patent/ES2305262T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • G06F3/0317Detection 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming 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.
Campo técnico
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.
Antecedentes de la invención
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.
Resumen de la invención
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.
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.
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.
Breve descripción de los dibujos
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
Descripción detallada de la invención
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.
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.
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.
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.
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.
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.
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
101
102
103
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
Instrucciones exclusivas de servidor PLS remoto - otorgarAccesoDatosPágina (direcciónPágina)
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
- otorgarAccesoPropiedades (identidades propiedades)
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
- solicitudAplicaciónInicialInternet (url)
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
- solicitudBúsquedaInternet
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
- asignarPropiedad (IDpropiedad, valor)
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
- comenzarTransacción (IDtrans)
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
- solicitudBúsquedaLocal
Manda una solicitud al localizador url definido por la propiedad URL_LOCAL.
\vskip1.000000\baselineskip
Instrucciones públicas - abortarTransacciónVerbosa
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
- añadirDatosPropiedades (identidades propiedades)
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
- consumarTransacciónVerbosa
Consuma una transacción, es decir dice al bolígrafo que el servicio ha sido realizado con éxito por el servidor.
\vskip1.000000\baselineskip
- solicitudAplicaciónInternet (url)
Manda una solicitud al localizador suministrado. La instrucción implica que se usa el protocolo SPP subyacente.
\vskip1.000000\baselineskip
- solicitudAplicaciónLocal (url)
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.
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.
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.
ES02746277T 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. Expired - Lifetime ES2305262T3 (es)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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) 情報処理システム、管理情報処理装置、およびプログラム