SE523112C2 - Procedures for communication between a user device that has the ability to read information from a surface, and servers that execute services that support the user device - Google Patents

Procedures for communication between a user device that has the ability to read information from a surface, and servers that execute services that support the user device

Info

Publication number
SE523112C2
SE523112C2 SE0102418A SE0102418A SE523112C2 SE 523112 C2 SE523112 C2 SE 523112C2 SE 0102418 A SE0102418 A SE 0102418A SE 0102418 A SE0102418 A SE 0102418A SE 523112 C2 SE523112 C2 SE 523112C2
Authority
SE
Sweden
Prior art keywords
server
user unit
instruction
pen
instructions
Prior art date
Application number
SE0102418A
Other languages
Swedish (sv)
Other versions
SE0102418D0 (en
SE0102418L (en
Inventor
Bjoern Fransson
Ola Sandstroem
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
Priority to SE0102418A priority Critical patent/SE523112C2/en
Publication of SE0102418D0 publication Critical patent/SE0102418D0/en
Priority to PCT/SE2002/001332 priority patent/WO2003005181A1/en
Priority to CNB028132947A priority patent/CN1299191C/en
Priority to ES02746277T priority patent/ES2305262T3/en
Priority to EP02746277A priority patent/EP1415220B1/en
Priority to DE60226246T priority patent/DE60226246T2/en
Priority to AT02746277T priority patent/ATE393426T1/en
Priority to JP2003511083A priority patent/JP4282475B2/en
Priority to US10/188,960 priority patent/US7089308B2/en
Publication of SE0102418L publication Critical patent/SE0102418L/en
Publication of SE523112C2 publication Critical patent/SE523112C2/en

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 OR CALCULATING; 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 OR CALCULATING; 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)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The present invention relates to managing of communication in a system, which system includes at least one user unit 100 capable of reading information from a surface 120 and communicating at least part thereof to a server 140, 150, 160, a look-up server 140, 150 storing information management rules associated with information read from the surface and at least one application server 160. The user unit 100 receives an instruction with control data from the look-up server 140, 150 and determines, based on these control data, if specific information data is allowed to be communicated by the user unit to a receiving application server in response to an instruction from an application server concerning these specific information data.

Description

25 30 35 523 112 referens införlivas häri, i vilken sökanden föreställer sig användandet av en produkt som har en skrivyta som är försedd med en positionskod. Positionskoden, som kodar ett flertal positioner pà ytan, gör det möjligt att elektroniskt spela in information som skrivs på skrivytan. Informationen skrivs med hjälp av en digital penna som har en sensor som detekterar positionskoden och beräknar positioner som motsvarar skrivinformationen. 523 112 523 112 reference is incorporated herein, in which the applicant envisages the use of a product having a writing surface provided with a position code. The position code, which encodes a plurality of positions on the surface, makes it possible to electronically record information written on the writing surface. The information is written using a digital pen that has a sensor that detects the position code and calculates positions that correspond to the writing information.

Produkten kan också har en eller flera aktiveringsikoner som, när de detekteras av den digitala pennan, förorsakar pennan att initiera en tillhörande tidigare bestämd operation som använder informationen som spelats in av pennan.The product may also have one or more activation icons which, when detected by the digital pen, cause the pen to initiate an associated previously determined operation using the information recorded by the pen.

Speciellt har den positionskodade produkten en inbyggd funktion pà sådant sätt att olika positioner pà produkten, såsom positionerna inom aktiveringsikonen och positionerna inom skrivytan, är avsedda för olika funkt- ioner. Positionskoden kan dessutom koda koordinater för ett stort antal positioner, mycket större antal än det antal nödvändiga positioner som finns pä en enda produkt.In particular, the position-coded product has a built-in function in such a way that different positions on the product, such as the positions within the activation icon and the positions within the writing surface, are intended for different functions. The position code can also encode coordinates for a large number of positions, a much larger number than the number of necessary positions on a single product.

Positionskoden kan därför ses som utgörande en virtuell yta som definieras av alla positioner som positionskoden kan koda, varvid olika positioner pà den virtuella ytan är avsedda för olika funktioner och/eller aktörer.The position code can therefore be seen as constituting a virtual surface which is defined by all positions that the position code can encode, different positions on the virtual surface being intended for different functions and / or actors.

Ovannämnda koncept kan användas för olika syften.The above concepts can be used for different purposes.

Kombinationen av penna och positionskodad produkt kan användas som en inmatningsenhet till en dator, en PDA, en mobiltelefon eller liknande. Till exempel kan texter och skisser skrivna pà ett positionskodat anteckningsblock överföras via pennan till en dator. Kombinationen av penna och positionskodad produkt möjliggör dessutom global kommunikation, direkt fràn produkten via pennan, genom det faktum att positionskoden pà produkten är avsedd för sädan kommunikation. Till exempel kan informationen registrerad av pennan omvandlas till ett faxmeddelande, ett e-postmeddelande eller ett SMS- meddelande, och sedan sändas frän pennan till en 10 15 20 25 30 35 _ . . | .I mottagare. Kombinationen av penna och positionskodad produkt kan dessutom användas vid e-handel. Till exempel kan en digital penna användas för att beställa en artikel från en positionskodad annons i en tidning, genom det faktum att positionskoden i annonsen är avsedd för en sådan tjänst.The combination of pen and position-coded product can be used as an input device for a computer, a PDA, a mobile phone or the like. For example, texts and sketches written on a position-coded notebook can be transferred via the pen to a computer. The combination of pen and position-coded product also enables global communication, directly from the product via the pen, through the fact that the position code on the product is intended for such communication. For example, the information recorded by the pen can be converted into a fax, an e-mail or a text message, and then sent from the pen to a 10 15 20 25 30 35 _. . | .In receiver. The combination of pen and position-coded product can also be used in e-commerce. For example, a digital pen can be used to order an article from a position-coded advertisement in a newspaper, due to the fact that the position code in the advertisement is intended for such a service.

Ett system konstruerat att innefatta digitala pennor eller motsvarande enheter kommer typiskt att förutom pennorna och ett flertal positionskodade produkter inne- fatta åtminstone en uppslagningsserver som exekverar en tjänst benämnd pappersuppslagningstjänst (Paper Look-up Service), PLS, och ett flertal applikationsservrar som fungerar som aktörer eller tjänstehanterare (Service Handler), SH, i systemet. Uppslagningsservern använder en databas för att hantera den virtuella ytan som definieras av positionskoden och informationen som hänför sig till denna virtuella yta, d.v.s. funktionaliteten för varje position på den virtuella ytan och aktören associerad med varje sådan position. Applikationsservern är en server som utför en tjänst åt en digital penna, såsom att lagra eller vidarebefordra digital information eller initiera överföring av information eller poster till en mottagare.A system designed to include digital pens or equivalent devices will typically include, in addition to the pens and a plurality of position coded products, at least one lookup server that executes a service called the Paper Look-up Service, PLC, and a plurality of application servers that act as actors. or Service Handler, SH, in the system. The lookup server uses a database to manage the virtual area defined by the location code and the information pertaining to that virtual area, i.e. the functionality of each position on the virtual surface and the actor associated with each such position. The application server is a server that performs a service for a digital pen, such as storing or transmitting digital information or initiating the transmission of information or records to a recipient.

I ett sådant system som beskrivits ovan är det mycket svårt att förutsäga hur en digital penna kommer att kommunicera med den förekommande uppslagningstjänsten eller de flertalet förekommande uppslagningstjänsterna och det flertalet förekommande applikationsservrar.In such a system as described above, it is very difficult to predict how a digital pen will communicate with the existing look-up service or the majority of existing look-up services and the majority of existing application servers.

Systemet tillhandahåller ett stort antal möjligheter för en aktör som önskar konstruera en tjänst eller en applikation, t.ex. vilka enstaka eller flertalet ytterligare tjänster eller applikationsservrar som ska inbegripas av en specifik tjänst, interaktionen mellan den digitala pennan och olika tjänster vid utnyttjande av en specifik tjänst, vilka åtgärder som ska vidtagas av den digitala pennan under utnyttjande av en tjänst o.s.v.The system provides a large number of possibilities for an actor who wishes to design a service or an application, e.g. which single or multiple additional services or application servers are to be included in a specific service, the interaction between the digital pen and different services when using a specific service, what measures are to be taken by the digital pen while using a service, and so on.

En operatör av en uppslagningsserver kan dessutom dra fördel av att kunna styra kommunicerad data och 10 15 20 25 30 35 523.112 š*@åš_-L@“}» kommunikationen i sig mellan digitala pennor och olika aktörer, speciellt under initiering av en tjänst. Det kan dessutom finnas fler än en uppslagningsserver i systemet, t.ex. med olika ansvarsområden, så att en mekanism behövs för att styra med vilken uppslagningstjänst en digital penna ska kommunicera.In addition, an operator of a look-up server may benefit from being able to control communicated data and the communication itself between digital pens and various actors, especially during the initiation of a service. In addition, there may be more than one lookup server in the system, e.g. with different areas of responsibility, so that a mechanism is needed to control with which look-up service a digital pen should communicate.

Ett problem som således måste lösas är hur kommu- nikationen på ett enkelt och effektivt sätt ska koordineras och styras i ett system av det slag som beskrivits ovan.A problem that must thus be solved is how communication is to be coordinated and controlled in a simple and efficient way in a system of the kind described above.

Sammanfattning av uppfinningen Ett syfte med föreliggande uppfinning är att till- handahålla ett 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.SUMMARY OF THE INVENTION An object of the present invention is to provide a method of communication between a user unit, which has the ability to read information from a surface, and servers executing services that support the user unit.

Ett annat syfte är att tillhandahålla ett kommuni- kationsprotokoll för användning av en användarenhet som möjliggör att en uppslagningsserver, såväl som någon applikationsserver, kan styra kommunikationen i vilken användarenheten är inblandad.Another object is to provide a communication protocol for the use of a user unit which enables a look-up server, as well as any application server, to control the communication in which the user unit is involved.

Enligt uppfinningen löses problemet och uppnås syftena av ett förfarande enligt oberoende patentkrav 1, av en användarenhet enligt oberoende patentkrav 23 och av ett datorläsbart medium enligt oberoende patentkrav 24.According to the invention, the problem is solved and the objects are achieved by a method according to independent claim 1, by a user unit according to independent claim 23 and by a computer-readable medium according to independent claim 24.

Uppfinningen baserar sig på idén att mottagaren av information som härrör från en användarenhet, och de data som inbegrips i sådan kommunikation, styrs genom över- föring av instruktioner till användarenheten från en server. Baserat på mottagna instruktioner bestämmer användarenheten till vilken mottagare ett meddelande ska sändas och vilka data som meddelandet ska innefatta.The invention is based on the idea that the recipient of information originating from a user device, and the data included in such communication, is controlled by transmitting instructions to the user device from a server. Based on received instructions, the user unit decides to which recipient a message should be sent and what data the message should include.

Ett meddelande med instruktioner mottaget av en användarenhet och något meddelande med data sänt från användarenheten som ett resultat därav definierar en tur- 10 15 20 25 30 35 5 och-retur-operation för en användare. En kommunikations- session i vilken användarenheten sänder data lästa fràn en yta inbegriper en eller flera sådana tur-och-retur- operationer.A message with instructions received by a user unit and some message with data sent from the user unit as a result defines a round-trip operation for a user. A communication session in which the user unit transmits data read from a surface involves one or more such back-and-forth operations.

Vid initiering av en kommunikationssession exekverar användarenheten en uppsättning tidigare lagrade upp- startsinstruktioner. Dessa resulterar typiskt i att ett meddelande sänds till en uppslagningsserver som lagrar informationshanteringsregler associerade med olika ytomràden. Denna uppslagningsserver är dessutom ansvarig för den initiala styrningen av användarenhetens kommunikationsuppträdande. Användarenheten har företrädesvis förmågan att associera nya instruktioner med sin uppstartsprocedur som respons pà en instruktion fràn uppslagningsservern, vilken instruktion tidigare definierats att initiera ett sàdant agerande.When initiating a communication session, the user unit executes a set of previously stored startup instructions. These typically result in a message being sent to a lookup server that stores information management rules associated with different surface areas. This lookup server is also responsible for the initial control of the user unit's communication behavior. The user unit preferably has the ability to associate new instructions with its startup procedure in response to an instruction from the lookup server, which instruction was previously defined to initiate such action.

Företrädesvis, om användarenheten har detekterat ett specifikt ytomràdes information, vilket ytomràde definierar en sändoperation, exekveras de tidigare lagrade instruktionerna som är associerade med detta omràde. Användarenheten är páverkbar av en instruktion som associerar nya instruktioner med det specifika området.Preferably, if the user unit has detected a specific surface area information, which surface area defines a transmission operation, the previously stored instructions associated with that area are executed. The user unit is influenced by an instruction that associates new instructions with the specific area.

Användarenheten kommer med fördel att, till följd av ett meddelande sänt till en server, mottaga en instruktion som innefattar en indikering av resultatet för den aktivitet som begärdes i meddelandet. Detta resultat lagras för att senare kunna överföras i ett nästa meddelande till servern som administrerar fakturering, typiskt uppslagningsservern. Denna server är således försedd med medel pà vilka fakturering av användarenheten för utnyttjade tjänster baseras.The user unit will advantageously, as a result of a message sent to a server, receive an instruction which includes an indication of the result of the activity requested in the message. This result is stored for later transmission in a subsequent message to the server that manages billing, typically the lookup server. This server is thus provided with means on which invoicing of the user unit for utilized services is based.

