DE60226246T2 - Verfahren, benutzereinheit und computerlesbares medium mit gespeicherten anweisungen zum verwalten der kommunikation in einem system - Google Patents

Verfahren, benutzereinheit und computerlesbares medium mit gespeicherten anweisungen zum verwalten der kommunikation in einem system Download PDF

Info

Publication number
DE60226246T2
DE60226246T2 DE60226246T DE60226246T DE60226246T2 DE 60226246 T2 DE60226246 T2 DE 60226246T2 DE 60226246 T DE60226246 T DE 60226246T DE 60226246 T DE60226246 T DE 60226246T DE 60226246 T2 DE60226246 T2 DE 60226246T2
Authority
DE
Germany
Prior art keywords
user unit
server
instruction
information
pen
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60226246T
Other languages
English (en)
Other versions
DE60226246D1 (de
Inventor
Björn FRANSSON
Ola SANDSTRÖM
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anoto AB
Original Assignee
Anoto AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Anoto AB filed Critical Anoto AB
Application granted granted Critical
Publication of DE60226246D1 publication Critical patent/DE60226246D1/de
Publication of DE60226246T2 publication Critical patent/DE60226246T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • G06F3/0317Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft ein Verfahren, eine Benutzereinheit und ein computerlesbares Medium, das Anweisungen zum Verwalten der Kommunikation in einem System speichert, wobei das System mindestens eine Benutzereinheit mit der Fähigkeit zum Lesen von Informationen aus einer Oberfläche und mehrere zur Kommunikation mit der Benutzereinheit ausgelegte Server enthält.
  • Allgemeiner Stand der Technik
  • Informationen werden oft mittels Stift und Papier niedergeschrieben und übermittelt. Solche auf Papier basierenden Informationen sind jedoch schwierig zu verwalten und effizient zu übermitteln.
  • Computer werden zunehmend für die Verwaltung und Übermittlung von Informationen verwendet. Die Informationen werden in der Regel mittels einer Tastatur eingegeben und in dem internen oder externen Speicher des Computers gespeichert, wie zum Beispiel auf einer Festplatte. Die Eingabe der Informationen mittels der Tastatur ist jedoch ein relativ langsamer Prozeß, und es besteht ein signifikantes Risiko von in diesem Prozeß auftretenden Fehlern. Auch ist es nicht besonders zweckmäßig, große Mengen Text auf einem Computerbildschirm zu lesen. Graphische Informationen wie etwa Zeichnungen oder Bilder werden oft mittels eines separaten Bildlesers wie etwa eines Scanners oder dergleichen eingegeben, und diese Prozedur ist zeitaufwendig, umständlich und führt oft zu unzufriedenstellenden Ergebnissen. Sobald sich die Informationen in dem Computer befinden, ist es jedoch leicht, sie zu anderen zu übermitteln, wie zum Beispiel als Email- oder SMS-Nachricht (Short Message Service) über eine Internetverbindung oder als Fax über ein Faxmodem.
  • Der vorliegende Anmelder hat in der internationalen Anmeldung WO 01/16691 eine Lösung für dieses Problem vorgeschlagen, bei der der Anmelder die Verwendung eines Produkts mit einer Schreiboberfläche, die mit einem Positionscode ausgestattet ist, in Betracht zieht. Der Positionscode, der mehrere Positionen auf der Oberfläche codiert, ermöglicht eine elektronische Aufzeichnung von Informationen, die auf die Schreiboberfläche geschrieben werden. Die Informationen werden mittels eines digitalen Stifts mit einem Sensor geschrieben, der den Positionscode detektiert und den geschriebenen Informationen entsprechende Positionen berechnet. Das Produkt weist außerdem eines oder mehrere Aktivierungsikone auf, die, wenn sie durch den digitalen Stift detektiert werden, bewirken, daß der Stift eine jeweilige vorbestimmte Operation einleitet, die die von dem Stift aufgezeichneten Informationen benutzt.
  • Genauer gesagt besitzt das positionscodierte Produkt eingebaute Funktionalität insofern, als verschiedene Positionen auf dem Produkt, wie zum Beispiel Positionen in dem Aktivierungsikon und Positionen in der Schreiboberfläche, fest für verschiedene Positionen zugeordnet werden. Ferner kann der Positionscode Koordinaten einer großen Anzahl von Positionen codieren, die viel größer als die Anzahl notwendiger Positionen auf einem einzelnen Produkt ist. Der Positionscode kann somit als eine virtuelle Oberfläche bildend angesehen werden, die durch alle Positionen definiert wird, die der Positionscode codieren kann, wobei verschiedene Positionen auf der virtuellen Oberfläche fest für verschiedene Funktionen und/oder Aktoren zugeordnet sind.
  • Das obige Konzept kann für viele verschiedene Zwecke verwendet werden. Die Kombination von Stift und positionscodiertem Produkt kann als Eingabeeinrichtung für einen Computer, einen PDA, ein Mobiltelefon oder dergleichen verwendet werden. Zum Beispiel können auf einem positionscodierten Notizblock geschriebener Text und Skizzen über den Stift zu einem Computer transferiert werden. Zusätzlich ermöglicht die Kombination aus Stift und positionscodiertem Produkt eine globale Kommunikation direkt von dem Produkt über den Stift durch den Positionscode auf dem Produkt, der fest für eine solche Kommunikation zugeordnet ist. Zum Beispiel können die durch den Stift registrierten Informationen in eine Faxnachricht, eine Email- oder eine SMS-Nachricht transformiert und dann von dem Stift zu einem Empfänger gesendet werden. Ferner kann die Kombination aus Stift und positionscodiertem Produkt beim E-Commerce verwendet werden. Zum Beispiel kann der digitale Stift verwendet werden, um einen Artikel von einer positionscodierten Anzeige in einem Magazin zum Bestellen, indem der Positionscode in der Anzeige fest für einen solchen Dienst zugeordnet wird.
  • Ein System, das dafür ausgelegt ist, digitale Stifte oder entsprechende Einrichtungen zu enthalten, wird in der Regel zusätzlich zu den Stiften und mehreren positionscodierten Produkten mindestens einen Nachschlageserver enthalten, der einen als Papiernachschlagedienst PLS bezeichneten Dienst ausführt, und mehrere Anwendungsserver, die als Aktoren oder Dienstabwickler SH in dem System wirken. Der Nachschlageserver verwendet eine Datenbank zur Verwaltung der durch den Positionscode definierten virtuellen Oberfläche und der Informationen bezüglich dieser virtuellen Oberfläche, d. h. der Funktionalität jeder Position auf der virtuellen Oberfläche und des mit jeder solchen Position assoziierten Aktors. Der Anwendungsserver ist ein Server, der im Namen eines digitalen Stifts einen Dienst bewirkt, wie etwa Speicherung oder Weiterleitung digitaler Informationen oder Einleitung der Übertragung von Informationen oder Posten zu einem Empfänger.
  • In einem solchen oben beschriebenen System ist es sehr schwierig, vorherzusagen, wie ein digitaler Stift mit dem einzelnen oder den mehreren Nachschlageservern und den mehreren Anwendungsservern kommunizieren wird. Das System schafft eine große Anzahl von Möglichkeiten für einen Aktor, der einen Dienst oder eine Anwendung entwerfen möchte, z. B. welche einzelnen oder mehreren weiteren Dienste oder Anwendungsserver bei einem spezifischen Dienst zu beteiligen sind, die Interaktion zwischen dem digitalen Stift und den verschiedenen Diensten bei Verwendung eines spezifischen Dienstes, welche Aktionen von dem digitalen Stift während der Benutzung eines Dienstes durchzuführen sind usw.. Außerdem würde ein Betreiber eines Nachschlageservers davon Nutzen ziehen, in der Lage zu sein, übermittelte Daten und die Kommunikation selbst zwischen digitalen Stiften und verschiedenen Aktoren insbesondere während der Einleitung eines Dienstes zu steuern. Weiterhin könnte es mehr als einen Nachschlageserver in dem System geben, z. B. mit verschiedenen Verantwortlichkeiten, so daß ein Mechanismus notwendig ist, um zu steuern, mit welchen Nachschlageserver ein digitaler Stift kommunizieren soll.
  • Ein Problem, das gelöst werden muß, besteht also darin, wie die Kommunikation in einem System wie oben beschrieben auf einfache und effiziente Weise gesteuert werden soll.
  • Kurzfassung der Erfindung
  • Eine Aufgabe der vorliegenen Erfindung ist die Schaffung eines Verfahrens zum Steuern der Kommunikation zwischen einer Benutzereinheit mit der Fähigkeit zum Lesen von Informationen aus einer Oberfläche und Servern, die die Benutzereinheit unterstützende Dienste ausführen.
  • Eine weitere Aufgabe ist die Schaffung eines Kommunikationsprotokolls zur Verwendung durch eine Benutzereinheit, das es einem Nachschlageserver ermöglicht, die Kommunikation zu steuern, an der die Benutzereinheit beteiligt ist. Insbesondere ist eine Aufgabe, es zu ermöglichen, daß ein Nachschlageserver exklusive Kontrolle darüber besitzt, welche Informationen, wobei die Informationen entweder gespeichert und durch den digitalen Stift gelesen werden, einem mit dem digitalen Stift kommunizierenden Anwendungsserver zugänglich sein sollten.
  • Gemäß der Erfindung werden das Problem und die Aufgaben gelöst durch ein Verfahren mit den Merkmalen des unabhängigen Anspruchs 1, eine Benutzereinheit mit den Merkmalen des unabhängigen Anspruchs 23 und ein computerlesbares Medium mit den Merkmalen des unabhängigen Anspruchs 24.
  • Die Erfindung ist in einem System anwendbar, das mindestens eine Benutzereinheit mit der Fähigkeit zum Lesen von Informationen aus einer Oberfläche und zum Übermitteln mindestens eines Teils dieser zu einem Server, einen Nachschlageserver, der Informationsverwaltungsregeln speichert, die mit aus der Oberfläche gelesenen Informationen assoziiert sind, und mindestens einen Anwendungsserver enthält. Gemäß der Erfindung empfängt eine Benutzereinheit eine oder mehrere Anweisungen mit Steuerdaten von dem Nachschlageserver. Die Benutzereinheit kann dann auf der Basis dieser Steuerdaten bestimmen, welche spezifischen Informationsdaten einem Anwendungsserver zugänglich sein sollten, d. h. zu einem Anwendungsserver übermittelt werden dürfen. Wenn dann eine Anweisung von einem Anwendungsserver, mit spezifischen Informationsdaten zu antworten, empfangen wird, bestimmt die Benutzereinheit auf der Basis der Steuerdaten, ob diese spezifischen Informationsdaten übermittelt werden dürfen. Wenn dies der Fall ist, werden die spezifischen Informationsdaten in einer Nachricht zu einem empfangenden Anwendungsserver übertragen.
  • Es versteht sich, daß verschiedene Anwendungsserver Dienste mit verschiedenen Zwecken bereitstellen werden. Abhängig von der Art des Dienstes kann der Dienst billig oder teuer sein (für eine den Dienst benutzende Benutzereinheit oder für einen den Dienst bereitstellenden Aktor). Zum Beispiel könnte ein billiger Dienst ein Dienst sein, der es einer Benutzereinheit einfach ermöglicht, weitere Informationen bestimmter Art zu bestellen, während ein teurer Dienst ein Börsenmaklerdienst sein könnte.
  • Unter Verwendung der vorliegenden Erfindung wird ein Nachschlageserver in dem System seine exklusiven Anweisungen verwenden, um zu steuern, welche Informationen von der Benutzereinheit zu einem einen bestimmten Dienst ausführenden Anwendungsserver übermittelt werden können. Dies impliziert auch, daß der Nachschlageserver garantieren kann, auf welche von einer Benutzereinheit gespeicherten oder gelesenen Informationen ein Anwendungsserver zugreifen und auf welche Informationen er nicht zugreifen kann. Der Betreiber des Nachschlageservers kann mit einem Betreiber eines durch einen Anwendungsserver implementierten Dienstes eine Vereinbarung haben, wobei bei der Vereinbarung der Betreiber des Nachschlagedienstes bestimmte Einzelheiten des Dienstes garantiert. Zum Beispiel kann es für einen Börsenmaklerdienst garantiert werden, daß nur der Betreiber dieses Dienstes Zugang zu einer Kontonummer erhält, die mit dem Dienst assoziiert und durch die Benutzereinheit gespeichert wird. Bei einem nur zum Bestellen von Informationen zu verwendenden billigeren Dienst sollte dagegen der diesen Informationsbestelldienst implementierende Anwendungsserver nur in der Lage sein, auf so wenig Benutzereinheits-Informationen wie möglich zuzugreifen, wie etwa die Namen- und Straßenadresseneigenschaften, die von der Benutzereinheit gespeichert werden.
  • Des weiteren kann die Erfindung es einem Nachschlageserver ermöglichen, das Niveau der Sicherheit der Kommunikation zu steuern, an der die Benutzereinheit beteiligt ist. Indem für bestimmte Dienste oder bestimmte Benutzereinheit-Abonnements höhere Sicherheit bereitgestellt wird, können solche Dienste oder Abonnements mit einem höheren Preis bereitgestellt werden und vergrößern die Umsätze eines Betreibers.
  • Die Steuerdaten einer spezifischen Anweisung aus dem Nachschlageserver können entweder einem oder mehreren Parametern entsprechen, die eine oder mehrere durch die Benutzereinheit gespeicherten Eigenschaften definieren, oder einen Parameter, der eine Seitenadresse definiert, d. h. die Adresse eines eingegrenzten Bereichs der Oberfläche, aus der die Benutzereinheit Informationen lesen kann. Im ersten Fall impliziert dies, daß es der Benutzereinheit erlaubt wird, spezifische Informationsdaten, die einem Eigenschaftsparameterwert, der durch die Benutzereinheit gespeichert wird, entsprechen, zu übermitteln. Im letzten Fall impliziert dies, daß es der Benutzereinheit erlaubt wird, spezifische Informationsdaten zu übermitteln, die Positionen entsprechen, die durch die Benutzereinheit aus einer bestimmten Seite gelesen werden.
  • Die Benutzereinheit reagiert gemäß der Erfindung auf einen spezifischen Satz von Anweisungen, die für die ausschließliche Verwendung durch den Nachschlageserver bestimmt sind. Diese exklusiven Anweisungen haben verschiedene Zwecke, gemäß ihren Definitionen und ihrer Verwendung, wie in der ausführlichen Beschreibung beschrieben werden wird, und enthalten Anweisungen zum Steuern, welche Informationsdaten, die durch die Benutzereinheit entweder gespeichert oder gelesen werden, einem Anwendungsserver zugänglich sein sollten.
  • In der Regel kann die Benutzereinheit aus einer Anweisung, mit spezifischen Informationsdaten zu antworten, eine Adresse extrahieren, die einen spezifischen empfangenden Anwendungsserver identifiziert. Diese Adresse wird benötigt, wenn der empfangende Anwendungsserver der spezifischen Informationsdaten ein anderer Server als der Anwendungsserver ist, von dem die Anweisung, mit diesen spezifischen Informationsdaten zu antworten, empfangen wurde.
  • Vorteilhafterweise ist die Benutzereinheit dafür ausgelegt, Ergebnisdaten aus einer nachfolgenden Anweisung zu extrahieren, wie aus dem empfangenden Anwendungsserver empfangen wird, zu dem die Benutzereinheit die Nachricht mit den spezifischen Informationsdaten übertragen hat. Diese Ergebnisdaten werden von der Benutzereinheit gespeichert und später als Indikation des Ergebnisses einer durch den Anwendungsserver ausgeführten Aktivität zu dem Nachschlageserver übertragen. Die Kommunikation wird somit dadurch so gesteuert, daß es möglich wird, die Ergebnisse der Aktivitäten, an denen eine Benutzereinheit beteiligt ist, zu verfolgen. Auf diese Weise besitzt ein Betreiber in dem System, z. B. der Betreiber des Nachschlageservers, eine Grundlage für die Administration der Gebührenberechnung für den Benutzereinheit-Teilnehmer und/oder einen Aktor, wie zum Beispiel einen Betreiber eines durch einen Anwendungsserver implementierten Dienstes für die durchgeführten Aktivitäten und somit die in dem Gesamtsystem benutzten Dienste.
  • Eine Nachricht mit Anweisungen, die von der Benutzer einheit empfangen werden, und eine etwaige Nachricht mit Informationsdaten, die von der Benutzereinheit als Ergebnis dieser übertragen werden, definiert einen Benutzereinheits-Umlauf.
  • Beim Einleiten einer Kommunikationssitzung führt die Benutzereinheit eine Menge vorgespeicherter Herauffahranweisungen aus. Diese führen in der Regel dazu, daß eine Nachricht zu dem Nachschlageserver übertragen wird, worin mit verschiedenen Oberflächenbereichen assoziierte Informationsverwaltungsregeln gespeichert werden. Der Nachschlageserver ist des weiteren für die anfängliche Steuerung des Kommunikationsverhaltens der Benutzereinheit verantwortlich. Vorteilhafterweise ist die Benutzereinheit in der Lage, als Reaktion auf eine Anweisung von dem Nachschlageserver neue Anweisungen mit ihrer Herauffahrprozedur zu assoziierten, wobei die Anweisung vordefiniert ist, eine solche Aktion einzuleiten. Wenn die Benutzereinheit Informationen eines spezifischen Oberflächenbereichs, der eine Sendeoperation definiert, detektiert hat, werden darüber hinaus die mit diesem Bereich assoziierten vorgespeicherten Anweisungen ausgeführt.
  • Für Fachleute ist erkennbar, daß die Benutzereinheit der vorliegenden Erfindung eine beliebige Art von in der Hand gehaltener Einrichtung sein kann, die Informationen aus einer Oberfläche lesen und mindestens einen Teil davon über ein Kommunikationsnetz übermitteln kann.
  • Weitere Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden Beschreibung des exempeifizierenden Ausführungsformen davon ersichtlich, die sich auf die beigefügten Zeichnungen bezieht.
  • Kurze Beschreibung der Zeichnungen
  • Exemplifizierende Ausführungsformen der vorliegenden Erfindung werden nun ausführlicher mit Bezug auf die beigefügten Zeichnungen beschrieben. Es zeigen:
  • 1 die Elemente und ihre grundlegende Interaktion in einem System, das Benutzereinheiten und Unterstützungsdienste ausführende Server enthält;
  • 2 eine schematische Ansicht des Inneren eines eine Benutzereinheit realisierenden digitalen Stifts;
  • 3 die Protokollstapel, die verwendet werden, wenn eine Benutzerseinheit mit einem abgesetzten Netzwerkserver oder lokalen Server kommuniziert;
  • 4 ein Flußdiagramm der Funktionsweise einer Benutzereinheit gemäß einer exemplifizierenden Ausführungsform; und
  • 5 ein Diagramm der Funktionsweise einer Benutzereinheit und ihrer Kommunikation mit Unterstützungsdiensten während einer Kommunikationssitzung gemäß einer weiteren Ausführungsform der Erfindung.
  • Ausführliche Beschreibung der Erfindung
  • 1 zeigt die Infrastruktur eines Systems, das Benutzereinheiten und Unterstützungsdienste enthält. Diese Infrastruktur und Teile ihrer Funktionsweise wurden zuvor in den internationalen Patentanmeldungen PCT/SE00/02640 , PCT/SE00/02641 und PCT/SE0002659 der vorliegenden Anmelder beschrieben.
  • Das System von 1 umfaßt mehrere Benutzereinheiten 100, mehrere Produkte 110 mit Positionscodes 120, mehrere Netzwerkverbindungseinheiten 130 und mehrere Server 140, 150, 160, die Unterstützungsdienste ausführen. Die Server umfassen mindestens einen abgesetzten Nachschlageserver 140, einen lokalen Nachschlageserver 150 und mehrere Anwendungsserver 160. Zur leichteren Beschreibung enthält 1 nur einen digitalen Stift 100, der eine Benutzereinheit realisiert, ein Produkt 110 mit einem Positionscode 120 und einem Aktivierungsikon 125, eine Mobilstation 130, die eine Netzwerkverbindungseinheit realisiert, einen abgesetzten Nachschlageserver 140, der einen abgesetzten Papier-Nachschlagedienst (abgesetzten PLS) ausführt, einen lokalen Nachschlageserver 150, der einen lokalen Papier-Nachschlagedienst (lokalen PLS) ausführt, und einen Anwendungsserver 160, der einen Anwendungsdienst (AS) ausführt.
  • Das Produkt 110 ist mit einem Codierungsmuster ausgestattet, das von dem digitalen Stift 100 als Positionen auf der Oberfläche des Produkts 110 interpretiert wird. Das Codierungsmuster ist dergestalt, daß es Positionen auf einer Gesamtoberfläche codiert, die viel größer als die Oberfläche des Produkts 110 ist. Auf der Basis detektierter Positionen bestimmt der digitale Stift eine oder mehrere Absolutkoordinaten der Oberfläche.
  • Die Gesamtoberfläche ist vorteilhafterweise in eine Anzahl von Segmenten unterteilt, wobei jedes Segment in eine Anzahl von Regalen unterteilt ist, wobei jedes Regal in eine Anzahl von Büchern unterteilt ist und jedes Buch in eine Anzahl von Seiten unterteilt ist. Der digitale Stift bestimmt, daß sich eine absolute Koordinate auf einer bestimmten Seite befindet. Die Seite kann unter Verwendung des Formats 1.2.3.4 (Segment.Regal.Buch.Seite) identifiziert werden, das Seite 4 von Buch 3 auf dem Regal 2 in dem Segment 1 bezeichnet. Diese Notation definiert eine Seitenadresse.
  • Wenn der Benutzer den digitalen Stift 100 über die Oberfläche des Produkts 110 bewegt, werden durch Detektieren von Positionen auf der Oberfläche und Bestimmen der entsprechenden absoluten Koordinaten Informationen aufgezeichnet. Diese absoluten Koordinaten oder die Seitenadresse, zu der die Koordinaten gehören, werden über die Mobilstation 130 entweder zu dem lokalen PLS-Server 150, dem abgesetzten PLS-Server 140 oder dem Anwendungsserver 160 übermittelt. Wenn der lokale PLS-Server 150 mit einem Bluetooth®-Sender/-Empfänger ausgestattet ist, kann der digitale Stift 100 direkt mit dem lokalen PLS-Server 150 kommunizieren. Der abgesetzte PLS-Server speichert in einem Speicher oder in einer verbundenen Datenbank (nicht gezeigt) Einzelheiten über alle Koordinaten der Gesamtoberfläche. Dazu gehört auch die Speicherung von Einzelheiten über die Seiten, in die die Gesamtoberfläche aufgeteilt ist. Ähnlich speichert der lokale PLS-Server 150 Einzelheiten über Koordinaten und Seiten eines oder mehrerer eingegrenzter Oberflächenbereiche, wobei diese Oberflächenbereiche von einem oder einer begrenzten Anzahl von Benutzern verwendet werden und diese Oberflächenbereiche Teile der Gesamtoberfläche sind. Der abgesetzte/lokale PLS-Server enthält Software, die empfangene Informationen verarbeitet, die mindestens Koordinateninhalt oder Seitenadresseninhalt enthalten, gemäß den Verwaltungsregeln, die mit einer bestimmten Koordinate oder einer bestimmten Seitenadresse assoziiert worden sind.
  • Für den Benutzer ist das System einfach zu benutzen, da der Benutzer selbst nicht definieren muß, wie aufgezeichnete Informationen zu verwalten sind. Wenn der Benutzer eine Kommunikationssitzung zur Übertragung von Informationen einleitet, wird die Verwaltung dieser Informationen auf der Basis der Koordinaten, die der Benutzer aufzeichnet und/oder der Seitenadresse, auf der die Informationen aufgezeichnet wurden, mittels des digitalen Stifts 100 gesteuert.
  • Wenn der Benutzer des digitalen Stifts 100 die Übertragung von Informationen einleiten möchte, "hakt" er das Aktivierungsikon 125 an. Die Aufzeichnung mindestens einer Position des Aktivierungsikons wird in diesem Fall durch die Benutzereinheit 100 als Koordinate eines Sendebereichs erkannt, wobei dieser Sendebereich mit einer bestimmten Sendeanweisung assoziiert ist. Als Vorgabe, enthält diese Sendeanweisung die Adresse eines vordefinierten PLS-Servers, entweder des abgesetzten PLS-Servers 140 oder des lokalen PLS 150. Als Alternative existieren zwei Sendebereiche, wobei einer mit dem abgesetzten PLS-Server und einer mit dem lokalen PLS-Server assoziiert ist.
  • Das Positionscodierungsmuster der Gesamtoberfläche, in der die Oberfläche des Produkts 110 einen geringfügigen Teil ausmacht, kann auf verschiedene Weisen konstruiert werden, hat aber die allgemeine Eigenschaft, daß, wenn irgendein Teil des Musters einer bestimmten minimalen Größe aufgezeichnet wird, seine Position in dem Gesamtpositionscodierungsmuster unzweideutig bestimmt werden kann. Darüber hinaus wird das Gesamtpositionscodierungsmuster wie oben beschrieben in Seiten aufgeteilt.
  • Das Positionscodierungsmuster ist vorteilhafterweise von dem Typ, der in der veröffentlichten internationalen Patentanmeldung WO 00/73983 registriert am 26. 5. 2000, oder in der internationalen Patentanmeldung WO 01/26032 , registriert am 2. 10. 2000 gezeigt ist, wobei beide Anmeldungen an den vorliegenden Anmelder übertragen sind. In diesen Mustern wird jede Position durch mehrere Markierungen oder Symbole codiert, und jedes Symbol trägt zu der Codierung mehrerer Positionen bei. Das Positionscodierungsmuster wird aus einer kleinen Anzahl von Typen von Symbolen konstruiert.
  • Ein Beispiel ist in WO 00/73983 gezeigt, wobei ein größerer Punkt eine "Eins" und ein kleinerer Punkt eine "Null" darstellt.
  • Das zur Zeit besonders bevorzugte Muster ist in WO 01/26032 gezeigt, wobei vier verschiedene Verschiebungen eines Punkts oder einer Markierung in bezug auf einen Rasterpunkt vier verschiedene Werte codieren. Dieses Muster ist aus kleinen Punkten mit einem nominalen Abstand von 0,3 mm konstruiert. Jeder Teil des Musters, der 6 × 6 solche Punkte enthält, definiert ein Paar von absoluten Koordinaten. Jedes Paar von absoluten Koordinaten wird somit durch eine Teilmenge von 1,8 mm × 1,8 mm des Positionscodierungsmusters definiert. Mittels Bestimmung der Position der durch den Sensor detektierten 6 × 6 Punkte in der Benutzereinheit, die zum Auslesen des Musters verwendet wird, kann eine absolute Position auf der virtuellen Oberfläche durch Interpolation mit einer Auflösung von 0,03 mm berechnet werden.
  • Dieses Positionscodierungsmuster kann eine große Anzahl von absoluten Positionen codieren. Da jede Position durch 6 × 6 Punkte codiert wird, die jeweils einen von vier Werten aufweisen können, können 436 Positionen codiert werden, was mit der obenerwähnten nominalen Distanz zwischen den Punkten einer Oberfläche von 4,6 Millionen km2 entspricht.
  • Wie bereits erwähnt ist die Gesamtoberfläche vorzugsweise ihrerseits in Segmente, Regale, Bücher und Seiten eines Buchs aufgeteilt. Die verschiedenen sich nicht überlappenden Segmente sind verschiedenen Arten der Informationsverwaltung zugeordnet. Das Konzept von Seiten-Büchern-Regalen-Segmenten erlaubt z. B., daß ein Teil eines gesamten Buchs oder eines gesamten Regals usw. fest einem bestimmten Teilnehmer für eine bestimmte Art von Informationsverwaltung zugeordnet wird. Zum Beispiel können bestimmte Seiten elektronischer Informationssammlung für eine Transportfirma gewidmet werden, andere Seiten der Verwaltung elektronischer Bildpostkarten für eine Vertriebsfirma und weitere andere Seiten der Verteilung von Produktinformationen an einen Käufer eines bestimmten Produkts, und weitere andere Seiten können der Aufzeichnung handschriftlicher Informationen gewidmet werden, die immer zu einem vorbestimmten Server im Internet weitergeleitet werden, und weitere andere Seiten können fest dem Senden von graphischer Email, SMS, Fax oder dergleichen zugeordnet werden.
  • Anwendungsdienste sind Anwendungen, bei denen die Informationsverwaltung über einen oder mehrere vorbestimmte Anwendungsserver in dem System gesteuert wird. Wie oben erwähnt, können einer Firma oder dergleichen eine oder mehrere Seiten oder vorzugsweise gesamte Regale der Gesamtoberfläche zugeteilt werden, woraufhin die Firma das alleinige Recht auf den zugeteilten Teil der Gesamtoberfläche besitzt. Anwendungsserver können auch auf einem lokalen Server vorliegen, z. B. demselben Server wie dem, der den lokalen PLS enthält, und verschiedenen Seiten können verschiedene lokale Anwendungen zugeteilt werden. In dem abgesetzten PLS-Server 140, der alle Seiten der Gesamtoberfläche verwaltet, wird vermerkt, welche Firma das Recht auf welchen Teil der Gesamtoberfläche besitzt. Der abgesetzte PLS-Server 140 bestimmt dann als Reaktion auf aus dem digitalen Stift 100 empfangene Informationen, die mindestens eine Koordinate oder eine Seitenadresse enthalten, welchem Teilnehmer, z. B. welcher Firma, der entsprechende Oberflächenbereich zugeteilt ist und wie die Informationen zu handhaben sind. Ähnlich bestimmt der lokale PLS-Server 150 als Reaktion auf empfangene Informationen, die mindestens eine Koordinate oder eine Seitenadresse enthalten, welcher lokalen Anwendung, z. B. Kalender-, Email- oder Faxanwendung, der entsprechende Oberflächenbereich zugeteilt ist und wie die Informationen zu handhaben sind.
  • 2 zeigt ein Beispiel für eine Benutzereinheit 2. Die Benutzereinheit umfaßt ein Gehäuse 11, das das ungefähre Format eines Stifts aufweist. Eine kurze Seite des Gehäuses besitzt eine Öffnung 12 und ist dafür bestimmt, in Kontakt mit oder in einem kurzen Abstand von einer mit einem Positionscodierungsmuster ausgestatteten Basis gehalten zu werden.
  • Die Benutzereinheit, die nachfolgend als digitaler Stift bezeichnet wird, enthält im wesentlichen einen Optikteil, einen Teil mit elektronischen Schaltkreisen und eine Stromversorgung.
  • Der Optikteil bildet eine Digitalkamera und umfaßt mindestens eine infrarotlichtemittierende Diode 13 zum Beleuchten der Oberfläche, die abgebildet werden soll, und einen Sensor 14 mit einem lichtempfindlichen Bereich, zum Beispiel einen CCD- oder CMOS-Sensor, zum Aufzeichnen eines zweidimensionalen Bildes. Die Benutzereinheit kann auch ein (nicht gezeigtes) Linsensystem enthalten. Das Infrarotlicht wird von Symbolen, vorzugsweise Punkten, in dem Positionscodierungsmuster absorbiert und macht sie auf diese Weise dem Sensor 14 sichtbar. Der Sensor zeichnet vorteilhafterweise mindestens 100 Bilder pro Sekunde auf.
  • Die Stromversorgung für den Stift wird aus einer Batterie 15 erhalten, die in einem separaten Fach in dem Gehäuse angebracht ist. Als Alternative kann der Stift jedoch auch mit einer externen Stromquelle verbunden sein.
  • Der Teil mit elektronischen Schaltkreisen umfaßt einen Signalprozessor 16 zum Bestimmen einer Position auf der Basis des durch den Sensor 14 gelesenen Bildes und insbesondere eine Prozessoreinheit mit einem Mikroprozessor, der dafür programmiert ist, Bilder aus dem Sensor aufzuzeichnen, Symbole in dem Bild zu identifizieren und in Echtzeit absolute Koordinaten für Positionen auf der Oberfläche auf der Basis der abgebildeten Teilmenge des Positionscodierungsmusters zu bestimmen.
  • Die Positionsbestimmung wird somit durch den Signalprozessor 16 ausgeführt, der somit Software aufweisen muß, damit er die Symbole in einem Bild finden und decodieren kann und die es ihm ermöglicht, Positionen aus den so erhaltenen Codes zu bestimmen. Fachleute könnten solche Software aus der Beschreibung in der obenerwähnten Patentanmeldung WO 01/26032 entwerfen.
  • Der Signalprozessor 16 ist außerdem dafür programmiert, gespeicherte Paare von Koordinaten zu analysieren und diese in eine Koordinatenfolge umzusetzen, die eine Beschreibung darstellt, wie sich die Benutzereinheit 2 über die Oberfläche, die mit dem Positionscodierungsmuster ausgestattet ist, bewegt hat.
  • Der Signalprozessor 16 muß nicht alle aufgezeichneten Informationen zu demselben Server weiterleiten. Der Signalprozessor 16 kann dafür programmiert sein, die aufgezeichneten Koordinaten zu analysieren und nur Informationen, die durch Koordinaten in einem bestimmten Koordinatenbereich repräsentiert werden, weiterzuleiten. Der Signalprozessor 16 kann auch Software zum Verschlüsseln der zu einem Server gesendeten Informationen aufweisen.
  • Der digitale Stift enthält die Definition des Positionscodierungsmusters für die Gesamtoberfläche, die aus diesem Muster codiert werden kann. Aus einer bestimmten Position kann der Signalprozessor somit ableiten, zu welchem Bereich der Gesamtoberfläche die Position gehört. In der Regel repräsentiert ein solcher Bereich eine spezifische Seite oder ein spezifisches Aktivierungsikon auf einer Seite.
  • Der digitale Stift ist dafür ausgelegt, Informationen einer positionscodierten Oberfläche, die durch den Benutzer mit dem digitalen Stift erzeugt werden, zu einem lokalen oder abgesetzten Nachschlagedienst oder zu einem Anwendungsdienst zu senden. In dem System gemäß 1 werden die Informationen drahtlos zu der Mobilstation 130 gesendet, die die Netzwerkverbindungseinheit realisiert, die die Informationen ihrerseits zu dem lokalen PLS-Server 150, dem abgesetzten PLS-Server 140 oder dem Anwendungsserver 160 sendet. Als Alternative ist die Netzwerkverbindungseinheit ein Computer oder eine bestimmte andere geeignete Einheit mit einer Schnittstelle zu einem Netzwerk, zum Beispiel dem Internet, einem lokalen Firmennetzwerk oder einem Telefonnetz. Als Alternative kann die Netzwerkverbindungseinheit 130 einen integrierten Teil des Stifts 100 bilden. Alle aufgezeichneten Daten können in einem Pufferspeicher 20 gespeichert werden und warten dort auf die Übertragung zu dem empfangenden Server 140, 150, 160. Folglich kann der Stift 100 in einem selbständigen Modus arbeiten, das heißt, der Stift 100 sendet die Informationen, wenn er die Gelegenheit dazu hat, zum Beispiel wenn er Kontakt mit der Netzwerkverbindungseinheit 130 herstellt, woraufhin er die aufgezeichneten Informationen aus dem Pufferspeicher 20 abruft.
  • Neben dem Senden von absoluten Koordinaten von Positionen, die durch Analysieren von Stiftstrichen auf einer Oberfläche erzeugt werden, und von Seitenadressendaten, kann der digitale Stift auch Stifteigenschaftsdaten zu einem Server senden. Die Eigenschaften werden in dem Speicher 20 als adressierbare Werte oder Zeichenketten gespeichert, die durch den Prozessor 16 gelesen und geschrieben werden können. Es folgt eine exemplifizierende nichterschöpfende Liste von Stifteigenschaftsdaten, und es sind leicht weitere Eigenschaften denkbar.
    PEN_ID – die eindeutige Identität des Stifts;
    PEN_SOFTWARE_VERSION – die Version der Software des Stifts;
    TRANSACTION_DATA – Identität und Status der letzten Transaktion;
    PEN_MANUFACTURER_ID – Identität des Stiftherstellers;
    LOCAL_URL – URL (Uniform Resource Locator) eines lokalen Servers;
    PLS_URL – URL eines abgesetzten Servers, der einen Papiernachschlagedienst ausführt;
    LAST_PROPERTY_UPDATE – Identität der letzten kommissionierten Aktualisierung der Eigenschaften in dem Stift;
    PEN_OWNER_NAME – erklärt sich selbst;
    PEN_OWNER_ADDRESS – erklärt sich selbst;
    PEN_OWNER_INVOICE_ADDRESS – erklärt sich selbst;
    PEN_OWNER_EMAIL – erklärt sich selbst;
    PEN_OWNER_HOME_PHONE – erklärt sich selbst;
    PEN_OWNER_CELL_PHONE – erklärt sich selbst;
    PEN_OWNER_BUSINESS_PHONE – erklärt sich selbst;
    PEN_OWNER_PAGER – erklärt sich selbst;
    PEN_OWNER_HOME_FAX – erklärt sich selbst;
    PEN_OWNER_BUSINESS_FAX – erklärt sich selbst;
    TXT_SYSTEM_ERROR – Zeichenkette mit einer spezifischen Nachricht, in diesem Fall Fehler während einer Sendeanforderung. Es existiert eine Anzahl von Zeichenketten mit Nachrichten für den Benutzer.
  • Eine Benutzereinheit und ihre assoziierte Netzwerkverbindungseinheit befinden sich normalerweise relativ nahe beieinander. Die Kommunikation zwischen der Benutzereinheit und der Netzwerkverbindungseinheit, wie zum Beispiel zwischen dem digitalen Stift 100 und der Mobilstation 130 in 1, kann über Draht, Infrarotstrahlung oder Funkwellen zum Beispiel gemäß der Bluetooth®-Technologie oder einer bestimmten anderen Technologie zum Transfer von Informationen über kurze Distanzen ausgeführt werden. Zu diesem Zweck besitzt der digitale Stift in 2 einen Sender/Empfänger 19 für drahtlose Kommunikation mit externen Einheiten, vorzugsweise einen Bluetooth®-Sender/Empfänger.
  • In 3 sind exemplifizierende Protokollstapel für die Kommunikation zwischen einer Benutzereinheit 100, wie zum Beispiel einem digitalen Stift, und Unterstützungsdiensten auf verschiedenen Servern gezeigt. Auf der linken Seite sind exemplifizierende Protokollstapel für die Kommunikation über das Internet zwischen einem digitalen Stift (PEN) und einem Papiernachschlagedienst (PLS) oder zwischen einem Stift und einem Anwendungsdienst (Anwendungsdienst-Handler), der einen Dienst bereitstellt, gezeigt. Auf der rechten Seite sind exemplifizierende Stapel für die Kommunikation zwischen einem digitalen Stift und einem lokalen Server gezeigt. Der lokale Server ist zum Beispiel ein lokaler Personal Computer, der einen lokalen Anwendungsrouterdienst LARS (betrieben als lokaler PLS) ausführt. Zusätzlich kann der lokale Server einen lokalen Anwendungsdienst ausführen.
  • Die Kommunikation zwischen dem digitalen Stift und einem etwaigen lokalen oder abgesetzten Server basiert auf einer Menge vordefinierter Anweisungen, die zusammen ein Stiftprotokoll PP definieren. Das PP wird auf einem Sicherheitsstiftprotokoll SPP implementiert, das seinerseits auf dem wohlbekannten HTTP-Protokoll implementiert wird. Im Internet-Fall wird die HTTP-Schicht auf TCP/IP, PPP und dem RFCOMM-Profil von Bluetooth® implementiert und im lokalen Fall direkt auf dem RFCOMM-Profil vom Bluetooth®. Somit ist das Stiftprotokoll PP das Protokoll, das das Kommunikationsverfahren implementiert, das der Gegenstand der vorliegenden Erfindung ist. Das Sicherheitsstiftprotokoll SPP ist ein proprietäres Protokoll des Anmelders der vorliegenden Erfindung, und die Stift-API (Anwendungsprogrammiererschnittstelle) fügt eine Abstraktionsschicht auf PP zur Verwendung durch Aktoren beim Entwurf von digitale Stifte unterstützenden Diensten hinzu. Weder das SPP noch die Stift-API liegen in dem Schutzumfang der Erfindung und werden nicht weiter beschrieben. Die anderen Teile der Stapel sind Kommunikationsprotokollschichten, die Fachleuten wohlbekannt sind.
  • Der digitale Stift empfängt Anweisungen in einer HTTP-Antwort, die von einem Server als Reaktion auf eine zuvor durch den Stift gesendete HTTP-Anforderung gesendet wird.
  • Eine empfangene Nachricht in einer HTTP-Antwort besteht aus drei Teilen: einem Protokollversionsdatenteil, der beschreibt, welcher Version des Stiftprotokolls der Rest der Antwort entspricht, einen Antwort-Header-Teil, der Metadaten über die Antwort hält, und einen Anweisungsdatenteil, der eine Anzahl von Anweisungen mit Parametern enthält. Der Anweisungsdatenteil identifiziert die Anweisungen mittels ihrer vordefinierten Identitäten. Jede Anweisungsidentität wird durch einen oder mehrere Parameter begleitet, die durch ihre jeweilige Parameteridentität identifiziert werden. Jede Parameteridentität wird durch den Wert des Parameters begleitet, wobei dieser Wert ein Boolscher Wert, eine ganze Zahl, eine Zeichenkette, ein Byte-Strom oder ein Array von Werten beliebiger der zuvor erwähnten Typen sein kann.
  • Jede von dem digitalen Stift gesendete Benutzereinheit-Nachricht wird in einer HTTP-Anforderung gesendet. Die Benutzereinheit-Nachricht wird zu einem spezifischen Server gesendet und besteht aus vier Teilen: einem Protokollversionsdatenteil, der beschreibt, welcher Version des Stiftprotokolls der Rest der Anforderung entspricht, einen Anforderungs-Header-Teil, der Metadaten über die Anforderung hält, einen Seitendatenteil mit aufgezeichneten Stiftstrichdaten und einen Eigenschaftsdatenteil mit einer oder mehreren Stifteigenschaften. Der Eigenschaftsdatenteil identifiziert die Eigenschaften mittels ihrer vordefinierten Identitäten. Jede Eigenschaftsidentität wird durch den Wert der Eigenschaft begleitet, wobei dieser Wert ein beliebiger der oben für den Parameterwert in einer Antwort beschriebenen Typen sein kann. Der Anforderungs-Header-Teil enthält eine Seitenadresse und eine Pidget-(Papier-Widget-)Identität. Die Seitenadresse ist die Seitenidentität der Seite, auf der sich ein Sendebereich oder ein beliebiges anderes Aktivierungsikon befindet, wodurch die Anforderung eingeleitet wurde. Feste Bitpositionen der Seitenadresse repräsentieren ihrerseits ein Segment, ein Regal, ein Buch und eine Seite. Wie bereits beschrieben wurde, kann eine Seitenadresse als 'Segment.Regal.Buch.Seite' bezeichnet werden. Die Pidget-Identität ist die Identität des Sendebereichs (oder Aktivierungsikons) auf der fraglichen Seite. Eine solche Identität ist dabei notwendig, da sich mehr als ein Aktivierungsikon auf derselben Seite befinden kann. Jede Anforderung von dem digitalen Stift während derselben Sendesitzung, d. h. während derselben Transaktion, die durch einen bestimmten Sendebereich auf einer bestimmten Seite eingeleitet wurde, enthält dann die Seitenadresse der Seite und das Pidget des Sendebereichs.
  • Die Definition jeder Anweisung, die in dem Stiftprotokoll enthalten ist, wird in dem Speicher 20 des digitalen Stifts 100 gespeichert. Wenn der digitale Stift die mit einer spezifischen Anweisung assoziierte Aktion bzw. Aktionen ausführen soll, addressiert der Prozessor 16 die entsprechende Definition in dem Speicher 20, wobei diese Definition die Funktionsweise des Prozessors 16 und somit des digitalen Stifts 100 steuert. Die Funktionsweise des digitalen Stifts allgemein und die Operationen gemäß Stiftprotokollanweisungen im besonderen werden durch in dem Speicher 20 gespeicherte computerausführbare Komponenten gesteuert. Daher realisiert der Speicher 20 ein computerlesbares Medium, das Komponenten speichert, die bewirken, daß ein digitaler Stift 100 gemäß der vorliegenden Erfindung arbeitet. Ein solches computerlesbares Medium könnte jedoch außerhalb des digitalen Stifts angeordnet sein, entweder damit der digitale Stift darauf zugreifen kann oder für den Zweck des Transfers und Herunterladens in den Speicher 20 des Stifts 100 in einer späteren Phase.
  • Es folgt eine nichterschöpfende Liste von in das Stiftprotokoll PP aufgenommenen Anweisungen. Die Liste ist in für den abgesetzten PLS-Server exklusive Anweisungen und öffentliche Anweisungen aufgeteilt. Die letzteren bedeuten, daß jeder Server (abgesetzter oder lokaler PLS-Server sowie jeder Anwendungsserver) die Aktionen eines digitalen Stifts mittels dieser Anweisungen steuern kann.
  • Für den abgesetzten PLS-Server exklusive Anweisungen:
  • – grantPageDataAccess (pageAddress)
  • Der Parameter pageAddress definiert die Seite(n), auf die in einer addPageData-Anweisung in derselben Sitzung zugegriffen werden kann.
  • – grantPropertyAccess (Eigenschaftsidentitäten)
  • Ein oder mehrere Eigenschaftsidentitätsparameter definieren, auf welche Stifteigenschaften in einer addPropertyData-Anweisung in derselben Sitzung zugegriffen werden kann.
  • – internetlnitialApplicationRequest (url)
  • Verschickt eine Anforderung zu der beigefügten url. Die Anweisung impliziert, daß das zugrundeliegende SPP-Protokoll verwendet wird. Diese Anweisung kann auch einen Parameter enthalten, der die minimale Version des zu verwendenden SPP-Protokolls definiert, und einen Parameter, der die maximale Version definiert. Des weiteren kann die Anweisung zwei Parameter enthalten, die die minimale und die maximale Version des zu verwendenden Stiftprotokolls definieren.
  • – internetLookupRequest
  • Verschickt eine Anforderung zu der durch die PLS_URL-Eigenschaft definierten url. Die Anweisung impliziert, daß das zugrundeliegende SPP-Protokoll verwendet wird.
  • – regVerticalApp (pageAddress, instructionscript)
  • Assoziiert eine Seite oder Seiten, die durch den Parameter pageaddress definiert werden, mit einer Menge von Anweisungen, die durch den Parameter instructionscript definiert werden. Diese Anweisungen werden dann beim Detektieren von Positionen des spezifischen Oberflächenbereichs, wie zum Beispiel eines Sendebereichs, ausgeführt.
  • – setProperty (propertyID, Wert)
  • Weist einer bestimmten Eigenschaft einen spezifischen Wert zu. Der Wert kann ein Boolscher Wert, eine ganze Zahl, eine Zeichenkette, ein Byte-Strom oder ein Array von Werten beliebiger der zuvor erwähnten Typen sein.
  • – startTransaction (transID)
  • Diese Anweisung startet eine Anwendungs-Transaktion. Der Parameter identifiziert die Transaktion und ist vorzugsweise gleich der aktuellen GMT (Greenwich Mean Time) in Millisekunden seit dem Jahr 1970, wie durch den abgesetzten PLS-Server gezählt.
  • – localLookupRequest
  • Verschickt eine Anforderung zu der durch die Eigenschaft LOCAL_URL definierten url.
  • Öffentliche Anweisungen:
  • – abortTransaktionVerbose
  • Bricht eine Anwendungs-Transaktion ab.
  • – addPageData (pageAddress)
  • Der Parameter pageAddress spezifiziert die Seite, aus der aufgezeichnete Daten zu einer Benutzereinheit-Nachricht in einer Anforderung hinzugefügt werden soll. Diese Anweisung erfordert, daß der die Anweisung sendende Server das Recht hat, die entsprechenden Seitendaten zu lesen. Dies impliziert, daß der Server der abgesetzte PLS-Server ist oder daß eine grantPageDataAccess-Anweisung durch den abgesetzten PLS-Server früher in der Sitzung aufgerufen wurde oder daß die Sitzung eine lokale Sitzung ist und durch den lokalen PLS-Server lesbar ist.
  • – addPropertyData (Eigenschaftsidentitäten)
  • Ein oder mehrere Parameter, die eine oder mehrere Stifteigenschaften identifizieren. Die Werte dieser Eigenschaften werden in eine Benutzereinheit-Nachricht einer Anforderung aufgenommen (zu dieser hinzugefügt). Diese Anweisung erfordert, daß der die Anweisung sendende Server das Recht hat, die entsprechenden Eigenschaften zu lesen. Dies impliziert, daß der Server der abgesetzte PLS-Server ist oder daß der abgesetzte PLS-Server früher in der Sitzung eine grantPropertyAccess-Anweisung aufgerufen hat.
  • – commitTransactionVerbose
  • Kommissioniert eine Transaktion, d. h. teilt dem Stift mit, daß der Dienst erfolgreich durch den Server ausgeführt worden ist.
  • – internetApplicationRequest (url)
  • Verschickt eine Anforderung zu der beigefügten url. Die Anweisung impliziert, daß das zugrundeliegende SPP-Protokoll verwendet wird.
  • – localApplicationRequest (url)
  • Verschickt eine Anforderung zu der beigefügten url.
  • Mit Bezug auf 4 ist ein Flußdiagramm der Funktionsweise einer Benutzereinheit gemäß einer exemplifizierenden Ausführungsform gezeigt. Man beachte, daß die nachfolgend beschriebenen Anweisungen und Parameter lediglich Beispiele sind. Viele dieser können abgeändert oder durch andere geeignete Anweisungen und/oder Parameter ersetzt werden, die hier beschrieben werden und die immer noch in die Ausführungsform von 4 fallen.
  • Im Schritt 400 zeichnet der digitale Stift 100 die Teile des positionscodierten Musters, die sich in dem Sichtfeld des Bereichssensors 14 während mit dem digitalen Stift durch den Benutzer auf einer Oberfläche 120 mit einem solchen Muster durchgeführten Stiftstrichen befinden, auf. Der Prozessor 16 setzt die detektierten Positionen auf der Oberfläche mit dem Positionscodierungsmuster in absolute Koordinaten um und erzeugt eine Sequenz von Koordinaten, die beschreibt, wie der digitale Stift während der Stiftstriche über die Oberfläche bewegt wurde. Diese Sequenz von Koordinaten ist auch als Stiftstrichdaten bekannt. Auf der Basis dieser Koordinaten und Kenntnis, wie Koordinaten die Gesamtoberfläche des positionscodierten Musters definieren, bestimmt der Prozessor die entsprechende Seitenadresse der spezifischen Oberfläche, zu der die Koordinaten gehören. Wenn irgendwelche Koordinaten zu einem Aktivierungsikon 125, wie zum Beispiel einem Sendebereich, gehören, wird auf der Basis der Kenntnis, welche Koordinaten welche Aktivierungskästen definieren, die entsprechende Sendebereichsidentität, d. h. Pidget-Identität, bestimmt.
  • Im Schritt 410 führt der Prozessor 16 des digitalen Stifts 100 eine Menge vorgespeicherter Herauffahranweisungen mit einer Anzahl vorgespeicherter Parameter aus, die definieren, welche Daten zu welchem Server zu senden sind. Wenn der Prozessor zum Beispiel detektiert, daß bestimmte aufgezeichnete Koordinaten zu einem Aktivierungsikon 125 gehören, das einen Internet-Sendebereich definiert, werden die vorgespeicherten Herauffahranweisungen ausgeführt, die mit diesem Sendebereich assoziiert sind. Zum Beispiel könnten die Herauffahranweisungen die folgenden sein:
    • – addPropertyData (PEN_ID, TRANSACTION_DATA, PEN_MANUFACTURER_ID, LAST_PROPERTY_UPDATE)
    • – internetLookupRequest (PLS_URL).
  • Die erste Anweisung definiert, welche Eigenschaftsdaten zu senden sind. Die zweite Anweisung weist den digitalen Stift an, eine HTTP-Anforderung mit einer Benutzereinheit-Nachricht, die die spezifizierten Eigenschaftsdaten enthält, zu dem abgesetzten PLS-Server 140 zu senden. Der empfangende Server wird durch eine vordefinierte URL-Adresse identifiziert, die durch die Eigenschaft PLS URL gespeichert wird.
  • Wenn die detektierten Koordinaten zu einem Aktivierungsikon 125 gehören, das einen lokalen Sendebereich definiert, ist die Benutzereinheit-Nachricht als Alternative zu dem lokalen PLS-Server 150 zu senden, und die vorgespeicherten Herauffahranweisungen könnten folgendermaßen aussehen:
    • – addPropertyData (PEN_ID);
    • – localLookupRequest (LOCAL_URL)
  • Wie oben erwähnt wurde, umfassen die Herauffahranweisungen, die definieren, welche Eigenschaftsdaten zu dem abgesetzten PLS-Server zu senden sind, vorzugsweise die Eigenschaft TRANSACTION_DATA. Diese Eigenschaft enthält die Identität der letzten Transaktion sowie den Status der letzten Transaktion. Dieser Status gibt das Ergebnis einer Aktivität eines an der letzten Transaktion beteiligten Anwendungsservers an (z. B. erfolgreich, abgebrochen, ausstehend). Vorteilhafterweise kann der empfangende abgesetzte PLS-Server die Gebührenberechnung auf den empfangenden Transaktionsdaten basieren lassen, z. B. indem dem Stiftabonnenten eine Gebühr berechnet wird, wenn die Transaktion erfolgreich war, nicht aber, wenn der Status anzeigt, daß die Transaktion aus irgendeinem Grund abgebrochen wurde. Diese Aktion des Aufnehmens des Ergebnisses der letzten Transaktion in die zu sendende Nachricht ist in 4 als Schritt 420 angegeben. Eine weitere Eigenschaft, die vorzugsweise mittels der Herauffahranweisungen gesendet wird, ist LAST_PROPERTY_UPDATE. Diese Eigenschaft kann von dem empfangenden abgesetzten PLS-Server 140 verwendet werden, um zu bestimmen, ob er etwaige aktualisierte Informationen hält, die als ein aktualisierter Stifteigenschaftswert von dem Stift gespeichert werden sollten. Wenn dem so ist, leitet der Server 140 in einer späteren Phase das Speichern neuer Werte für eine oder mehrere Eigenschaften unter Verwendung der Anweisung setProperty ein, wie später besprochen werden wird.
  • Die Übertragung der HTTP-Anforderung mit der Benutzereinheit-Nachricht zu dem Server ist als Schritt 430 angegeben. Wie bereits beschrieben, enthält jede Benutzereinheit-Nachricht die Seitenadresse des Oberflächenbereichs, auf dem Stiftstriche detektiert wurden, und wenn irgendein Aktivierungsikon durch einen Stiftstrich "abgehakt" wurde, die Identität dieses Aktivierungsikons (Pidget-Identität). Durch Durchführen der Übertragung der HTTP-Anforderung leitet der digitale Stift eine Sendesitzung ein. Die Sendesitzung kann somit eingeleitet werden, indem der Stift die HTTP-Anforderung unter Verwendung der internetLookupRequest-Anweisung bzw. der localLookupRequest-Anweisung entweder zu einem abgesetzten oder lokalen PLS-Server sendet. Beim Senden der HTTP-Anforderung mittels der internetLookupRequest-Anweisung impliziert dies, daß das Stiftprotokoll PP das zugrundliegende Sicherheitsstifsprotokoll SPP verwendet. Das SPP stellt Verschlüsselung der Kommunikation zwischen dem digitalen Stift und dem abgesetzten PLS-Server bereit. Aufgrund dieser Verschlüsselung ist es dem abgesetzten PLS-Server möglich, eine Anweisung eines vordefinierten eingegrenzten Satzes von Anweisungen zu dem digitalen Stift zu senden, d. h. für den abgesetzten PLS-Server exklusive Anweisungen, und daß der digitale Stift sicher sein kann, daß jede Anweisung dieses eingegrenzten Satzes von dem spezifischen abgesetzten PLS-Server empfangen wurde, und nicht von irgendeinem anderen Server. Diese Verschlüsselung kann Techniken benutzen, die Fachleuten auf dem Gebiet der Kryptologie wohlbekannt sind. In jedem Fall liegt die Implementierung des SPP-Protokolls nicht in dem Schutzumfang der vorliegenden Erfindung.
  • Jede von dem digitalen Stift 100 empfangene Anweisung wird im Schritt 440 in einer HTTP-Antwort aus dem Server empfangen, bei dem der Stift eine HTTP- Anforderung bestellt hat. Es können vielfältige Anweisungen in der HTTP-Antwort empfangen werden. Die Antwort enthält in der Regel Anweisungen des besprochenen eingegrenzten Anweisungssatzes. Typische Beispiele für solche Anweisungen wären eine Anweisung zum Aktualisieren einer in dem Stift gespeicherten Eigenschaft, eine Anweisung zum Assoziieren einer Menge von Herauffahranweisungen mit einem Sendebereich oder eine Anzahl von Anweisungen, die eine bestimmte Anwendungstransaktion einleiten.
  • Mit der Anweisung setPoperty (propertyID, Wert) aktualisiert der abgesetzte PLS-Server eine oder mehrere durch den Stift gespeicherte Eigenschaften. Wenn der Stift zum Beispiel in seiner Anforderung die Eigenschaft LAST_PROPERTY_UPDATE mit einem Wert von 2 gesendet hat, vergleicht der empfangende Server diesen Wert mit einem durch den Server gespeicherten entsprechenden Eigenschaftsaktualisierungswert. Wenn irgendein Unterschied zwischen den Werten besteht, kann der Server identifizieren, welche Eigenschaft aktualisiert werden muß. Wenn der Stift zum Beispiel die Anweisung setPoperty(PEN_OWNER_EMAIL, mr_X@company_Y.com) in der HTTP-Antwort empfängt, bedeutet dies, daß der Stift die neue Email-Adresse seines Eigentümers speichert. Diese Aktivität wird im Schritt 450 ausgeführt. Wenn keine weiteren Anweisungen empfangen wurden, beendet der Stift im Schritt 470 die Sitzung, woraufhin die Ausführung zum Schritt 400 für die Verarbeitung der neuen aufgezeichneten Positionen aus der Oberfläche zurückkehrt.
  • Mit der Anweisung RegVerticalApp (pageAddress, instructionscript) wird eine Menge von Herauffahranweisungen mit einem Sendebereich assoziiert. Zum Beispiel könnte die Anweisung alle Seiten eines bestimmten Segments/Regals/Buchs betreffen. Dies wird mit der Seitenadresse angegeben, z. B. bedeutet 2.3.4.* alle Seiten von Buch 4, Regal 3, Segment 2. Das Anweisungsskript enthält Koordinatenparameter und definiert, welche Anweisungen auszuführen sind, wenn der Stift die Aufzeichnung von Positionen eines durch diese Koordinaten definierten Sendebereichs auf allen durch die Seitenadresse 2.3.4.* definierten Seiten detektiert. Es sollte beachtet werden, daß neue Anweisungen mit jedem beliebigen Aktivierungskasten auf jeder beliebigen Seite auf ähnliche Weise assoziiert werden können. Der Stift speichert die neuen Anweisungen im Schritt 450. Wenn keine weiteren Anweisungen empfangen wurden, beendet der Stift im Schritt 470 die Sitzung, woraufhin die Ausführung zum Schritt 400 für die Verarbeitung der neuen aufgezeichneten Positionen aus der Oberfläche zurückkehrt.
  • Ein anderes typisches Beispiel für Anweisungen, die aus dem abgesetzten PLS-Server im Schritt 440 empfangen werden, sind die Anweisungen, die eine Anwendungstransaktion einleiten und die in der Regel eine weitere Übertragung von Stiftstrichdaten von dem digitalen Stift umfassen. Die Anweisungen werden durch den abgesetzten PLS-Server gemäß seinen gespeicherten Verwaltungsregeln gesendet, die mit der mit der HTTP-Anforderung aus dem Stift empfangenen Seitenadresse assoziiert sind. Ein Beispiel für die empfangenen Anweisungen, wenn eine Anwendungstransaktion eingeleitet wird, ist wie folgt (etwaige Parameter ausgeschlossen):
    startTransaction;
    addPropertyData;
    addPageData; und
    internet-InitialApplicationRequest.
  • Wieder wird die Ausführung gemäß den Definitionen dieser Anweisungen im Schritt 450 durchgeführt.
  • Die Anweisung startTransaction (transID) startet die neue Transaktion. Der Parameter transID identifiziert die gestartete Transaktion und wird durch den Stift als Teil einer TRANSACTION_DATA-Eigenschaft für diese Transaktion gespeichert. Vorteilhafterweise ist die Transaktionsidentität ein Zeitstempel, zum Beispiel die aktuelle GMT (Greenwich Mean Time) in Millisekunden seit dem Jahr 1970. Vorteilhafterweise kann der Stift diese Transaktionsidentität dazu verwenden, seinen internen Zeitgeber mit dem Zeitgeber des abgesetzten PLS-Servers, der die Anweisung gesendet hat, zu synchronisieren.
  • Die Anweisung addPropertyData (PEN_ID, PEN_OWNER_EMAIL) impliziert, daß die identifizierten Stifteigenschaften durch den Stift in die nächste zu sendende Benutzereinheit-Nachricht aufgenommen werden. Da die Anweisung in diesem Beispiel von dem abgesetzten PLS-Server aufgerufen wird, muß ihr keine grantPropertyAccess-Anweisung vorausgehen.
  • Die Anweisung addPageData (pageAddress) impliziert, daß Stiftstrichdaten der identifizierten Seite durch den Stift in die nächste zu sendende Benutzereinheit-Nachricht aufgenommen werden. Die Anweisung wird hier von dem abgesetzten PLS-Server aufgerufen, und es muß ihr keine grantPageDataAccess-Anweisung vorausgehen.
  • Die Anweisung internetInitialApplicationRequest (url) impliziert, daß der Stift die Benutzereinheit-Nachricht in einer HTTP-Anforderung zu dem durch die spezifische url identifizierten Anwendungsserver sendet und dieser Anwendungsserver an der aktuellen Transaktion beteiligt ist.
  • Die Ausführung der obigen Anweisungen bis zu der Übertragung der HTTP-Anforderung von dem Stift wird im Schritt 450 ausgeführt, nachdem die Stiftausführung zu dem Schritt 430 zurückkehrt, in dem die Benutzereinheit-Nachricht als Reaktion auf die internetInitialApplicationRequest-Anweisung zu dem identifizierten Server gesendet wird.
  • Wenn ein Benutzer eines digitalen Stifts zum Beispiel bestimmte Stiftstriche auf einer Anzeige ausgeführt hat, die auf eine Oberfläche aufgedruckt ist, die ein Positionscodierungsmuster aufweist, und dann durch "Abhaken" eines Sendebereichs der Anzeige eine Sendesitzung einleitet, führen die oben beschriebenen Herauffahranweisungen zu einer HTTP-Anforderung an den abgesetzten PLS-Server, die die Seitenadresse der Oberfläche enthält, auf die die Anzeige gedruckt wurde, und die Identität des "abgehakten" Sendebereichs. Gemäß den mit dieser Seite assoziierten Verwaltungsregeln enthält die HTTP-Antwort von dem abgesetzten PLS-Server Anweisungen zum Steuern des Stifts zum Senden einer HTTP-Anforderung zu dem mit der Seite assoziierten Aktor, in der Regel einem von dem Werbenden auf einem Anwendungsserver ausgeführten Dienst. In diesem Beispiel sendet der Stift als Ergebnis der obigen empfangenen Anweisungen seine Stiftidentität, die Email-Adresse seiner Eigentümer und die auf der Anzeige durchgeführten Stift-Daten zu dem Werbenden. Diese könnte z. B. zu einer Bestellung eines Produkts oder zu dem Bestellen zusätzlicher Informationen eines Produkts usw. führen.
  • Die durch den Dienst des Anwendungsservers als Folge der im Schritt 430 von dem Stift zu dem Anwendungsserver gesendeten HTTP-Anforderung ausgeführten Aktivitäten können entweder erfolgreich sein oder aus einem bestimmten Grund nicht funktionieren. Wenn die Aktivität erfolgreich war, wird dies mit einer commitTransctionVerbose-Anweisung im Schritt 440 zu dem Stift zurückgesendet. Der Stift speichert dann im Schritt 460 eine Angabe der erfolgreichen Transaktion in der mit dieser Transaktion assoziierten TRANSACTION_DATA-Eigenschaft. Danach beendet der Stift im Schritt 470 die Sitzung, und die Ausführung kehrt zum Schritt 400 zurück. Das nächste Mal, wenn der Benutzer aus einem bestimmten Grund eine Sendesitzung einleitet, wird die TRANSACTION_DATA-Eigenschaft dieser letzten Transaktion in der HTTP-Anforderung zu dem abgesetzten PLS-Server enthalten sein.
  • Um eine exemplifizierende Ausführungsform der Erfindung weiter zu veranschaulichen, wird auf 5 Bezug genommen. 5 zeigt einen digitalen Stift 500, einen abgesetzten PLS-Server 510, einen Anwendungsserver 520 und einen weiteren Anwendungsserver 530. Ein Aktor, der Werbende "X", führt einen Anwendungsdienst auf dem Anwendungsserver 520 aus, der die URL "advertiser_x.com" aufweist, und ein anderer Anwendungsdienst wird durch einen lokalen Händler "Y" auf dem Server 530 mit der URL "local_dealer_y.com" ausgeführt.
  • Wenn man sich an das in Verbindung mit 4 beschriebene Beispiel erinnert, hat der Benutzer bestimmte Stiftstriche auf der Anzeige ausgeführt und einen Sendebereich darauf "abgehakt". Schritt 1 von 5 zeigt die HTTP-Anforderung, die dann zu dem abgesetzten PLS-Server 510 gesendet wird und die die Seitenadresse der Oberfläche enthält, auf die die Anzeige gedruckt wurde, sowie die Identität des "abgehakten" Sendebereichs. Schritt 2 zeigt die HTTP-Antwort, die von dem abgesetzten PLS-Server 510 mit Anweisungen gemäß den mit der fraglichen Seite assoziierten Verwaltungsregeln zu dem Stift 500 zurückgesendet wird. In diesem Fall lauten die Anweisungen wie folgt:
    • – startTransaction (transID);
    • – grantPageDataAccess (1.2.3.4);
    • – grantPropertyAccess (PEN_ID, PEN_OWNER_NAME, PEN_OWNER_INVOICE_ADDRESS);
    • – addPropertyData (PEN_ID, PEN_OWNER_ADDRESS); und
    • – internetInitialApplicationRequest (advertiser_x.com)
  • Ein Unterschied zu dem Beispiel von 4 ist die Übertragung einer grantPageDataAccess- anstelle der addPageData-Anweisung. Die grantPageDataAccess-Anweisung definiert mit einem Seitenadressenparameter, daß auf die Seite 1.2.3.4 (das heißt die Seite auf der Oberfläche, auf die die Anzeige gedruckt ist) später in derselben Sitzung und somit während der Anwendungstransaktion durch eine beliebige addPageData-Anweisung zugegriffen werden kann. Auf dieselbe Weise definiert die grantPropertyAccess-Anweisung, auf welche Eigenschaften durch einen Server während der Anwendungstransaktion zugegriffen werden kann. Die Anweisung führt zu einer HTTP-Anforderung (Schritt 3) von dem Stift 500 zu dem Anwendungsserver 520 unter Verwendung der URL advertiser_x.com und mit den Eigenschaften PEN_ID und PEN_OWNER_ADDRESS in der Benutzereinheit-Nachricht.
  • Man nehme nun an, daß dieser empfangene Dienst ein von dem Werbenden ausgeführter zentraler Dienst ist und daß der Werbende jeden Benutzer zu einem lokalen Händler leiten möchte. Indem z. B. die Adresse des Stifteigentümers untersucht wird, bestimmt der Dienst den nächsten lokalen Händler des Stifteigentümers für das angebotene Produkt. Der Dienst von advertiser_x.com sendet im Schritt 4 dann eine HTTP-Antwort mit den folgenden Anweisungen zu dem Stift 500 zurück:
    • – addPageData (1.2.3.4);
    • – addPropertyData (PEN_ID, PEN_OWNER_NAME, PEN_OWNER_INVOICE_ADDRESS) und
    • – internetApplicationRequest (local_dealer_y.com)
  • Diese Anweisungen führen zu einer HTTP-Anforderung (Schritt 5) von dem Stift 500 zu dem von local_dealer_y.com ausgeführten Dienst. Die Anforderung
  • 1
  • 140
    Abgesetzter PLS
    Network
    Netzwerk
    150
    Lokaler PLS
  • 3
  • Internet Case
    Internet-Fall
    Local Case
    lokaler Fall
    Application Service Handler
    Anwendungsdienst-Handler
    Local Application
    Lokale Anwendung
    Pen API
    Stift-API
    Pen
    Stift
  • 4
  • 400
    Positionen einer Seite aufzeichnen
    410
    Vorgespeicherte Herauffahranweisungen unter Verwendung vorgespeicherter Eigenschaften ausführen
    420
    Etwaiges gespeichertes Transaktionsergebnis in Benutzereinheit-Nachricht aufnehmen
    430
    Benutzereinheit-Nachricht mit Daten in HTTP-Anforderung zum Server senden
    440
    Anweisungen in HTTP-Antwort von Server empfangen
    450
    Empfangene Anweisungen mit empfangenen Parametern ausführen
    460
    Ergebnis der Serveraktivität als Transaktionergebnis speichern
    470
    Sitzung beenden?
    No
    Nein
    Yes
    Ja
  • 5
  • 500
    Digitaler Stift
    510
    Abgesetzter PLS

Claims (24)

  1. Verfahren zum Verwalten der Kommunikation in einem System, wobei das System mindestens eine Benutzereinheit mit der Fähigkeit zum Lesen von Informationen aus einer Oberfläche und zum Übermitteln mindestens eines Teils davon zu einem Server, einen Nachschlageserver, der mit aus der Oberfläche gelesenen Informationen assoziierte Informationsverwaltungsregeln speichert, und mindestens einen Anwendungsserver enthält, wobei das Verfahren die folgenden Schritte umfaßt: in der Benutzereinheit wird von dem Nachschlageserver mindestens eine Anweisung mit Steuerdaten, die auf den Informationsverwaltungsregeln basieren und regeln, welche Informationen die Benutzereinheit übermitteln darf, empfangen; und in der Benutzereinheit wird bei Empfang einer Anweisung von einem Anwendungsserver, mit spezifischen Informationsdaten zu antworten, auf der Basis der aus dem Nachschlageserver empfangenen Anweisung bestimmt, ob die spezifischen Informationsdaten übermittelt werden dürfen, und wenn dem so ist, werden die spezifischen Informationsdaten in einer Benutzereinheit-Nachricht zu einem Empfangs-Anwendungsserver gesendet.
  2. Verfahren nach Anspruch 1, wobei der Nachschlageserver ein abgesetzter Netzwerkserver oder ein lokaler Server ist, der einen Nachschlagedienst ausführt, der mit aus der Oberfläche gelesenen Informationen assoziierte Informationsverwaltungsregeln speichert, und wobei der Anwendungsserver ein beliebiger Server ist, der eine Anwendung ausführt, die dafür ausgelegt ist, als Reaktion auf eine Benutzereinheit-Nachricht von einer Benutzereinheit eine Dienstaktivität auszuführen.
  3. Verfahren nach Anspruch 1 oder 2, wobei die Benutzereinheit bei Empfang einer Anweisung mit Steuerdaten die mit der Anweisung assoziierten Aktionen gemäß einer Definition ausführt, die durch einen durch die Benutzereinheit gespeicherten Anweisungssatz bereitgestellt wird.
  4. Verfahren nach einem der Ansprüche 1–3, wobei der Schritt des Bestimmens umfaßt, eine Adresse aus der von dem Anwendungsserver empfangenen Anweisung zu extrahieren, wobei die Adresse den Empfangs-Anwendungsserver der Benutzereinheit-Nachricht identifiziert.
  5. Verfahren nach einem der Ansprüche 1–4, wobei die empfangene Anweisung mit Steuerdaten durch die Benutzereinheit dafür bestimmt wird, in einen spezifischen Anweisungssatz ausschließlich zur Verwendung durch den Nachschlageserver aufgenommen zu werden.
  6. Verfahren nach einem der Ansprüche 1–5, wobei die Steuerdaten einem oder mehreren Parametern entsprechen, die eine oder mehrere durch die Benutzereinheit gespeicherte Eigenschaften definieren.
  7. Verfahren nach einem der Ansprüche 1–6, wobei die spezifischen Informationsdaten mindestens einen durch die Benutzereinheit gespeicherten Eigenschaftsparameterwert umfassen.
  8. Verfahren nach einem der Ansprüche 1–7, wobei die Steuerdaten einem Parameter entsprechen, der eine Seitenadresse definiert.
  9. Verfahren nach einem der Ansprüche 1–8, wobei die spezifischen Informationsdaten Koordinaten von Positionen umfassen, die durch die Benutzereinheit aus einer Oberfläche gelesen werden.
  10. Verfahren nach einem der Ansprüche 1–9, wobei dem Schritt des Empfangens einer Anweisung mit Steuerdaten aus dem Nachschlageserver ein Schritt des Sendens einer Benutzereinheit-Nachricht von der Benutzereinheit zu dem Nachschlageserver in Verbindung mit der Ausführung eines Satzes vorgespeicherter Herauffahranweisungen durch die Benutzereinheit vorausgeht.
  11. Verfahren nach einem der Ansprüche 1–10, wobei die Benutzereinheit die folgenden weiteren Schritte ausführt: Empfangen einer Anweisung mit Ergebnisdaten von dem Anwendungsserver, zu dem die Benutzereinheit-Nachricht gesendet wurde; Extrahieren der Ergebnisdaten aus der von dem Anwendungsserver empfangenen Anweisung; Speichern der Ergebnisdaten als eine Angabe eines Ergebnisses einer durch den Anwendungsserver ausgeführten Aktivität; und Senden des Ergebnisses in einer folgenden Benutzereinheit-Nachricht zu dem Nachschlageserver in Verbindung mit der Ausführung eines Satzes vorgespeicherter Herauffahranweisungen durch die Benutzereinheit.
  12. Verfahren nach Anspruch 10 oder 11, wobei das Senden einer Benutzereinheit-Nachricht zu einem Server, gefolgt durch das Empfangen mindestens einer Anweisung von demselben Server, einen Benutzereinheit-Umlauf definiert, wobei eine durch die Benutzereinheit eingeleitete Sitzung zum Senden von Daten aus der Benutzereinheit entweder einen Umlauf oder eine Anzahl nachfolgender Umläufe umfaßt.
  13. Verfahren nach einem der Ansprüche 10–12, wobei die vorgespeicherten Herauffahranweisungen folgendes umfassen: einen Adressenparameter, der den Nachschlageserver identifiziert, und einen Satz Benutzereinheit-Eigenschaftsparameter, der definiert, welche Benutzereinheit-Eigenschaften in die zu dem Nachschlageserver in Verbindung mit der Ausführung vorgespeicherter Herauffahranweisungen gesendete Benutzereinheit-Nachricht aufgenommen werden sollen.
  14. Verfahren nach einem der Ansprüche 10–13, wobei die Benutzereinheit nach der Ausführung der vorgespeicherten Herauffahranweisungen für die folgenden Schritte ausgelegt ist: Empfangen einer weiteren Anweisung von dem Nachschlageserver mit einem Eigenschaftsparameter, der einen Start einer spezifischen Sitzung mittels einer Kennung identifiziert; und Speichern der Kennung in Form eines Zeitstempels.
  15. Verfahren nach Anspruch 14, wobei die Benutzereinheit ihren internen Zeitgeber mit Bezug auf die Kennung synchronisiert.
  16. Verfahren nach Anspruch 13, wobei der Satz Benutzereinheit-Eigenschaftsparameter einen Zuletzt-ausgeführte-Eigenschaftsaktualisierung-Parameter umfaßt, wobei die Benutzereinheit nach der Ausführung der vorgespeicherten Herauffahranweisungen für die folgenden Schritte ausgelegt ist: Empfangen einer weiteren Anweisung von dem Nachschlageserver mit einem aktualisierten Wert einer Eigenschaft; und Speichern des aktualisierten Werts der Eigenschaft.
  17. Verfahren nach einem der Ansprüche 10–13, wobei die Benutzereinheit nach der Ausführung der vorgespeicherten Herauffahranweisungen für den folgenden Schritt ausgelegt ist: Empfangen weiterer Anweisungen von dem Nachschlageserver, auf deren Basis der Satz vorgespeicherter Herauffahranweisungen abgeändert oder ein neuer Satz vorgespeicherter Anweisungen definiert wird.
  18. Verfahren nach einem der Ansprüche 10–13, wobei die vorgespeicherten Herauffahranweisungen durch die Benutzereinheit ausgeführt werden, wenn die Benutzereinheit eine Sitzung zum Senden von aus einer Oberfläche gelesenen Informationen einleitet, wobei diese Sitzung eingeleitet wird, wenn die Benutzereinheit ein Lesen von Informationen aus einem spezifischen Sendebereich der Oberfläche detektiert.
  19. Verfahren nach Anspruch 18, wobei der Sendebereich dafür vorbestimmt ist, mit einem Adressenparameter assoziiert zu werden, der einen abgesetzten Nachschlageserver definiert, wobei der Schritt des Empfangens einer Anweisung mit Steuerdaten umfaßt, eine Anweisung mit Steuerdaten zu empfangen, die auf durch den abgesetzten Nachschlageserver gespeicherten Informationsverwaltungsregeln basieren.
  20. Verfahren nach Anspruch 18, wobei der Sendebereich dafür vorbestimmt ist, mit einem Adressenparameter assoziiert zu werden, der einen lokalen Nachschlageserver definiert, wobei der Schritt des Empfangens einer Anweisung mit Steuerdaten umfaßt, eine Anweisung mit Steuerdaten zu empfangen, die auf durch den lokalen Nachschlageserver gespeicherten Informationsverwaltungsregeln basieren.
  21. Verfahren nach einem der Ansprüche 1–20, wobei jede von der Benutzereinheit gesendete Benutzereinheit-Nachricht eine eindeutige Identität der Benutzereinheit enthält.
  22. Verfahren nach einem der Ansprüche 1–21, wobei aus einer Oberfläche gelesene Informationen mindestens eine Position einer positionscodierten Oberfläche umfassen.
  23. Benutzereinheit, die dafür ausgelegt ist, die Kommunikation in einem System zu verwalten, wobei die Benutzereinheit zum Lesen von Informationen aus einer Oberfläche und zum Übermitteln mindestens eines Teils davon zu einem Server in dem System fähig ist, wobei das System einen Nachschlageserver, der mit aus der Oberfläche gelesenen Informationen assoziierte Informationsverwaltungsregeln speichert, und mindestens einen Anwendungsserver enthält, wobei die Benutzereinheit ferner für die folgenden Schritte ausgelegt ist: von dem Nachschlageserver wird mindestens eine Anweisung mit Steuerdaten empfangen, die auf den Informationsverwaltungsregeln basieren und regeln, welche Informationen die Benutzereinheit übermitteln darf; und bei Empfang einer Anweisung von einem Anwendungsserver, mit spezifischen Informationsdaten zu antworten, wird auf der Basis der aus dem Nachschlageserver empfangenen Anweisung bestimmt, ob die spezifischen Informationsdaten übermittelt werden dürfen, und wenn dem so ist, werden die spezifischen Informationsdaten in einer Benutzereinheit-Nachricht zu einem Empfangs-Anwendungsserver gesendet.
  24. Computerlesbares Medium, das computerausführbare Komponenten speichert, die bewirken, daß eine Benutzereinheit mit der Fähigkeit zum Lesen von Informationen aus einer Oberfläche und zum Übermitteln mindestens eines Teils davon zu einem Server die in einem der Ansprüche 1–20 aufgeführten Schritte ausführt, wenn die computerausführbaren Komponenten auf einem durch die Benutzereinheit eingeschlossenen Mikroprozessor ausgeführt werden.
DE60226246T 2001-07-05 2002-07-04 Verfahren, benutzereinheit und computerlesbares medium mit gespeicherten anweisungen zum verwalten der kommunikation in einem system Expired - Lifetime DE60226246T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE0102418A SE523112C2 (sv) 2001-07-05 2001-07-05 Förfaringssätt för kommunikation mellan en användarenhet som har möjlighet att läsa information från en yta, och servrar som exekverar tjänster som stöder användarenheten
SE0102418 2001-07-05
PCT/SE2002/001332 WO2003005181A1 (en) 2001-07-05 2002-07-04 A computer readable medium storing instructiuons for managing communication in a system

Publications (2)

Publication Number Publication Date
DE60226246D1 DE60226246D1 (de) 2008-06-05
DE60226246T2 true DE60226246T2 (de) 2009-05-14

Family

ID=20284757

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60226246T Expired - Lifetime DE60226246T2 (de) 2001-07-05 2002-07-04 Verfahren, benutzereinheit und computerlesbares medium mit gespeicherten anweisungen zum verwalten der kommunikation in einem system

Country Status (9)

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

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7356012B2 (en) * 2001-12-27 2008-04-08 Anoto Ab Method for transmitting information
WO2004061732A1 (en) * 2003-01-03 2004-07-22 Anoto Ip Lic Hb A method and a system for responding to a request for access to an application service
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
GB0321167D0 (en) * 2003-09-10 2003-10-08 Hewlett Packard Development Co Printing digital documents
SE0302884D0 (sv) * 2003-10-31 2003-10-31 Anoto Ab Information management unit and method for controlling data flow from electronic pens
US8316128B2 (en) * 2004-01-26 2012-11-20 Forte Internet Software, Inc. Methods and system for creating and managing identity oriented networked communication
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
SE0401687D0 (sv) 2004-06-30 2004-06-30 Anoto Ab Information management
WO2006041387A1 (en) * 2004-10-12 2006-04-20 Anoto Ab Methods and a system for a secure management of information from an electronic pen
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
WO2006091148A1 (en) * 2005-02-23 2006-08-31 Anoto Ab Method in electronic pen, computer program product, and electronic pen
WO2006137798A1 (en) * 2005-06-23 2006-12-28 Anoto Ab Methods and devices relating to transfer of non-pen stroke data
US7489819B2 (en) * 2006-05-12 2009-02-10 Velosum, Inc. Systems and methods for handwritten digital pen lexical inference
US7502509B2 (en) * 2006-05-12 2009-03-10 Velosum, Inc. Systems and methods for digital pen stroke correction
US8416463B2 (en) 2007-03-23 2013-04-09 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
JP2010533337A (ja) * 2007-07-10 2010-10-21 アノト アクティエボラーク 電子ペンによる入力への応答を作成するシステム、ソフトウェアモジュールおよび方法
US8477095B2 (en) * 2007-10-05 2013-07-02 Leapfrog Enterprises, Inc. Audio book for pen-based computer
KR101930510B1 (ko) * 2011-09-16 2018-12-19 삼성전자주식회사 네트워크 상의 객체 검색 방법 및 시스템
US11631342B1 (en) 2012-05-25 2023-04-18 The Regents Of University Of California Embedded motion sensing technology for integration within commercial ultrasound probes
US9552818B2 (en) 2012-06-14 2017-01-24 Dolby International Ab Smooth configuration switching for multichannel audio rendering based on a variable number of received channels
US10380920B2 (en) 2013-09-23 2019-08-13 SonoSim, Inc. System and method for augmented ultrasound simulation using flexible touch sensitive surfaces
US10380919B2 (en) 2013-11-21 2019-08-13 SonoSim, Inc. System and method for extended spectrum ultrasound training using animate and inanimate training objects
EP4365803A2 (de) * 2013-11-28 2024-05-08 Faulwetter, Patrick Plattform-vorrichtung zur bereitstellung qualitativen schwarm-wissens
US11600201B1 (en) 2015-06-30 2023-03-07 The Regents Of The University Of California System and method for converting handheld diagnostic ultrasound systems into ultrasound training systems
US10896628B2 (en) 2017-01-26 2021-01-19 SonoSim, Inc. System and method for multisensory psychomotor skill training
US11810473B2 (en) 2019-01-29 2023-11-07 The Regents Of The University Of California Optical surface tracking for medical simulation
US11495142B2 (en) 2019-01-30 2022-11-08 The Regents Of The University Of California Ultrasound trainer with internal optical tracking

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5852434A (en) 1992-04-03 1998-12-22 Sekendur; Oral F. Absolute optical position determination
US5652412A (en) * 1994-07-11 1997-07-29 Sia Technology Corp. Pen and paper information recording system
US5661506A (en) 1994-11-10 1997-08-26 Sia Technology Corporation Pen and paper information recording system using an imaging pen
EP0737922B1 (de) * 1995-03-22 2003-05-14 Sun Microsystems, Inc. Vorrichtung und Verfahren zur Verwaltung von Rechnerprozessen
US5696898A (en) * 1995-06-06 1997-12-09 Lucent Technologies Inc. System and method for database access control
JP2002505479A (ja) * 1998-02-26 2002-02-19 サン・マイクロシステムズ・インコーポレーテッド 共有メモリースペースのためのインタラクティブ設計ツール
EP1058884A1 (de) * 1998-02-26 2000-12-13 Sun Microsystems, Inc. Verfahren und vorrichtung zum erleichtern des zugangs zu einem nachschlagedienst
US6182086B1 (en) * 1998-03-02 2001-01-30 Microsoft Corporation Client-server computer system with application recovery of server applications and client applications
WO1999050787A1 (en) 1998-04-01 1999-10-07 Xerox Corporation Cross-network functions via linked hardcopy and electronic documents
US6266692B1 (en) * 1999-01-04 2001-07-24 International Business Machines Corporation Method for blocking all unwanted e-mail (SPAM) using a header-based password
US6816274B1 (en) 1999-05-25 2004-11-09 Silverbrook Research Pty Ltd Method and system for composition and delivery of electronic mail
WO2000073983A1 (en) 1999-05-28 2000-12-07 Anoto Ab Position determination
CN1206584C (zh) * 1999-08-30 2005-06-15 阿诺托知识产权许可贸易公司 记事本
US6868498B1 (en) * 1999-09-01 2005-03-15 Peter L. Katsikas System for eliminating unauthorized electronic mail
KR20010029046A (ko) * 1999-09-29 2001-04-06 전주범 피디에이에서 지니를 이용한 부가 서비스 방법
SE517445C2 (sv) * 1999-10-01 2002-06-04 Anoto Ab Positionsbestämning på en yta försedd med ett positionskodningsmönster
US6366907B1 (en) * 1999-12-15 2002-04-02 Napster, Inc. Real-time search engine
AU2567801A (en) 1999-12-23 2001-07-09 Anoto Ab Distributed information management
JP4822645B2 (ja) 1999-12-23 2011-11-24 アノト アクティエボラーク ユーザ・ユニットおよびグローバル情報取り扱いシステム
JP2003518689A (ja) 1999-12-23 2003-06-10 アノト・アクティエボラーク チャージカード購買
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
EP1256048A2 (de) 2000-02-16 2002-11-13 Telefonaktiebolaget LM Ericsson (publ) System und verfahren zum betreiben einer benutzerschnittstelle mit einer elektronischen lesevorrichtung

Also Published As

Publication number Publication date
CN1299191C (zh) 2007-02-07
CN1522400A (zh) 2004-08-18
SE0102418L (sv) 2003-02-06
EP1415220A1 (de) 2004-05-06
JP4282475B2 (ja) 2009-06-24
DE60226246D1 (de) 2008-06-05
EP1415220B1 (de) 2008-04-23
JP2004534319A (ja) 2004-11-11
US20030055865A1 (en) 2003-03-20
ES2305262T3 (es) 2008-11-01
ATE393426T1 (de) 2008-05-15
SE523112C2 (sv) 2004-03-30
SE0102418D0 (sv) 2001-07-05
WO2003005181A1 (en) 2003-01-16
US7089308B2 (en) 2006-08-08

Similar Documents

Publication Publication Date Title
DE60226246T2 (de) Verfahren, benutzereinheit und computerlesbares medium mit gespeicherten anweisungen zum verwalten der kommunikation in einem system
DE60222924T2 (de) Verfahren zum replizieren von daten zwischen rechnergeräten
DE60020518T2 (de) Verwaltung von Benutzerprofilen
DE69535383T2 (de) System zum Zugriff und zur Verteilung von elektronischen Dokumenten
DE60024706T2 (de) Verteiltes Parameterkontrollprotokoll
DE69831904T2 (de) Dynamische Erstellung von Internetseiten
DE60123327T2 (de) Bilddruckvorrichtung und -Verfahren, computerlesbares Speichermedium, das ein Programm zum Ausdrucken von Bildern speichert, Bildverwaltungssystem, und Datenverwaltungsgerät
DE69733802T2 (de) Datendienst in einem mobilen kommunikationsnetz
DE60015423T2 (de) Verfahren und Vorrichtung zur Objektwiedergabe in einem Netzwerk
DE60008948T2 (de) Informationsübertragung zu mobilen Rechnern unter Verwendung von Cache-Servern
DE69735255T2 (de) Netz-Photographischesdienstsystem
DE10214069B4 (de) Aufzeichnen von Bildern zusammen mit Verbindungsinformationen
DE19747583B4 (de) Kommunikationssystem und Verfahren
DE10239791A1 (de) System zur Sammlung und Verteilung von Kalenderinformationen
DE10295699T5 (de) Eine Anordnung und ein Verfahren in Bezug auf Sitzungsverwaltung in einer Portalstruktur
DE69927131T2 (de) Kommunikationsverfahren, -system und -vorrichtung und Server
DE10392750T5 (de) Vorrichtung und Verfahren zum Abstimmen von variablen Hilfsinformationen auf Hauptbüroinformationen in einem Firmensystem
DE10260654A1 (de) Verfahren und Vorrichtung zum Identifizieren eines digitalen Bildes und zum Zugreifen auf das digitale Bild über ein Netz
DE69919892T2 (de) Interaktives mediasystem
DE10303237A1 (de) Gefilterte Peer-To-Peer-Geschäftskommunikation in einer verteilten Computerumgebung
DE60114923T2 (de) Vorrichtung und Verfahren zur Übertragung der Server-zu-Client Information zu einem anderen Terminal
DE60304978T2 (de) Managementsystem für ein Gerät zur vereinfachten Kontrolle der Gerätefunktion
DE102005033978A1 (de) Verfahren zum Erhöhen der Produktivität in einer Organisation
DE60014687T2 (de) System und verfahren zur übertragung der nachrichten, und systemverwendung für untersuchung der zu verfügung gestellten dienstleistungen
DE69027524T2 (de) Verfahren und System zur automatischen Steuerung der Verteilung von Datenobjekten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition