-
Hintergrund
-
1. Technisches Gebiet
-
Diese
Anmeldung bezieht sich allgemein auf mobile drahtlose Kommunikationsvorrichtungen,
die zum Speichern, Senden und Empfangen von Textnachrichten geeignet
sind, welche Teil eines Threads von zugeordneten Nachrichten sein
können,
die zwischen multiplen Parteien ausgetauscht werden.
-
2. Stand der Technik
-
Drahtlose
Kommunikationsvorrichtungen verschiedener Typen und Konfigurationen
sind inzwischen allgemein üblich.
Viele dieser Vorrichtungen sind zum Senden, Speichern und Empfangen
von Textnachrichten zwischen zwei oder mehr Menschen geeignet, die
eine Form der Unterhaltung untereinander über ein bestimmtes Thema bilden
(oder die irgendein anderes gemeinsames Merkmal besitzen, das eine
Wechselbeziehung einer Serie von solchen individuellen Nachrichten
veranlasst, beispielsweise wie Frage und Antwort, weitere Frage,
weitere Antwort usw.). Solche Sequenzen von zugeordneten individuellen
Nachrichten werden gemeinhin als ein "Thread" bzw. eine Kette oder Wechselbeziehungs-Nachrichten
bezeichnet.
-
Zu
Kontinuitätszwecken
umfasst jeder Austausch in einem solchen Thread von Nachrichten
typischerweise die kumulativen früheren Originalnachrichten und
alle folgenden früheren
Wechselbeziehungs-Antworten als Teil der nächsten oder aktuellen Nachricht.
Mit anderen Worten: Ein Thread von Nachrichten wird typischerweise
als eine Objekteinheit behandelt, was bedeutet, dass die Größe des Objektes
mit dem kontinuierlichen Anwachsen des Threads kontinuierlich ansteigt.
-
In
Systemen, in denen ein zentraler Nachrichten-Steuer-Server seinen
eigenen Speicher für zuvor
kommunizierte Nachrichtenobjekte hat, wurde festgestellt, dass die
Kommunikations-Bandbreite dadurch
gespart werden konnte, dass die drahtlose Vorrichtung nur eine abgekürzte individuelle
Antwort oder einen Nachrichten-Weiterleitungs-Befehl an den Server überträgt, in dem
das vollständige
Nachrichten-Thread-Objekt mit der Antwort eingefügt werden oder eine Weiterleitung
rekonstruiert werden kann. So beschreibt beispielsweise die
EP 1 085 444 ein beispielhaftes,
auf einem Thread basierendes e-Mail-System.
-
Derzeitig
jedoch werden alle Nachrichten auf wenigstens einigen Vorrichtungen
als unabhängige Objekte
empfangen, gespeichert und gesendet. Nachrichten-Threads (beispielsweise
Gruppen von e-Mails über
dasselbe Thema) werden auf der Vorrichtung in Zusammenhang gebracht,
doch wird kein Mechanismus zum Komprimieren der redundanten Daten
verwendet, die in jeder darauf folgenden Nachricht auf diesem Thread
oder im lokalen Speicher enthalten sind, welcher zum Speichern solcher
Nachrichten-Thread-Objekte erforderlich ist. Selbst wenn der Server "weiß", dass die Vorrichtung
bereits bestimmte Nachrichten darauf gespeichert hat, gab es in
der Vergangenheit keinen zuverlässigen
Mechanismus, um der Vorrichtung zu sagen, sie solle einige frühere Nachrichten
(beispielsweise eine "Originalnachricht") als Teil der aktuellen
Nachricht verwenden (ähnlich
der Art und Weise, wie Nachrichten-Antworten und -Weiterleitungen
von der Vorrichtung am Server rekonstruiert werden können). Wird
MORE (MEHR) von einer Nachricht im Thread angefordert, werden diese
Daten darüber
hinaus nicht erscheinen, wenn eine darauffolgende Antwort auf diesen Thread
betrachtet wird.
-
Das
aktuelle Verfahren führt
zu diversen Unzulänglichkeiten,
wie beispielsweise:
- a) Die Datenspeicherung
ist redundant (d.h. in den meisten Fällen ist nur der Antwort-/Weiterleitungstext
erforderlich, nicht der Originaltext),
- b) die MORE-Anforderung auf der Originalnachricht (oder jeder
Antwort innerhalb dieses Threads) aktualisiert nicht auch die Anzeige
irgendeiner anderen Nachricht innerhalb dieses Threads, und
- c) die erforderlichen Übertragungsbandbreiten zum
Senden von Nachrichten-Threads vom Server an die Vorrichtung sind
erheblich größer als notwendig
(wenn der Server beispielsweise nur eine Referenz an eine Originalnachricht übertragen
sollte, von der er weiß,
dass die Vorrichtung sie bereits hat).
-
Kurze Zusammenfassung
-
Eine
beispielhafte mobile Kommunikationsvorrichtung ist zum Senden, Empfangen
und Anzeigen von Textnachrichten geeignet, die jeweils eine eines
Threads von zugeordneten Nachrichten zwischen einer oder mehreren
Parteien sein können.
Die beispielhafte mobile Kommunikationsvorrichtung kann einen kondensierten
Nachrichtenspeicher umfassen, der individuelle Nachrichten umfasst,
welche auf eine solche Weise gespeichert sind, dass sie jeweils
einzigartig mit einem damit verbundenen Nachrichten-Thread und ihrem
relativen Standort oder ihrer relativen Sequenz innerhalb dieses
Threads identifiziert werden. Die mit dem kondensierten Nachrichtenspeicher
funktional verbundene Nachrichten-Anzeige-Schaltung kann dann wirksam
sein, um sequenziell zur Anzeige individuell gespeicherter Nachrichten
im Thread verbunden zu werden.
-
In
einer Ausführungsform
ist die Nachrichtenanzeigeschaltung wirksam, um automatisch alle anderen
Nachrichten in einem Thread zu lokalisieren und zur Anzeige sequenziell
miteinander zu verbinden, wenn irgendeine Nachricht des Threads
zur Anzeige ausgewählt
ist. In einer anderen Ausführungsform
kann die Nachrichtenanzeigeschaltung in Antwort auf eine Benutzereingabe
wirksam sein, um zur Anzeige von weniger (beispielsweise einer)
Nachrichten in demselben Thread zu lokalisieren und zur Anzeige
sequenziell miteinander zu verbinden.
-
Es
gibt zahlreiche Wege, wie der kondensierte Nachrichtenspeicher organisiert
sein kann. So kann der kondensierte Nachrichtenspeicher beispielsweise
Thread-Bezugsdaten für
jede individuelle Nachricht umfassen, die wenigstens eines der folgenden
Elemente identifizieren: (a) Thread-Mitgliedschaft und (b) Sequenz
innerhalb eines Threads. Derartige Thread-Bezugsdaten für jede individuelle Nachricht
können
sowohl die Thread-Mitgliedschaft als
auch die Sequenz innerhalb dieses Threads identifizieren. Darüber hinaus
kann die eine Vorrichtungsnachricht sendende Schaltung zum Erleichtern ähnlicher
Effizienzen am Server eine neue Nachricht als Teil eines Threads
dadurch senden, dass wenigstens anfänglich nur diese neue individuelle
Nachricht zusammen mit ausreichend Thread-Bezugsdaten zur Identifikation
wenigstens seiner Thread-Mitgliedschaft gesendet wird.
-
Durch
die Verwendung von Thread-Bezugs-IDs an frühere Nachrichten desselben
Threads können
auf der Vorrichtung Links zu den Originalnachrichten kreiert werden,
wenn sie existieren. Wenn nicht, kann die Vorrichtung frühere MORE-Methoden
zum Kreieren dieser Original-Nachricht vom Server auf der Vorrichtung
verwenden. Jede Nachricht innerhalb eines Threads kann als solche
miteinander verbunden werden, doch werden nur die Delta-Daten (beispielsweise
der Antworttext) mit dieser Nachricht zusammen mit einem Link oder
einer Thread-Bezugs-ID zur direkten früheren Nachricht in diesem Thread
abgespeichert. Auf diese Weise kann die Nachricht, wenn sie auf
der Anzeige wiedergegeben wird, so erscheinen, dass sie bereits
den gesamten Thread in sich führt.
-
Wenn
eine MORE-Anfrage auf irgendeiner Nachricht innerhalb des Nachrichten-Threads
ausgegeben wird, kann die Server-Antwort dann die Vorrichtung mit
allen Nachrichten innerhalb dieses Threads automatisch aktualisieren,
da sie alle miteinander verbunden sind. Jeder Originaltext einer
Nachricht braucht nur einmal gespeichert, gesendet und/oder empfangen
zu werden, wodurch sowohl Vorrichtungsdatenspeicherplatz als auch
Netzwerkbandbreite gespart werden.
-
Die
beispielhafte Ausführungsform
erweitert ein früheres
Verfahren (das zum effizienten Senden von Antworten und Weiterleitungen
an den Server verwendet wird) zum Senden von Nachrichten-Threads
an die Vorrichtung. Diese Lösung
unterscheidet sich jedoch darin, dass der Mechanismus sich beispielsweise
auf Nachrichten erstreckt, die vom Server gesendet und von der Vorrichtung
empfangen werden. Darüber
hinaus definiert sie ein effizientes neues Verfahren zum Speichern
und Abfragen von Nachrichten-Threads. Der Server kann auch einen
kondensierten Nachrichtenspeicher verwenden, um auf ähnliche
Weise Serverspeicher zu sparen.
-
Die
offen gelegte/n Struktur/en kann/können in Hardware, Software
oder einer Kombination aus Hardware und Software ausgeführt sein
und zudem ein Verfahren zum Speichern, Senden und Empfangen von
Textnachrichten in einer drahtlosen Kommunikationsvorrichtung bieten,
die ein effizienteres Speichern und Abrufen von Nachrichten-Threads umfasst.
Die beispielhafte Ausführungsform
wird wenigstens zum Teil durch einen ausführbaren Computerprogrammcode
ausgebildet, der in einem physikalischen Programmspeichermedium
ausgeführt
sein kann.
-
Kurze Beschreibung der Zeichnungen
-
Diese
und weitere Gegenstände
und Vorzüge
werden durch das eingehende Studium der folgenden, detaillierteren
Beschreibung wenigstens einer beispielhaften Ausführungsform
in Verbindung mit den beigefügten
Zeichnungen eingehender verstanden und er läutert, in denen:
-
1 eine
allgemeine, systemweite schematische Ansicht eines beispielhaften
drahtlosen e-Mail-Kommunikationssystems unter Einschluss einer mobilen
drahtlosen Kommunikationsvorrichtung mit einer verbesserten Fähigkeit
zur Handhabe von Textnachrichten gemäß einer beispielhaften Ausführungsform
ist,
-
2 ein
abgekürztes
schematisches Diagramm einer Hardware ist, die innerhalb einer beispielhaften
mobilen drahtlosen Kommunikationsvorrichtung integriert ist,
-
3 und 4 beispielhafte
abgekürzte schematische
Darstellungen von zwei möglichen kondensierten
Nachrichtenspeicherorganisationen und/oder -inhalten sind, wobei
es sich von selbst versteht, dass es eine große Anzahl von derartigen möglichen
Organisationen und/oder Inhalten gibt,
-
5 ein
beispielhaftes abgekürztes
schematisches Fließdiagramm
einer Computersoftware (d.h. Programmschaltung) ist, die in der
Vorrichtung aus 2 verwendet werden kann und
eine erste Ausführungsform
zur Anzeigentextnachrichtschaltung bietet, die alle Nachrichten
vom kondensierten Nachrichtenspeicher in demselben Thread zwecks Anzeige
zusammenfasst,
-
6 ein
beispielhaftes abgekürztes
schematisches Fließdiagramm
einer Computersoftware (d.h. Programmschaltung) ist, die im Server
verwendet werden kann, um MORE-Anfragen von der drahtlosen Vorrichtung
zu beantworten,
-
7 ein
beispielhaftes abgekürztes
schematisches Fließdiagramm
einer Computersoftware (d.h. Programmschaltung) ist, die in der
Vorrichtung aus 2 verwen det werden kann und
eine zweite Ausführungsform
der Anzeigentextnachricht-Programmschaltung zur selektiven Anzeige
nur eines Teils eines Threads von Nachrichten bietet, die vom kondensierten
Nachrichtenspeicher zusammengefasst werden,
-
8 ein
beispielhaftes abgekürztes
Knotendiagramm eines komplexeren e-Mail-Threads ist, in dem ein
erster Thread multiple Downstream-Threads erzeugt, und
-
9 eine
beispielhafte kondensierte Nachrichten-Speicher-Organisation für den komplexeren e-Mail-Thread aus 8 ist.
-
Detaillierte Beschreibung
beispielhafter Ausführungsformen
-
1 ist
ein Überblick über ein
beispielhaftes Kommunikationssystem, in dem eine drahtlose Kommunikationsvorrichtung 100 verwendet
werden kann. Einem Fachmann wird klar sein, dass es Hunderte unterschiedlicher
Systemtopologien geben kann. Es kann ebenfalls zahlreiche Nachrichtensender
und -empfänger
geben. Das einfache beispielhafte, in 1 gezeigte
System dient lediglich zur Veranschaulichung und zeigt die vielleicht
derzeitig am stärksten
vorherrschende Internet-e-Mail-Umgebung.
-
1 zeigt
einen e-Mail-Sender 10, das Internet 12, ein Nachrichten-Server-System 14,
eine drahtlose Gateway 16, eine drahtlose Infrastruktur 18,
ein drahtloses Netz 20 und eine mobile Kommunikationsvorrichtung 100.
-
Ein
e-Mail-Sender 10 kann beispielsweise an einen ISP (Internet
Service Provider) (Internet-Dienstanbieter) angeschlossen sein,
bei dem ein Benutzer des Systems ein Konto hat, das sich innerhalb
eines Unternehmens befindet, möglicherweise an
ein local area network (lokales Bereichsnetz) (LAN) angeschlossen
und mit dem Internet 12 verbunden oder durch einen weiten
ASP (application service provider) (Anwendungsdienstanbieter), wie beispielsweise
America OnlineTM (AOL), mit dem Internet 12 verbunden
ist. Den Fachleuten wird klar sein, dass die in 1 gezeigten
Systeme stattdessen mit einem wide area network (Weitbereichsnetz) (WAN)
verbunden sein können,
das nicht das Internet ist, obwohl e-Mail-Übertragungen gemeinhin durch
mit dem Internet verbundene Anordnungen durchgeführt werden, wie in 1 dargestellt.
-
Der
Nachrichtenserver 14 kann beispielsweise auf einem Netzcomputer
innerhalb der Firewall eines Unternehmens, einem Computer innerhalb
eines ISP- oder ASP-Systems oder dergleichen implementiert werden
und fungiert als die Hauptschnittstelle für den e-Mail-Austausch über das
Internet 12. Obwohl andere Nachrichtensysteme vielleicht
kein Nachrichtenserversystem 14 erfordern, wird eine mobile
Vorrichtung 100, die zum Empfang und möglicherweise zum Senden von
e-Mails konfiguriert ist, normalerweise einem Konto auf einem Nachrichtenserver
zugeordnet werden. Die beiden vielleicht häufigsten Nachrichtenserver
sind Microsoft ExchangeTM und Lotus DominoTM. Diese Produkte werden häufig im Zusammenhang
mit Internet-Mail-Routern verwendet, die Mails weiterleiten und
zustellen. Diese Zwischenkomponenten werden in 1 nicht
dargestellt, da sie in der nachstehend beschriebenen Erfindung keine
direkte Rolle spielen. Nachrichtenserver, wie beispielsweise der
Server 14, erstrecken sich typischerweise über das
bloße
Senden und Empfangen von e-Mails hinaus; sie umfassen zudem dynamische
Datenbank-Speichereinrichtungen, die vordefinierte Datenbankformate
für Daten,
etwa Kalender, Aufgabenlisten, Erledigungslisten, e-Mails und Dokumentationen,
aufweisen.
-
Die
drahtlose Gateway 16 und Infrastruktur 18 bieten
einen Link zwischen dem Internet 12 und dem drahtlosen
Netz 20. Die drahtlose Infrastruktur 18 bestimmt
das wahrscheinlichste Netz zur Lokalisierung eines bestimmten Benutzers
und spürt
die Benutzer auf, wenn sie sich zwischen Ländern oder Netzen bewegen.
Danach wird eine Nachricht an die mobile Vorrichtung 100 per
drahtloser Übertragung, typischerweise
mit einer Funkfrequenz (radio frequency) (RF), von einer Basisstation
im drahtlosen Netz 20 an die mobile Vorrichtung 100 ausgegeben. Das
besondere Netz 20 kann nahezu jedes drahtlose Netz sein, über das
Nachrichten mit einer mobilen Kommunikationsvorrichtung ausgetauscht
werden können.
-
Wie
in 1 dargestellt, wird eine zusammengesetzte e-Mail-Nachricht 22 vom
e-Mail-Sender 10 gesendet, der sich irgendwo im Internet 12 befindet.
Diese Nachricht 22 verwendet typischerweise das traditionelle
Einfache Mail-Übertragungs-Protokoll (Simple
Mail Transfer Protocol) (SM), RFC 822-Kopfzeilen und Multipurpose Internet
Mail Extension (MIME)-Korpusteile
zur Definition des Formats der Mail-Nachricht. Alle diese Techniken
sind den Fachleuten wohl bekannt. Die Nachricht 22 kommt beim
Nachrichtenserver 14 an und wird normalerweise in einem
Nachrichtenspeicher gespeichert. Die meisten bekannten Nachrichtensysteme
unterstützen
ein so genanntes "Pull"-Nachrichtenzugangsschema,
in dem die mobile Vorrichtung 100 abfragen muss, dass gespeicherte
Nachrichten vom Nachrichtenserver an die mobile Vorrichtung 100 weitergeleitet
werden. Einige Systeme sehen das automatische Routen derartiger
Nachrichten vor, die unter Verwendung einer spezifischen e-Mail-Adresse, die der
mobilen Vorrichtung 100 zugeordnet ist, adressiert werden.
In einer bevorzugten Ausführungsform
werden Nachrichten, die an ein Nachrichtenserverkonto adressiert
werden, welches einem Hostsystem zugeordnet ist, wie etwa einem
Heimcomputer oder einem Bürocomputer,
der dem Benutzer einer mobilen Vorrichtung 100 gehört, vom
Nachrichtenserver 14 an die mobile Vorrichtung 100 umgeleitet,
wenn sie empfangen werden.
-
Unabhängig vom
spezifischen Mechanismus, der das Weiterleiten von Nachrichten an
die mobile Vorrichtung 100 steuert, wird die Nachricht 22 oder
möglicherweise
eine übersetzte
oder neu formatierte Version davon an die drahtlose Gateway 16 gesendet.
Die drahtlose Infrastruktur 18 umfasst eine Serie von Verbindungen
mit dem drahtlosen Netz 20. Diese Verbindungen könnten Integrated
Services Digital Network (ISDN), Frame Relay oder T1-Verbindungen
unter Heranziehung des TCP/IP-Protokolls sein,
die im gesamten Internet verwendet werden. In der hierin verwendeten
Bedeutung soll der Begriff "drahtloses
Netz" drei unterschiedliche
Typen von Netzen umfassen, und zwar (1) datenzentrische drahtlose
Netze, (2) sprachzentrische drahtlose Netze und (3) Netze im Dualmodus,
die sowohl Sprach- als
auch Datenkommunikationen über
dieselben physikalischen Basisstationen unterstützen können. Kombinierte Netze im
Dualmodus umfassen unter anderem (1) Code Division Multiple Access
(CDMA)-Netze (2), das Group Special Mobile oder das Global System
for Mobile Communications (GSM)- und das General Packet Radio Service
(GPRS)-Netz und (3) weitere Netze der dritten Generation (third generation)
(3G), wie beispielsweise Enhanced Data-rates for Global Evolution
(EDGE) und Universal Mobile Telecommunications Systems (UMTS). Zu
einigen älteren
Beispielen für
datenzentrische Netze gehören
das MobitexTM-Funknetz und das DataTACTM-Funknetz.
Beispiele für ältere sprachzentrische
Datennetze umfassen Personal Communications Systems (PCS)-Netze,
wie beispielsweise GSM- und TDMA-Systeme.
-
Wie
in 2 dargestellt, umfasst die mobile Kommunikationsvorrichtung 100 eine
geeignete RF-Antenne 102 für die drahtlose Kommunikation zum/vom
drahtlosen Netz 20. Es werden konventionelle RF-, Demodulations-/Modulations-
und Dekodierungs-/Kodierungs-Schaltkreise 104 vorgesehen. Wie
den Fachleuten klar sein wird, können
derartige Schaltkreise möglicherweise
viele digitale Signalprozessoren (DSPs), Mikroprozessoren, Filter,
analoge und digitale Schaltkreise und dergleichen implizieren. Da
ein derartiger Schaltkreis in der Fachwelt jedoch wohl bekannt ist,
wird er nicht weiter beschrieben.
-
Die
mobile Kommunikationsvorrichtung 100 wird ebenfalls typischerweise
eine Hauptsteuerung CPU 106 umfassen, die unter der Steuerung
eines im Programmspeicher 108 gespeicherten Programms wirksam
ist (und die Zugang zum Datenspeicher 100 hat).
-
Die
CPU 106 kommuniziert ebenfalls mit einer konventionellen
Tastatur 112, einer Anzeige 114 (beispielsweise
einem LCD) und einem Audio-Transducer oder einem Lautsprecher 116.
Ein Abschnitt des Datenspeichers 110a ist zum Speichern
von Textnachrichtendaten in einem kondensierten Nachrichtenspeicher
verfügbar.
Ein geeigneter Computerprogramm-ausführbarer Code wird in Abschnitten des
Programmspeichers 108a gespeichert, um die nachstehend
beschriebene verbesserte Schaltung zur Handhabe der Textnachrichten-Anzeige
zu bilden.
-
3 stellt
einen möglichen
kondensierten Nachrichtenspeicher dar, in dem der Inkrementierungs-Nachrichtentext
(d.h. der "Delta"-Nachrichtentext)
sequenziell in dem Maße
gespeichert wird, in dem er zusammen mit einer Nachrichtensequenznummer,
einer Bezugs-ID in der Up-Thread-Richtung, einer Bezugs-ID in der
Down-Thread-Richtung und möglicherweise
sogar nur Inkrementierungsänderungen
an den Überschriftendaten,
welche jeder Nachricht in einem Thread zugeordnet sind, verfügbar sind.
In dieser Anordnung wird jede Inkrementierungsnachricht innerhalb
aller Threads nur einmal gespeichert. Wenn jedoch irgendeine dieser
Nachrichten zur Anzeige ausgewählt
wird, gibt es ausreichend damit verbundene Speicherorganisation und/oder
Daten zum Lokalisieren aller anderen Nachrichten in diesem selbigen
Thread. Betrachtet man beispielsweise die sequenzielle Nachricht
Nr. 5 in 3, wird man feststellen, dass
keine Referenz-ID in der Down-Thread-Richtung vorhanden ist, was
bedeutet, dass dies die letzte Inkrementierungsnachricht in einem
Thread ist. Allerdings gibt es eine Up-Thread-Bezugs-ID zur früheren sequenziellen Nachricht
Nr. 3, wodurch sie als das nächste
Aufwärts-Element
dieses besonderen Threads identifiziert wird. Auf ähnliche
Weise umfasst die Nachrichtensequenz Nr. 3 eine Down-Thread-Bezugs-ID
zur Nachricht Nr. 5 und eine Up-Thread-Bezugs-ID zur Nachricht Nr.
1, wodurch die Nachricht Nr. 1 als ein weiteres Element des Threads
identifiziert wird. Die Eingabe für die Nachricht Nr. 1 hat keine
Referenz für irgendeine
zusätzliche
Up-Thread-Bezugs-ID und zeigt somit an, dass es sich hier um ein
Original-Anfangs- Element
für diesen
spezifischen Thread handelt. Allerdings hat sie eine Down-Thread-Bezugs-ID zur
Nachricht Nr. 3.
-
4 zeigt
eine unterschiedliche (jedoch äquivalente)
kondensierte Nachrichten-Speicher-Organisation und Inhalte. Hier
teilen Nachrichten in einem gemeinsamen Thread einfach eine gemeinsame
Thread-Identifikationsnummer. Die relative Sequenz von Nachrichten
innerhalb eines Threads ist entweder von Speicher-Sequenz-Standorten
oder von gespeicherten sequenziellen Nachrichtennummern inhärent bekannt,
wie beispielsweise denjenigen, die in 4 dargestellt
sind.
-
Selbstverständlich wird
den Fachleuten klar sein, dass es noch viele andere Möglichkeiten
zur Organisation eines kondensierten Nachrichtenspeichers gibt,
wie beispielsweise zur Minimierung von Speicherplatz durch das nur
einmalige Speichern von Inkrementierungs-Nachrichten-Text, jedoch
mit ausreichender Speicherorganisation und/oder gespeicherten Bezugsdaten,
um die Identifikation aller Nachrichten innerhalb eines Threads
und ihrer relativen Sequenz zu erlauben. So können beispielsweise sequenziell
eingehende Nachrichten anstatt der Zuordnung von sequenziellen Nachrichtennummern einfach
in sequenziellen Speicherstellen gespeichert und einer einzigen
Thread-ID zugeordnet werden, um so festzustellen, welche dieser
Nachrichten einem gemeinsamen Thread zugeordnet sind. Eine separate
Datei mit variabler Länge,
ein Datensatz oder ein anderes organisiertes Speicherelement kann
einfach einem gegebenen Thread zugeordnet werden, um alle Elemente
dieses Threads darin (sequenziell) zu speichern. Den Fachleuten
wird klar sein, dass es viele (vielleicht unendlich viele) mögliche Wege
gibt, um mit den oben beschriebenen gewünschten Attributen einen kondensierten
Nachrichtenspeicher zu erhalten.
-
Eine
beispielhafte Ausführungsform
einer Anzeigetextnachrichten-Programmschaltung für die drahtlose Vorrichtung
kann bei 500 in 5 eingegeben werden. Hier, bei 502,
wird eine neue eingehende Nachricht oder zuvor gespeicherte Nachricht
zur An zeige ausgewählt
(beispielsweise unter Verwendung der konventionellen Anzeige- und
Auswahlfunktionalität).
Bei 504 werden dann alle Nachrichten in demselben Thread
unter Verwendung der kondensierten Nachrichten-Speicher-Struktur/des
Dateninhalts zusammengefasst, und der gesamte Thread von Nachrichten
wird dann bei 506 zur Anzeige verfügbar gemacht (beispielsweise
durch konventionelles Scrollen über
den Anzeigebildschirm, falls notwendig). Wenn der Benutzer aus irgendeinem
Grund den Eindruck hat, dass dem in der Vorrichtung gespeicherten
Nachrichten-Thread ein Abschnitt des Threads fehlt, kann dann bei 508 ein
MORE-Befehl an den zentralen Server ausgegeben werden. Ist dies der
Fall, werden dann, wenn der Server zusätzliche Nachrichten im Thread
anzeigt, die bei 510 verfügbar sind, diese zusätzlichen
Nachrichten im Thread als neue Nachrichten im Thread bei 512 abgerufen
und gespeichert, bevor die Routine zum zuvor beschriebenen Schritt 504 zurückkehrt.
Werden auf dem Server keine zusätzlichen
Nachrichten gefunden, wird dann bei 514 eine geeignete
Anzeige "keine weiteren Nachrichten
im Thread" vorgesehen.
Von dort aus kann die Steuerung zurück zum Anzeigeschritt 506 oder
einfach zum BEENDEN der Routine bei 516 übertragen
werden. Wenn vom Benutzer ein BEENDEN-Befehl eingegeben wird (wie
beispielsweise bei 518 erkannt), wird dann die Routine
ebenfalls bei 516 verlassen. Falls nicht, kehrt dann die
Steuerung zwecks möglicher
Auswahl einer anderen Nachricht zur Anzeige zu Schritt 502 zurück (wenn
beispielsweise ein anderer Befehl als MORE oder BEENDEN eingegeben
wird).
-
Wenn
serverseitig ein MORE-Befehl festgestellt wird, wird die MORE-Subroutine
dann, wie in 6 gezeigt, bei 600 eingegeben.
Werden zusätzliche
Thread-Nachrichten auf dem Server bei 602 festgestellt,
werden dann diese zusätzlichen
Nachrichten bei 604 abgerufen und an die Vorrichtung gesendet, bevor
die Routine bei 608 verlassen wird. Werden keine zusätzlichen
Thread-Nachrichten festgestellt, wird dann eine diesbezügliche geeignete
Angabe bei 606 an die Vorrichtung zurückgesendet, bevor bei 608 verlassen
wird.
-
Wie
den Fachleuten klar sein wird, gibt es viele mögliche Algorithmen für die Verwendung
mit dem kondensierten Nachrichtenspeicher. Eine derartige zusätzliche
beispielhafte Programmschaltung ist in 7 dargestellt,
die bei 700 eingegeben wird. Hier wird eine Nachricht (d.h.
eine neue eingehende Nachricht oder eine zuvor gespeicherte Nachricht) zur
Anzeige bei 702 ausgewählt,
und diese bestimmte Nachricht (oder irgendein anderes Unterset von Nachrichten,
die weniger ausmacht als der gesamte Thread) wird bei 704 angezeigt.
Wird bei 706 ein MORE-Befehl erfasst, erfolgt dann zuerst
bei 708 eine Prüfung
auf zusätzliche
Nachrichten in diesem besonderen Thread, die bereits in der Vorrichtung
gespeichert sind. Werden solche festgestellt, werden sie dann bei 710 vom
Vorrichtungsspeicher abgerufen, und die Steuerung wird an den Anzeigenschritt 704 zurückgeführt. Wenn
jedoch keine zusätzlichen Thread-Nachrichten festgestellt
werden, die bereits in der Vorrichtung gespeichert sind, geht die
Steuerung dann zu 712 über,
wo zusätzliche
Nachrichten, die auf dem Server gespeichert sein könnten, vom Server
angefordert werden können.
Werden solche festgestellt, werden sie dann bei 714 vom
Server abgerufen und in der Vorrichtung bei 716 gespeichert, woraufhin
die Steuerung zurück
zu Schritt 710 übergeht,
um wie zuvor vorzugehen, als die nunmehr im Vorrichtungsspeicher
befindlichen neuen Thread-Nachrichten abgerufen und bei 704 zur
Anzeige hinzugefügt
werden. Werden jedoch weder in der Vorrichtung noch auf dem Server
zusätzliche Nachrichten
festgestellt, wird dann bei 718 eine geeignete Anzeige "keine weiteren Nachrichten
im Thread" generiert,
bevor bei 720 verlassen wird. Wird bei 722 ein
BEENDEN-Befehl ausgegeben, wird dann ebenfalls bei 720 verlassen.
Andernfalls (d.h. wenn vom Benutzer irgendeine andere Befehlstaste gedrückt wird)
kehrt die Steuerung zu Schritt 702 zurück, wo eine andere Nachricht
zur Anzeige ausgewählt
werden kann.
-
Selbstverständlich kann
ein Nachrichten-Thread selbst zahlreiche Nachrichten-Threads erzeugen.
So kann beispielsweise in einem Nachrichten-Thread, das ursprünglich Bill,
Fred und Mike umfasst, Bill eine technische Nebendiskussion mit Mike
führen,
während
er gleichzeitig die Diskussion mit der gesamten Originalliste weiterführt. Gleichzeitig
kann ein Empfänger
eine e-Mail an seine
Sekretärin
zwecks Ablage oder an einen Kollegen zwecks Durchsicht senden. Damit
wären 3
Nachrichten-Threads (der Original- und die 2 Neben-Threads) gleichzeitig
aktiv, alle bezögen
sich jedoch zurück
auf die Original-Nachricht. In solchen Erzeugungs-Situationen betragen
die Up-Thread-Bezüge
immer noch 1:1, doch die Down-Thread-Bezüge könnten nunmehr 1:n sein, wobei
n-1 die Zahl der separaten Nachrichten-Threads ist, die von der
aktuellen Nachricht erzeugt worden sind.
-
Eine
vereinfachte beispielhafte Situation dieser Art wird im Knotendiagramm
der 8 dargestellt. Hier beginnt eine Originalnachricht
1 in einem normalen 1:1-Thread zur Nachricht 2. Da jedoch einer
der Empfänger
der Nachricht 2 beschließt,
einen weiteren Unter-Thread zu beginnen, verzweigt sich die Nachricht
4 in diesen Unterzweig, der sich seinerseits wiederum in einen Unterzweig
6 verzweigt. Durch das Zulassen von multiplen Thread-Down-Bezügen, wie
im beispielhaften kondensierten Nachrichtenspeicher der 9 abgebildet,
können
derartige komplexere 1:n-Nachrichten-Thread-Splitting-Situationen
angepasst werden, wobei immer noch Speicherplatz durch das nur einmalige
Speichern von jedem Delta-Nachrichtentext gespart wird. Wie den
Fachleuten klar sein wird, können ähnliche
Unter-Thread-Situationen ebenso durch geeignete Speicher-Organisationsstrukturen
angepasst werden (beispielsweise einfaches Einrichten von zusätzlichen
Bereichen in einem größeren Verzeichnis
oder durch Einrichten vollständig
separater, jedoch mit Wechselbezügen
versehener Dateien für
jeden Unter-Thread-Zweig).
-
Wie
den Fachleuten klar sein wird, können zahlreiche
Abänderungen
und Variationen an diesen beispielhaften Ausführungsformen bei gleichzeitiger Beibehaltung
vieler ihrer neuartigen Merkmale und Vorzüge vorgenommen werden. Dementsprechend sol len
alle derartigen Abänderungen
und Variationen innerhalb des Umfangs der beigefügten Ansprüche inbegriffen sein.