Ytterligare särdrag hos och fördelar med före- liggande uppfinning kommer att framgå av den bifogade beskrivningen, som hänvisar till de bifogade ritningarna av exemplifierande utföringsformer därav. 10 15 20 25 30 35 o 6 Kort beskrivning av ritningarna Exemplifierande utföringsformer av föreliggande uppfinning kommer nu att beskrivas mer detaljerat med hänvisning till de bifogade ritningarna, i vilka: Fig. 1 visar elementen och deras grundläggande sam- verkan i ett system som innefattar användarenheter och servrar som exekverar understödjande tjänster; Fig. 2 är en schematisk vy över innanmätet hos en digital penna som realiserar en användarenhet; Fig. 3 visar protokollstackarna som används när en användarenhet kommunicerar med en avlägsen nätverksserver eller en lokal server; Fig. 4 visar ett flödesschema över arbetssättet för en användarenhet i enlighet med en exemplifierande utföringsform; och Fig. 5 visar ett diagram över arbetssättet för en användarenhet och dess kommunikation med understödjande tjänster under en kommunikationssession i enlighet med en annan utföringsform av uppfinningen.Further features and advantages of the present invention will become apparent from the accompanying description, which refers to the accompanying drawings of exemplary embodiments thereof. 10 15 20 25 30 35 o 6 Brief Description of the Drawings Exemplary embodiments of the present invention will now be described in more detail with reference to the accompanying drawings, in which: Fig. 1 shows the elements and their basic interaction in a system comprising user units. and servers running support services; Fig. 2 is a schematic view of the inside measurement of a digital pen realizing a user unit; Fig. 3 shows the protocol stacks used when a user unit communicates with a remote network server or a local server; Fig. 4 shows a flow chart of the operation of a user unit in accordance with an exemplary embodiment; and Fig. 5 shows a diagram of the operation of a user unit and its communication with supporting services during a communication session in accordance with another embodiment of the invention.

Detaljerad beskrivning av uppfinningen Infrastrukturen för ett system som innefattar användarenheter och understödjande tjänster visas i Fig. 1. Denna infrastruktur och delar av dess arbetssätt har tidigare beskrivits i sökandens internationella patent- ansökningar PCT/SE00/02640, PCT/SEOO/02641 och PCT/SEO0/02659, vilka alla införlivas häri med dessa referenser.Detailed description of the invention The infrastructure for a system comprising user units and supporting services is shown in Fig. 1. This infrastructure and parts of its operation have been previously described in the applicant's international patent applications PCT / SE00 / 02640, PCT / SEOO / 02641 and PCT / SEO0 / 02659, all of which are incorporated herein by reference.

Systemet i Fig. 1 innefattar ett flertal användar- enheter 100, ett flertal produkter 110 med positionskoder 120, ett flertal nätverksanslutningsenheter 130 och ett 150, stödjande tjänster. Servrarna innefattar åtminstone en på flertal servrar 140, 160 som exekverar under- avstànd belägen uppslagningsserver 140, en lokal uppslagningsserver 150 och ett flertal applikationsservrar 160. För att förenkla beskrivningen innefattar Fig. 1 endast en digital penna 100 som lO 15 20 25 30 35 n ', ana. _ . 7 implementerar en användarenhet, en produkt 110 med positionskod 120 och en aktiveringsikon 125, en mobilstation 130 som implementerar en nätverks- anslutningsenhet, en på avstånd belägen uppslagningsserver 140 som exekverar en på avstånd belägen pappersuppslagningstjänst (på avstånd belägen PLS), en lokal uppslagningsserver 150 som exekverar en lokal pappersuppslagningstjänst (lokal PLS) och en applikationsserver 160 som exekverar en applikations- tjänst (AS).The system of Fig. 1 includes a plurality of user units 100, a plurality of products 110 with position codes 120, a plurality of network connection units 130 and a 150, support services. The servers include at least one remote server 140, 160 executing remote lookup server 140, a local lookup server 150 and a plurality of application servers 160. To simplify the description, Fig. 1 includes only a digital pen 100 which is ', ana. _. 7 implements a user unit, a product 110 with position code 120 and an activation icon 125, a mobile station 130 implementing a network connection unit, a remote lookup server 140 executing a remote paper lookup service (remote PLS), a local lookup server 150 executing a local paper lookup service (local PLC) and an application server 160 executing an application service (AS).

Produkten 110 är försedd med ett kodmönster som tolkas av den digitala pennan 100 som positioner på produktens 110 yta. Kodmönstret är sådant att det kodar positioner på en total yta som är mycket större än produktens 110 yta. Baserat på detekterade positioner fastställer den digitala pennan en eller flera av ytans absoluta koordinater.The product 110 is provided with a code pattern which is interpreted by the digital pen 100 as positions on the surface of the product 110. The code pattern is such that it encodes positions on a total area that is much larger than the surface of the product 110. Based on detected positions, the digital pen determines one or more of the absolute coordinates of the surface.

Den totala ytan är företrädesvis uppdelad i ett antal segment, varvid varje segment är uppdelat i ett antal hyllor, varje hylla är uppdelad i ett antal böcker och varje bok är uppdelad i ett antal sidor. En absolut koordinat kommer av den digitala pennan att fastställas att vara belägen på en viss sida. Sidan kan identifieras med utnyttjande av formatet 1.2.3.4 (segment.hylla.bok.sida), vilket betecknar sidan 4 i bok 3, på hylla 2 i segment 1. Denna notation definierar en sidadress.The total area is preferably divided into a number of segments, each segment being divided into a number of shelves, each shelf being divided into a number of books and each book being divided into a number of pages. An absolute coordinate will be determined by the digital pen to be located on a certain page. The page can be identified using the format 1.2.3.4 (segment.shelf.book.page), which denotes page 4 in book 3, on shelf 2 in segment 1. This notation defines a page address.

När användaren flyttar den digitala pennan 100 över ytan hos produkten 110 spelas information in genom detek- tering av positioner på ytan och fastställande av mot- svarande absoluta koordinater. Dessa absoluta koordina- ter, eller den sidadress till vilken koordinaterna till- hör, kommuniceras via mobilstationen 130 till antingen den lokala PLS-servern 150, den på avstånd belägna PLS- servern 140 eller applikationsservern 160. Om den lokala PLS-servern 150 är utrustad med en Bluetooth®-sändtagare kan den digitala pennan 100 kommunicera direkt med den 10 15 20 25 30 35 lokala PLS-servern 150. Den på avstånd belägna PLS- servern lagrar detaljer om den totala ytans alla koor- dinater i ett minne eller i en ansluten databas (inte visad). Detta innefattar också lagring av detaljer om de sidor i vilka den totala ytan är uppdelad. På motsvarande sätt lagrar den lokala PLS-servern 150 detaljer om koordinater och sidor för ett eller flera begränsade ytområden, vilka ytomràden används av en eller ett begränsat antal användare och vilka ytområden är del- områden av den totala ytan. Den på avstånd belägna eller den lokala PLS-servern innehåller programvara som behandlar mottagen information, som åtminstone innefattar koordinatinnehåll eller sidadressinnehåll, i enlighet med de hanteringsregler som har associerats med en viss koordinat eller en viss sidadress.When the user moves the digital pen 100 over the surface of the product 110, information is recorded by detecting positions on the surface and determining the corresponding absolute coordinates. These absolute coordinates, or the page address to which the coordinates belong, are communicated via the mobile station 130 to either the local PLC server 150, the remote PLC server 140 or the application server 160. If the local PLC server 150 is equipped with a Bluetooth® transceiver, the digital pen 100 can communicate directly with the local PLC server 150. The remote PLC server stores details of all the coordinates of the total area in a memory or in a connected database (not shown). This also includes storing details of the sides into which the total area is divided. Correspondingly, the local PLC server stores 150 details of coordinates and pages for one or more limited surface areas, which surface areas are used by one or a limited number of users and which surface areas are sub-areas of the total area. The remote or local PLC server contains software that processes received information, which includes at least coordinate content or page address content, in accordance with the management rules associated with a particular coordinate or page address.

För användaren är systemet enkelt att använda efter- som användaren inte själv behöver definiera hur inspelad information ska hanteras. När användaren initierar en kommunikationssession för överföring av information styrs hanteringen av denna information baserat på de koordina- ter som användaren spelar in och/eller den sidadress på vilken informationen spelades in med hjälp av den digitala pennan 100.For the user, the system is easy to use as the user does not have to define how recorded information is to be handled. When the user initiates a communication session for transmitting information, the handling of this information is controlled based on the coordinates recorded by the user and / or the page address at which the information was recorded using the digital pen 100.

När användaren av den digitala pennan 100 önskar initiera överföring av information gör han en ”markering” i aktiveringsikonen 125. Inspelningen av åtminstone en av aktiveringsikonens positioner kommer i detta fall att kännas igen av användarenheten 100 som en koordinat för ett sändområde, vilket sändomràde är associerat med en viss sändinstruktion. Per default innefattar denna sänd- instruktion adressen för en fördefinierad PLS-server, antingen den på avstånd belägna PLS-servern 140 eller den lokala PLS:en 150. Alternativt finns det två sändomràden, en associerad med den på avstånd belägna PLS-servern och en med den lokala PLS-servern.When the user of the digital pen 100 wishes to initiate the transmission of information, he makes a "mark" in the activation icon 125. The recording of at least one of the positions of the activation icon will in this case be recognized by the user unit 100 as a coordinate of a transmission area, which transmission area is associated with a certain transmission instruction. By default, this transmission instruction includes the address of a predefined PLC server, either the remote PLC server 140 or the local PLC 150. Alternatively, there are two transmission areas, one associated with the remote PLC server and one with the local PLC server.

Den totala ytans positionskodningsmönster, i vilka yta produktens 110 yta utgör en mindre del, kan konstrue- 10 15 20 25 30 35 523 Y112~ 9 ras på ett antal olika sätt, men har det generella sär- draget att om någon del av mönstret med en viss minsta storlek spelas in, så kan positionen därav i det över- ordnade positionskodade mönstret otvetydigt bestämmas.The position coding pattern of the total surface, in which surface the surface of the product 110 constitutes a smaller part, can be constructed in a number of different ways, but has the general feature that if any part of the pattern with a certain minimum size is recorded, then the position thereof in the overall position-coded pattern can be unambiguously determined.

Dessutom är det överordnade positionskodningsmönstret uppdelat i sidor såsom beskrivits ovan.In addition, the overall position coding pattern is divided into pages as described above.

Det är fördelaktigt om positionskodningsmönstret är av den typ som visas i den publicerade internationella patentansökan WO 00/73983 inlämnad den 26 maj 2000, eller i den internationella patentansökan PCT/SE00/01895 inlämnad den 2 oktober 2000, vilka bàda ansökningar är överlàtna pà föreliggande sökande. I dessa mönster är varje position kodad av ett flertal markeringar eller symboler, varvid varje symbol bidrar till kodningen av flera positioner. Positionskodningsmönstret är konstrue- rat av litet antal typer av symboler.It is advantageous if the position coding pattern is of the type shown in the published international patent application WO 00/73983 filed on May 26, 2000, or in the international patent application PCT / SE00 / 01895 filed on October 2, 2000, both applications being assigned to the present applicant. . In these patterns, each position is coded by a plurality of markings or symbols, each symbol contributing to the coding of several positions. The position coding pattern is constructed of a small number of types of symbols.

Ett exempel visas i WO 00/73983 där en större punkt representerar en ”etta” och en mindre punkt respresen- terar en "nolla".An example is shown in WO 00/73983 where a larger dot represents a "one" and a smaller dot represents a "zero".

Det för närvarande föredragna mönstret visas i PCT/SEO0/01895, där fyra olika förskjutningar av en punkt eller markering i relation till en rasterpunkt kodar fyra olika värden. Detta mönster är konstruerat av små punkter med ett nominellt mellanrum om 0,3 mm. Vilken del som helst av mönstret som innehåller 6 x 6 sådana punkter definierar ett par av absoluta koordinater. Varje par av absoluta koordinater definieras således av en delmängd om 1,8 mm x 1,8 mm av positionskodningsmönstret. Genom fastställelse av positionen för de 6 x 6 punkterna detekterade av sensorn i användarenheten som används för att läsa mönstret, kan en absolut position pà den virtuella ytan beräknas genom interpolation med en upplösning om 0,03 mm.The presently preferred pattern is shown in PCT / SEO0 / 01895, where four different offsets of a dot or selection in relation to a raster dot encode four different values. This pattern is constructed of small dots with a nominal spacing of 0.3 mm. Any part of the pattern that contains 6 x 6 such points defines a pair of absolute coordinates. Each pair of absolute coordinates is thus defined by a subset of 1.8 mm x 1.8 mm of the position coding pattern. By determining the position of the 6 x 6 points detected by the sensor in the user unit used to read the pattern, an absolute position on the virtual surface can be calculated by interpolation with a resolution of 0.03 mm.

Detta positionskodningsmönster kan koda ett stort antal absoluta positioner. Eftersom varje position kodas av 6 x 6 punkter, vilka var och en kan ha ett av fyra värden, kan 4% positioner kodas, vilket med det ovan- 10 15 20 25 30 35 523 -112~ ~~~~ ~~ n . : | .c 10 nämnda nominella avståndet mellan punkter motsvarar en yta om 4,6 miljoner kmz.This position coding pattern can encode a large number of absolute positions. Since each position is coded by 6 x 6 points, each of which can have one of four values, 4% positions can be coded, which with the above 1023 20 25 30 35 523 -112 ~ ~~~~ ~~ n. : | .c 10 mentioned nominal distance between points corresponds to an area of 4.6 million kmz.

Som tidigare nämnts är den totala ytan företrädesvis uppdelad, i turordning, i segment, hyllor, böcker och sidor av en bok. De olika icke-överlappande segmenten är dedicerade för olika typer av informationshantering.As previously mentioned, the total area is preferably divided, in turn, into segments, shelves, books and pages of a book. The different non-overlapping segments are dedicated to different types of information management.

Konceptet med sidor-böcker-hyllor-segment möjliggör att, t.ex., en del av en hel bok eller en hel hylla etc. är dedicerad för en viss aktör för en viss typ av informa- tionshantering. Vissa sidor kan t.ex. vara dedicerade för elektronisk informationsuppsamling för ett trans- portföretag, andra sidor för hantering av elektroniska vykort för ett distributionsföretag, ytterligare andra sidor för distribution av produktinformation till en köpare av en viss produkt, ytterligare andra sidor kan vara dedicerade för inspelning av handskriven information som alltid ska vidarebefordras till en tidigare bestämd server på Internet och ytterligare andra sidor kan vara dedicerade för sändning av grafiska e-postmeddelanden, SMS, fax eller liknande.The concept of pages-books-shelves-segment makes it possible for, for example, a part of an entire book or an entire shelf, etc. to be dedicated to a certain actor for a certain type of information management. Some pages can e.g. be dedicated to electronic information collection for a carrier, other pages for handling electronic postcards for a distribution company, additional pages for distributing product information to a buyer of a particular product, additional pages may be dedicated for recording handwritten information as always shall be forwarded to a previously determined server on the Internet and further other pages may be dedicated to sending graphic e-mails, SMS, faxes or the like.

Applikationstjänster är applikationer där informa- tionshanteringen styrs via en eller flera tidigare bestämda applikationsservrar i systemet. Såsom indikerats ovan kan ett företag eller liknande tilldelas en eller flera sidor, eller företrädesvis hela hyllor, av den totala ytan, varefter företaget har ensamrätt till den tilldelade delen av den totala ytan. Applikationstjänster kan också återfinnas på en lokal server, t.ex. samma server som den som härbärgerar den lokala PLS:en, och olika lokala applikationer kan tilldelas olika sidor. I den på avstånd belägna PLS-servern 140 som hanterar den totala ytans alla sidor noteras det vilket företag som har rätten till vilken del av den totala ytan. Den på avstånd belägna PLS-servern 140 kommer som svar på information mottagen från den digitala pennan 100, vilken information innefattar åtminstone en koordinat eller en sidadress, att bestämma till vilken aktör, t.ex. företag, 10 15 20 25 30 35 5231 112 ll som motsvarande ytomràde är allokerat och hur informationen ska hanteras. Pà motsvarande sätt kommer den lokala PLS-servern 150 att som svar pà mottagen information, som innefattar àtminstone en koordinat eller en sidadress, att bestämma till vilken lokal applikation, t.ex. kalender-, e-post- eller faxapplikation, som motsvarande ytomràde är allokerat och hur informationen ska hanteras.Application services are applications where information management is controlled via one or more previously determined application servers in the system. As indicated above, a company or the like may be assigned one or more sides, or preferably entire shelves, of the total area, after which the company has exclusive rights to the allocated part of the total area. Application services can also be found on a local server, e.g. the same server as the one hosting the local PLC, and different local applications can be assigned to different pages. In the remote PLC server 140 that handles all sides of the total area, it is noted which company is entitled to which part of the total area. The remote PLC server 140 will, in response to information received from the digital pen 100, which information includes at least one coordinate or a page address, determine to which actor, e.g. companies, 10 15 20 25 30 35 5231 112 ll the corresponding surface area is allocated and how the information is to be handled. Similarly, in response to received information, which includes at least one coordinate or a page address, the local PLC server 150 will determine to which local application, e.g. calendar, e-mail or fax application, to which the corresponding surface area is allocated and how the information is to be handled.

Fig. 2 visar ett exempel pà en användarenhet 2.Fig. 2 shows an example of a user unit 2.

Användarenheten innefattar ett hölje 11 som har den ungefärliga formen av en penna. En kortsida av höljet har en öppning 12 och är avsedd att hållas i kontakt med, eller med ett kort avstånd fràn, ett underlag försett med ett positionskodningsmönster_ Användarenheten, nedan kallad en digital penna, innefattar i huvudsak en optikdel, en elektronikkretsdel och en strömmatningsdel.The user unit comprises a housing 11 which has the approximate shape of a pen. A short side of the housing has an opening 12 and is intended to be kept in contact with, or with a short distance from, a substrate provided with a position coding pattern.

Optikdelen bildar en digital kamera och innefattar åtminstone en diod 13 som sänder ut infrarött ljus för belysning av ytan som ska fotograferas och en ljuskänslig sensor 14, t.ex. en CCD- eller CMOS-sensor, för inspel- ning av en tvàdimensionell bild. Användarenheten kan också innefatta ett linssystem (inte visat). Det infra- röda ljuset absorberas av symboler, företrädesvis punkter, i positionskodningsmönstret och gör dem pà detta sätt synliga för sensorn 14. Sensorn spelar företrädesvis in åtminstone 100 bilder per sekund.The optical part forms a digital camera and comprises at least one diode 13 which emits infrared light for illuminating the surface to be photographed and a light-sensitive sensor 14, e.g. a CCD or CMOS sensor, for recording a two-dimensional image. The user unit may also include a lens system (not shown). The infrared light is absorbed by symbols, preferably dots, in the position coding pattern and in this way makes them visible to the sensor 14. The sensor preferably records at least 100 frames per second.

Strömmatning för pennan erhålls fràn ett batteri 15 som är monterat i en separat behållare i höljet. Alterna- tivt kan pennan vara ansluten till en extern strömkälla.Power supply for the pen is obtained from a battery 15 which is mounted in a separate container in the housing. Alternatively, the pen can be connected to an external power source.

Elektronikkretsdelen innefattar en signalprocessor 16 för fastställande av en position baserat på bilden som lästs av sensorn 14, och mer specifikt en processorenhet med en mikroprocessor som är programmerad att spela in bilder från sensorn, identifiera symboler i bilden och i realtid fastställa absoluta koordinater för positioner pà 10 15 20 25 30 35 Cfi BJ CN -Å _; BJ 12 ytan baserat på bilden av en delmängd av positionskod- ningsmönstret.The electronic circuit part comprises a signal processor 16 for determining a position based on the image read by the sensor 14, and more specifically a processor unit with a microprocessor which is programmed to record images from the sensor, identify symbols in the image and in real time determine absolute coordinates for positions on 10 15 20 25 30 35 C fi BJ CN -Å _; BJ 12 surface based on the image of a subset of the position coding pattern.

Fastställande av positionen utförs således av signalprocessorn 16 som för detta måste ha programvara som möjliggör att den kan lokalisera och avkoda symboler i en bild och möjliggör för den att fastställa positioner från de därmed erhållna koderna. En fackman inom området kan konstruera sådan programvara utifrån beskrivningen i den ovannämnda patentansökan PCT/SEOO/01895.Determination of the position is thus performed by the signal processor 16 which for this must have software which enables it to locate and decode symbols in an image and enables it to determine positions from the codes thus obtained. One skilled in the art can construct such software based on the description in the above-mentioned patent application PCT / SEOO / 01895.

Signalprocessorn 16 är också programmerad att analysera lagrade par av koordinater och att omvandla dessa till ett koordinattåg som utgör en beskrivning av hur användarenhet 2 har förflyttats över ytan som är försedd med positionskodningsmönstret_ Signalprocessorn 16 behöver inte vidarebefordra all inspelad information till samma server. Signalprocessorn 16 kan vara programmerad att analysera de inspelade koordinaterna och endast vidarebefordra information som respresenteras av koordinater inom ett visst koordinat- område. Signalprocessorn 16 kan också ha programvara för kryptering av informationen som sänds till en server.The signal processor 16 is also programmed to analyze stored pairs of coordinates and to convert these into a coordinate train which is a description of how user unit 2 has been moved over the surface provided with the position coding pattern. The signal processor 16 does not have to forward all recorded information to the same server. The signal processor 16 may be programmed to analyze the recorded coordinates and transmit only information represented by coordinates within a certain coordinate range. The signal processor 16 may also have software for encrypting the information sent to a server.

Den digitala pennan innehåller definitionen av postitionskodningsmönstret för den totala ytan som kan kodas av detta mönster. Från en fastställd position kan således signalprocessorn härleda vilket område av den totala ytan som positionen tillhör. Ett sådant område representerar typiskt en specifik sida eller en specifik aktiveringsikon pà en sida.The digital pen contains the definition of the positioning coding pattern for the total area that can be coded by this pattern. Thus, from a fixed position, the signal processor can derive which area of the total area to which the position belongs. Such an area typically represents a specific page or activation icon on a page.

Den digitala pennan är anordnad att sända en posi- tionskodad ytas information, som genereras av användaren med den digitala pennan, till en lokal eller en på avstånd belägen uppslagningstjänst eller till en applikationstjänst. I systemet enligt Fig.1 sänds informationen trådlöst till mobilstationen 130 som implementerar nätverksanslutningsenheten, vilken i sin tur sänder informationen till den lokala PLS-servern 150, den på avstånd belägna PLS-servern 140 eller 10 15 20 25 30 35 nøvøno - 13 applikationsservern 160. Nätverksanslutningsenheten är alternativt en dator eller någon annan lämplig enhet som har ett gränssnitt till ett nätverk, t.ex. Internet, ett lokalt företagsnät eller ett telefoninät.The digital pen is arranged to send information of a position-coded surface, which is generated by the user with the digital pen, to a local or a remote look-up service or to an application service. In the system of Fig. 1, the information is transmitted wirelessly to the mobile station 130 which implements the network connection unit, which in turn sends the information to the local PLC server 150, the remote PLC server 140 or the neo-13 application server 160. The network connection device is alternatively a computer or other suitable device that has an interface to a network, e.g. Internet, a local corporate network or a telephone network.

Nätverksanslutningsenheten 130 kan alternativt utgöra en integrerad del av pennan 100. All inspelad data kan lagras i ett buffertminne 20 i avvaktan pà överföring till den mottagande servern 140, 150, 160. Som ett resultat av detta kan pennan 100 arbeta fristående, d.v.s. pennan 100 sänder informationen när den har möjlighet till detta, t.ex. när den etablerar kontakt med nätverksanslutningsenheten 130, varvid den tar fram lagrad information fràn buffertminnet 20.The network connection unit 130 may alternatively form an integral part of the pen 100. All recorded data may be stored in a buffer memory 20 pending transmission to the receiving server 140, 150, 160. As a result, the pen 100 may operate independently, i.e. the pen 100 sends the information when it has the opportunity to do so, e.g. when establishing contact with the network connection unit 130, retrieving stored information from the buffer memory 20.

Förutom att sända positioners absoluta koordinater som genererats genom analys av pennrörelser över en yta, samt sidadressdata, är den digitala pennan också kapabel att sända egenskapsdata för pennan till en server. Egen- skaperna är lagrade i minnet 20 som adresserbara värden eller teckensträngar som kan läsas och skrivas av proces- sorn 16. Nedan àterfinns en exemplifierande, icke uttöm- mande, lista över egenskapsdata för en penna. Det är enkelt att tänka sig ytterligare egenskapsdata.In addition to sending the absolute coordinates of positions generated by analyzing pen movements over a surface, as well as page address data, the digital pen is also capable of sending property data for the pen to a server. The properties are stored in the memory 20 as addressable values or character strings that can be read and written by the processor 16. Below is an exemplary, non-exhaustive, list of property data for a pen. It is easy to imagine additional property data.

PEN_ID -pennans unika identitet; PEN_SOFTWARE_VERSION -pennans programvaruversion; TRANSACTION_DATA -senaste transaktionens identitet och status; PEN_MANUFACTURER_ID -penntillverkarens identitet; LOCAL_URL -en lokal servers URL (Uniform Resource Locator); PLS_URL -URL:en för en pà avstånd 10 15 20 25 30 35 523 1112' LAST_PROPERTY_UPDATE PEN_owNER_NAME PEN_owNER_ADDREss PEN_owNER_INvo1cE_ADDREss PEN_OWNER_EMAIL PEN_OWNER_HOME_PHONE PEN_owNER_cELL_PHoNE PEN_owNER_BUsINEss_PHoNE PEN_owNER_PAGER PEN_owNER_HoME_FAx PEN_owNER_BUsINEss_FAx TXT_SYSTEM_ERROR 14 belägen server som exekverar en pappers uppslagningstjänst; -identiteten för den senast förpliktigade uppdateringen av egenskaper i pennan; -självförklarande; -sjàlvförklarande; -självförklarande; -självförklarnade; -självförklarande; -självförklarande; -självförklarande; -sjàlvförklarande; -självförklarande; -självförklarande; -en teckensträng med ett specifikt meddelande, i detta fall fel under en sàndbegäran. Det finns ett antal teckensträngar med meddelanden till användaren. 10 15 20 25 30 35 ß ":.": 15 En användarenhet och dess associerade nätverks- anslutningsenhet är normalt placerade ganska nära varandra. Kommunikationen mellan användarenheten och nätverksanslutningsenheten, såsom mellan den digitala pennan 100 och mobilstationen 130 i Fig. 1, kan utföras via ledningar, infraröd strålning eller radiovågor, t.ex. i enlighet med Bluetooth®-teknologin, eller med någon annan teknologi för överföring av information över korta avstånd. För detta ändamål har den digitala pennan i Fig. 2 en sändtagare 19 för trådlös kommunikation med externa enheter, företrädes en Bluetooth®-sändtagare.The unique identity of the PEN_ID pen; PEN_SOFTWARE_VERSION pen software version; TRANSACTION_DATA - the identity and status of the most recent transaction; PEN_MANUFACTURER_ID pen manufacturer's identity; LOCAL_URL -en Local Servers URL (Uniform Resource Locator); PLS_URL URLs: one for a remotely 10 15 20 25 30 35 523 1112 'LAST_PROPERTY_UPDATE PEN_owNER_NAME PEN_owNER_ADDREss PEN_owNER_INvo1cE_ADDREss PEN_OWNER_EMAIL PEN_OWNER_HOME_PHONE PEN_owNER_cELL_PHoNE PEN_owNER_BUsINEss_PHoNE PEN_owNER_PAGER PEN_owNER_HoME_FAx PEN_owNER_BUsINEss_FAx TXT_SYSTEM_ERROR 14 located server executing a paper look-up service; the identity of the most recently updated feature of the pen; -self-explanatory; -self-explanatory; -self-explanatory; -self-declared; -self-explanatory; -self-explanatory; -self-explanatory; -self-explanatory; -self-explanatory; -self-explanatory; -a character string with a specific message, in this case error during a send request. There are a number of character strings with messages to the user. 10 15 20 25 30 35 ß ":.": 15 A user unit and its associated network connection unit are normally located quite close to each other. The communication between the user unit and the network connection unit, such as between the digital pen 100 and the mobile station 130 in Fig. 1, can be performed via wires, infrared radiation or radio waves, e.g. in accordance with Bluetooth® technology, or with any other technology for the transmission of information over short distances. For this purpose, the digital pen in Fig. 2 has a transceiver 19 for wireless communication with external devices, preferably a Bluetooth® transceiver.

