DE60209783T2 - Verfahren zur speicherfreigabe in einer vorrichtung mit begrenzter speicherkapazität zur erzeugung digitaler striche - Google Patents

Verfahren zur speicherfreigabe in einer vorrichtung mit begrenzter speicherkapazität zur erzeugung digitaler striche Download PDF

Info

Publication number
DE60209783T2
DE60209783T2 DE60209783T DE60209783T DE60209783T2 DE 60209783 T2 DE60209783 T2 DE 60209783T2 DE 60209783 T DE60209783 T DE 60209783T DE 60209783 T DE60209783 T DE 60209783T DE 60209783 T2 DE60209783 T2 DE 60209783T2
Authority
DE
Germany
Prior art keywords
page
memory
data structure
pen
logical
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
DE60209783T
Other languages
English (en)
Other versions
DE60209783D1 (de
Inventor
Mattias Bryborn
Erik Sparre
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 DE60209783D1 publication Critical patent/DE60209783D1/de
Publication of DE60209783T2 publication Critical patent/DE60209783T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • G06V30/1423Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Character Discrimination (AREA)
  • Memory System (AREA)
  • Semiconductor Memories (AREA)
  • Electrotherapy Devices (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Processing Or Creating Images (AREA)

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft ein Verfahren, eine Vorrichtung und ein Computerprogrammprodukt zum Freigeben von Speicherplatz in einer Vorrichtung mit begrenztem Speicherplatz, in welcher eine Vielzahl von Stiftstrichen aufgezeichnet und in elektronischer Form gespeichert ist.
  • Hintergrund der Erfindung
  • Eine Benutzervorrichtung, wie z.B. der in WO 01/26033 beschriebene Typ, kann im Wesentlichen als ein Stift aufgebaut sein. Diese stiftähnliche Vorrichtung kann eine eingebaute Kamera zum Lesen eines Positions-Codierungsmusters und eine Datenverarbeitungseinrichtung zum Interpretieren, Speichern und Übertragen von Information aus dem Positions-Codierungsmuster enthalten. Zusätzlich kann sie einen Arbeitsspeicher (RAM) für eine kurzzeitige Speicherung von Daten enthalten, die von der Vorrichtung aufgezeichnet wurden, und einen Massenspeicher für eine permanente oder wenige kurzzeitige Aufbewahrung von Daten. Ein derartiger Massenspeicher kann beispielsweise aus einem oder ein Vielzahl von Flash-Speichern oder anderen nicht-flüchtigen Speichern mit geeigneter Speicherkapazität und Art bestehen. Eine permanente Speicherung von Daten kann erreicht werden, indem der Inhalt des Massenspeichers der Benutzervorrichtung beispielsweise an einen Server, einen Personal Computer oder an einen "PDA" (Personal Digital Assistent übertragen oder damit synchronisiert wird. Eine derartige Synchronisation kann mittels einem oder einer Vielzahl von Kommunikationsmedien, wie z.B. Nahbereichsfunk (z.B. Bluetooth®, IrDA, Kabel, Internet, Mabiltelefonkommunikation oder anderen Technologien, ausgeführt werden, die die elektronische Übertragung von Information ermöglichen. Das vorstehend erwähnte Positions-Codierungsmuster kann auf einer Basis, wie z.B. einem Papierblatt, beispielsweise in der Form von gedruckten maschinenlesbaren Markierungen angeordnet sein. Wenn die Benutzervorrichtung über eine derartige Positions-Codierungsbasis geführt wird, kann die Vorrichtung das Positions-Codierungsmuster aufzeichnen und decodieren und Paare von Koordinaten berechnen, welche eine elektronische Darstellung der Bewegung des Benutzervorrichtung auf der Basis repräsentieren.
  • Die Vorrichtung kann so eingerichtet sein, dass sie das Positions-Codierungsmuster immer aufzeichnet, sobald ein Sensor in der Benutzervorrichtung anzeigt, dass die Vorrichtung auf die Basis abgesenkt ist. Die Aufzeichnung kann durch den Sensor beendet werden, der anzeigt, dass die Benutzervorrichtung von der Basis abgehoben wurde. Die Koordinatenserie, die zwischen der Absenkung der Benutzervorrichtung und der Anhebung erzeugt wurde, wird hierin nachstehend als ein "Stiftstrich" bezeichnet.
  • Die so aufgezeichneten Stiftstriche können in der Benutzervorrichtung gespeichert werden, und falls notwendig oder erwünscht beispielsweise durch eine Handschriften-Erkennungssoftware verarbeitet werden, um handgeschriebene Information in maschinenlesbare Information umzuwandeln.
  • Positions-Codierungsmuster der vorgenannten Art sind aus der vorgenanten WO 01/26033 sowie beispielsweise aus US-A-S 652 412, US-A-S 852 434, WO 99/50787 und WO 00/73983 bekannt.
  • Einige Positions-Codierungsmuster können in der Lage sein, Koordinaten für eine sehr große Anzahl von Positionen zu codieren. Ein derartiges Positions-Codierungsmuster kann beispielsweise in vorteilhafter Weise für spezielle Anwendungen in Unterbereiche unterteilt sein, kann jedoch auch in Unterbereiche unterteilt sein, die jeweils für eine Aufbringung auf eine physikalische Seite beispielsweise in einem Notizblock gedacht sind. Die Benutzervorrichtung kann so eingerichtet sein, dass sie alle durch einen derartigen Unterbereich codierten Positionen einer speziellen digitalen Seite oder Seiteninstanz zuordnet, so dass die Benutzervorrichtung Daten, die beispielsweise von einer physikalischen Seite in einem Notizblock aufgenommen werden, so wie sie zusammengehören, verarbeiten kann.
  • Eine derartige logische Zuordnung von Positionen zu digitalen Seiten wird ferner in WO 01/48685 offenbart.
  • Das Positions-Codierungsmuster kann alternativ nur eine Codierung von zur Unterbringung auf einer einzigen physikalischen Seite genügenden Positionen zulassen. In diesem Falle kann die Benutzervorrichtung so eingerichtet sein, dass sie zusätzliche Information zur Zuordnung der aufgezeichneten Positionen zu einer digitalen Seite aufzeichnet. Beispielsweise kann die zusätzliche Information eine Seitenkennung, welche in dem Codierungsmuster enthalten ist, wie es beispielsweise in der vorgenannten WO 99/50787 offenbart ist, oder durch die Benutzervorrichtung aus einem Balkencode abgeleitet wird, eine Kombination von Zeichen oder dergleichen auf der physikalischen Seite umfassen.
  • Somit kann jeder Stiftstrich in elektronischer Farm in dem Massenspeicher der Vorrichtung beispielsweise zusammen mit Information darüber, welcher Teil des Positions-Codierungsmusters und/oder zu welcher Zeit der Stiftstrich aufgezeichnet wurde, gespeichert werden. Beispielsweise kann der Startzeitpunkt jedes Stiftstriches aufgezeichnet werden.
  • Um eine angemessene Darstellung von handgeschriebener Information zu erzeugen, sollte die Benutzereinheit das Positions-Codierungsmuster mit einer Rate von etwa 50 bis 100 Hz auslesen. Somit erkennt man, dass die Anzahl von Koordinatenpaaren, die durch die Benutzervorrichtung beispielsweise in Verbindung mit einem niedergeschriebenen Text aufgezeichnet werden, sehr groß werden kann, selbst wenn die aufgezeichneten Stiftstriche nach einer Komprimierung gespeichert wurden.
  • Da die eingebaute Massenspeicherkapazität der Benutzervorrichtung normalerweise eingeschränkt ist, beispielsweise aufgrund von Kostenüberlegungen oder durch Einschränkungen in dem verfügbaren Platz in der Benutzervorrichtung, besteht ein Risiko, dass der Massenspeicher der Benutzervorrichtung voll wird.
  • Ähnliche Probleme können in anderen Benutzervorrichtungen für elektronische Aufzeichnung von handgeschriebener Information auftreten. Beispielsweise zeichnet im GB-A-2 306 669 eine stiftartige Vorrichtung ihre Bewegung mittels eingebauter Beschleunigungssensoren auf und ordnet den aufgezeichneten Bewegungsdaten eine Seitenkennung zu, die durch einen Balkencode auf der physikalischen Seite gegeben ist. Außerdem ist in US-A-6 055 552 ein digitales elektronisches Klemmbrett so eingerichtet, dass es die Bewegung einer Schreibvorrichtung auf einem Stapel physikalischer Seiten verfolgt, die auf dem Klemmbrett befestigt sind. Den aufgezeichneten Bewegungsdaten wird eine Seitenkennung zugeordnet, die durch den Benutzer über eine Tastatur auf dem Klemmbrett eingegeben oder durch die Schreibvorrichtung aus einem Balkencode auf der obersten Seite in dem Stapel aufgezeichnet wird. US-A-S 905 488 speichert die XY-Koordinaten der Striche in einem Ringpuffer.
  • In der vorgenannten US-A-6 055 552 werden, wenn eine digitale Seite aus der Zwischenablage an eine externe Einheit wie z.B. einen Personal Computer übertragen wird, alle der übertragenen digitalen Seite zugeordneten Stiftstriche aus dem Massenspeicher des Klemmbrettes gelöscht. Dieses bedeutet, dass es erforderlich ist, den Speicherinhalt in regelmäßigen Intervallen an den Personal Computer zu übertragen, damit das Massenspeicher nicht voll wird, was wiederum die Zeit beschränkt, während welcher die Zwischenablage unabhängig oder "off-line", d.h., ohne Kontakt mit dem Personal Computer funktionieren kann.
  • Zusammenfassung der Erfindung
  • Eine Aufgabe der vorliegenden Erfindung ist die Verminderung der vorstehend beschriebenen Nachteile der herkömmlichen Vorrichtung für die elektronische Aufzeichnung von handgeschriebener Information.
  • Eine weitere Aufgabe ist die Bereitstellung einer Technik für eine Speicherverwaltung, welche für einen Benutzer leicht verständlich ist.
  • Es ist auch eine Aufgabe, eine Technik für eine Speicherverwaltung bereitzustellen, die eine Auslegung der Benutzereinheit ahne eine Benutzerschnittstelle oder mit einer Benutzerschnittstelle ermöglicht, die nur eine eingeschränkte Benutzerwechselwirkung vorsieht.
  • Diese Aufgaben werden vollständig oder teilweise durch ein Verfahren nach Anspruch 1, ein Computerprogrammprodukt nach Anspruch 19 und eine Vorrichtung nach Anspruch 20 gelöst. Bevorzugte Ausführungsformen sind in den abhängigen Ansprüchen und in der nachstehenden Beschreibung definiert.
  • Somit wird ein Verfahren zum Freigeben von Speicher in einer Vorrichtung mit eingeschränktem Speicher bereitgestellt, in welche eine Vielzahl von Stiftstrichen eingegeben werden. Jeder von den Stiftstrichen wird in elektronischer Form in dem Speicher zugeordnet zu einer von einer Vielzahl logischer Seiten und zu einer Aufzeichnungszeit gespeichert. Wenn Platz im Speicher freizugeben ist, werden alle einer speziellen logischen Seite zugeordneten Stiftstriche gelöscht. Die spezielle Seite wird auf der Basis einer Zeit bestimmt, zu der der der logischen Seite zugeordnete Stiftstrich durch das Gerät aufgezeichnet wurde.
  • Durch Freigeben des Speichers mittels einer logischen Seite anstelle der Löschung einzelner Stiftstriche wird eine besser organisierte Speicherverwaltung erreicht, da nur vollständige logische Seiten aus dem Speicher gelöscht werden. Somit besteht kein Risiko, dass der Speicher nur einen Teil der Stiftstriche enthält, die in Verbindung mit einer gegebenen logischen Seite aufgezeichnet wurden; er bleiben entweder alle Stiftstriche oder keiner von den Stiftstrichen für eine gegebene logische Seite erhalten. Somit wird der Speicher in gut definierten Einheiten, die für den Benutzer intuitiv sind, freigegeben. Zusätzlich kann eine gute Übereinstimmung zwischen der Information auf einer physikalischen Seite beispielsweise einem Papierblatt und Information in elektronischer Form zugeordnet zu einer logischen Seite erzielt werden. Zusätzlich wird eine wiederholte Übertragung desselben Speicherinhaltes beispielsweise an unterschiedliche Server, Computer oder PDA's möglich gemacht. Ferner kann dadurch, dass die zu löschenden logischen Seiten auf der Basis der Zeit der Aufzeichnung eines zugeordneten Stiftstriches ausgewählt werden, die Einbeziehung des Benutzers in den Speicherfreigabevorgang vollständig oder teilweise beseitigt werden.
  • Gemäß dem Verfahren kann die spezielle logische Seite auf der Basis ihres zuletzt aufgezeichneten Stiftstriches, der früher als der zuletzt aufgezeichnete Stiftstrich irgendeiner anderen von den logischen Seiten aufgezeichnet wurde, ermittelt werden.
  • Dieses ist eine Möglichkeit der Auswahl der logischen Seiten, deren Stiftstriche zu löschen sind, in einer solchen Weise, dass die logischen Seiten, die zuletzt verwendet wurden, erhalten bleiben, während Stiftstriche älterer logischer Seiten gelöscht werden und dadurch Platz für neue Stiftstriche gemacht wird. Durch die Ermittlung, welche logi sche Seiten zu löschen sind, in dieser Weise, wird eine Regel erzeugt, die für den Benutzer leicht zu verstehen ist: Logische Seiten, die für lange Zeit nicht benutzt werden, werden aus dem Speicher gelöscht.
  • Alternativ kann die spezielle logische Seite durch einen der speziellen logischen Seite zugeordneten Stiftstrich ermittelt werden, welcher vor einer vorbestimmten Zeit aufgezeichnet worden ist. Die vorbestimmte Zeit kann ein spezielles Datum sein. In diesem Falle können alle logischen Seiten mit einem frühesten oder spätesten Aufzeichnungsdatum, das vor dieses spezielle Datum fällt, automatisch gelöscht werden. Alternativ kann die vorbestimmte Zeit auf die Zeit bezogen sein, wann die logische Seite zum ersten oder letzten Mal verwendet wurde. Beispielsweise kann ein Rabattcoupon automatisch zwei Wochen nach seiner ersten oder letzten Benutzung gelöscht werden. Alternativ kann die vorbestimmte Zeit relativ zur aktuellen Zeit sein. Beispielsweise können logische Seiten, die einen frühesten oder spätesten Stiftstrich enthalten, der mehr als zwei Wochen alt ist, automatisch gelöscht werden. Wenigstens einige von den vorgenannten Alternativen können für die Verwaltung logischer Seiten bezüglich zeitlich begrenzter Angebote geeignet sein.
  • Alternativ oder zusätzlich kann die spezielle Seite durch eine logische Seite bestimmt werden, die durch das Gerät zu Bestätigung durch den Benutzer vorgeschlagen wird. Obwohl dieses Verfahren einen gewissen Einbeziehungsgrad seitens des Benutzers erfordert, kann es in bestimmten Situationen zu bevorzugen sein, insbesondere, wenn logische Seiten vorhanden sind, von denen der Benutzer erwarten kann, dass sie unabhängig von ihrem Alter oder ihrer Benutzung erhalten bleiben.
  • Die Erfindung kann als ein Computerprogramm implementiert werden, das in dem Speicher der Vorrichtung gespeichert wird und von einem Prozessor der Vorrichtung ausgeführt wird. Ein derartiges Computerprogramm kann in einem Computerprogrammprodukt verkörpert sein. Alternativ kann das Verfahren vollständig oder teilweise in der Form einer anwendungsspezifischen Schaltung, wie z.B. einem ASIC, oder in der Form von digitalen oder analogen Schaltungen oder irgendeiner geeigneten Kombination davon implementiert werden.
  • Zusätzlich wird eine Vorrichtung für elektronisches Aufzeichnen von Stiftstrichen bereitgestellt, wovon jeder einer logischen Seite zugeordnet ist. Eine derartige Vorrichtung weist eine Datenverarbeitungseinheit auf, die einen Speicher mit eingeschränkter Kapazität für die Speicherung der Stiftstriche in elektronischer Form besitzt. Die Datenverarbeitungseinheit ist dafür eingerichtet, Platz in dem Speicher freizugeben, indem aus dem Speicher alle einer speziellen logischen Seite zugeordneten Stiftstriche gelöscht werden. Die Datenverarbeitungseinheit ist ebenfalls dafür eingerichtet, die spezielle logische Seite auf der Basis einer Zeit zu ermitteln, bei der ein einer logischen Seite zugeordneter Stiftstrich durch die Vorrichtung aufgezeichnet wurde.
  • Kurzbeschreibung der Zeichnungen
  • Die Erfindung wird nachstehend detaillierter unter Bezugnahme auf die beigefügten schematischen Zeichnungen beschrieben, welche derzeit bevorzugte Ausführungsformen der Erfindung gemäß ihrer unterschiedlichen Aspekte darstellen.
  • 1 stellt schematisch eine herkömmliche Benutzervorrichtung vor, in welcher die vorliegende Erfindung implementiert werden kann.
  • 2 stellt schematisch ein Koordinatensystem dar, welches in logische Seiten unterteilt ist.
  • 3 zeigt eine schematische Darstellung eines Massenspeicherblocks, welcher in die Benutzervorrichtung von 1 eingebaut sein kann.
  • 4 stellt schematisch eine Vielzahl physikalischer Seiten dar, welche mit Untergruppen globaler Positions-Codierungsmuster versehen sind, und auf welchen eine Vielzahl von Stiftstriche ausgeführt ist.
  • 5 zeigt eine Gantt-Diagrammdarstellung der Verteilung von Stiftstrichen in 4 über logischen Seiten und der Zeit.
  • 6 zeigt eine schematische Darstellung des Speichers der Stiftstriche in 1 in einem Speicherblock gemäß Darstellung in 3.
  • 7 stellt schematisch einen Seitenadressenbereich dar.
  • 8A8B stellen Flussdiagramme für ein Verfahren zum Freigeben von Speicher in der Vorrichtung von 1 dar.
  • 9 stellt schematisch die Datenverarbeitungseinheit in der Vorrichtung von 1 dar.
  • Beschreibung bevorzugter Ausführungsformen
  • 1 stellt eine herkömmliche Benutzervorrichtung 1 dar, welche detaillierter in der vorstehend erwähnten WO 01/26033 und WO 00/73983 beschrieben ist. Die Vorrichtung 1 besitzt eine Kamera 2, welche dafür eingerichtet ist, in Echtzeit eine digitale Darstellung eines Positions-Codierungsmusters zu erfassen, das auf einer Basis angeordnet ist. Auf der Basis der digitalen Darstellung werden Koordinaten für die Positionen berechnet, die unter Nutzung des Stiftpunktes 3 der Vorrichtung markiert sind. Dieser Stiftpunkt kann, muss jedoch nicht so eingerichtet sein, dass er als ein Markierungsstiftpunkt dient, um sichtbar Zeichen oder Bilder auf einer Basis, wie z.B. auf einem Papierblatt, zu schreiben. Zusätzlich besitzt die Vorrichtung eine Datenverarbeitungseinheit 7, die eine Datenerfassungseinrichtung 6, die zum Verarbeiten ankommender Daten aus der Kamera 2 ausgelegt ist, einen Arbeitsspeicher 4 und einen Massenspeicher 5 und einen programmierbaren Datenprozessor 10 in der Form beispielsweise eines Computerprozessors umfasst. Zusätzlich kann die Vorrichtung eine Energieversorgungseinheit 8 beispielsweise in der Form einer Batterie und eine Kommunikationseinheit 9 zur Kommunikation mit externen Einheiten enthalten. Derartige Kommunikationseinheiten können beispielsweise Infrarottechnologie-, Kabel- oder Nahbereichsfunk-Verbindungen wie z.B. Bluetooth® oder ein drahtloses LAN sein.
  • Das Positions-Codierungsmuster auf der Basis kann eine kleine Untergruppe eines abstrakten Positions-Codierungsmusters sein. Ein derartiges abstraktes Positions-Codierungsmuster kann so wie in der vorgenannten WO 01/26033 verkörpert sein, wobei das Muster einen sehr großen, zusammenhängenden, abstrakten Raum von Positionen definiert. Theoretisch definiert dieses spezielle Muster einen Raum aus 436 eindeutigen Positionen. Diese Art von Positions-Codierungsmustern kann als globales Positi ons-Codierungsmuster bezeichnet werden, und eine kleine Untergruppe dieses globalen Musters kann auf eine physikalische Seite, wie z.B. ein Papierblatt abgebildet (gedruckt) sein.
  • Wie es in der vorgenannten WO 01/48685 offenbart ist, kann dieses globale Muster logisch in unterschiedliche Segmente unterteilt sein. Die Segmente können wiederum in "Regale" unterteilt sein, welche wiederum in "Bücher" unterteilt sein können, welche jeweils eine Anzahl von Seiten enthalten. Der Ort einer speziellen logischen Seite in dem abstrakten Muster kann daher beispielsweise als: Segment.Regal.Buch.Seite 231.842.334.226 in angenähert derselben Weise wie eine IP-Adresse bezeichnet werden. Analog kann dieser Seitenbezug als eine "Seitenadresse" bezeichnet werden. Eine bestimmte lokale Position auf dieser logischen Seite kann als 231.841.334.226: x = 53421, y = 63254 bezeichnet werden.
  • 2 veranschaulicht weiter dieses Konzept der Unterteilung des abstrakten Positionsraums in logische Seiten. Gemäß Darstellung können unterschiedliche Segmente 20 Regale 21, Bücher 22 und Seiten 23 unterschiedlicher Größe enthalten. Obwohl es in 2 nicht dargestellt ist, können unterschiedliche Regale innerhalb eines Segmentes Bücher und Seiten unterschiedlicher Größer enthalten und unterschiedliche Bücher innerhalb eines Regals können Seiten unterschiedlicher Größe enthalten.
  • Es ist auch wichtig anzumerken, dass die Größe einer logischen Seite nicht gleich der Größe einer physikalischen Seite sein muss. Somit ist es, obwohl eine logische Seite in ihrer Gesamtheit auf eine physikalische Seite abgebildet werden kann, auch vorstellbar, nur eine oder eine Vielzahl von Teilen einer logischen Seite auf eine physikalische Seite abzubilden. Es ist auch vorstellbar, Teile von unterschiedlichen Seiten beispielsweise innerhalb eines Buches auf eine physikalische Seite abzubilden.
  • Besonderheiten bezüglich der Unterteilung des globalen Musters werden in dem Massenspeicher 5 der Benutzervorrichtung 1 gespeichert. Somit ist nach einer Berechnung einer globalen Position aus einer digitalen Darstellung (z.B. einem elektronischen Bild) des Positions-Codierungsmusters die Benutzervorrichtung 1 in der Lage, die globale Position auf eine Seitenadresse und eine lokale Position zu übertragen. Die Kombinati on der Seitenadresse und lokalen Position kann in dem Massenspeicher 5 gespeichert werden, wie es nachstehend detaillierter beschrieben wird.
  • Es sollte auch erwähnt werden, dass ein und derselbe Untersatz des globalen Musters zu mehr als einer logischen Seite in dem Speicher führen kann. Insbesondere kann die Benutzervorrichtung so eingerichtet sein, dass sie jedes Mal in ihrem Speicher eine neue logische Seite erzeugt, wenn sie einen Initialisierungsindikator detektiert. Ein derartiger Initialisierungsindikator kann durch die Benutzervorrichtung, die eine oder ein Vielzahl von lokalen Positionen, die für eine derartige Initialisierung gedacht sind, beispielsweise aus einem Initialisierungsfeld auf der physikalischen Seite aufzeichnet, oder durch die Benutzervorrichtung, die eine spezielle gedrückte Taste oder einen ausgegebenen speziellen Sprachbefehl usw. aufzeichnet, erzeugt werden. Jeder derartigen neuen logischen Seite kann eine eindeutige Seitenadresse gegeben werden, indem die ursprüngliche Seitenadresse erweitert wird, die die Vorrichtung aus aufgezeichneten globalen Positionen errechnet. Alternativ kann jeder logischen Seite die ursprüngliche Seitenadresse gegeben werden und beispielsweise durch ein Flag oder einen Zähler unterschieden werden, der in dem Speicher in Zuordnung zu der Speicheradresse gesetzt wird.
  • Ein Stiftstrich kann in dem Speicher der Vorrichtung als eine Serie lokaler Positionen gespeichert werden, wovon jede als ein Koordinatenpaar gegeben ist, welche die Bewegung der Vorrichtung quer zu der Basis beschreibt, die mit dem Positions-Codierungsmuster versehen ist. Der Stiftstrich kann die Seitenadresse enthalten, die anzeigt, von welcher logischen Seite der Stiftstrich aufgezeichnet worden ist und eine Zeit, die anzeigt, wann der Stiftstrich aufgezeichnet wurde.
  • 8A stellt schematisch ein Verfahren zur Ermittlung dar, welche logische Seiten (und deren zugeordneten Stiftstriche) aus dem Speicher zu löschen sind, um so Speicher in der Benutzervorrichtung freizugeben. Ein erster Hauptschritt 80 beinhaltet die Ermittlung einer Zeit für den zuletzt aufgezeichneten (den jüngsten) Stiftstrich auf jeder logischen Seite. In einem zweiten Hauptschritt 81 werden diejenigen logischen Seiten ausgewählt, welche den ältesten zuletzt aufgezeichneten Stiftstrich enthalten. In einem abschließenden dritten Hauptschritt 82 werden alle Stiftstriche, die wenigstens einigen von den ausgewählten logischen Seiten zugeordnet sind, aus dem Speicher gelöscht.
  • Gemäß einer Ausführungsform wird die Ermittlung, welche logische Seiten zu löschen sind, in ihrer Gesamtheit zu dem Zeitpunkt ausgeführt, an dem es erforderlich ist, Speicherraum freizugeben.
  • Nachstehend wird das Verfahren in Umrissen und danach in der Form eines Beispiels beschrieben, in welchem elf Stiftstriche auf vier unterschiedlichen logischen Seiten aufgezeichnet wurden. Das Verfahren gemäß diesem Beispiel kann trivial erscheinen, wobei jedoch zu bedenken ist, dass das Verfahren tatsächlich für die Verwaltung von Tausenden von Seiten und Stiftstrichen oder mehr gedacht ist und geeignet sein kann.
  • Für die Identifikation des zuletzt eingegebenen Stiftstriches auf der entsprechenden logischen Seite können alle in dem Speicher gespeicherten Stiftstriche durchsucht werden, wobei die Seitenadresse und der Zeitpunkt der Aufzeichnung für jeden der Stiftstriche extrahiert werden. Danach werden Einträge mit einer Zeit für jede Seitenadresse in einer ersten sortierbaren Datenstruktur in dem Speicher gespeichert, welche nachstehend als die Seitenadressentabelle bezeichnet wird, da der Suchschlüssel der Datenstruktur die Seitenadresse ist. Die Einträge werden in der Seitenadressentabelle in einer solchen Weise gespeichert, dass eine Liste von in dem Speicher auftretenden Seitenadressen und des jeder Speicheradresse zugeordneten letzten (jüngsten) Zeitpunktes erhalten wird.
  • Optional können die Einträge in der Seitenadressentabelle zusätzliche Parameter, wie z.B. ein Maß für den Speicherraum der enthalten, der durch die der zu löschenden logischen Seite zugeordneten Stiftstriche freigegeben werden kann. Die Größe der Tabelle (Anzahl der Einträge = A) kann auf der Basis einer geschätzten Anzahl von Seitenadressen in dem Speicher der Vorrichtung, dem verfügbaren Speicher und der Verarbeitungsgeschwindigkeit der Vorrichtung gewählt werden.
  • In einer Vorrichtung, die Stiftstriche von einer sehr großen Anzahl logischer Seiten enthält, kann jedoch die Datenstruktur, in welcher Seitenadressen und Zeitpunkte gespeichert werden, sehr groß werden.
  • Um die Größe dieser Datenstrukturen klein zu halten, wird eine zweite sortierbare Datenstruktur initiiert, welche nachstehend als Zeittabelle bezeichnet wird, da der Suchschlüssel der Datenstruktur die Zeit ist. Diese zweite Datenstruktur weist ebenfalls Einträge mit Seitenadressen und Zeitpunkten des zuletzt aufgezeichneten Stiftstriches für die entsprechende Seitenadresse auf. Während die erste Datenstruktur unter nach Seitenadressen sortiert wird, wird die zweite Datenstruktur nach Aufnahmezeit sortiert. In diesem Beispiel wird angenommen, dass die Zeittabelle B Einträge enthält. Die Größe B wird auf der Basis von Faktoren, wie z.B. der Anzahl logischer Seiten, die unter Normalbedingungen entfernt werden müssen, um den erforderlichen Bedarf an Speicherraum freizugeben, und der Verarbeitungsgeschwindigkeit der Vorrichtung gewählt.
  • Gemäß einer Ausführungsform können sowohl die Seitenadressentabelle als auch die Zeittabelle so genannte Max-Binärbäume sein. Der Vorteil dieser besteht darin, dass sie relativ wenig Speicherraum benötigen, und dass Operationen wie z.B. Addition und Extraktion von Datenwerten sehr schnell ausgeführt werden können, selbst wenn der Binärbaum sehr groß ist. Eine detailliertere Beschreibung von Binärbäumen ist in den Kapiteln 6 und 7 von Kingston, Kingston, J. H.: "Algorithms & Data Structures: Design, Correctnes, Analysis", Addison-Wesley Publishing Co., 1995 zu finden.
  • Um zu ermitteln, welche Seitenadressen gesucht werden sollen, kann ein Gesamtsuchbereich so gewählt werden, dass er diejenigen Adressen enthält, welche in dem Vorrichtungsmassenspeicher zu suchen sind und deren maximalen Aufzeichnungszeiten zu identifizieren sind. Am Beginn des Verfahrens kann der Gesamtsuchbereich entweder als die Gesamtanzahl der verfügbaren Seitenadressen gemäß der Unterteilung des globalen Musters in logische Seiten, oder auf der Basis des gesamten Seitenadressenbereiches gewählt werden, der in dem Vorrichtungsmassenspeicher gespeichert ist. Bei der letzteren Alternative kann Information bezüglich der größten und kleinsten Seitenadresse, die in dem Vorrichtungsspeicherbereich gespeichert ist, verwendet werden. Derartige Information kann relativ einfach in der Vorrichtung verfügbar gehalten werden.
  • Die Suche kann an dem unteren Grenzwert des Gesamtsuchbereiches begonnen werden, wobei die Suche in dem Speicher für Seitenadressen ausgeführt wird, die zu einem ersten Unterbereich des Gesamtsuchbereiches gehören, und die erste Datenstruktur schrittweise aufgefüllt wird, sobald neue Seitenadressen in dem Bereich aufgefunden werden. Wenn die erste Datenstruktur voll wird, können die aufgefundenen Seitenadressen, die bereits in der Tabelle gespeichert sind, bezüglich der Zeit aktualisiert werden. Weitere aufgefundene Seitenadressen werden mit der größten Seitenadresse der Datenstruktur verglichen und ersetzen diese, wenn die aufgefundene Seitenadresse kleiner als die letzte Seitenadresse ist. Die Seitenadressen, die größer als die größte Seitenadresse sind, werden dadurch während einer anschließenden Wiederholung gesucht. Wenn die erste Datenstruktur A Einträge enthält, führt die Suche des ersten Unterbereiches somit zu den niedrigsten Seitenadressen des Bereichs A, die in dem Vorrichtungsspeicher auftreten.
  • Wenn der gesamte erste Suchbereich durchsucht worden ist, werden die Einträge in die zweite Datenstruktur kopiert, welche hinsichtlich der Zeit sortiert wird. Wenn die zweite Datenstruktur eine kleinere Anzahl von Einträgen als die erste Datenstruktur enthält, werden die Einträge, die die ältesten Seiten enthalten, übertragen.
  • Wenn die erste Datenstruktur durchsucht worden ist, und die Einträge darin an die zweite Datenstruktur übertragen worden sind, wird die erste Datenstruktur gelöscht.
  • Danach wird ein zweiter Unterbereich der Seitenadressen erzeugt, dessen untere Seitenadresse zu dem oberen Grenzwert des ersten Unterbereichs benachbart ist und dessen oberer Grenzwert mit dem oberen Grenzwert des Gesamtsuchbereiches übereinstimmen kann.
  • Eine weitere Suche wird dann in dem Vorrichtungsspeicher nach den Seitenadressen ausgeführt, die sich in dem zweiten Unterbereich befinden, wodurch die erste Datenstruktur die nächsten A Seitenadressen enthält.
  • Nach der Suche der Seitenadressen des zweiten Unterbereiches wird die Übertragung von Seiten an die zweite Datenstruktur wiederholt, so dass diese die Einträge enthält, die den logischen Seiten entsprechen, die die B ältesten Aufzeichnungszeiten von dem 2A kleinsten Seitenadressen aufweisen.
  • Danach wird das Verfahren mit dem Löschen der ersten Datenstruktur, dem Erzeugen eines neuen Unterbereichs, der Suche nach Seitenadressen in dem Speicher und dem Übertragen der Einträge in die zweite Datenstruktur fortgesetzt, bis alle oder eine ausreichende Anzahl von Seitenadressen, die in dem Vorrichtungsspeicher auftreten, durchsucht wurden und die Zeittabelle die B letzten maximalen Seiten enthält, d.h., die B logischen Seiten, welche die ältesten letzten Aufzeichnungszeiten haben.
  • Wenn ein Binärbaum als die zweite Datenstruktur verwendet wird, müssen die Aufzeichnungszeiten nicht notwendigerweise alle korrekt in Bezug zueinander sortiert sein. Trotzdem ist der Eintrag in der zweiten Datenstruktur, der die maximale (d.h., die jüngste) Aufzeichnungszeit hat, immer erzielbar.
  • Um eine Liste einer Anzahl logischer Seiten zu erzeugen, die aus dem Vorrichtungsmassenspeicher gelöscht werden soll, ist es möglich, eine dritte Datenstruktur zu initiieren, die eine Ergebnistabelle mit C Einträgen darstellt, wobei diese Tabelle gefüllt wird, indem B–C Maximalwerte aus der Zeittabelle extrahiert und verworfen werden, und indem die restlichen C Maximalwerte aus der zweiten Datenstruktur extrahiert und gespeichert werden. Die Ergebnistabelle wird bevorzugt in einer solchen Weise angeordnet, dass ihr Extremwert aus der Speicheradresse mit dem ältesten zuletzt aufgezeichneten Stiftstrich besteht. Sie kann zusätzlich vorteilhaft vollständig sortiert werden, so dass eine Prioritätsliste der logischen Seiten erhalten wird, die zu entfernen sind.
  • Die zweiten und dritten Datenstrukturen können, müssen jedoch nicht dieselbe Größe haben. Die dritte Datenstruktur ist so eingerichtet, dass sie die Seitenadressen enthält, die die ältesten zuletzt aufgezeichneten Stiftstriche haben.
  • Als eine Alternative kann eine sortierte Liste für die zweite Datenstruktur verwendet werden, wobei diese Liste leicht sortiert werden kann und dadurch die logischen Seiten anzeigt, die zu löschen sind. Demzufolge muss keine Ergebnistabelle in der Form einer dritten Datenstruktur verwendet werden.
  • WO 01/75781 beschreibt, wie unterschiedliche logische Seiten logisch einander in dem Massenspeicher der Benutzervorrichtung zugeordnet sein können. Eine derartige logische Zuordnung kann immer erzeugt werden, wenn sich ein Stiftstrich über zwei oder mehr logische Seiten erstreckt. Eine Handhabungsmöglichkeit dafür in Verbindung mit der Freigabe des Speichers besteht in der Verarbeitung zugeordneter logischer Seiten als eine Einheit, d.h., wenn eine logische Seite, mit welcher andere logische Seiten verknüpft sind, gelöscht wird, werden die zugeordneten logischen Seiten ebenfalls aus dem Vorrichtungsspeicher gelöscht.
  • Um das erfindungsgemäße Verfahren für die Speicherverwaltung weiter darzustellen, veranschaulichen die 47 die Verarbeitung einer Anzahl von Stiftstrichen a–k, die zu den Zeitpunkten ta–tk auf vier unterschiedlichen physikalischen Seiten 4144 aufgezeichnet worden sind. Jede von diesen physikalischen Seiten 4144 ist mit einer eindeutigen Untergruppe des globalen Positions-Codierungsmusters versehen. Somit hat jede physikalische Seite 4144 eine entsprechende logische Seite, welche durch eine Seitenadresse PA1–PA4 (PA = Seitendresse) identifiziert wird, die aus den durch die entsprechende Untergruppe codierten globalen Positionen abgeleitet werden kann. Für die Zeitpunkte ta–tk liegt der Fall vor, dass ta < tb < tc < td < te < tf < tg < th < ti < tj < tk ist, d.h., a der erste aufgezeichnete Stiftstrich ist und k der letzte aufgezeichnete Stiftstrich ist.
  • In 4 wurden a, b und h auf einer ersten Seite 41 zu den Zeitpunkten ta, tb und th aufgezeichnet. Auf einer zweiten Seite 42 wurden die Stiftstriche c, d und k zu den Zeitpunkten tc, td und tk aufgezeichnet. Auf einer dritten Seite 43 wurden die Stiftstriche e, f und j zu den Zeitpunkten te, tf und tj aufgezeichnet, und auf einer vierten Seite 44 wurden die Stiftstriche g und i zu den Zeitpunkten tg bzw. ti aufgezeichnet.
  • 5 stellt ein Gantt-Diagramm mit Seitenadressen (PA1–PA4) auf der y-Achse und Aufzeichnungszeitpunkte ta–tk auf der x-Achse dar.
  • 6 zeigt eine schematische Darstellung, wie die Stiftstriche a–k in einem Speicher in der Vorrichtung gespeichert werden können. In der Darstellung in 6 sind alle Stiftstriche in einer Sequenz gespeichert, wobei jedoch die Erfindung auch auf Stiftstriche anwendbar ist, die nicht in einer Sequenz gespeichert sind, sondern beliebig in dem Speicher der Vorrichtung verteilt sind.
  • 7 stellt den Suchbereich von PAmin bis PAmax dar. PAmin kann 0 oder die kleinste Seitenadresse sein, die in dem Massenspeicher der Vorrichtung gespeichert ist, während PAmax die maximal mögliche Seitenadresse gemäß dem Positions- Codierungsmuster oder die in dem Vorrichtungsspeicher gespeicherte größte Seitenadresse sein kann. Die Seitenadressen PA1, PA2, PA3 und PA4 der vier logischen Seiten sind in dem Suchbereich zu finden.
  • Nachstehend wird das Verfahren gemäß einer Ausführungsform der Erfindung unter Bezugnahme auf das Flussdiagramm von 8B beschrieben, welches die Hauptschritte 8082 von 8A detaillierter darstellt.
  • In einem (nicht dargestellten) ersten Schritt wird eine erste Seitenadressentabelle 61 initiiert. Zur Veranschaulichung des Prinzips wird A = 3 als die Tabellengröße gewählt, d.h., die Tabelle enthält drei Seitenadressen. Zusätzlich wird eine Zeittabelle 62 initiiert. Die Größe B der Zeittabelle wird ebenfalls auf 3 gesetzt, wobei jedoch zu erkennen ist, dass andere Werte ebenfalls für die Tabellen möglich sind. Ein praktischer Wert sowohl für A als auch B kann 100 sein, obwohl A und B nicht dieselbe Größe haben müssen. Ein erster Suchbereich wird im Schritt 70 erzeugt und wird auf PAmin–PAmax eingestellt. Danach wird im Schritt 70' eine Suche in dem Massenspeicher 5 nach Speicheradressen ausgeführt, die zu dem ersten Suchbereich gehören. Wenn eine Seite innerhalb des ersten Suchbereiches für den ersten Zeitpunkt in dem Speicherbereich 5 aufgefunden wird, wird sie im Schritt 71 als ein Eintrag in der Seitenadressentabelle 61 gespeichert. Wenn die Speicheradresse zu einem früheren Zeitpunkt aufgefunden wurde und somit in einem bereits bestehenden Eintrag enthalten ist, der in der Seitenadressentabelle 61 gespeichert ist, kann stattdessen die Aufzeichnungszeit des Eintrags in der Speicheradressentabelle im Schritt 72 aktualisiert werden, so dass die Speicheradressentabelle 61 den letzten Aufzeichnungszeitpunkt für die entsprechende Speicheradresse enthält. Wenn die Größe der Speicheradressentabelle begrenzt ist und die Speicheradressentabelle voll ist, kann die größte Speicheradresse in der Tabelle durch eine aufgefundene Speicheradresse ersetzt werden, wenn die aufgefundene Speicheradresse kleiner als die größte Speicheradresse in der Tabelle ist, so dass die Speicheradressentabelle die A-kleinsten Speicheradressen enthält.
  • Nach einer ersten Suche kann die Seitenadressentabelle aussehen, wie es in Tabelle 1 dargestellt ist.
  • Tabelle 1: Seitenadressentabelle nach erster Suche
    Figure 00170001
  • Im Schritt 74 wird die Zeittabelle 62 mit Werten aus der Seitenadressentabelle ausgefüllt, so dass die Zeittabelle 62 Einträge enthält, die aus der Seitenadressentabelle kopiert wurden, und die bezüglich der Aufnahmezeit sortiert sind. Die sich ergebende Zeittabelle in diesem Beispiel ist in Tabelle 2 dargestellt.
  • Tabelle 2: Zeittabelle nach erster Suche
    Figure 00170002
  • Da A = 3 ist, ist die Größe des ersten Suchbereichs gleich PAmin–PA3. Anschließend wird im Schritt 75 eine Prüfung ausgeführt, ob alle Seitenadressen gesucht worden sind. Wenn dies nicht der Fall ist, wird im Schritt 70 ein zweiter Suchbereich als I2 = (PA3 + 1) – PAmax erzeugt.
  • Danach wird eine zweite Suche ausgeführt, wobei eine zweite Seitenadressentabelle initiiert wird. Als eine Alternative kann die erste Seitenadressentabelle gelöscht werden und dadurch die zweite Adressentabelle erzeugt werden.
  • Nach der zweiten Suche sieht die zweite Seitenadressentabelle wie in Tabelle 3 dargestellt aus.
  • Tabelle 3: Seitenadressentabelle nach zweiter Suche
    Figure 00170003
  • Nun sind alle Seitenadressen aufgefunden und demzufolge muss kein neuer Suchbereich erzeugt werden. Wenn jedoch zusätzliche Seitenadressen in dem Speicher vorhanden waren, müssten Einträge aus der Seitenadressentabelle in die Zeittabelle übertragen werden, worauf die Seitenadressentabellen gelöscht würden, ein neuer Suchbereich erzeugt oder eine neue Suche ausgeführt würde.
  • Da die Zeittabelle nicht gelöscht wird, wird die letzte Aufzeichnungszeit t; für die vierte Seite PA4 mit der letzten Aufzeichnungszeit in der Zeittabelle tk verglichen, wobei festgestellt wird, dass ti < tk ist, und somit, dass G ein Ersatz für tk ist, so dass die Zeittabelle aussieht, wie es in Tabelle 4 dargestellt ist.
  • Tabelle 4: Momentanes Bild der Zeittabelle nachdem ti durch tk ersetzt wurde
    Figure 00180001
  • Die Zeittabelle wird anschließend sortiert, was die Tabelle 5 ergibt.
  • Tabelle 5: Die Zeittabelle nachdem ti tk ersetzt hat und die Tabelle sortiert worden ist.
    Figure 00180002
  • Tabelle 5 zeigt nun drei logische Seiten an, welche die ältesten letzten Aufzeichnungsseiten haben, wobei aber, da die Zeittabelle in dem Beispiel ein Max-Binärbaum ist, die Zeiten in der falschen Reihenfolge vorliegen. Dieses kann durch die Initiierung einer dritten Datenstruktur 63, welche nachstehend als Ergebnistabelle bezeichnet wird, behoben werden. Diese Tabelle besitzt eine Größe C, die auf 3 festgelegt wurde. Im Schritt 77 wird die Ergebnistabelle sukzessiv von unten mit dem Maximalwert aus der Zeittabelle aufgefüllt, der wiederholt im Schritt 76 extrahiert wird, was zu einer Tabelle 6 führt.
  • Tabelle 6: Ergebnistabelle
    Figure 00190001
  • Die Tabelle 6 spezifiziert nun genau, in welcher Reihenfolge die logischen Seiten aus dem Vorrichtungsmassenspeicher 5 im Schritt 78 zu löschen sind. In Verbindung mit der Löschung (d.h., vor oder danach) im Schritt 78 kann eine Prüfung im Schritt 79 ausgeführt werden, dass der durch die Prozedur freigegebene Speicher gemäß den Kriterien ausreicht, die dafür bestimmt wurden, wie viel Speicher freizugeben ist. Wenn unzureichender Speicher freigegeben wird, kann die Speicherverwaltungsprozedur auf den Schritt 70 zurückgebracht werden.
  • Wenn Instanzen-Flags oder Zahlen verwendet werden, um unterschiedliche Versionen oder Instanzen von ein und derselben Seitenadresse zu unterscheiden, wird die vorstehende Prozedur modifiziert, um die Kombination von Seitenadressen und Instanzen-Flags als eine "effektive Seitenadresse" in den vorstehend beschriebenen Datenstrukturen zu behandeln. Somit kann jede Instanz unabhängig aus dem Massenspeicher auf der Basis der letzten Aufzeichnungszeit in Verbindung mit der speziellen Instanz gelöscht werden.
  • Geeignete Datenstrukturen zum Implementieren der Erfindung sollten von einem derartigen Typ sein, dass sie wenigstens die Funktionen "Einfügen", "Suchen" und "Entfernen/Extrahieren" haben. Beispiele von Datenstrukturen, die verwendet werden können, sind Symboltabellen, wie z.B. sortierte Listen, Suchbäume (binäre Bäume, B-Bäume, Verzweigungsbäume), Stapel oder Hash-Tabellen. Prioritätswartelisten, wie z.B. Haufen-geordnete Bäume oder Binär-Bäume können ebenfalls verwendet werden. Eine Vielzahl derartiger Datenstrukturen ist in den vorgenannten Kapiteln 6 und 7 von Kingston, J. H.: "Algorithms & Data Structures: Design, Correctnes, Analysis", Addison-Wesley Publishing Co., 1995 beschrieben.
  • Wenn stattdessen eine gewöhnliche vollständig sortierte Tabelle verwendet wird, kann diese einfach neu angeordnet werden, so dass die erforderliche Sequenz erzielt wird. Es kann auch vorteilhaft sein, eine oder ein Vielzahl von Symboltabellen in einer kaskadierten Weise miteinander zu verbinden.
  • Als eine weitere Alternative zu den vorstehend erwähnten Datenstrukturen ist es möglich, einen unsortierten Vektor zu verwenden, in welchem eine lineare Suche ausgeführt wird.
  • 9 stellt schematisch eine Datenverarbeitungseinheit 7 dar, welche das vorstehend beschriebene Verfahren implementieren kann. Die Datenverarbeitungseinheit kann einen üblichen programmierbaren Prozessor oder Signalprozessor enthalten, der mit geeigneter Software zur Implementation des Verfahrens ausgestattet ist, oder eine Schaltung, die speziell für diesen Zweck angepasst ist, wie z.B. ein ASIC (Application-Specific Integrated Circuit) oder ein FPGA (Field Programmable Gate Array) oder dergleichen. Zusätzlich kann die Datenverarbeitungseinheit einen Massenspeicher 5 aufweisen, in weichem beispielsweise Stiftstriche 30 gespeichert werden können, und einen Arbeitsspeicher (RAM) 4, in welchem u.a. Datenstrukturen 6163 initiiert werden können.
  • Zusätzlich kann die Vorrichtung Einrichtungen 50 zum Identifizieren einer Vielzahl von in dem Speicher gespeicherter Seitenadressen und zum identifizieren der Zeit des zuletzt aufgezeichneten Stiftstriches in Verbindung mit der entsprechenden Speicheradresse, Einrichtungen 51 zum Auswählen einer Seitenadresse von den identifizierten Seitenadressen, wobei die Seitenadresse einen zuletzt aufgezeichneten Stiftstrich enthält, der am weitesten zurückliegend in der Zeit aufgezeichnet wurde, und eine Einrichtung 52, um alle Striche in Verbindung mit der ausgewählten Seitenadresse aus dem Massenspeicher 5 zu speichern, enthalten.
  • Zusätzlich kann die Einrichtung 50 zum Identifizieren einer Vielzahl von Seitenadressen eine Einrichtung 53 aufweisen, um in dem Speicher nach einer Vielzahl von Seitenadressen in Verbindung mit Stiftstrichen zu suchen, eine Einrichtung 54, um in einer ersten Datenstruktur eine Seitenadresse und zugeordnete Zeit zu speichern, die in dem Speicher aufgefunden wurde, und eine Einrichtung 55 zum Aktualisieren der Zeit, wenn eine in der ersten Datenstruktur 61 gespeicherte Seitenadresse in dem Speicher aufgefunden wird, so dass die allerletzte Zeit für die Seitenadresse in der ersten Datenstruktur 61 gespeichert wird. Die Einrichtung 51 zum Auswählen einer Seite kann zusätzlich eine Einrichtung 57 zum initiieren einer zweiten Datenstruktur 62, welche zum Aufnehmen und Anordnen von Seitenadressen und Zeiten aus der ersten Datenstruktur 61 auf der Basis der Zeit, bei welcher der zuletzt aufgezeichnete Stiftstrich für die entsprechende Seitenadressen aufgezeichnet wurde, gedacht ist, und eine Einrichtung 56 aufweisen, um in der zweiten Datenstruktur 62 die Seitenadresse zu identifizieren, die die Zeit hat, die zeitlich am weitesten zurückliegt.
  • Die zweite Datenstruktur 62 kann eine vorbestimmte Anzahl von Einträgen enthalten, welche in einer solchen Weise sortiert sind, dass wenigstens ein Extremwert, d.h., ein größter (maximaler) oder kleinster (minimalem Wert erhalten wird, welcher der Seitenadresse entspricht, die dem zuletzt aufgezeichneten Stiftstrich entspricht.
  • Die Einrichtung 56 zum Identifizieren kann eine Einrichtung 58 für die Initiierung einer dritten Datenstruktur 63, welche dieselbe Anzahl von Seitenadressen wie die zweite Datenstruktur 62 enthalten kann, aber nicht enthalten muss, eine Einrichtung 59 zum Extrahieren des Extremwertes aus der zweiten Datenstruktur 62 und eine Einrichtung zum Extrahieren und Verwerfen von B–C Maximalwerten aus der zweiten Datenstruktur 62 und zum wiederholten Extrahieren und Füllen der dritten Datenstruktur 63 von unten aus oder rückwärts mit den C restlichen Extremwerten der zweiten Datenstruktur 62 aufweisen. Das beschriebene Verfahren kann beispielsweise in einer Situation angewendet werden, in welcher der Vorrichtungsmassenspeicher 5 begrenzt ist, und in welchem es keine obere Begrenzung dafür gibt, wie viele Seiten sich in dem Vorrichtungsspeicher befinden können. Das Verfahren kann beispielsweise immer dann ausgeführt werden, wenn der Vorrichtungsmassenspeicher 5 einen vorbestimmten Füllgrad erreicht.
  • Das Verfahren kann so implementiert werden, dass es parallel zu der Speicherung neu aufgezeichneter Koordinaten arbeitet, wenn die Vorrichtung mit ausreichend Arbeitsspeicher Massenspeicher ausgestattet ist, um Datenstrukturen der Größe aufnehmen zu können, die erforderlich ist, um eine sehr große Anzahl von Seitenadressen durchzuscannen. In einer derartigen Implementation können Seitenadressentabellen und Zeittabellen in Echtzeit aktualisiert gehalten werden, sobald neue Stiftstriche aufgezeichnet werden und Seiten können aus dem Speicher gelöscht werden, sobald dieser aufgefüllt ist.
  • Als Alternative ist es möglich, wenn das Verfahren in Echtzeit ausgeführt wird, die Anzahl von Seitenadressen zu begrenzen, die in dem Vorrichtungsspeicher zulässig sind, um dadurch die Größen der Seitenadressentabelle und der Zeittabelle niedrig zu halten.
  • 3 stellt dar, dass Stiftstriche als Sequenzen von Datenbits in dem Massenspeicher 5 einer Benutzervorrichtung 1, insbesondere in einem Massenspeicher des Flash-Speichertyps gespeichert werden können. 3 stellt den Massenspeicher 5 als eine Serie von Speicherstellen (Kästchen in 3) dar. Die Speicherstellen können eine variable Länge aufweisen, so dass sie unterschiedliche Anzahlen von Datenbits aufweisen. In dem Beispiel von 3 werden die Stiftstriche sequentiell gespeichert, d.h., ein aktueller Stiftstrich 30 wird nach einem vorhergehenden Stiftstrich 30' und vor einem nachfolgenden Stiftstrich 30'' gespeichert.
  • Der gespeicherte Stiftstrich 30, 30', 30'' kann eine variable Länge 30a aufweisen und besteht aus zwei Teilen: Einem Teil fester Länge 30b mit Daten, die den gesamten Stiftstrich betreffen, und einem Teil variabler Länge 30c, der u.a. Koordinatenpaare xy enthält, die in dem Stiftstrich enthalten sind. Der zweite Teil kann auch zusätzliche Information bezüglich des entsprechenden Koordinatenpaares gemäß nachstehender Beschreibung enthalten.
  • Der erste Teil 30b kann einen "Strichvorspann" SH aufweisen, der meldet, dass ein neuer Stiftstrich in dem Massenspeicher folgt, und einen "Offset" OS, der die Anzahl von Bits meldet, die man zwischen dem Beginn dieses Stiftstriches und dem Beginn des nächsten Stiftstriches 30'' findet. Zusätzlich kann der erste Teil eine Zeit ST haben, die meldet, wann der Stiftstrich aufgezeichnet worden ist, beispielsweise die Startzeit oder Endzeit der Aufzeichnung des Stiftstriches. Zusätzlich kann der erste Teil 30b eine Seitenadresse PA aufweisen, der meldet, auf welcher logischen Seite der Stiftstrich 30 aufgezeichnet wurde oder mit dessen Aufzeichnung begonnen wurde. Jeder elektronisch gespeicherte Stiftstrich ist somit einer logischen Seite über die Seitenadresse PA zugeordnet. Die Seitenadresse PA kann eine Vielzahl von Feldern aufweisen, welche beispielsweise eine Beziehung der logischen Seite mit der imaginären Oberfläche darstellen, wie z.B. einen Typ, ein Instanzen-Flag (falls vorhanden), usw. Die Gesamtanzahl von Seitenadressen kann als ein Kontinuum von Seitenadressen gesehen werden und dadurch mit Zahlen auf einer Zahlenskala verglichen werden. Somit kann man auf der Basis der Beziehungen zwischen den Seitenadressen sagen, dass eine erste Seitenadresse größer als eine zweite Seitenadresse ist, wenn die erste Seitenadresse rechts von der zweiten Seitenadresse auf der Zahlenskala liegt.
  • Der zweite Teil 30c des Stiftstriches 30 enthält die gesamte Serie von Koordinatenpaaren, die in dem Stiftstrich enthalten sind. Die Serie von Koordinatenpaaren ist in der zeitlichen Reihenfolge gespeichert, in welcher die Koordinatenpaare aufgezeichnet wurden. Somit ist es mit der Kenntnis der Abtastrate der Benutzervorrichtung und der Startzeit des Stiftstriches möglich, zu ermitteln, wann jedes Koordinatenpaar aufgezeichnet wurde. Gemäß einer Ausführungsform kann ein "Koordinatenvorspann" CH für jedes aufgezeichnete Koordinatenpaar gespeichert werden, wobei der Koordinatenvorspann ein Format beschreiben kann, in welchem zugeordnete Koordinatenpaare gespeichert sind, d.h., ob die Koordinaten komprimiert sind, ob sie Koordinatenzahlen CN für jedes Koordinatenpaar enthalten und ob sie Kraftkomponenten oder Winkel anzeigen für die Orientierung der Benutzervorrichtung während der Aufzeichnung umfassen.
  • Ein Stiftstrich 30 kann auch ein "End of Stroke" (EOS) umfassen, der das Ende des Stiftstriches anzeigt. Dieser EOS kann mit einer Anzeige versehen werden, dass der Stiftstrich über eine Vielzahl von logischen Seiten verläuft, d.h., dass der Stiftstrich eine Zuordnung zwischen den logischen Seiten erzeugt. Zusätzlich kann die zugeordnete Seitenadresse in dem EOS angezeigt werden. Es ist auch möglich, eine Anzeige in SH anzuordnen, dass der Stiftstrich in einer Zuordnung enthalten ist, und welche Seitenadresse in der Zuordnung enthalten ist.
  • Wenn die Aufzeichnung eines Stiftstriches beginnt, d.h., wenn die Benutzervorrichtung auf die Basis abgesenkt wird, wird zuerst ein Strichvorspann SH in den Massenspeicher geschrieben. Der SH kann zu Beginn auf einen Wert eingestellt sein, der anzeigt, dass der Stiftstrich unkorrekt ist. Wenn die Benutzervorrichtung dann von der Basis aus angehoben wird und der Stiftstrich abgeschlossen ist, kann der Strichvorspann SH auf einen Wert umgeschrieben werden, der anzeigt, dass der Stiftstrich normal ist. Zusätzlich kann der Offset OS aktualisiert werden, um die korrekte Länge des Stiftstriches anzuzeigen. Auf diese Weise können unterbrochene Stiftstriche in dem Massenspeicher als fehlerhaft aufgezeichnet werden, falls eine Unterbrechung während der Aufzeichnung eines Stiftstriches auftritt. Diese fehlerhaften Stiftstriche können beispielsweise wiederhergestellt werden, falls dies möglich ist, oder einfach gelöscht werden.
  • Im Allgemeinen kann, wenn ein Stiftstrich 30 aus dem Massenspeicher zu löschen ist, dieses ausgeführt werden, indem der Strichvorspann SH auf einen Wert geändert wird, der anzeigt, dass der Platz gelöscht ist. Auf diese Weise wird der Massenspeicherplatz, in welchem der Stiftstrich gespeichert war, wieder für das Schreiben von neuer Information frei.
  • Als eine Alternative für die vorstehend diskutierte Speicheranordnung kann der Massenspeicher auch als ein Dateisystem eingerichtet werden, wobei eine Datei für jede Speicheradresse initiiert wird. Jede derartige Datei kann die Stiftstriche sequenziell speichern, so dass neue Stiftstriche an die zugeordnete Datei angehängt werden, sobald sie aufgezeichnet werden. Ähnlich zu 3 können die Stiftstriche mit einem Vorspannteil (entsprechend zu 30b in 3) und einem Koordinatenteil (entsprechend zu 30c in 3) gespeichert werden, obwohl sich der Inhalt dieser Teile von 3 unterscheiden kann. In dem Falle, dass Instanzen-Flags verwendet werden, können diese zur Anzeige unterschiedlicher logischer Seiten in der Datei für die originale Seitenadresse einbezogen werden. Alternativ kann eine neue Datei für jede logische Seite initiiert werden, die als Folge der vorstehend erwähnten Initialisierungsanzeige erzeugt wird.
  • Die Freigabe von Speicherraum 5 kann initiiert werden, wenn ein bestimmter Anteil des Massenspeichers 5 voll ist. Wenn eine Freigabe des Speicherraums initiiert worden ist, kann sich dieses fortsetzen, bis ein bestimmter Umfang des Massenspeichers frei ist. Beispielsweise kann die Freigabe des Massenspeichers initiiert werden, wenn 3% des Massenspeicherraums frei sind und kann beendet werden, wenn 10% des Massenspeicherraums frei geworden sind. Nach der Freigabe des Massenspeichers kann es vorteilhaft sein, den Massenspeicher in einer dem Fachmann auf diesem Gebiet bekannten Weise zu defragmentieren.
  • Es ist ferner angebracht, wenn Hauptspeicher freigegeben wird, alle Adressen von Stiftstrichen zu blockieren, die gerade in dem Arbeitsspeicher verarbeitet werden, so dass der zuvor aufgezeichnete Inhalt auf den entsprechenden logischen Seiten nicht während der Freigabe des Massenspeichers verloren geht, während sich der Benutzer in dem Prozess einer Eingabe neuer Stiftstriche befindet.
  • Es sei auch angemerkt, dass Information zwischen dem Vorrichtungsmassenspeicher und Arbeitsspeicher so übertragen werden kann, dass Daten, wie z.B. Stiftstriche, Datenstrukturen und dergleichen zur Verarbeitung aus dem Speicher verfügbar sind, der für diesen Zweck am zweckdienlichsten ist. Somit können der Arbeitsspeicher und der Massenspeicher in Bezug darauf austauschbar sein, wo das Verfahren ausgeführt wird, und wo die Daten gespeichert werden.
  • Alternative Möglichkeiten zur Freigabe von Massenspeicher
  • Eine alternative Möglichkeit zur Auswahl, welche Seiten zu löschen sind, besteht darin, dieses dem Benutzer zu überlassen. Ein erstes Beispiel, wie dieses ausgeführt werden kann, besteht darin, dass jede physikalische Seite mit einem positionscodierten "Lösch"-Feld versehen wird, und alle Stiftstriche auf den entsprechenden logischen Seiten aus dem Vorrichtungsmassenspeicher gelöscht werden, wenn die Vorrichtung ein oder ein Vielzahl von Koordinatenpaare aus diesem Feld aufzeichnet.
  • Ein zweites Beispiel besteht darin, dass mittels eines geeigneten Verfahrens, beispielsweise gemäß dem vorstehend beschriebenen Verfahren, die Vorrichtung eine Anzahl von Seiten auswählt, die gelöscht werden können, um diese dem Benutzer über eine geeignete Schnittstelle (z.B. eine Anzeigeeinrichtung auf der Vorrichtung oder auf einem zugeordneten PDA, Mobiltelefon, Computer usw.) vorzuschlagen, wobei dem Benutzer die Gelegenheit gegeben wird, zu bestätigen, welche Seiten aus dem Massenspeicher zu löschen sind.
  • Ein drittes Beispiel besteht darin, dass der Benutzer einen "Lösch"-Befehl schreibt oder in anderer Weise eingibt, und in Verbindung damit in einer geeigneten Weise eine logische Seite anzeigt, die zu löschen ist, beispielsweise indem ein Koordinatenpaar von der entsprechenden physikalischen Seite aufgezeichnet wird.
  • Eine andere Möglichkeit zur Auswahl von Seiten, die aus dem Massenspeicher gelöscht werden können, besteht in der Spezifikation eines Datums oder einer Zeitperiode, welche definiert, wann die entsprechende logische Seite zu löschen ist. Dieses kann bei spielsweise durch eine "Lösch"-Tabelle ausgeführt werden, die in der Vorrichtung erzeugt wird, in welcher logische Daten mit einem "Ablaufdatum" gelistet sind. Dieses kann insbesondere für die Aufzeichnung von Stiftstrichen sein, die beispielsweise von physikalischen Seiten stammen, die zeitlich beschränkten Angeboten, wie z.B. Werbungen, usw. zugeordnet sind. Falls es erforderlich ist, kann dieses auch mit einem geeigneten Alarmierungsmechanismus kombiniert werden.
  • Eine Alternative dazu besteht in dem Löschen aller logischen Seiten, die einen Stiftstrich (beispielsweise den ältesten oder jüngsten) mit einer Lebensdauer aufweisen, die einen voreingestellten Existenz-Zeitgrenzwert überschreitet.
  • Eine weitere Alternative besteht darin, dass sobald alle einer logischen Seite zugeordneten Stiftstriche an eine externe Einheit, wie z.B. einen Computer, einen PDA, einen Server usw. gesendet wurden, die Seiten aus dem Massenspeicher der Vorrichtung gelöscht werden.
  • Es ist auch innerhalb des Schutzumfangs der vorliegenden Erfindung möglich, die vorstehend beschriebenen Verfahren zu kombinieren. Beispielsweise können logische Seiten in einer solchen Weise klassifiziert werden, dass ihnen unterschiedliche Attribute vor der Löschung oder Sortierung gegeben werden. Somit können logische Seiten bestimmter Art sofort ohne irgendeine Einbeziehung des Benutzers gelöscht werden, während logische Seiten anderer Art eine Bestätigung des Benutzers erfordern, damit sie entfernt werden können. Einige Arten logischer Seiten können so spezifiziert werden, dass sie automatisch entfernt werden, nachdem ein bestimmtes Datum oder eine Zeitdauer abgelaufen ist, und andere können entfernt werden, sobald sie an eine externe Einheit gesendet wurden.
  • Es ist auch anzumerken, dass das hierin beschriebene Speicherverwaltungsverfahren auch auf andere Benutzervorrichtungen, wie z.B. die vorstehend in der Einführung erwähnten, anwendbar ist. Beispielsweise kann die Benutzervorrichtung eine stiftähnliche Vorrichtung sein, die dafür eingerichtet ist, ihre Bewegung auf der Basis von Triangulation von Signalen (Ultraschall, Infrarotstrahlung usw.), auf der Basis von Signalen aus internen Beschleunigungssensoren, auf der Basis von Signalen aus einem mechanischen Bewegungssensor (Trackball usw.), auf der Basis von Signalen von Druckspan nungssensoren, die mit dem Stiftpunkt verbunden sind, durch Kombination elektronischer Bilder der Tintenspur auf der Basis, durch Vergleichen von Signalen, die kohärente Strahlung repräsentieren, die zu der Basis emittiert und davon reflektiert wird, usw. aufzuzeichnen. Eine derartige Benutzervorrichtung sollte auch so eingerichtet sein, dass sie zwischen unterschiedlichen logischen Seiten beispielsweise auf der Basis einer manuellen Anzeige (indem der Benutzer eine Taste auf der Vorrichtung drückt, einen Befehl mit der Vorrichtung schreibt, usw.) oder auf der Basis einer expliziten Seitenadresseneingabe (Balkencodedetektion, Tastatureingabe usw.) unterscheidet. Alternativ kann die Benutzervorrichtung ein elektronisches Klemmbrett oder ein Digitalisieren sein, welcher dafür angeordnet ist, die Bewegung eines Stiftes oder Griffels auf einer von einer Vielzahl von physikalischen Seiten aufzuzeichnen. Gemäß noch einer weiteren Alternative kann die Benutzervorrichtung der Stift sein, der auf einem derartigen Klemmbrett arbeitet.

Claims (21)

  1. Verfahren zum Freigeben von Speicher in einer Vorrichtung mit begrenztem Speicher, wobei in die Vorrichtung eine Vielzahl von Stiftstrichen auf einer Fläche eingegeben wird, die in logische Seiten unterteilt ist, und jeder der Stiftstriche in Verbindung mit einer der logischen Seiten und einer Aufzeichnungszeit in elektronischer Form in dem Speicher gespeichert wird und alle Stiftstriche, die mit einer speziellen logischen Seite verbunden sind, gelöscht werden, wenn Platz in dem Speicher freigemacht werden muss, dadurch gekennzeichnet, dass die spezielle logische Seite auf Basis einer Zeit bestimmt wird, zu der ein Stiftstrich, der mit der logischen Seite verbunden ist, durch die Vorrichtung aufgezeichnet wurde.
  2. Verfahren nach Anspruch 1, wobei die spezielle logische Seite auf Basis ihres zuletzt aufgezeichneten Stiftstriches bestimmt wird, der früher aufgezeichnet worden ist als der zuletzt aufgezeichnete Stiftstrich einer beliebigen der anderen logischen Seiten.
  3. Verfahren nach Anspruch 1, wobei jede logische Seite in dem Speicher in Verbindung mit einer Seitenadresse gespeichert wird und die spezielle logische Seite durch die folgenden Schritte bestimmt wird: Identifizieren von Seitenadressen für die in dem Speicher gespeicherten Stiftstriche und der Aufzeichnungszeit des zuletzt aufgezeichneten Stiftstriches, die mit den jeweiligen Seitenadressen verbunden ist; und Auswählen der Seitenadresse von den identifizierten Seitenadressen, die den ältesten zuletzt aufgezeichneten Stiftstrich hat, als die spezielle logische Seite.
  4. Verfahren nach Anspruch 3, wobei der Schritt des Identifizierens von Seitenadressen für die in dem Speicher gespeicherten Stiftstriche umfasst: Suchen nach einer Vielzahl von mit Stiftstrichen verbundenen Seitenadressen, in dem Speicher; wenn eine während der Suche aufgefundene Seitenadresse nicht in einer ersten Datenstruktur gespeichert ist, Speichern dieser Seitenadresse und der damit verbundenen Aufzeichnungszeit in einer ersten Datenstruktur; und wenn die aufgefundene Seitenadresse bereits in der ersten Datenstruktur gespeichert ist, Aktualisieren der darin mit der Seitenadresse verbundenen Aufzeichnungszeit, so dass die späteste Aufzeichnungszeit der Seitenadresse in der ersten Datenstruktur gespeichert wird.
  5. Verfahren nach Anspruch 4, wobei der Schritt des Suchens in dem Speicher auf vorgegebenen Seitenadressen beschränkt ist, die zu einem ersten Suchbereich gehören.
  6. Verfahren nach Anspruch 5, wobei der Schritt des Identifizierens von Seitenadressen für die in dem Speicher gespeicherten Stiftstriche, für eine Vielzahl weiterer Suchbereiche wiederholt wird, die zusammen Seitenadressen für einen Großteil der in dem Speicher gespeicherten Stiftstriche umfassen.
  7. Verfahren nach einem der Ansprüche 4–6, wobei der Schritt des Identifizierens von Seitenadressen für die in dem Speicher gespeicherten Stiftstriche umfasst: für jeden Suchbereich Durchgehen der ersten Datenstruktur und Anordnen von Seitenadressen und Aufzeichnungszeiten aus der ersten Datenstruktur in einer zweiten Datenstruktur entsprechend vorgegebenen Regeln.
  8. Verfahren nach Anspruch 7, wobei die Regeln die Regel umfassen, dass, wenn die zweite Datenstruktur voll ist und eine aufgefundene Seitenadresse in der ersten Datenstruktur eine Aufzeichnungszeit hat, die älter ist als eine jüngste Aufzeichnungszeit in der zweiten Datenstruktur, die Seitenadresse, die mit der jüngsten Aufzeichnungszeit in der zweiten Datenstruktur verbunden ist, durch die aufge fundene Seitenadresse ersetzt wird, so dass die zweite Datenstruktur die Seitenadressen umfasst, mit denen die ältesten, zuletzt aufgezeichneten Stiftstriche verbunden sind.
  9. Verfahren nach Anspruch 7 oder 8, wobei die zweite Datenstruktur eine vorgegebene Anzahl von Seitenadressen enthält und zum Extrahieren eines Extremwertes eingerichtet ist, der der Seitenadresse entspricht, die den zuletzt aufgezeichneten Stiftstrich hat.
  10. Verfahren nach einem der Ansprüche 7–9, wobei der Schritt des Auswählens der speziellen Seite das Auswählen der Seitenadresse aus der zweiten Datenstruktur umfasst, die die älteste Aufzeichnungszeit hat.
  11. Verfahren nach Anspruch 10, das des Weiteren den Schritt des Anordnens einer Vielzahl von Seitenadressen und Aufzeichnungszeiten aus der zweiten Datenstruktur in einer dritten Datenstruktur umfasst, so dass diese die Seitenadressen enthält, mit denen die ältesten Aufzeichnungszeiten verbunden sind.
  12. Verfahren nach Anspruch 11, wobei die Seitenadressen, die in der dritten Datenstruktur angeordnet sind, bezüglich der mit ihnen verbundenen Aufzeichnungszeiten sortiert werden.
  13. Verfahren nach einem der Ansprüche 7–12, wobei die erste oder die zweite Datenstruktur eine Symboltabelle, eine sortierte Liste, ein Suchbaum, eine Hash-Tabelle, eine Prioritäts-Warteliste, ein Stapel, ein haufengeordneter Baum oder ein Binärbaum ist.
  14. Verfahren nach einem der Ansprüche 7–13, wobei die zweite Datenstruktur eine sortierte Liste einer Vielzahl von Seitenadressen erzeugt, mit denen die ältesten, zuletzt aufgezeichneten Stiftstriche verbunden sind.
  15. Verfahren nach Anspruch 3 oder 4, wobei der Schritt des Identifizierens von Seitenadressen für eine Sequenz von Bereichen von Seitenadressen ausgeführt wird und für jeden Bereich in der Sequenz das Anordnen der identifizierten Seitenad ressen und der damit verbundenen Aufzeichnungszeiten als Einträge in einer ersten Datenstruktur und das Übertragen von Einträgen aus der ersten Datenstruktur in eine zweite Datenstruktur umfasst, so dass die zweite Datenstruktur die bisher identifizierten Seitenadressen mit den ältesten Aufzeichnungsdaten enthält.
  16. Verfahren nach Anspruch 1, wobei die spezielle logische Seite durch einen Stiftstrich bestimmt wird, der mit der speziellen logischen Seite verbunden ist und vor einer vorgegebenen Zeit aufgezeichnet worden ist.
  17. Verfahren nach Anspruch 1, wobei die spezielle logische Seite durch eine logische Seite bestimmt wird, die durch die Vorrichtung vorgeschlagen und von dem Benutzer bestätigt wird.
  18. Verfahren nach einem der vorangehenden Ansprüche, wobei ein Stiftstrich gelöscht wird, indem ein Status-Indikator für den zu löschenden Speicherplatz so geändert wird, dass er anzeigt, dass der Speicherplatz verfügbar ist.
  19. Computerprogrammerzeugnis, das ein Computerprogramm zum Freimachen von Speicher in einer Vorrichtung mit begrenztem Speicher umfasst, dadurch gekennzeichnet, dass das Computerprogramm, wenn es ausgeführt wird, das Verfahren nach einem der Ansprüche 1–18 durchführt.
  20. Vorrichtung zum elektronischen Aufzeichnen von Stiftstrichen auf einer Fläche, die in logische Seiten unterteilt ist, wobei jeder Stiftstrich mit einer logischen Seite verbunden ist und die Vorrichtung eine Datenverarbeitungseinheit (7) umfasst, die Speicher (4, 5) mit begrenztem Platz zum Speichern der Stiftstriche in elektronischer Form hat, und die Datenverarbeitungseinheit (7) so eingerichtet ist, dass sie Platz in dem Speicher (5) freimacht, indem sie aus dem Speicher (5) alle die Stiftstriche löscht, die mit einer speziellen logischen Seite verbunden sind, dadurch gekennzeichnet, dass die Datenverarbeitungseinheit (7) so eingerichtet ist, dass sie die spezielle logische Seite auf Basis der Zeit bestimmt, zu der ein mit der logischen Seite verbundener Stiftstrich, durch die Vorrichtung aufgezeichnet wurde.
  21. Vorrichtung nach Anspruch 20, dadurch gekennzeichnet, dass die Vorrichtung eine Einrichtung zum Durchführen eines Verfahrens nach einem der Ansprüche 1–18 hat.
DE60209783T 2001-11-13 2002-11-13 Verfahren zur speicherfreigabe in einer vorrichtung mit begrenzter speicherkapazität zur erzeugung digitaler striche Expired - Lifetime DE60209783T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE0103770A SE520485C2 (sv) 2001-11-13 2001-11-13 Anordning och datorprogramprodukt för frigöring av minnesutrymme i en anordning med begränsat minnesutrymme
SE0103770 2001-11-13
PCT/SE2002/002067 WO2003042907A1 (en) 2001-11-13 2002-11-13 A method for freeing memory in a device with limited memory storing penstrokes

Publications (2)

Publication Number Publication Date
DE60209783D1 DE60209783D1 (de) 2006-05-04
DE60209783T2 true DE60209783T2 (de) 2006-08-17

Family

ID=20285961

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60209783T Expired - Lifetime DE60209783T2 (de) 2001-11-13 2002-11-13 Verfahren zur speicherfreigabe in einer vorrichtung mit begrenzter speicherkapazität zur erzeugung digitaler striche

Country Status (5)

Country Link
EP (1) EP1459244B1 (de)
AT (1) ATE320048T1 (de)
DE (1) DE60209783T2 (de)
SE (1) SE520485C2 (de)
WO (1) WO2003042907A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7167166B1 (en) 2003-08-01 2007-01-23 Accenture Global Services Gmbh Method and system for processing observation charts
CN100557557C (zh) 2005-02-23 2009-11-04 阿诺托股份公司 电子笔中的方法、计算机程序产品以及电子笔
WO2007055639A1 (en) * 2005-11-11 2007-05-18 Anoto Ab Information management in an electronic pen arrangement
US10620754B2 (en) 2010-11-22 2020-04-14 3M Innovative Properties Company Touch-sensitive device with electrodes having location pattern included therein

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE157467T1 (de) * 1988-05-27 1997-09-15 Kodak Ltd Dokumentenaufzeichnung und -bearbeitung in einem datenverarbeitungssystem
US5905488A (en) * 1996-10-11 1999-05-18 Xerox Corporation Local inking with gray pixels
US6055552A (en) * 1997-10-31 2000-04-25 Hewlett Packard Company Data recording apparatus featuring spatial coordinate data merged with sequentially significant command data
EP1256091B1 (de) * 2000-02-16 2004-04-28 Telefonaktiebolaget Lm Ericsson Verfahren und system zur konfiguration und zum deblockieren einer elektronischen vorrichtung

Also Published As

Publication number Publication date
SE0103770D0 (sv) 2001-11-13
SE520485C2 (sv) 2003-07-15
EP1459244A1 (de) 2004-09-22
WO2003042907A1 (en) 2003-05-22
DE60209783D1 (de) 2006-05-04
ATE320048T1 (de) 2006-03-15
EP1459244B1 (de) 2006-03-08
SE0103770L (sv) 2003-05-14

Similar Documents

Publication Publication Date Title
DE2659042C3 (de) Anordnung zum Speichern und Wiederauffinden von Informationen
DE69731418T2 (de) Such- und Wiederauffindungssystem für Dokumente mit Suchverfahren von teilweise passenden, benutzergezeichneten Anmerkungen
DE60314977T2 (de) Tintensegmentierer und zugehöriges Programm
DE69627441T2 (de) Apparat zum Verarbeiten von Daten
DE202015009255U1 (de) Automatische Bildorganisation
DE202011110895U1 (de) Echtzeitsynchronisierte Bearbeitung von Dokumenten durch mehrere Benutzer für das Bloggen
DE2809623A1 (de) Verfahren und vorrichtung zur assoziativen informationswiedergewinnung
DE60306209T2 (de) Verfahren, mobile vorrichtungen und rechnerlesbare media zur datenverwaltung
DE102016101373A1 (de) Anzeigesteuerverfahren, anzeigesteuervorrichtung und elektronisches gerät
DE10129636A1 (de) Verfahren und Vorrichtung zum Verknüpfen elektronischer Tinte mit personengebundenen elektronischen Informationssystemen
DE202011108539U1 (de) Vorrichtung zum Scrollen eines in einem Browserfenster angezeigten Dokuments
DE112015005985T5 (de) Klassifizierung und speicherung von dokumenten
DE10151648B4 (de) Verfahren und Vorrichtung zum Erfassen und Speichern von während einer computerbasierten Sitzung gemachten Notizen
DE102014012597A1 (de) Suchverfahren für verwandte Bilder und Benutzerschnittstelle zur Steuerung des Verfahrens
DE60307527T2 (de) Tupleraumoperationen für eine feinkörnige Systemsteuerung
DE3347644A1 (de) Grafikanzeigeeinrichtung
DE10116830A1 (de) Dateiverwaltungsvorrichtung und Datenträger zum Aufzeichnen eines Dateiverwaltungsprogramms
DE60315291T2 (de) Computersystem und Verfahren zum Betreiben eines Computersystems
DE60209783T2 (de) Verfahren zur speicherfreigabe in einer vorrichtung mit begrenzter speicherkapazität zur erzeugung digitaler striche
DE602005006029T2 (de) Datenverarbeitungseinheit und Datenverarbeitungsprogramm gespeichert in einem computerlesbaren Aufzeichnungsmedium
DE102019125937A1 (de) Informationsverarbeitungsverfahren und elektronische Vorrichtung
DE102008010264A1 (de) Verfahren und Vorrichtung zur seitenweisen Bereitstellung eines elektronischen Dokumentes als Computergrafik
DE102014114112A1 (de) Informationsverarbeitungsverfahren und elektronisches gerät
DE60307688T2 (de) Hardware-unterstützter Tupelraum
DE102017106795A1 (de) Verarbeitungsverfahren eines Gerätes und elektronisches Gerät

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: ANOTO AB, LUND, SE

8364 No opposition during term of opposition