-
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