I Fig. 3 visas exemplifierande protokollstackar som används vid kommunikation mellan en användarenhet 100, såsom en digital penna, och understödjande tjänster på olika servrar. På den vänstra sidan visas exemplifierande protokollstackar vid kommunikation över Internet mellan en digital penna (PEN) och en pappersuppslagningstjänst (PLS), eller mellan en penna och en applikationstjänst (Application Service Handler) som tillhandahåller en tjänst. På högra sidan visas exemplifierande stackar vid kommunikation mellan en digital penna och en lokal server. Den lokala servern är t.ex. en lokal persondator som exekverar en lokal applikationsdirigeringstjänst, Local Application Router Service, LARS (som arbetar som en lokal PLS). Den lokala servern kan dessutom exekvera en lokal applikationstjänst.Fig. 3 shows exemplary protocol stacks used in communication between a user unit 100, such as a digital pen, and supporting services on different servers. The left side shows exemplary protocol stacks for communication over the Internet between a digital pen (PEN) and a paper lookup service (PLC), or between a pen and an application service application (Service Service Handler) that provides a service. The right side shows exemplary stacks when communicating between a digital pen and a local server. The local server is e.g. a local personal computer that executes a local application routing service, LARS (which works as a local PLC). The local server can also execute a local application service.

Kommunikationen mellan den digitala pennan och en lokal eller på avstånd belägen server baseras på en uppsättning fördefinierade instruktioner som tillsammans definierar ett pennprotokoll, PP. Nämnda PP realiseras ovanpå ett säkerhetspennprotokoll, SPP, som i sin tur är realiserat på det välkända HTTP-protokollet. I Internet- fallet är HTTP-skiktet realiserat på TCP/IP, PPP och RFCOMM-profilen för Bluetooth®, och i det lokala fallet direkt på RECOMM-profilen för Bluetooth®. Pennprotokollet PP är såldes det protokoll som realiserar kommunikations- förfarandet som är föremål för föreliggande uppfinning. 10 15 20 25 30 35 u ~ o . .- 523 112 16 Säkerhetspennprotokollet SPP är ett protokoll framtaget av sökanden av föreliggande uppfinning och ett penn-API (Application Programmers Interface) tillför ett abstrak- tionsskikt ovanpå PP för användning av aktörer vid konstruktion av tjänster som understödjer digitala pennor. Varken nämnda SPP eller nämnda penn-API ligger inom ramen för uppfinningen och kommer inte ytterligare att beskrivas. Andra delar i stackarna är kommunikations- protokollskikt som är välkända för fackmannen.The communication between the digital pen and a local or remote server is based on a set of predefined instructions that together define a pen protocol, PP. The PP is realized on top of a security pen protocol, SPP, which in turn is realized on the well-known HTTP protocol. In the Internet case, the HTTP layer is implemented on the TCP / IP, PPP and RFCOMM profile for Bluetooth®, and in the local case directly on the RECOMM profile for Bluetooth®. The pen protocol PP is sold is the protocol that realizes the communication method that is the subject of the present invention. 10 15 20 25 30 35 u ~ o. The safety pen protocol SPP is a protocol developed by the applicant of the present invention and a pen API (Application Programmer Interface) adds an abstraction layer on top of PP for use by actors in the design of services that support digital pens. Neither the SPP nor the pen API are within the scope of the invention and will not be further described. Other parts of the stacks are communication protocol layers that are well known to those skilled in the art.

Instruktioner mottages av den digitala pennan i ett HTTP-svar som sänds från en server som svar på en HTTP- begäran tidigare sänd av pennan.Instructions are received by the digital pen in an HTTP response sent from a server in response to an HTTP request previously sent by the pen.

Ett mottaget meddelande i ett HTTP-svar består av tre delar: en datadel för protokollversion som beskriver vilken version av pennprotokollet som resten av svaret följer, en inledande del i svaret som innehåller metadata om svaret och en instruktionsdatadel som innehåller ett antal instruktioner med parametrar. Instruktionsdatadelen identifierar instruktionerna med hjälp av deras för- definierade identiteter. Varje instruktionsidentitet åtföljs av en eller flera parametrar identifierade av deras respektive parameteridentiteter. Varje parameter- identitet åtföljs av parameterns värde, vilket värde kan vara ett booleskt värde, ett heltal, en teckensträng, en ström av bytes eller en vektor med värden av någon av tidigare nämnda typer.A received message in an HTTP response consists of three parts: a data version for protocol version that describes which version of the pen protocol the rest of the response follows, an initial part of the response that contains metadata about the response and an instruction data part that contains a number of instructions with parameters. The instruction data part identifies the instructions using their predefined identities. Each instruction identity is accompanied by one or more parameters identified by their respective parameter identities. Each parameter identity is accompanied by the value of the parameter, which value can be a Boolean value, an integer, a character string, a stream of bytes or a vector with values of any of the previously mentioned types.

Ett användarenhetmeddelande som sänds från den digitala pennan sänds i en HTTP-begäran. Användarenhets- meddelandet sänds till en specifik server och innehåller fyra delar: en datadel för protokollversion som beskriver vilken version av pennprotokollet som resten av begäran följer, en inledande del av begäran som innehåller meta- data om begäran, en siddatadel med inspelad pennförflytt- ningsdata och en egenskapsdatadel med en eller flera pennegenskaper. Egenskapsdatadelen identifierar egen- skaperna med hjälp av deras fördefinierade identiteter.A user device message sent from the digital pen is sent in an HTTP request. The user device message is sent to a specific server and contains four parts: a data version for protocol version which describes which version of the pen protocol the rest of the request follows, an initial part of the request which contains metadata about request, a page data part with recorded pen movement data and a property data part with one or more pen properties. The property data section identifies the properties using their predefined identities.

Varje egenskapsidentitet åtföljs av egenskapens värde, 10 15 20 25 30 35 u « n | n - . ø - .n 17 vilket värde kan vara något av typerna beskrivna ovan för parametervärdet i ett svar. Inledande delen i begäran innefattar en sidadress och en s.k. pidget(paper widget)- identitet. Sidadressen är sididentiteten för sidan på vilken ett sändområde, eller någon annan aktiveringsikon, som initierade begäran är placerad. Fasta bitpositioner i sidadressen representerar, i turordning, ett segment, en hylla, sidadress betecknas 'segment.hylla.bok.sida'_ en bok och en sida. Som tidigare beskrivits kan en Pidget- identiteten är identiteten för sändområdet (eller aktive- ringsikonen) på sidan ifråga. En sådan identitet är nöd- vändig eftersom fler än en aktiveringsikon kan vara placerade på samma sida. En begäran från den digitala pennan under samma sändsession, d.v.s. under samma trans- aktion, initierad av ett visst sändområde på en viss sida kommer att innefatta sidans sidadress och sändområdets pidget.Each property identity is accompanied by the value of the property, 10 15 20 25 30 35 u «n | n -. ø - .n 17 which value can be one of the types described above for the parameter value in an answer. The introductory part of the request includes a page address and a so-called pidget (paper widget) - identity. The page address is the page identity of the page on which a broadcast area, or other activation icon, as initiated request is located. Fixed bit positions in the page address represent, in turn, a segment, a shelf, page address is denoted 'segment.shelf.book.page'_ a book and a page. As previously described, a Pidget identity can be the identity of the transmission area (or activation icon) on the page in question. Such an identity is necessary because more than one activation icon can be placed on the same page. A request from the digital pen during the same broadcast session, i.e. during the same transaction, initiated by a certain transmission area on a certain page will include the page's page address and the transmission area's pidget.

Definitionen för varje instruktion som ingår i penn- protokollet finns lagrad i minnet 20 hos den digitala pennan 100. När den digitala pennan ska utföra den åtgärd eller de åtgärder som är associerade med en specifik instruktion kommer processorn 16 att adressera mot- svarande definition i minnet 20, vilken definition kommer att styra arbetssättet för processorn 16 och således den digitala pennan 100. Arbetssättet för den digitala pennan generellt, och arbetssättet i enlighet med pennprotokoll- instruktionerna i synnerhet, styrs av datorexekverbara komponenter lagrade i minnet 20. Minnet 20 implementerar således ett datorläsbart medium som lagrar komponenter som åstadkommer att en digital penna 100 arbetar i enlighet med föreliggande uppfinning. Ett sådant datorläsbart medium kan emellertid också vara externt till den digitala pennan, antingen i syfte att vara åtkomligt av den digitala pennan eller i syfte att överföras och laddas ned i pennans 100 minne 20 i ett senare skede. 10 15 20 25 30 35 523 1' 12 j_'_=; . :jïf . f: 2-1. 18 Nedan återfinns en icke uttömmande lista över instruktioner som innefattas av pennprotokollet PP.The definition of each instruction included in the pen protocol is stored in the memory 20 of the digital pen 100. When the digital pen is to perform the action or actions associated with a specific instruction, the processor 16 will address the corresponding definition in the memory. 20, which definition will control the operation of the processor 16 and thus the digital pen 100. The operation of the digital pen in general, and the operation in accordance with the pen protocol instructions in particular, is controlled by computer executable components stored in the memory 20. The memory 20 thus implements a computer readable medium storing components that cause a digital pen 100 to operate in accordance with the present invention. However, such a computer readable medium may also be external to the digital pen, either for the purpose of being accessible by the digital pen or for the purpose of being transmitted and downloaded to the memory 20 of the pen 100 at a later stage. 10 15 20 25 30 35 523 1 '12 j _'_ =; . : jïf. f: 2-1. 18 Below is a non-exhaustive list of instructions included in the pen protocol PP.

Listan är uppdelad i instruktioner som är exklusiva för den på avstånd belägna PLS-servern och i publika instruk- tioner. Det senare betyder att en valfri server, den på avstånd belägna eller den lokala PLS-servern såväl som någon applikationsserver, kan styra en digital pennas åtgärder med hjälp av dessa instruktioner.The list is divided into instructions that are exclusive to the remote PLC server and in public instructions. The latter means that an optional server, the remote or local PLC server as well as any application server, can control the actions of a digital pen using these instructions.

Instruktioner exklusiva för en på avstånd belägen PLS- Server I -grantPageDataAccess(pageAddress) Parametern pageAddress definierar den sida eller de sidor som är åtkomliga i en addPageData-instruktion i samma session. -grantPropertyAccess(property identities) En eller flera parametrar med egenskapsidentiteter (property identities) som definierar vilka pennegenskaper som är åtkomliga i en addPropertyData-instruktion i samma session. -internetïnitialApplicationRequest (url) Postar en begäran till den tillhandahållna url:en.Instructions exclusive to a remote PLS Server I -grantPageDataAccess (pageAddress) The pageAddress parameter defines the page or pages that are accessible in an addPageData instruction in the same session. -grantPropertyAccess (property identities) One or more parameters with property identities that define which pen properties are accessible in an addPropertyData instruction in the same session. -internetïnitialApplicationRequest (url) Posts a request to the provided url.

Instruktionen medför att det underliggande SPP-proto- kollet används. -internetLookupRequest Postar en begäran till den url som definieras av egenskapen PLS_URL. Instruktionen medför att det under- liggande SPP-protokollet används. -regVerticalApp(pageAddress, instructionsscript) Associerar en sida eller sidor definierade av para- metern pageaddress med en uppsättning instruktioner definierade av parametern instructionscript. Dessa 10 15 20 25 30 35 o --nu 19 instruktioner kommer sedan att exekveras vid detektering av positioner i det specifika ytomràdet, såsom ett sänd- område. -setProperty(propertyID, value) Tilldelar en viss egenskap ett visst värde. Värdet kan vara ett booleskt värde, ett heltal, en teckensträng, en ström av bytes eller en vektor med värden av någon av de tidigare nämnda typerna. -startTranscation(transID) Denna instruktion startar en applikationstrans- aktion. Parametern identifierar transaktionen och är företrädesvis lika med aktuell GMT (Greenwich Mean Time) i millisekunder sedan år 1970, såsom räknat av den på avstånd belägna PLS-servern. -localLookupRequest Postar en begäran till urlzen definierad av egen- skapen LOCAL_URL.The instruction means that the underlying SPP protocol is used. -internetLookupRequest Postes a request to the url defined by the PLS_URL property. The instruction means that the underlying SPP protocol is used. -regVerticalApp (pageAddress, instructionsscript) Associates a page or pages defined by the page address parameter with a set of instructions defined by the instructionscript parameter. These instructions will then be executed when detecting positions in the specific surface area, such as a transmission area. -setProperty (propertyID, value) Assigns a specific property to a specific property. The value can be a Boolean value, an integer, a character string, a stream of bytes or a vector with values of any of the previously mentioned types. -startTranscation (transID) This instruction starts an application transaction. The parameter identifies the transaction and is preferably equal to the current GMT (Greenwich Mean Time) in milliseconds since 1970, as calculated by the remote PLC server. -localLookupRequest Sends a request to the urlzen defined by the LOCAL_URL property.

Publika instruktioner: -abortTransactionVerbose Avbryter en applikationstransaktion. -addPageData(pageAddresS) Parametern PageAddress specificerar den sida från vilken inspelad data ska läggas till ett användar- enhetmeddelande i en begäran. Denna instruktion kräver att servern som sänder instruktionen har rättigheten att läsa motsvarande siddata. Detta innebär att servern är den på avstånd belägna PLS-servern, eller att en grantPageDataAccess-instruktion har anropats av den på avstånd belägna PLS-servern tidigare i sessionen eller att sessionen är en lokal session och läsbar av den lokala PLS-servern. 10 15 20 25 30 35 523 112 §..š_..:¿..¿. 20 -addPropertyData(property identities) En eller flera parametrar som identifierar en eller flera pennegenskaper. Värdena pà dessa egenskaper kommer att inbegripas av (eller adderas till) en begärans användarenhetmeddelande. Denna instruktion kräver att servern som sänder instruktionen har rättigheten att läsa motsvarande egenskaper. Detta betyder att servern är den på avstånd belägna PLS-servern eller att en grantPropertyAccess-instruktion har anropats av den pä avstånd belägna PLS-servern tidigare under samma session. -commitTransactionVerbose Förpliktigar en transaktion, d.v.s. talar om för pennan att tjänsten har utförts framgångsrikt av servern. -internetApplicationRequest(url) Poster en begäran till den tillhandahàllna urlzen.Public Instructions: -abortTransactionVerbose Cancels an application transaction. -addPageData (pageAddresS) The PageAddress parameter specifies the page from which recorded data is to be added to a user device message in a request. This instruction requires that the server that sends the instruction has the right to read the corresponding page data. This means that the server is the remote PLC server, or that a grantPageDataAccess instruction has been called by the remote PLC server earlier in the session or that the session is a local session and readable by the local PLC server. 10 15 20 25 30 35 523 112 §..š _ ..: ¿..¿. 20 -addPropertyData (property identities) One or more parameters that identify one or more pen properties. The values of these properties will be included in (or added to) a request user device message. This instruction requires that the server that sends the instruction has the right to read the corresponding properties. This means that the server is the remote PLC server or that a grantPropertyAccess instruction has been called by the remote PLC server earlier in the same session. -commitTransactionVerbose Commits a transaction, i.e. tells the pen that the service has been performed successfully by the server. -internetApplicationRequest (url) Enters a request to the provided urlzen.

Instruktionen betyder att det underliggande SPP-proto- kollet använts. -localApplicationRequest(url) Postar en begäran till den tillhandahàllna url:en.The instruction means that the underlying SPP protocol has been used. -localApplicationRequest (url) Post a request to the provided url.

Med hänvisning till Fig. 4 visas ett flödesschema över arbetssättet för en användarenhet i enlighet med en exemplifierande utföringsform. Notera att instruktionerna och parametrarna som beskrivs nedan endast är exempli- fierande. Många av dessa kan ändras eller ersättas med andra lämpliga instruktioner och/eller parametrar som beskrivs häri och fortfarande falla inom ramen för utföringsformen i Fig. 4.Referring to Fig. 4, a flow chart of the operation of a user unit in accordance with an exemplary embodiment is shown. Note that the instructions and parameters described below are exemplary only. Many of these can be modified or replaced with other suitable instructions and / or parameters described herein and still fall within the scope of the embodiment of Fig. 4.

I steg 400 spelar den digitala pennan 100 in de delar av det positionskodade mönstret som återfinns inom omràdessensorns 14 synfält, när penndrag görs med den digitala pennan av användaren på en yta 120 som har ett 10 15 20 25 30 35 523 112 _. 1 ... » .f . 0 I o..In step 400, the digital pen 100 records the portions of the position-coded pattern found within the field of view of the area sensor 14, when pen strokes are made with the digital pen by the user on a surface 120 having a surface area of 523 112. 1 ... ».f. 0 I o ..

OH Ino-o: °" u» . ° n ° 00 nu :acc Q - - n-nu oo naouou a v -annan 21 sådant mönster. Processorn 16 omvandlar de detekterade positionerna på ytan med det positionskodade mönstret till absoluta koordinater och genererar en sekvens av koordinater som beskriver hur den digitala pennan har förflyttats över ytan under penndragen. Denna sekvens av koordinater är också känd som penndragdata. Baserat pà dessa koordinater och kunskap om hur koordinaterna definierar den totala ytan för det positionskodade mönstret, fastställer processorn motsvarande sidadress för den specifika yta till vilken koordinaterna tillhör.OH Ino-o: ° "u». ° n ° 00 nu: acc Q - - n-nu oo naouou av -annan 21 such a pattern. The processor 16 converts the detected positions on the surface with the position-coded pattern into absolute coordinates and generates a sequence of coordinates describing how the digital pen has moved across the surface under the pen strokes.This sequence of coordinates is also known as pen stroke data.Based on these coordinates and knowledge of how the coordinates define the total area of the position-coded pattern, the processor determines the corresponding page address for it specific area to which the coordinates belong.

Om någon koordinat tillhör en aktiveringsikon 125, såsom ett sändområde, fastställs motsvarande sändomràdes iden- titet, d.v.s. pidget-identitet, baserat på kunskap om vilka koordinater som definierar vilka aktiveringsrutor.If any coordinate belongs to an activation icon 125, such as a transmission area, the identity of the corresponding transmission area is determined, i.e. pidget identity, based on knowledge of which coordinates define which activation boxes.

I steg 410 exekverar den digitala pennans 100 processor 16 en uppsättning tidigare lagrade uppstarts- instruktioner med ett antal tidigare lagrade parametrar som definierar vilka data som ska sändas till vilken server. Om t.ex. processorn detekterar att vissa inspelade koordinater tillhör en aktiveringsikon 125 som definierar ett Internet-sändomràde, exekveras de tidigare lagrade uppstartsinstruktionerna som är associerade med detta sändomràde. Uppstartsinstruktionerna kan t.ex. vara: -addPropertyData(PEN_ID,_TRANSACTION_DATA, PEN;MANUFACTURER_ID, LAST_PROPERTY_UPDATE); -internetLookupRequest(PLS_URL).In step 410, the processor 16 of the digital pen 100 executes a set of previously stored start-up instructions with a number of previously stored parameters that define which data is to be sent to which server. If e.g. the processor detects that certain recorded coordinates belong to an activation icon 125 defining an Internet transmission area, the previously stored start-up instructions associated with that transmission area are executed. The start-up instructions can e.g. item: -addPropertyData (PEN_ID, _TRANSACTION_DATA, PEN; MANUFACTURER_ID, LAST_PROPERTY_UPDATE); -internetLookupRequest (PLS_URL).

Den första instruktionen definierar vilka egenskapsdata som ska sändas. Den andra instruktionen kommer att instruera den digitala pennan att sända en HTTP-begäran med ett användarenhetmeddelande som innefattar speci- ficerad egenskapsdata till den på avstånd belägna PLS- servern 140. Den mottagande servern identifieras av en tidigare definierad URL-adress lagrad av egenskapen PLs_URL. 10 15 20 25 30 35 Q o 0. o - - 1 . a 4 nu n . < om nu n 22 Alternativt, om de detekterade koordinaterna tillhör en aktiveringsikon 125 som definierar ett lokalt sänd- omràde, ska användarenhetmeddelandet sändas till den lokala PLS-servern 150 och de tidigare lagrade uppstarts- instruktionerna kan se ut som: -addPropertyData(PEN_ID) -localLookupRequest(LOCAL_URL).The first instruction defines which property data to send. The second instruction will instruct the digital pen to send an HTTP request with a user device message that includes specified property data to the remote PLC server 140. The receiving server is identified by a previously defined URL stored by the PLs_URL property. 10 15 20 25 30 35 Q o 0. o - - 1. a 4 nu n. <if now n 22 Alternatively, if the detected coordinates belong to an activation icon 125 that defines a local transmission area, the user unit message should be sent to the local PLC server 150 and the previously stored startup instructions may look like: -addPropertyData (PEN_ID) -localLookupRequest (LOCAL_URL).

Det är föredraget, och såsom indikeras ovan, att uppstartsinstruktionerna som definierar vilka egenskapsdata som ska sändas till den på avstånd belägna PLS-servern innefattar egenskapen TRANSACTION_DATA. Denna egenskap innefattar den senaste transaktionens identitet såväl som den senaste transaktionens status. Denna status anger resultatet (t.ex. lyckades, avbröts, avvaktande) för en aktivitet hos en applikationsserver som var inblandad i den senaste transaktionen. Den mottagande, på avstånd belägna, PLS-servern kan företrädesvis basera fakturering på mottagna transaktionsdata, t.ex. genom fakturering av pennabonnenten om transaktionen lyckades, men inte om statusen anger att transaktionen av något skäl avbröts. Denna åtgärd att innefatta resultatet för den senaste transaktionen i meddelandet som ska sändas anges som ett steg 420 i Fig. 4. En annan egenskap som företrädesvis sänds med hjälp av startuppinstruktionerna är LAST_PROPERTY_UPDATE. Denna egenskap kan användas av den mottagande, på avstånd belägna, PLS-servern 140 för att fastställa om den innehar någon uppdaterad informa- tion som ska lagras av pennan som ett uppdaterat penn- egenskapsvärde. Om så är fallet kommer servern 140 i ett senare skede att initiera lagring av nya värden för en eller flera egenskaper med utnyttjande av instruktionen setProperty, såsom kommer att beskrivas nedan. Överföringen av HTTP-begäran med användarenhet- meddelandet till servern anges som ett steg 430. Såsom tidigare beskrivits kommer ett användarenhetmeddelande att innefatta sidadressen för det ytområde på vilket -onooo 10 15 20 25 30 35 5.23 -112 -.unna 23 penndrag detekterades och, om någon aktiveringsikon ”markerats” genom ett penndrag, identiteten för denna aktiveringsikon (pidgetidentitet). Genom utförande av överföringen av nämnda HTTP-begäran initierar den digitala pennan en sändsession. Sändsessionen kan således initieras genom att pennan sänder nämnda HTTP-begäran till antingen en på avstånd belägen eller till en lokal PLS-server med utnyttjande av instruktionen internetLookupRequest respektive instruktionen localLookupRequest. När nämnda HTTP-begäran sänds med utnyttjande av instruktionen internetLookupRequest, betyder detta att pennprotokollet PP kommer att använda det underliggande säkerhetspennprotokollet SPP. Nämnda SPP tillhandahåller kryptering av kommunikationen mellan den digitala pennan och den på avstånd belägna PLS- servern. Denna kryptering gör det möjligt för den pà avstånd belägna PLS-servern att sända instruktioner tillhörande en tidigare definierad, begränsad, uppsättning av instruktioner till den digitala pennan, d.v.s. instruktioner exklusiva för den pà avstånd belägna PLS-servern, och för den digitala pennan att vara förvissad om att en instruktion tillhörande denna begränsade uppsättning mottogs från den specifika, på avstånd belägna PLS-servern och inte från någon annan server. Denna kryptering kan utnyttja tekniker som är kända för fackmannen inom området kryptering. Oaktat detta ligger implementeringen av SPP-protokollet utför omfånget för föreliggande uppfinning.It is preferred, and as indicated above, that the startup instructions that define which property data to send to the remote PLC server include the property TRANSACTION_DATA. This property includes the identity of the most recent transaction as well as the status of the most recent transaction. This status indicates the result (eg, successful, aborted, pending) of an activity on an application server that was involved in the most recent transaction. The receiving, remote, PLC server may preferably base invoicing on received transaction data, e.g. by invoicing the pen subscriber if the transaction was successful, but not if the status indicates that the transaction was terminated for any reason. This action to include the result of the most recent transaction in the message to be sent is indicated as a step 420 in Fig. 4. Another property that is preferably sent using the startup instructions is LAST_PROPERTY_UPDATE. This property can be used by the receiving, remote, PLC server 140 to determine if it has any up-to-date information to be stored by the pen as an updated pen property value. If so, server 140 will at a later stage initiate storage of new values for one or more properties using the setProperty instruction, as will be described below. The transmission of the HTTP request with the user device message to the server is indicated as a step 430. As previously described, a user device message will include the page address of the surface area on which -onooo 10 15 20 25 30 35 5.23 -112 -.unna 23 pen strokes were detected and, if any activation icon is "marked" by a pen stroke, the identity of that activation icon (pidget identity). By performing the transmission of the HTTP request, the digital pen initiates a transmission session. The transmission session can thus be initiated by the pen sending the HTTP request to either a remote location or to a local PLC server using the instruction internetLookupRequest and the instruction localLookupRequest, respectively. When the said HTTP request is sent using the instruction internetLookupRequest, this means that the pen protocol PP will use the underlying security pen protocol SPP. The SPP provides encryption of the communication between the digital pen and the remote PLC server. This encryption enables the remote PLC server to send instructions belonging to a previously defined, limited set of instructions to the digital pen, i.e. instructions exclusive to the remote PLC server, and for the digital pen to be assured that an instruction belonging to this limited set was received from the specific remote PLC server and not from any other server. This encryption can utilize techniques known to those skilled in the art of encryption. Notwithstanding this, the implementation of the SPP protocol carries out the scope of the present invention.

En instruktion som mottages av den digitala pennan 100 mottages i steg 440 i ett HTTP-svar från servern till vilken pennan gjorde en HTTP-begäran. En mängd olika instruktioner kan mottagas i HTTP-svaret. Svaret kommer typiskt innefatta instruktioner tillhörande den diskute- rade begränsade instruktionsuppsättningen_ Typiska exempel pä sådana instruktioner innefattar en instruktion för uppdatering av en egenskap lagrad i pennan, en instruktion för associering av en uppsättning uppstarts- o :ovana 10 15 20 25 30 35 24 instruktioner med ett sändområde eller ett antal instruk- tioner som initierar en viss applikationstransaktion.An instruction received by the digital pen 100 is received in step 440 in an HTTP response from the server to which the pen made an HTTP request. A variety of instructions can be received in the HTTP response. The answer will typically include instructions pertaining to the limited instruction set discussed. Typical examples of such instructions include an instruction for updating a property stored in the pen, an instruction for associating a set of start-up instructions. a transmission area or a number of instructions that initiate a certain application transaction.

Med instruktionen setProperty(propertyID, value) uppdaterar den på avstånd belägna PLS-servern en eller flera egenskaper lagrade av pennan. Om t.ex. penna i sin begäran har sänt egenskapen LAST_PROPERTY_UPDATE med ett värde lika med 2, kommer den mottagande servern att kontrollera detta värde mot ett motsvarande egenskaps- uppdateringsvärde lagrat av servern. Om det föreligger någon skillnad mellan värdena kan servern identifiera vilken egenskap som behöver uppdateras. När pennan t.ex. mottager instruktionen setProperty(PEN_OWNER_EMAIL, mr_X@company_Y.com) i HTTP-svaret, betyder detta att pennan kommer att lagra sin ägares nya e-postadress.With the instruction setProperty (propertyID, value), the remote PLC server updates one or more properties stored by the pen. If e.g. pen in its request has sent the property LAST_PROPERTY_UPDATE with a value equal to 2, the receiving server will check this value against a corresponding property update value stored by the server. If there is any difference between the values, the server can identify which property needs updating. When the pen e.g. receives the instruction setProperty (PEN_OWNER_EMAIL, mr_X@company_Y.com) in the HTTP response, this means that the pen will store its owner's new email address.

Denna aktivitet utförs i steget 450. Om inga fler instruktioner mottogs kommer pennan avsluta sessionen i steg 470 varefter exekveringen återgår till steg 400 för behandling av nya inspelade positioner från ytan.This activity is performed in step 450. If no further instructions were received, the pen will end the session in step 470 after which execution returns to step 400 for processing new recorded positions from the surface.

Med instruktionen RegVerticalApp(pageAddresss, instructionscript) associeras en ny uppsättning av uppstartsinstruktioner med ett sändområde. Instruktionen skulle t.ex. kunna hänföra sig till sidor för en viss segment/hylla/bok. Detta anges med sidadressen, t.ex. 2.3.4.* betyder alla sidor av bok 4, hylla 3, segment 2.The RegVerticalApp (pageAddresss, instructionscript) instruction associates a new set of startup instructions with a transmission area. The instruction would e.g. be able to relate to pages for a certain segment / shelf / book. This is indicated by the page address, e.g. 2.3.4. * Means all pages of book 4, shelf 3, segment 2.

Instruktionsskriptet innefattar koordinatparametrar och definierar vilka instruktioner som ska exekveras när pennan detekterar inspelning av positioner hos ett sänd- omràde som definieras av dessa koordinater på alla sidor som definieras av sidadressen 2.3.4.*. Det ska noteras att nya instruktioner kan associeras med valfri aktive- ringsruta på valfri sida på ett liknande sätt. Pennan lagrar de nya instruktionerna i steg 450. Om inga fler instruktioner mottogs kommer pennan avsluta sessionen i steg 470, varefter exekveringen återgår till steg 400 för behandling av nya inspelade positioner från ytan.The instruction script includes coordinate parameters and defines which instructions are to be executed when the pen detects the recording of positions of a transmission area defined by these coordinates on all pages defined by the page address 2.3.4. *. It should be noted that new instructions can be associated with any activation box on any page in a similar way. The pen stores the new instructions in step 450. If no further instructions were received, the pen will end the session in step 470, after which execution returns to step 400 for processing new recorded positions from the surface.

Ett annat typiskt exempel på instruktioner som mot- tages från den på avstånd belägna PLS-servern i steg 440 10 15 20 25 30 35 523 112 ;_'_';jl'¿',=.,="¿--;=_,--¿¿;¿ : v . . ,, 25 är de instruktioner som initierar en applikationstrans- aktion och som typiskt inbegriper ytterligare överföring av penndragdata från den digitala pennan. Instruktionerna sänds av den på avstånd belägna PLS-servern i enlighet med dess lagrade hanteringsregler som är associerade med sidadressen som mottogs med HTTP-begäran fràn pennan. Ett exempel på instruktioner som mottages när en applika- tionstransaktion initieras är (med parametrar ute- lämnade): startTransaction; addPropertyData; addPageData; och internetïnitialApplicationRequest. Återigen utförs exekveringen i enlighet med definitionerna för dessa instruktioner i steg 450.Another typical example of instructions received from the remote PLC server in step 440 10 15 20 25 30 35 523 112; _'_ '; jl'¿', =., = "¿-; = _, - ¿¿; ¿: v. its stored handling rules associated with the page address received with the HTTP request from the pen.An example of instructions received when initiating an application transaction is (with parameters omitted): startTransaction; addPropertyData; addPageData; and internetïnitialApplicationRequest. according to the definitions of these instructions in step 450.

Instruktionen startTransaction(transID) startar den nya transaktionen. Parametern transID identifierar den startade transaktionen och lagras av pennan som del i en egenskap TRANSACTION_DATA för denna transaktion. Trans- aktionsidentiteten är företrädesvis en tidstämpel, t.ex. aktuell GMT àr 1970. Pennan kan företrädesvis använda transaktions- (Greenwich mean Time) i millisekunder sedan identiteten för att synkronisera sin interna klocka med klockan hos den pà avstànd belägna PLS-servern som sände instruktionen.The instruction startTransaction (transID) starts the new transaction. The transID parameter identifies the started transaction and is stored by the pen as part of a TRANSACTION_DATA property for that transaction. The transaction identity is preferably a timestamp, e.g. current GMT in 1970. The pen can preferably use the transaction (Greenwich mean Time) in milliseconds since the identity to synchronize its internal clock with the clock of the remote PLC server that sent the instruction.

Instruktionen addPropertyData(PEN_ID_, PEN_OWNER_EMAIL) betyder att de identifierade penn- egenskaperna av pennan innefattas i nästa användar- enhetmeddelande som ska sändas. Eftersom instruktionen i detta exempel anropas av den pá avstånd belägna PLS- servern, behöver den inte föregås av en instruktion grantPropertyAccess.The addPropertyData instruction (PEN_ID_, PEN_OWNER_EMAIL) means that the identified pen properties of the pen are included in the next user device message to be sent. Since the instruction in this example is called by the remote PLC server, it does not need to be preceded by an instruction grantPropertyAccess.

Instruktionerna addPageData(pageAddress) betyder att den identifierade sidans penndragdata av pennan inne- fattas i nästa användarenhetmeddelande som ska sändas.The addPageData (pageAddress) instructions mean that the pen page drag data of the identified page is included in the next user unit message to be sent.

Instruktionen anropas här av den pà avstånd belägna PLS- .f 1 -n-n. u o vzof... 10 15 20 25 30 35 26 servern och måste inte föregås av en instruktion grantPageDataAccess.The instruction is called here by the remote PLS- .f 1 -n-n. u o vzof ... 10 15 20 25 30 35 26 the server and does not have to be preceded by an instruction grantPageDataAccess.

Instruktionen internetïnitialApplicationRequest (url) betyder att pennan sänder användarenhetmeddelandet i en HTTP-begäran till applikationsservern som identi- fieras av den specifika urlzen och vilken applika- tionsserver är inblandad i den pågående transaktionen.The Internet initial application request (url) instruction means that the pen sends the user device message in an HTTP request to the application server identified by the specific url and which application server is involved in the ongoing transaction.

Exekveringen av ovannämnda instruktioner fram till sändning av nämnda HTTP-begäran från pennan utförs i steg 450, varefter pennans exekvering återgår till steg 430 i vilket användarenhetmeddelandet, som respons på instruk- tionen internetïnitialApplicationRequest, sänds till den identifierade servern.The execution of the above instructions until sending the HTTP request from the pen is performed in step 450, after which the execution of the pen returns to step 430 in which the user unit message, in response to the instruction internetïnitialApplicationRequest, is sent to the identified server.

Om t.ex. en användare av en digital penna har gjort några penndrag på en annons tryckt på en yta som har ett positionskodat mönster och sedan initierar en sändsession genom att ”markera” ett sändområde i annonsen, kommer uppstartsinstruktionerna beskrivna ovan att resultera i en HTTP-begäran till den på avstånd belägna PLS-servern, vilken begäran innefattar sidadressen för ytan på vilken annonsen är tryckt och identiteten för det sändområde som "markerats". I enlighet med de hanteringsregler som är associerade med sidan kommer HTTP-svaret från den på avstånd belägna PLS-servern att innefatta instruktioner för att styra pennan att sända en HTTP-begäran till den aktör som är associerad med sidan, typiskt en tjänst som tillhandahålls av annonsören på en applikationsserver.If e.g. a user of a digital pen has made some pen strokes on an ad printed on a surface that has a position-coded pattern and then initiates a broadcast session by "marking" a broadcast area in the ad, the start-up instructions described above will result in an HTTP request to it remote PLC server, which request includes the page address of the surface on which the ad is printed and the identity of the broadcast area "marked". In accordance with the handling rules associated with the page, the HTTP response from the remote PLC server will include instructions for guiding the pen to send an HTTP request to the actor associated with the page, typically a service provided by the advertiser on an application server.

Som ett resultat av de ovannämnda mottagna instruktioner- na kommer pennan i detta exempel att sända sin penn- identitet, sin ägares e-postadress och de penndragdata som gjordes på annonsen till annonsören. Detta skulle t.ex. kunna resultera i en beställning av en produkt eller beställning av ytterligare information om en produkt etc.As a result of the instructions received above, the pen in this example will send its pen identity, its owner's email address and the pen stroke data made on the ad to the advertiser. This would e.g. be able to result in an order for a product or an order for additional information about a product, etc.

Aktiviteterna som utförs av applikationsserverns tjänst som en följd av den HTTP-begäran som sänds från pennan till applikationsservern i steg 430 kan antingen 10 15 20 25 30 35 523 112 27 vara framgångsrika eller, av någon anledning, fungera dåligt. Om aktiviteten var framgångsrik kommuniceras detta tillbaka till pennan i steg 440 med en instruktion commitTransactionVerbose. Pennan kommer då i steg 460 lagra en indikering om den framgångsrika transaktionen i egenskapen TRANSACTION_DATA som är associerad med denna transaktion. Efter detta avslutar pennan sessionen i steg 470 och exekveringen återgår till steg 400. Nästa gång användaren av någon anledning initierar en sändsession kommer egenskapen TRANSACTION_DATA för denna senaste transaktion att inbegripas i HTTP-begäran till den pà avstånd belägna PLS-servern.The activities performed by the application server service as a result of the HTTP request sent from the pen to the application server in step 430 may either be successful or, for some reason, malfunction. If the activity was successful, this is communicated back to the pen in step 440 with an instructionTransactionVerbose instruction. In step 460, the pen will store an indication of the successful transaction in the property TRANSACTION_DATA associated with this transaction. After this, the pen ends the session in step 470 and execution returns to step 400. The next time the user initiates a transmission session for any reason, the TRANSACTION_DATA property of this most recent transaction will be included in the HTTP request to the remote PLC server.

För att ytterligare visa en exemplifierande utföringsform av uppfinningen hänvisas till Fig. 5. Fig. 5 visar en digital penna 500, en på avstånd belägen PLS- server 510, en applikationsserver 520 och en annan applikationsserver 530. En aktör, annonsör ”X” kör en applikationstjänst på applikationsserver 520 som har URL:en "advertiser_x.com” och en annan applikationstjänst körs av en lokal handlare ”Y” på server 530 med URL:en ”local_dealer_y.com”.To further show an exemplary embodiment of the invention, reference is made to Fig. 5. Fig. 5 shows a digital pen 500, a remote PLC server 510, an application server 520 and another application server 530. An actor, advertiser "X" runs an application service on application server 520 that has the URL "advertiser_x.com" and another application service is run by a local merchant "Y" on server 530 with the URL "local_dealer_y.com".

Med erinran om exemplet beskrivet i anslutning till Fig. 4 gjorde användaren några penndrag på en annons och ”markerade” ett sändomràde på detsamma. Steg 1 i Fig. 5 visar den HTTP-begäran som sedan sänds till den på avstånd belägna PLS-servern 510 och som innefattar sid- adressen för den yta på vilken annonsen tryckts och Steg 2 visar det HTTP-svar som sänds från den på avstånd belägna identiteten för det sändområde som "markerats".With the memory of the example described in connection with Fig. 4, the user made a few pen strokes on an advertisement and "marked" a transmission area on the same. Step 1 in Fig. 5 shows the HTTP request which is then sent to the remote PLC server 510 and which includes the page address of the surface on which the ad is printed and Step 2 shows the HTTP response sent from it remotely located the identity of the broadcast area "marked".

PLS-servern 510 tillbaka till pennan 500 med instruk- tioner i enlighet med de hanteringsregler som är associe- rade med sidan ifråga. I detta fall är instruktionerna: -startTransaction(transID); -grantPageDataAccess(l.2.3.4); -grantPropertyAccess(PEN_ID, PEN_OWNER_NAME, PEN_omvER_INvoIcE_ADDREsS) ,- -addPropertyData(PEN;ID, PEN_OWNER_ADDRESS); och 10 15 20 25 30 35 523 1212 šïííj-f.s"¿:ff*.="¿;I: 28 -internetïnitialApplicationRequest(advertiser-x.com).The PLC server 510 returns to the pen 500 with instructions in accordance with the handling rules associated with the page in question. In this case, the instructions are: -startTransaction (transID); -grantPageDataAccess (l.2.3.4); -grantPropertyAccess (PEN_ID, PEN_OWNER_NAME, PEN_omvER_INvoIcE_ADDREsS), - -addPropertyData (PEN; ID, PEN_OWNER_ADDRESS); and 10 15 20 25 30 35 523 1212 šïííj-f.s "¿: ff *. =" ¿; I: 28 -internetïnitialApplicationRequest (advertiser-x.com).

En skillnad mot exemplet i Fig. 4 är sändningen av en grantPageDataAccess i stället för instruktionen addPageData. Instruktionen grantPageDataAccess kommer att med en sidadressparameter definiera att sidan l.2.3.4 (vilken är ytans sida pà vilken annonsen är tryckt) är átkomlig med en addPageData-instruktion senare i samma session, och således under applikationstransaktionen. Pà samma sätt kommer instruktionen grantPropertyAccess definiera vilka egenskaper som är åtkomliga av en server under applikationstransaktionen. Instruktionen kommer att resultera i en HTTP-begäran, steg 3, fràn pennan 500 till applikationsservern 520 med utnyttjande av URL:en adverister_x.com och med egenskaperna PEN_ID och PEN_OWNER_ADDRESS i användarenhetmeddelandet.One difference from the example in Fig. 4 is the sending of a grantPageDataAccess instead of the addPageData instruction. The grantPageDataAccess instruction will define with a page address parameter that page l.2.3.4 (which is the page page on which the ad is printed) is accessible with an addPageData instruction later in the same session, and thus during the application transaction. Similarly, the grantPropertyAccess instruction will define which properties are accessible by a server during the application transaction. The instruction will result in an HTTP request, step 3, from the pen 500 to the application server 520 using the URL adverister_x.com and with the properties PEN_ID and PEN_OWNER_ADDRESS in the user device message.

Antag nu att denna mottagande tjänst är en central tjänst som körs av annonsören och att annonsören vill dirigera användaren till en lokal handlare. Genom t.ex. undersökande av pennägarens adress fastställer tjänsten pennägarens närmaste lokala handlare för den utannonse- rade produkten. Tjänsten hos advertiser_x.com kommer i steg 4 att sända ett HTTP-svar tillbaka till pennan 500 med instruktionerna: -addPageData(l.2.3.4); -addPropertyData(PEN_ID, PEN-OWNER_NAME, PEN_OWNER_INVOICE_ADDRESS); Och -internetApplicationRequest(local_dealer_y.com).Now assume that this receiving service is a central service run by the advertiser and that the advertiser wants to direct the user to a local merchant. By e.g. examination of the pen owner's address, the service determines the pen owner's nearest local retailer for the advertised product. The service at advertiser_x.com will in step 4 send an HTTP response back to the pen 500 with the instructions: -addPageData (l.2.3.4); -addPropertyData (PEN_ID, PEN-OWNER_NAME, PEN_OWNER_INVOICE_ADDRESS); And -internetApplicationRequest (local_dealer_y.com).

Dessa instruktioner resulterar i en HTTP-begäran, steg 5, fràn pennan 500 till tjänsten som körs av local_dealer_y.com. Denna begäran innefattar ett användarenhetmeddelande med penndragdata från sidan l.2.3.4 och egenskapsdata PEN_ID, PEN_OWNER_NAME, PEN_OWNER_INVOICE_ADDRESS. Om beställningen av produkten kan betjänas svarar den lokala handlarens tjänst i steg 6 nämnda begäran med ett HTTP-svar från applikationsserver 10 15 20 25 523 112 ¥§%¥É¥?ÅffÄfïI ' I I u v: 29 530 till pennan 500, vilket innefattar en instruktion commitTransactionVerbose som innefattar en förpliktigad parameteruppsättning. Som tidigare beskrivits kommer instruktionen som indikerar att tjänsten utförts fram- gångsrikt att sändas från pennan 500 till den på avstånd belägna PLS-servern 510 under nästa sändsession initierad av pennan, indikerat som steg 7. Baserat på denna infor- mation kan operatören av den på avstånd belägna PLS- servern 510 fakturera användarabonnemanget för utnytt- jande av tjänsten som tillhandahàlls av operatören.These instructions result in an HTTP request, step 5, from pen 500 to the service run by local_dealer_y.com. This request includes a user device message with pen drag data from page 1.2.3.4 and property data PEN_ID, PEN_OWNER_NAME, PEN_OWNER_INVOICE_ADDRESS. If the order of the product can be served, the local merchant's service in step 6 responds to the request mentioned with an HTTP response from the application server 10 15 20 25 523 112 ¥ §% ¥ É ¥? ÅffÄfïI 'II uv: 29 530 to the pen 500, which comprises a instruction commitTransactionVerbose which includes a required parameter set. As previously described, the instruction indicating that the service was performed successfully will be transmitted from the pen 500 to the remote PLC server 510 during the next transmission session initiated by the pen, indicated as step 7. Based on this information, the operator of the remotely located PLS server 510 bill the user subscription for the use of the service provided by the operator.

Detta exempel visar att en och samma session kan bestà av fler än en tur-och-retur-operation, varvid en enstaka tur-och-retur-operation består av en HTTP-begäran sänd av pennan till en server och ett följande HTTP-svar mottaget av pennan från samma server.This example shows that one and the same session can consist of more than one round-trip operation, where a single round-trip operation consists of an HTTP request sent by the pen to a server and a subsequent HTTP response received by the pen from the same server.

Det inses att många olika förändringar, modifie- ringar och liknande är möjliga med avseende på existe- rande pennegenskaper, existerande instruktioner och deras associerade parametrar och med avseende på den exakta sekvensen för instruktionerna. Även om uppfinningen har beskrivits med hänvisning till specifika exemplifierande utföringsformer därav, är således dessa utföringsformer inte avsedda att begränsa uppfinningens omfång, såsom det definieras av de bifogade patentkraven.It will be appreciated that many different changes, modifications and the like are possible with respect to existing pen properties, existing instructions and their associated parameters and with respect to the exact sequence of the instructions. Thus, although the invention has been described with reference to specific exemplary embodiments thereof, these embodiments are not intended to limit the scope of the invention as defined by the appended claims.

Claims (24)

10 15 20 25 30 35 ,,,un__,,nn 523 11-2 30 PATENTKRAV10 15 20 25 30 35 ,,, un __ ,, nn 523 11-2 30 PATENTKRAV 1. Förfarande för hantering av information i ett system, vilket system innefattar åtminstone en användarenhet, vilken användarenhet är i stånd att läsa information fràn en yta och kommunicera åtminstone en del därav till en server, en uppslagningsserver som lagrar informationshanteringsregler associerade med information läst från en yta och åtminstone en applikationsserver, vilket förfarande innefattar stegen: att mottaga, vid användarenheten från uppslagningsservern, åtminstone en instruktion med styrdata som styr vilken information som tillåts kommuniceras av användarenheten; och att fastställa, vid användarenheten och baserat på instruktionen från uppslagningsservern, vid mottagande av en instruktion från en applikationsserver att svara med specifik informationsdata, om nämnda specifika informationsdata är tillåten att kommuniceras, och, om så är fallet, sända nämnda specifika informationsdata i ett användarenhetmeddelande till en mottagande applikationsserver.A method of managing information in a system, the system comprising at least one user unit, the user unit being capable of reading information from a surface and communicating at least a part thereof to a server, a look-up server storing information management rules associated with information read from a surface and at least one application server, the method comprising the steps of: receiving, at the user unit from the look-up server, at least one instruction with control data controlling which information is allowed to be communicated by the user unit; and determining, at the user unit and based on the instruction from the lookup server, upon receiving an instruction from an application server to respond with specific information data, if said specific information data is allowed to be communicated, and, if so, sending said specific information data in a user unit message to a receiving application server. 2. Förfarandet enligt krav 1, varvid uppslagningsserver är en pà avstånd belägen nätverks- server eller en lokal server som exekverar en uppslagningstjänst som lagrar informationshanterings- regler associerade med information läst från en yta, och varvid applikationsserver är någon server som exekverar en applikation anordnad att utföra en tjänsteaktivitet som respons pà ett användarenhetmeddelande från en anvàndarenhet.The method of claim 1, wherein the lookup server is a remote network server or a local server executing a lookup service that stores information management rules associated with information read from a surface, and wherein the application server is any server executing an application arranged to perform a service activity in response to a user device message from a user device. 3. Förfarande enligt krav 1 eller 2, varvid användarenheten, vid mottagande av instruktionen med 10 15 20 25 30 35 c n u-.ø-w szz 112 31 styrdata, utför åtgärderna associerade med instruktionen i enlighet med en definition tillhandahàllen av en instruktionsuppsättning lagrad av användarenheten.A method according to claim 1 or 2, wherein the user unit, upon receiving the instruction with control data, performs the actions associated with the instruction according to a definition provided by an instruction set stored. of the user unit. 4. Förfarande enligt något av kraven 1 - 3, varvid steget att fastställa innefattar extrahering av en adress från instruktionen mottagen från applikationsservern, vilken adress identifierar den mottagande applikationsservern av nämnda användarenhetmeddelande.A method according to any one of claims 1 to 3, wherein the step of determining comprises extracting an address from the instruction received from the application server, which address identifies the receiving application server of said user unit message. 5. Förfarande enligt något av kraven 1 - 4, varvid den mottagna instruktionen med styrdata av användarenheten fastställs att vara innefattad i en specifik uppsättning instruktioner som uteslutande används av uppslagningsservern.A method according to any one of claims 1 to 4, wherein the instruction received with control data by the user unit is determined to be included in a specific set of instructions used exclusively by the lookup server. 6. Förfarande enligt något av kraven 1 - 5, varvid nämnda styrdata motsvarar en eller flera parametrar som definierar en eller flera egenskaper lagrade av användarenheten.A method according to any one of claims 1 to 5, wherein said control data corresponds to one or more parameters defining one or more properties stored by the user unit. 7. Förfarande enligt något av kraven 1 - 6, varvid nämnda specifika informationsdata innefattar åtminstone ett egenskapsparametervärde lagrat av användarenheten.A method according to any one of claims 1 to 6, wherein said specific information data comprises at least one property parameter value stored by the user unit. 8. Förfarande enligt något av kraven 1 - 7, varvid nämnda styrdata motsvarar en parameter som definierar en sidadress.A method according to any one of claims 1 to 7, wherein said control data corresponds to a parameter defining a page address. 9. Förfarande enligt något av kraven 1 - 8, varvid nämnda specifika informationsdata innefattar koordinater för positioner lästa av användarenheten från en yta.A method according to any one of claims 1 to 8, wherein said specific information data comprises coordinates of positions read by the user unit from a surface. 10. Förfarande enligt något av kraven 1 - 9, varvid steget att mottaga en instruktion med styrdata från uppslagningsservern föregås av ett steg att sända ett användarenhetmeddelande från användarenheten till lO 15 20 25 30 35 ..ounn n 523 112 sz uppslagningsservern i anslutning till exekvering, av användarenheten, av en uppsättning tidigare lagrade uppstartsinstruktioner.A method according to any one of claims 1 to 9, wherein the step of receiving an instruction with control data from the look-up server is preceded by a step of sending a user unit message from the user unit to 10 15 20 25 30 35 ..un n 523 112 sz the look-up server in connection with execution , by the user unit, by a set of previously stored startup instructions. 11. Förfarande enligt något av kraven 1 - 10, varvid användarenheten utför de ytterligare stegen: att mottaga, fràn applikationsservern till vilken användarenhetmeddelandet sändes, en instruktion med resultatdata; att extrahera nämnda resultatdata fràn instruktionen mottagen fràn applikationsservern; att lagra nämnda resultatdata som en indikation om resultatet av en aktivitet som utförts av applikationsservern; och att sända nämnda resultatdata i ett följande användarenhetmeddelande till uppslagningsservern i anslutning till exekvering, av användarenheten, av en uppsättning tidigare lagrade uppstartsinstruktioner.A method according to any one of claims 1 to 10, wherein the user unit performs the further steps of: receiving, from the application server to which the user unit message was sent, an instruction with result data; extracting said result data from the instruction received from the application server; storing said result data as an indication of the result of an activity performed by the application server; and sending said result data in a subsequent user unit message to the look-up server in connection with the execution, by the user unit, of a set of previously stored start-up instructions. 12. Förfarande enligt krav 10 eller 11, varvid sändningen av ett användarenhetmeddelande till en server följt av mottagning av åtminstone en instruktion frän samma server definierar en tur-och-retur-operation med avseende pà användarenheten, varvid en session initierad av användarenheten för sändning av data fràn användarenheten innefattar antingen en tur-och-retur- operation eller ett antal av pà varandra följande tur- och-retur-operationer.A method according to claim 10 or 11, wherein the sending of a user unit message to a server followed by receiving at least one instruction from the same server defines a back-and-forth operation with respect to the user unit, a session initiated by the user unit for sending data from the user unit includes either a round-trip operation or a number of consecutive round-trip operations. 13. Förfarande enligt något av kraven 10 - 12, varvid de tidigare lagrade uppstartsinstruktionerna innefattar en adressparameter som identifierar uppslagningsservern och en uppsättning egenskaps- parametrar för användarenheten som definierar vilka användarenhetsegenskaper som ska innefattas i användar- enhetmeddelandet som sänds till uppslagningsservern i 10 15 20 25 30 35 szs 112 ss samband med exekvering av de tidigare lagrade uppstartsinstruktionerna.A method according to any one of claims 10 to 12, wherein the previously stored start-up instructions comprise an address parameter identifying the lookup server and a set of property parameters for the user unit defining which user unit properties are to be included in the user unit message sent to the lookup server in 10 112 sss 112 ss associated with executing the previously stored startup instructions. 14. Förfarande enligt nàgot av kraven 10 - 13, varvid användarenheten, som följd av exekvering av de tidigare lagrade uppstartsinstruktionerna, är anordnad att: mottaga en ytterligare instruktion, från uppslagningsservern, med en egenskapsparameter som identifierar en start för en specifik session med hjälp av en identifierare; och lagra identifieraren i form av en tidstämpel.A method according to any one of claims 10 to 13, wherein the user unit, as a result of executing the previously stored start-up instructions, is arranged to: receive an additional instruction, from the look-up server, with a property parameter identifying a start-up for a specific session by means of an identifier; and store the identifier in the form of a timestamp. 15. Förfarande enligt krav 14, varvid användar- enheten synkroniserar sin interna klocka med avseende pà nämnda identifierare.The method of claim 14, wherein the user unit synchronizes its internal clock with respect to said identifier. 16. Förfarande enligt krav 13, varvid nämnda uppsättning egenskapsparametrar för en användarenhet innefattar en parameter som identifierar en senast utförd egenskapsuppdatering, varvid användarenheten, som följd av exekveringen av nämnda tidigare lagrade uppstartsinstruktioner, är anordnad att: mottaga en ytterligare instruktion, fràn uppslagningsservern, med ett uppdaterat värde för en egenskap; och lagra det uppdaterade värdet för egenskapen.The method of claim 13, wherein said set of property parameters for a user unit comprises a parameter identifying a last performed property update, the user unit, as a result of the execution of said previously stored start-up instructions, being arranged to: receive an additional instruction, from the look-up server, with an updated value for a property; and store the updated value of the property. 17. Förfarande enligt något av kraven 10 - 13, varvid användarenheten, som följd av exekveringen av nämnda tidigare lagrade uppstartsinstruktioner, är anordnad att: mottaga ytterligare instruktioner, från uppslagningsservern, baserat pà vilka instruktioner nämnda uppsättning av tidigare lagrade uppstartsinstruktioner ändras eller en ny uppsättning uppstartsinstruktioner definieras. 10 15 20 25 30 35 n _ u _ g lQl I . . I Ü -' I _ ------ :: - -- -4 n _- - -.._~-.: ._ ...zs .,,.:: .n .. . .n n - __ ,, , . v -I v' ._ .. coon . . - ø 34A method according to any one of claims 10 to 13, wherein the user unit, as a result of the execution of said previously stored start-up instructions, is arranged to: receive further instructions, from the look-up server, based on which instructions said set of previously stored start-up instructions is changed or a new set start-up instructions are defined. 10 15 20 25 30 35 n _ u _ g lQl I. . I Ü - 'I _ ------ :: - - -4 n _- - -.._ ~ - .: ._ ... zs. ,,. :: .n ... .n n - __ ,,,. v -I v '._ .. coon. . - ø 34 18. Förfarande enligt något av kraven 10 - 13, varvid nämnda tidigare lagrade uppstartsinstruktioner exekveras av användarenheten när användarenheten initierar en session för sändning av information läst från en yta, vilken session initieras när användarenheten detekterar läsning av information från ett specifik sändområde på ytan.A method according to any one of claims 10 to 13, wherein said previously stored start-up instructions are executed by the user unit when the user unit initiates a session for transmitting information read from a surface, which session is initiated when the user unit detects reading of information from a specific transmission area on the surface. 19. Förfarande enligt krav 18, varvid nämnda sänd- område är tidigare bestämt att vara associerat med en adressparameter som definierar en på avstånd belägen uppslagningsserver, varjämte steget att mottaga en instruktion med styrdata innefattar att mottaga en instruktion med styrdata som är baserade på informationshanteringsregler lagrade av den på avstånd belägna uppslagningsservern.The method of claim 18, wherein said transmission area is previously determined to be associated with an address parameter defining a remote lookup server, the step of receiving an instruction with control data comprises receiving an instruction with control data based on information management rules stored of the remote lookup server. 20. Förfarande enligt krav 18, varvid nämnda sänd- område är tidigare bestämt att vara associerat med en adressparameter som definierar en lokal uppslagningsserver, varjämte steget att mottaga en instruktion med styrdata innefattar att mottaga en instruktion med styrdata som är baserade på informationshanteringsregler lagrade av den lokala uppslagningsservern.The method of claim 18, wherein said transmission area is previously determined to be associated with an address parameter defining a local lookup server, the step of receiving an instruction with control data comprises receiving an instruction with control data based on information management rules stored by the local lookup server. 21.Förfarande enligt något av kraven 1 - 20, varvid ett användarenhetmeddelande sänt från användarenheten innefattar en unik identitet för användarenheten.A method according to any one of claims 1 to 20, wherein a user unit message sent from the user unit comprises a unique identity of the user unit. 22. Förfarande enligt något av kraven 1 - 21, varvid information läst från en yta innefattar åtminstone en position på en positionskodad yta.A method according to any one of claims 1 to 21, wherein information read from a surface comprises at least one position on a position coded surface. 23. En användarenhet anordnad att hantera . information i ett system, vilken användarenhet är i stånd att läsa information från en yta och kommunicera 10 15 20 25 . Q n u un 523 -112 35 åtminstone en del därav till en server, vilket system innefattar en uppslagningsserver som lagrar informationshanteringsregler associerade med information läst från en yta och åtminstone en applikationsserver, vilken användarenhet ytterligare är anordnad att: mottaga, från uppslagningsservern, åtminstone en instruktion med styrdata som styr vilken information som tillåts kommuniceras av användarenheten; och fastställa, baserat på instruktionen från uppslagningsservern, vid mottagande av en instruktion från en applikationsserver att svara med specifik informationsdata, om nämnda specifika informationsdata är tillåten att kommuniceras, och, om så är fallet, sända nämnda specifika informationsdata i ett användarenhetmeddelande till en mottagande applikationsserver.23. A user unit arranged to handle. information in a system, which user unit is able to read information from a surface and communicate 10 15 20 25. At least a part thereof to a server, which system comprises a look-up server which stores information management rules associated with information read from a surface and at least one application server, which user unit is further arranged to: receive, from the look-up server, at least one instruction with control data controlling what information is allowed to be communicated by the user unit; and determining, based on the instruction from the lookup server, upon receiving an instruction from an application server to respond with specific information data, if said specific information data is allowed to be communicated, and, if so, sending said specific information data in a user device message to a receiving application server . 24. Datorläsbart medium som lagrar datorexekverbara komponenter som åstadkommer att en användarenhet, som är i stånd att läsa information från en yta och kommunicera åtminstone delar därav till en server, utför stegen angivna i något av kraven 1 - 20 när de datorexekverbara komponenterna exekveras på en mikroprocessor innefattad av användarenheten.A computer readable medium which stores computer executable components which causes a user unit capable of reading information from a surface and communicating at least parts thereof to a server to perform the steps set forth in any one of claims 1 to 20 when the computer executable components are executed on a microprocessor included by the user unit.
SE0102418A 2001-07-05 2001-07-05 Procedures for communication between a user device that has the ability to read information from a surface, and servers that execute services that support the user device SE523112C2 (en)

Priority Applications (9)

Application Number Priority Date Filing Date Title
SE0102418A SE523112C2 (en) 2001-07-05 2001-07-05 Procedures for communication between a user device that has the ability to read information from a surface, and servers that execute services that support the user device
JP2003511083A JP4282475B2 (en) 2001-07-05 2002-07-04 Computer readable medium storing instructions for managing communications within a system
EP02746277A EP1415220B1 (en) 2001-07-05 2002-07-04 A method, a user unit and a computer readable medium storing instructions for managing communication in a system
CNB028132947A CN1299191C (en) 2001-07-05 2002-07-04 A computer readable medium storing instructions for managing communication in a system
ES02746277T ES2305262T3 (en) 2001-07-05 2002-07-04 METHOD, USER UNIT AND LEGIBLE SUPPORT BY COMPUTER STORAGE INSTRUCTIONS FOR MANAGING COMMUNICATION IN A SYSTEM.
PCT/SE2002/001332 WO2003005181A1 (en) 2001-07-05 2002-07-04 A computer readable medium storing instructiuons for managing communication in a system
DE60226246T DE60226246T2 (en) 2001-07-05 2002-07-04 METHOD, USER UNIT AND COMPUTER READABLE MEDIUM WITH SAVED INSTRUCTIONS FOR MANAGING COMMUNICATION IN A SYSTEM
AT02746277T ATE393426T1 (en) 2001-07-05 2002-07-04 METHOD, USER DEVICE AND COMPUTER READABLE MEDIUM WITH STORED INSTRUCTIONS FOR MANAGING COMMUNICATIONS IN A SYSTEM
US10/188,960 US7089308B2 (en) 2001-07-05 2002-07-05 Communication protocol

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE0102418A SE523112C2 (en) 2001-07-05 2001-07-05 Procedures for communication between a user device that has the ability to read information from a surface, and servers that execute services that support the user device

Publications (3)

Publication Number Publication Date
SE0102418D0 SE0102418D0 (en) 2001-07-05
SE0102418L SE0102418L (en) 2003-02-06
SE523112C2 true SE523112C2 (en) 2004-03-30

Family

ID=20284757

Family Applications (1)

Application Number Title Priority Date Filing Date
SE0102418A SE523112C2 (en) 2001-07-05 2001-07-05 Procedures for communication between a user device that has the ability to read information from a surface, and servers that execute services that support the user device

Country Status (9)

Country Link
US (1) US7089308B2 (en)
EP (1) EP1415220B1 (en)
JP (1) JP4282475B2 (en)
CN (1) CN1299191C (en)
AT (1) ATE393426T1 (en)
DE (1) DE60226246T2 (en)
ES (1) ES2305262T3 (en)
SE (1) SE523112C2 (en)
WO (1) WO2003005181A1 (en)

Families Citing this family (34)

* 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
EP1584051A1 (en) * 2003-01-03 2005-10-12 Anoto IP Lic HB A 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 (en) * 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
SE0401687D0 (en) 2004-06-30 2004-06-30 Anoto Ab Information management
US20070246539A1 (en) * 2004-06-30 2007-10-25 Anoto Ab Data Processing in an Electric Pen
US20080296074A1 (en) * 2004-06-30 2008-12-04 Anoto Ab Data Management in an Electric Pen
WO2006041387A1 (en) * 2004-10-12 2006-04-20 Anoto Ab Methods and a system for a secure management of information from an electronic pen
US11627944B2 (en) 2004-11-30 2023-04-18 The Regents Of The University Of California Ultrasound case builder system and method
US20060116162A1 (en) * 2004-11-30 2006-06-01 Bellsouth Intellectual Property Corporation Methods for providing a subscriber service
WO2006062468A1 (en) * 2004-12-07 2006-06-15 Anoto Ab Methods and apparatuses for routing information to an application service
JP2008532139A (en) * 2005-02-23 2008-08-14 アノト アクティエボラーク 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
US7502509B2 (en) * 2006-05-12 2009-03-10 Velosum, Inc. Systems and methods for digital pen stroke correction
US7489819B2 (en) * 2006-05-12 2009-02-10 Velosum, Inc. Systems and methods for handwritten digital pen lexical inference
WO2008118079A1 (en) 2007-03-23 2008-10-02 Anoto Ab Printing of a position-coding pattern
US8271864B2 (en) * 2007-07-10 2012-09-18 Anoto Ab Electronic representations of position-coded products in digital pen systems
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
US8477095B2 (en) * 2007-10-05 2013-07-02 Leapfrog Enterprises, Inc. Audio book for pen-based computer
KR101930510B1 (en) * 2011-09-16 2018-12-19 삼성전자주식회사 Method and system for searching object in network
US11631342B1 (en) 2012-05-25 2023-04-18 The Regents Of University Of California Embedded motion sensing technology for integration within commercial ultrasound probes
EP2862168B1 (en) 2012-06-14 2017-08-09 Dolby International AB Smooth configuration switching for multichannel audio
US10380919B2 (en) 2013-11-21 2019-08-13 SonoSim, Inc. System and method for extended spectrum ultrasound training using animate and inanimate training objects
US10380920B2 (en) 2013-09-23 2019-08-13 SonoSim, Inc. System and method for augmented ultrasound simulation using flexible touch sensitive surfaces
CN105874486B (en) * 2013-11-28 2020-10-27 帕特里克·弗尔韦特 Platform device for providing qualitative cluster knowledge
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
WO2019130709A1 (en) * 2017-12-28 2019-07-04 株式会社ワコム Authentication system and electronic pen
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
US12399923B1 (en) 2023-09-15 2025-08-26 Gabriele Nataneli Multi-modal enhancement of large language models without retraining

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 (en) * 1995-03-22 2003-06-18 Sun Microsystems Inc Device and method for managing computer processes
US5696898A (en) * 1995-06-06 1997-12-09 Lucent Technologies Inc. System and method for database access control
CN1298506A (en) * 1998-02-26 2001-06-06 太阳微系统公司 Method and system for facilitating access to a lookup service
JP2002505479A (en) * 1998-02-26 2002-02-19 サン・マイクロシステムズ・インコーポレーテッド Interactive design tool for shared memory space
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
CA2374811C (en) 1999-05-28 2012-04-10 Anoto Ab Position determination
AU7046700A (en) * 1999-08-30 2001-03-26 Anoto Ab Notepad
AU7080700A (en) * 1999-09-01 2001-03-26 Peter L. Katsikas System for eliminating unauthorized electronic mail
KR20010029046A (en) * 1999-09-29 2001-04-06 전주범 Method for servicing an additional information by using a jini in a pda
SE517445C2 (en) * 1999-10-01 2002-06-04 Anoto Ab Position determination on a surface provided with a position coding pattern
US6366907B1 (en) * 1999-12-15 2002-04-02 Napster, Inc. Real-time search engine
KR100752817B1 (en) 1999-12-23 2007-08-29 아노토 아베 General information management system
AU2567901A (en) 1999-12-23 2001-07-09 Anoto Ab Centralized information management
EP1244956A1 (en) 1999-12-23 2002-10-02 Anoto AB Charge card purchase
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
WO2001061450A2 (en) 2000-02-16 2001-08-23 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
DE60226246T2 (en) 2009-05-14
JP4282475B2 (en) 2009-06-24
CN1522400A (en) 2004-08-18
DE60226246D1 (en) 2008-06-05
SE0102418D0 (en) 2001-07-05
SE0102418L (en) 2003-02-06
CN1299191C (en) 2007-02-07
WO2003005181A1 (en) 2003-01-16
EP1415220B1 (en) 2008-04-23
ES2305262T3 (en) 2008-11-01
EP1415220A1 (en) 2004-05-06
ATE393426T1 (en) 2008-05-15
US7089308B2 (en) 2006-08-08
JP2004534319A (en) 2004-11-11

Similar Documents

Publication Publication Date Title
SE523112C2 (en) Procedures for communication between a user device that has the ability to read information from a surface, and servers that execute services that support the user device
CN100362457C (en) Method and arrangement in a digital communication system
US6698660B2 (en) Electronic recording and communication of information
KR101312810B1 (en) Partial item change tracking and synchronization
US7002559B2 (en) Method, system and product for information management
US20030046256A1 (en) Distributed information management
US8982057B2 (en) Methods and systems for processing digitally recorded data in an electronic pen
AU2007297253A1 (en) Method, apparatus and computer program product for a tag-based visual search user interface
CN102567436A (en) Multi-Tenant system
CN103092602A (en) Software development kit and terminal apparatus
US20020135805A1 (en) Communications system and method for supporting a technology provider of a communications network
JP5122291B2 (en) Method and system for secure management of information from an electronic pen
KR102214640B1 (en) Management method and device for interworking identification system of heterogeneous iot platform
US20030055986A1 (en) Addressing
US20080296074A1 (en) Data Management in an Electric Pen
EP1256090B1 (en) Electronic pen for e-commerce implementations
US20070246539A1 (en) Data Processing in an Electric Pen
JP5215160B2 (en) Information processing apparatus, control method thereof, and program
JP2013122627A (en) Information processing terminal, server device, system, and program
JP2006512669A (en) Method and system for responding to requests for access to application services
JP2008523497A (en) Method and apparatus for routing information to application services
KR20060123238A (en) Information management unit and method for controlling the flow of data from an electronic pen
JP6107410B2 (en) System, relay device and program
KR100961103B1 (en) Space situation information copying system using ontology
CN102792652A (en) Method and system for maintaining textsites on a global textsite platform

Legal Events

Date Code Title Description
NUG Patent has lapsed