-
Gebiet der
Erfindung
-
Die vorliegende Erfindung bezieht
sich allgemein auf elektronische Post (E-Mail) und insbesondere auf ein E-Mail-Nachrichtensystem
in einem verteilten Computersystem.
-
Hintergrund
der Erfindung
-
Mit der Einführung großer verteilter Computersysteme,
wie zum Beispiel des Internet, ist die Informationsmenge, die Benutzern
von Computersystemen verfügbar
ist, sprunghaft gestiegen. Zu dieser Information gehört auch
elektronische Post (E-Mail). Einhergehend
mit den Verbesserungen der Mittel zum Verfassen und Versenden geschriebener
Nachrichten ist auch der E-Mail-Verkehr auf dem Internet stark gestiegen.
So ist es nichts Ungewöhnliches, wenn
ein aktiver Internetbenutzer Zehntausende von E-Mail-Nachrichten
im Jahr bekommt.
-
Vorteilhaft dabei ist, dass es das
Internet den Benutzern erlaubt, schnell und bequem nützliche
Information auszutauschen. Diese riesige Informationsmenge jedoch
im Auge zu behalten, ist zu einem Problem geworden. Zusätzlich von
Vorteil ist, dass es das Internet nun den Benutzern erlaubt, Information in
einer Anzahl verschiedener Präsentationsweisen auszutauschen,
wie zum Beispiel als Text, als Ton oder als Bilder oder Filme. Die
Anpassung von E-Mail-Systemen zum Organisieren solcher komplexer
Information und die Bereitstellung wirksamer Mittel für einen
sinnvollen Zugriff auf die Information ist keineswegs trivial.
-
Ein Nachteil dabei ist, dass Internetbenutzer E-Müll (Spam)
gesendet bekommen, wenn sie sich auf Mailinglisten setzen lassen
oder in Newsgroups aktiv sind. Es sind zahlreiche Fälle bekannt
geworden, bei denen Einzelbenutzer durch Tausende unerwünschte Postnachrichten überrollt
wurden. Derzeitige Filtersysteme sind zur Bewältigung dieser Nachrichtenflut
nicht geeignet.
-
Bekannte verteilte Systeme zum Abfassen und
Zugreifen auf E-Mailssind typischerweise um Protokolle, wie zum
Beispiel IMAP, POP oder SMTP herum aufgebaut. Typischerweise müssen die
Benutzer eine entsprechende kompatible Benutzersoftware auf jedem
Clientcomputer installieren, von dem aus auf den E-Mail-Dienst zugegriffen
werden soll. Oft wird in den Clientcomputern der Benutzer eine beträchtliche
Menge Statusinformation aufbewahrt. Zum Beispiel ist es nichts Ungewöhnliches,
wenn die gesamte E-Mail-Datenbank für einen bestimmten Benutzer
in seinem Desktop- oder Laptop-Computer gespeichert ist. Normalerweise
organisieren die Benutzer E-Mail-Nachrichten ausdrücklich in
thematisch geordnete Ordner (Verzeichnisse). Der Zugriff auf eine
E-Mail erfolgt allgemein durch das Versenden gesamter Nachrichten über das
Netzwerk an den Clientcomputer.
-
Solche Systeme haben eine Vielzahl
von Nachteilen. Die meisten Computer, mit denen es ein Benutzer
zu tun bekommen wird, sind nicht mit der entsprechenden E-Mail-Software
konfiguriert, die mit dem E-Mail-Dienst des Benutzers kompatibel
ist. Oft ist der Status eines Benutzers auf einem bestimmten Client-Computer
gespeichert, was bedeutet, dass die Arbeit nicht fortgeführt werden
kann, wenn der Benutzer an einen anderen Computer geht. Die Verwaltung großer Mengen
archivierter E-Mail-Nachrichten durch eine ausdrückliche Verzeichnisstruktur
ist für die
meisten Benutzer schwierig. Ein Zugriff auf E-Mails über ein
Schmalbandnetzwerk ist meist unbefriedigend.
-
Es besteht daher ein Bedarf nach
dem Vorsehen eines E-Mail-Systems, das diese Nachteile überwindet.
-
Die Druckschrift Communications of
the ACM 35 (1992), Dezember, Nr. 12, mit dem Titel "Using Collaborative
Filtering to Weave an Information Tapestry" ("Verwendung
einer kollaborativen Filterung zum Weben eines Informationsteppichs") von D. Goldberg
et al. beschreibt ein E-Mail-System, das ein kollaboratives Filtersystem
zum Abtasten von Dokumentendatenbanken vorsieht, was nach Filterungskriterien
geschieht, die auf indizierte Felder im Dokument und auch auf unveränderliche
Annotierungen anwendbar sind, die den Dokumenten durch andere Benutzer
hinzugefügt
wurden.
-
Zusammenfassung
der Erfindung
-
Die Erfindung besteht in ihrer weitgefassten Form
aus einer Vorrichtung zum Zugreifen auf E-Mail-Nachrichten nach
Anspruch 1.
-
Im Folgenden ist eine Vorrichtung
zum Zugreifen auf E-Mail-Nachrichten beschrieben. Die Vorrichtung
enthält
einen ersten Speicher zum Speichern von E-Mail-Nachrichten und einen zweiten Speicher
zum Speichern eines Volltextindexes der E-Mail-Nachrichten. Auf
die E-Mail-Nachrichten wird unter der Verwendung von Abfragen zugegriffen,
die auf Client-Computern abgefasst werden, die über ein Netzwerk mit dem ersten
und dem zweiten Speicher verbunden sind. Die Abfragen durchsuchen
den Volltextindex zum Lokalisieren von E-Mail-Nachrichten, die den
Abfragen entsprechen. Lokalisierte E-Mail-Nachrichten werden über das
Netzwerk an die Client-Computer gesendet.
-
Wie beschrieben, ist der erste Speicher
in mehrere Dateien aufgeteilt, und jede E-Mail-Nachricht wird durch
eine Nachrichtenidentifikation eindeutig identifiziert. In einem
weiteren Aspekt enthält die
eindeutige Nachrichtenidentifikation eine Dateiidentifikation, die
eine der mehreren Dateien identifiziert, und eine. Nachrichtennummer.
-
Außerdem weist die Vorrichtung
vorzugsweise eine Einrichtung zum Hinzufügen und Entfernen von Etiketten
auf, die den Postnachrichten zugeordnet sind, sowie einen dritten
Speicher zum Speichern der Etiketten und den den Etiketten zugeordneten Speicherorten.
-
Kurzbeschreibung
der Zeichnungen
-
Ein eingehendes Verständnis der
Erfindung kann aus der folgenden Beschreibung einer bevorzugten
Ausführungsform
gezogen werden, die als Beispiel angeführt ist und anhand der beiliegenden Zeichnungen
zu verstehen ist. Es zeigt:
-
1 ein
Blockdiagramm einer Anordnung eines verteilten E-Mail-Dienstsystems, das
die vorliegende Erfindung nutzt;
-
2 ein
Blockdiagramm eines E-Mail-Dienstsystems der Anordnung von 1;
-
3 ein
Blockdiagramm einer Kontenverwaltung und von Konteneinträgen des
Systems von 2;
-
4 ein
Blockdiagramm von Nachrichten- und Log-Dateien, die vorn System
von 2 unterhalten werden;
-
5 ein
Fließdiagramm
eines Parsverfahren, das für
E-Mail-Nachrichten verwendet wird, die vom System von 2 verarbeitet werden;
-
6 ein
Blockdiagramm eines Volltextindexes für die Nachrichtendateien von 4;
-
7 ein
Diagramm einer etikettierten Nachricht;
-
8 ein
Diagramm eines Adressbucheintrags;
-
9 ein
Fließdiagramm
für Filterabfragen; und
-
10 ein
Blockdiagramm für
einen MIME-Filter.
-
Detaillierte
Beschreibung der bevorzugten Ausführungsform
-
Systemüberblick
-
In 1 sieht
eine Anordnung 100 einen verteilten E-Mail-Dienst vor,
der erfindungsgemäße Merkmale
hat. In 1 sind ein oder
mehrere Clientcomputer 111–113 über ein
Netzwerk 120 mit einem E-Mail-Dienstsystem 200 verbunden,
das unten eingehender beschrieben ist.
-
Client-Computer
-
Die Client-Computer 111–113 können Workstations,
PCs, Laptops, Palmtops, Netzwerkcomputer (NCs) oder ein beliebiges
anderes ähnlich
konfiguriertes Computersystem sein. Die Clients 111–113 können im
Eigenbesitz, geliehen oder gemietet sein. Es wird darauf hingewiesen,
dass in der Praxis die Clients 111–113 potentiell ein
beliebiges der Millionen von PC-Systemen sein kann, die es derzeit
gibt und die mit einem Computernetzwerk verbunden sind. Im Laufe
der Zeit kann ein Benutzer unterschiedliche Client-Computer an unterschiedlichen
Standorten verwenden.
-
Wie das für den Computer 111 gezeigt
ist, führt
jeder Client-Computer eine standardmäßige Betriebssystemsoftware
(O/S) 114 aus, z. B. UNIX®, Windows95®,
MacOS® oder
NT®.
Das O/S 114 wird zum Ausführen
von Anwendungssoftwareprogrammen verwendet. Eines der Anwendungsprogramme, das
auf dem Client 111 ausgeführt werden kann, ist ein Web-Browser 115.
Der Web-Browser 115 kann der
Netscape Navigator®, Microsoft Explorer®,
Hot Java® und ähnliche
Browser sein.
-
Die Funktionalität des Browsers 115 kann durch
Formulare, Applets und Plug-Ins
erweitert werden, die allgemein durch Bezugszeichen 116 bezeichnet
sind. In der bevorzugten Ausführungsform sind
Browsererweiterungen in der Form von Mail-Client-Anwendungsprogrammen unten eingehender beschrieben.
Die E-Mail-Client-Anwendungsprogramme
werden über
das Netzwerk 120 vom E-Mail-Dienstsystem 200 heruntergeladen.
Die Erweiterungen können
unter der Verwendung von HTML, JavaScript®, Java® Applets,
Microsoft ActiveX® oder Kombinationen davon
zum Vorsehen einer maximalen Portabilität implementiert werden.
-
Wie das für den Computer 112 gezeigt
ist, enthält
der Client einen oder mehrere Prozessoren (P) 117, Speicher 118 (M),
Eingabe/Ausgabe-Schnittstellen (I/O) 119, die durch einen
Bus 121 miteinander verbunden sind. Die Prozessoren 117 können CISC-
oder RISC-Architekturen in 32-, 64- oder anderen Bitlängen-Datenstrukturen verwenden.
Die Speicher 118 können
zum Beispiel ein Festkörper-DRAM (Dynamic Random
Access Memory) und feste und entfernbare Speicher, wie zum Beispiel Festplattenlaufwerke,
CD-ROMs, Disketten und Bänder
sein. Die I/O 119 kann mit Eingabevorrichtungen, wie zum
Beispiel einer Tastatur und einer Maus und Ausgabegeräten, wie
zum Beispiel einem Bildschirm und einem Drucker, verbunden sein.
Die I/O 119 kann auch zum Anschluss an Multi-Media-Geräte, wie
zum Beispiel Soundkarten, Bildprozessoren und dergleichen, konfiguriert
sein. Die I/O bietet auch die notwendigen Kommunikationsverbindungen
mit dem Netzwerk 120.
-
Netzwerk
-
In der bevorzugten Ausführungsform
weist das Netzwerk 120 eine große Anzahl öffentlicher Zugangspunkte auf,
und die Kommunikationen werden unter Einsatz des Internetprotokolls
(IP) durchgeführt.
Das Internetprotokoll ist als Standard für die Kommunikation von Daten
anerkannt und weit verbreitet. Höherstufige
Protokolle, wie zum Beispiel HTTP und FTP kommunizieren auf Anwendungsebene,
während
Protokolle auf niedrigerer Stufe, wie zum Beispiel TCP/IP, auf der
Transport- und Netzwerkebene eingesetzt werden.
-
Ein Teil des Internets weist eine
Datenaustauschschnittstelle auf, die als World Wide Web oder kurz "Web" bezeichnet wird.
Das Web bietet eine Möglichkeit
der Formatierung, Kommunikation, Verbindung und Adressierung von
Datengemäß Standards,
die von einer großen
Anzahl von Softwarepaketen erkannt wird. Zum Beispiel können unter
der Verwendung des Web Multi-Media(Text, Ton und Bild)-Daten als Webseiten
angeordnet werden. Die Webseiten können vom Browser 115 unter
der Verwendung von URLs (Uniform Resource Locators) lokalisiert
werden.
-
Eine URL gibt den exakten Standort
einer webbasierten Resource, wie zum Beispiel einen Server oder
einen Dateneintrag an. Der Standort kann Domain-, Server-, Benutzer-,
Datei- und Eintragsinformation sein, z. B. "HTTP://www.digital.com/~userid/file.html/~record". Ein Internetdienst
kann zum Senden und Empfangen von E-Mail-Nachrichten verwendet werden.
Zum Beispiel kann eine E-Mail-Nachricht unter der Verwendung des SMTP-Protokolls
an die Adresse "jones@mail.digital.com" gesendet werden.
Hierbei ist es von Vorteil, dass das Internet und das Web es Benutzern
lediglich mit kleineren praktischen Einschränkungen erlaubt, Daten unabhängig davon
auszutauschen, an welchem Ort sie ein beliebiges Computergerät verwenden.
-
Intranet
-
Das E-Mail-Dienstsystem 200 enthält einen oder
mehrere Server-Computer. Üblicherweise
ist das System 200 ein Teil eines privaten Netzwerks (Intranet),
das an das öffentliche
Netzwerk 120 angeschlossen ist. Typischerweise ist ein
Intranet ein verteiltes Computersystem, das von einer privaten Instanz
für eine
ausgewählte
Benutzerbasis betrieben wird, zum Beispiel ein Firmennetzwerk, ein
Regierungsnetzwerk oder ein kommerzielles Netzwerk.
-
Firewall
-
Als Sicherheits-Schutzvorrichtung
werden Kommunikationen zwischen Komponenten des Internet und des
Intranet häufig
durch eine Firewall 130 gefiltert und gesteuert. Der Zweck
der Firewall 130 besteht darin, Sicherheitsvorschriften
des privaten Intranet durchzusetzen. Eine solche Vorschrift kann lauten: "Nie einem Client-Computer
erlauben, über den öffentlichen
Teil des Internets eine direkte Verbindung mit einem Intranet-Server
aufzubauen". Teile der
Firewall schützen
den Zugang zu kritischen Ressourcen (Server und Daten) des Intranet.
-
Nur bestimmte Typen von Datenverkehr
werden von der Firewall 130 durchgelassen. Eine Durchdringung
der Firewall 130 geschieht durch einen Tunnel 131.
Der Tunnel 131 führt
typischerweise eine sichere Frage-Antwort-Sequenz (Challenge-and-Response
Sequence) durch, bevor der Zugang bewilligt wird. Nachdem die Identität eines
Benutzers eine Clients authentifiziert wurde, werden die Kommunikationen
mit Komponenten des Intranets über
einen nicht dargestellten Proxy Server unter der Verwendung sicherer
Protokolle, wie zum Beispiel SSL und X.509–Zertifikaten durchgeführt.
-
E-Mail-System
-
Das E-Mail-System 200 kann
als einer oder mehrere Server umgesetzt sein, die entweder lokal oder über große geografische
Distanzen hinweg miteinander verbunden sind. Ein Server, wie der
Name schon sagt, ist so konfiguriert, dass er für Client-Computer 111 bis 113 Serversoftwareprogramme ausführt. Manchmal
kann sich der Begriff "Server" auf Hardware, manchmal
auf die Software oder manchmal auf beides beziehen, weil die Softwareprogramme
je nach Auslastungsbedingungen unterschiedlichen Servern dynamisch
zugewiesen werden können.
Server unterhalten typischerweise große zentralisierte Datenspeicher
für viele
Benutzer.
-
Im E-Mail-System 200 sind
die Server so konfiguriert, dass sie Benutzerkonten unterhalten, E-Mail-Nachrichten
empfangen, filtern und organisieren, so dass sie leicht lokalisiert
und abgerufen werden können,
unabhängig
davon, wie die Information in der Nachricht kodiert ist.
-
Allgemeiner
Betrieb
-
Während
des Betriebs der Anordnung 100 möchten die Benutzer der Client-Computer 111–112 E-Mail-Dienste
in Anspruch nehmen. Diese Aktivitäten sind typischerweise das
Schreiben, Lesen und Organisieren von E-Mail-Nachrichten. Hierzu
können die
Client-Computer unter der Verwendung eines öffentlichen Internet-Dienstanbieters
(Internet Service Provider/ISP), wie zum Beispiel AT&T oder Earthlink Verbindungen
mit dem Netzwerk 120 herstellen. Alternativ dazu kann ein
Client-Computer an einem "Internet-Kaffee", wie zum Beispiel
bei Cybersmith oder das Intranet selbst über ein lokales Netz (Local
Area Network/LAN) mit dem Internet verbunden sein. Viele andere
Verbindungsmechanismen können
ebenfalls verwendet werden. Nachdem eine Verbindung hergestellt
wurde, kann ein Benutzer einen beliebigen E-Mail-Dienst beanspruchen.
-
Ein Vorteil hierbei ist, dass die
strukturellen und funktionalen Eigenschaften der Anordnung 100 Folgendes
aufweisen: E-Mail-Dienste des Systems 200 sind über einen
mit dem Web verbundenen Client-Computer verfügbar. Die Benutzer der Dienste können vollständig mobil
sein, wobei sie sich während
beliebiger E-Mail-Aktivitäten beliebig
zwischen verschiedenen Clients hin- und herbewegen können. Das
Abfassen einer E-Mail-Nachricht kann auf einem Client angefangen,
auf einem anderen abgeschlossen und noch von einem anderen Rechner
aus versendet werden.
-
Diese Eigenschaften werden teilweise
dadurch erzielt, dass der Status eines Benutzers niemals in einem
der Client-Computer eingeschlossen wird, falls dieser zu einem späteren Zeitpunkt
nicht zugänglich
ist. Dies hat den zusätzlichen
Vorteil, dass der lokale Speicher eines Client-Computers nicht gesichert
zu werden braucht, weil keine der wichtigen Daten dort abgelegt
sind. Es wird allgemein nach dem Grundsatz verfahren, dass die Betriebsplattform das
Web ist, so dass ein Zugriff auf das E-Mail-Dienstsystem über das Web zum Zugreifen auf
Benutzerdaten ausreicht.
-
Das E-Mail-Dienstsystem wird über einen großen Bereich
von Verbindungsbandbreiten angemessen funktionieren, sogar für E-Mail-Nachrichten, die
Daten in der Form von Multi-Media enthalten. Das Abrufen von Nachrichten
von einem großen
Datenspeicher erfolgt über
Abfragen eines Volltextindexes, ohne dass dazu ein komplexes Klassifizierungsverfahren
benötigt
wird.
-
Die Anordnung 100 ist so
konstruiert, dass dabei redundante Verfahren eingesetzt werden,
wie zum Beispiel vielfache Zugriffspfade und replizierte Dateien
unter der Verwendung von RAID-Technik (Redundant Arrays of Independent
Disks/ RAID).
-
E-Mail-Dienstsystem
-
Wie in 2 gezeigt,
weist das E-Mail-Dienstsystem die folgenden Komponenten auf.
-
Das System 200 ist so aufgebaut,
dass es als Front-End einen Webserver 210 aufweist. Der Server 210 kann
ein "Apache"-Webserver sein,
der vom WWW Consortium erhältlich
ist. Der Webserver 210 interagiert mit Back-End-CGI-Programmen 220 (Common
Gateway Interface/CGI). Die Programme stehen mit einem Kontenmanager 300,
einem STMP-Mailserver 240 und einem Indexserver 250 in Verbindung.
Die CGI-Programme 220 sind dabei ein möglicher Mechanismus. Die Programme
könnten nämlich auch
dadurch implementiert werden, dass der Code dem Webserver 210 direkt
zugeleitet würde oder
dass dem NSAPI von Netscape direkt Erweiterungen hinzugefügt würden.
-
Die Funktionen der höchsten Ebene
(Top-Level Functions) des Systems 200 sind E-Mail Senden 241,
E-Mail Empfangen 242, Index Abfragen 243 und Etikett
zu E-Mails Hinzufügen/von
E-Mails Entfernen 244 und E-Mails Abrufen 245.
-
Unterschiedliche Server können für die Vorgänge eingesetzt
werden, welche die Funktionen 241 bis 245 umsetzen.
-
Der Kontenmanager 300 unterhält Konteninformation.
Der Mailserver 240 wird zum Senden von E-Mail-Nachrichten
an andere mit dem Netzwerk verbundene Server oder zum Empfangen
von E-Mail-Nachrichten von ihnen verwendet. Der Indexserver 250 speichert
E-Mail-Nachrichten in Nachrichtendateien 400 und einen
Volltextindex 500 für
die Nachrichten. Die CGI-Programme 220 interagieren auch
mit den Nachrichtendateien 400 über ein Filter 280 zum
Abrufen von E-Mail-Nachrichten.
-
Der Webserver 210 kann ein
beliebiger standardmäßiger Webserver
sein, der die entsprechenden Protokolle zum Kommunizieren über das
Netzwerk unter der Verwendung von http-Protokollen 201 implementiert,
zum Beispiel der Apache-Server.
Die CGI-Back-End-Programme 220 routen Transaktionen zwischen
dem Web-Server 210 und den Betriebskomponenten des E-Mail-Dienstsystems.
Das CGI-Back-End 220 kann
als in C und TCL geschriebene Programme implementiert sein, die
auf den Servern ausgeführt
werden.
-
Kontenmanager
-
Wie in 3 gezeigt,
unterhält
der Kontenmanager 300 Konteninformation 301 bis 303 für Benutzer,
denen ein Zugang zum E-Mail-System 200 gestattet wird.
Die für
die jeweiligen Konten unterhaltene Information kann Folgendes enthalten:
Mailbox-Adresse 310, z. B. in der Form einer POP-3-Adresse
(POP = Post Office Protocol), Benutzerpasswort 320, Etikettenstatus 330,
benannte Abfragen 340, Filterabfragen 350, Abfragepositionsinformation 360,
Benutzervorlieben 370 und gesicherte Schreibzustände 380.
Die volle Bedeutung und die Verwendung der Konteninformation wird
aus einer Beschreibung der weiteren Komponenten des Systems 200 ersichtlich.
-
Einführend ist anzumerken, dass
Passwörter 320 zur
Authentifizierung von Benutzern verwendet werden. Etiketten 330 werden
zum Organisieren und zum Abrufen von E-Mail-Nachrichten verwendet.
Etiketten können
mit Anmerkungen verglichen werden, die über das Leben einer Nachricht
dieser hinzugefügt
oder von dieser weggenommen werden können, das heißt also,
dass Etiketten veränderlich
sind. Etiketten helfen den Benutzern, ihre Nachrichten in Fachgebiete
zu organisieren. Der Etikettenstatus gibt eine Momentaufnahme aller
Etiketten, die für einen bestimmten
Benutzer aktiv sind. Die Etiketten werden im Folgenden eingehender
beschrieben.
-
Im System 200 wird unter
der Verwendung von Abfragen auf E-Mail-Nachrichten zugegriffen. Dies steht
im Gegensatz zur ausdrücklichen
Festlegung von thematischen Ordnern, wie sie in vielen bekannten
E-Mail-Systemen verwendet werden. Eine Abfrage besteht aus einem
oder mehreren Suchbegriffen, die vielleicht durch logische Operatoren
verbunden sind, die zum Abrufen der Nachrichten verwendet werden
können.
Durch die Angabe des Namens einer Abfrage kann ein Benutzer einem
bestimmten Thema, einer bestimmten Phrase, einem bestimmten Datum
oder Sender usw. zugeordnete Nachrichten leicht abrufen. Benannte
Abfragen 340 werden als ein Teil der Konteninformation
gespeichert.
-
Manche Abfragen können als "Filter"-Abfragen 340 bezeichnet werden.
Dies erlaubt es einem Benutzer, zum Beispiel "E-Müll", der auch als Spam bezeichnet
wird, herauszufiltern. Filterabfragen können ebenfalls zum Vorsortieren
von Nachrichten verwendet werden, die von bestimmten Mailinglisten empfangen
wurden. Abfragepositionsinformation zeichnet auf, welche Nachricht
der Benutzer als Letztes bei einer Abfrage ausgewählt hat.
Auf diese Weise kann die Benutzerschnittstelle die Anzeige von Nachrichten,
die sich auf die ausgewählte
Nachricht beziehen, positionieren, wenn die Abfrage erneut gebraucht
wird. Benutzervorlieben 370 bestimmen die Erscheinungsform
und Funktionsweise der Benutzerschnittstelle zum E-Mail-Dienst,
wie es durch den erweiterten Browser 116 von 1 umgesetzt wird. Gesicherte
Schreibzustände 380 erlauben
es einem Benutzer, während
der Vorbereitung der Nachricht unter der Verwendung mehrerer verschiedener
Client-Computer Nachrichten zu schreiben und zu versenden.
-
Der Kontenmanager 300 kann
ein neues Konto erzeugen oder ein bestehendes Konto löschen. Das
Konto wird für
einen Benutzer durch Angabe des Benutzernamens und eines Passworts
erzeugt. Nachdem ein Kontenskelett erzeugt wurde, kann der Benutzer
die restliche Information, wie zum Beispiel Etiketten, benannte
Abfragen, Filterabfragen und so weiter selbst liefern.
-
Mailserver
-
Immer noch unter Bezugnahme auf 2 empfängt (242) das Mailserversystem 200 neue E-Mail-Nachrichten
durch Kommunizieren mit dem Mailserver 240 unter der Verwendung
des POP-3-Protokolls. Nachrichten werden unter Verwendung des SMTP-Protokolls
gesendet (241). Der Mailserver 240 ist über Leitungen 249 mit
dem Internet verbunden. Die entsprechende Routing-Information im
Mailserver 240 für
einen bestimmten Benutzer kann erzeugt werden, nachdem das Benutzerkonto erzeugt
wurde. Ein "POP
Account Name" sollte
als der Benutzername angegeben werden. In den meisten Systemen wird
der Name Groß- und Kleinschreibung
berücksichtigen.
Der "POP Host" sollte der Internet-Domainname des Mailservers 240 sein.
In diesem Fall wird die Groß-
und Kleinschreibung ignoriert. Eine IP-Adresse, wie zum Beispiel "16.4.0.16" kann verwendet werden,
auch wenn der Domainname bevorzugt wird. In manchen Fällen kann
die von einem Benutzer bevorzugte bestimmte Internet-E-Mail-Adresse
vollkommen unabhängig
vom POP Account Name oder dem POP Host sein.
-
Das schnelle Wachstum der Informationsmenge,
die nun online verfügbar
ist, hat es viel schwieriger gemacht, die wichtige Information zu
lokalisieren. Die Frage "In
welchem Ordner habe ich diese Nachricht gespeichert?" wird immer schwieriger
zu beantworten, wenn die Anzahl von Nachrichten, die man gerne sichern
möchte, über lange
Zeiträume
auf viele Tausende anwächst.
Die Wichtigkeit und Häufigkeit
abgerufener Nachrichten kann variieren. Herkömmlicherweise bestand die Lösung darin, die
E-Mail-Nachrichten in hierarchischer Weise zu strukturieren, z.
B. als Dateien, Ordner, Unterordner, Unter-Unterordner usw. Es wurde
jedoch erkannt, dass eine solche Struktur sich nicht in einfacher
Weise skalieren lässt,
da die Ablegestrategien im Laufe der Zeit nicht konsequent sind.
Viele Benutzer finden, dass die hierarchischen Strukturen für große Mengen von
E-Mail-Nachrichten, die sich über
viele Jahre angesammelt haben, nicht adäquat sind, da insbesondere
die Bedeutung und das Verhältnis
von Nachrichten untereinander sich im Laufe der Zeit ändert. Die meisten
Systeme mit einer ausdrücklichen
Ablegestrategie erfordern ständige
und mühsame
Pflege, um die hierarchische Ordnung auf dem Stand der aktuellen
Bedürfnisse
zu halten.
-
Nachrichtenspeicher
-
Nachrichten werden in Nachrichtendateien 400 und
einem Volltextindex gespeichert. Die Organisation der Nachrichtendateien
wird zuerst beschrieben. Hiernach folgt eine Beschreibung des Volltextindex 500.
Als ein Merkmal der vorliegenden Erfindung geschieht die Benutzerinteraktion
mit den E-Mail-Nachrichten hauptsächlich über am Volltextindex 500 durchgeführte Abfragen.
-
Wie in 4 gezeigt,
weist der Indexserver 250 jeder empfangenen Nachricht 401–402 eine
eindeutige Identifikation (MsgID) 410 zu. Die MsgID 410 ist
aus einer Dateiidentifikation (FileID) 411 und einer Nachrichtennummer
(MsgNum) 412 zusammengesetzt. Die FileID "benennt", oder ist ein Zeiger
auf, eine bestimmte Nachrichtendatei 420, und die MsgNum
ist eine beliebige Nummerierung von Nachrichten in einer Datei,
z. B. ein Index für
die Datei 420.
-
Nachdem eine Nachricht abgelegt wurde, verändert sie
sich nicht mehr. Außerdem
identifiziert die MsgID 410 in alle Ewigkeit die gleiche
Nachricht und ist auch für
diese Nachricht die einzige ID. In der referenzierten Nachrichtendatei 240 enthält ein Nachrichteneintrag 430 die
im Feld 431 gespeicherte MsgNum, Etiketten 432 und
den Inhalt der Nachricht selbst im Feld 433.
-
Die Anzahl eigener Dateien 240,
die zum Speichern von Nachrichten unterhalten werden, kann sich
je nach der Konstruktion des darunter liegenden Dateisystems und
spezifischer Umsetzungseinzelheiten richten. Zum Beispiel kann die
Größe und Anzahl
von Einträgen
einer bestimmten Datei über
das Dateisystem begrenzt sein. Das Vorhandensein vieler Dateien
kann außerdem
Dateiwartungsfunktionen, wie zum Beispiel das Ziehen einer Sicherungskopie
und die Wiederherstellung vereinfachen.
-
Etiketten-Log
-
Auch wenn sich eine Nachricht nie ändern darf,
darf sich doch die einer Nachricht zugeordnete Menge von Etiketten
(Labels) ändern.
Da sich Etiketten ändern
können,
wird auch ein Transaktionslog 440 unterhalten. Der Log 440 enthält "Add"-Einträge (+ Label) 450 und "Remove"-Einträge (– Label) 460. Jeder
Eintrag enthält
die MsgID 451 oder 453 des betroffenen Nachrichteneintrags
und das Etikett, das hinzugefügt
wird (452) oder gelöscht
wird (453). Der Inhalt des Logs 440 wird gelegentlich
mit den Nachrichtendateien 420 zusammengeführt. Zusammengeführte Einträge werden
vom Log 440 entfernt. Der Label Log 440 erlaubt
es, dass Etiketten, die Dateneinträgen, wie zum Beispiel E-Mail-Nachrichten,
hinzugefügt
wurden, geändert
werden können,
wobei die Etiketten und die Daten, die mit Etiketten versehen werden,
im gleichen Index gespeichert werden.
-
Volltextindex
-
Die 5 und 6 zeigen, wie der Indexserver 250 den
Volltextindex 500 erstellt. Neu empfangene E-Mail-Nachrichten
werden in Stapeln 403–404 verarbeitet.
Die Nachrichten 401 und 402 eines Stapels werden
in einzelne Wörter 510 geparst.
Ein Stapel 403 in einem großen E-Mail-Dienstsystem kann
Hunderte oder Tausende von Nachrichten enthalten. Die Wörter der
Nachrichten werden geparst, so dass sie in einem Stapel empfangen
werden können.
Jedes Wort bekommt in willkürlicher
Weise eine Reihenfolge-Ortsnummer 520 zugeteilt.
-
Zum Beispiel bekommt das allererste
Wort der allerersten Nachricht des allerersten Stapels den Ort "1", das nächste Wort den Ort "2" und das letzte Wort den Ort "3". Das erste Wort der nächsten Nachricht
bekommt den nächsten
Ort in der Reihenfolge "4" und so weiter. Nachdem
ein Ort einem Wort zugeordnet wurde, ändert sich die Zuordnung nicht
mehr. Wenn der Ort als eine 64-Bit-Zahl ausgedrückt wird, dann ist es äußerst unwahrscheinlich,
dass sich die Orte jemals überlagern.
-
Bei Parsen der Nachrichten erzeugt
der Indizierungsvorgang zusätzliche "Metawörter" 530. Zum Beispiel
wird für
das letzte Wort einer jeden Nachricht ein End-of-Message-Metawort
(EOM-Metawort) erzeugt. Die Metawörter bekommen die gleichen
Orte wie die Wörter,
die ihre Erzeugung auslösten.
Im gezeigten Beispiel ist der Ort des ersten EOM-Metaworts "3" und das zweite hat den Ort "5".
-
Andere Teile der Nachricht, wie zum
Beispiel die Felder für
den Empfänger
("To"), den Absender ("From"), den Betreff ("Subject") und das Datum ("Date") können andere
unterscheidbare Metawörter erzeugen,
um dazu beizutragen, den Volltextindex 500 zu organisieren.
Metawörter
tragen zur Ermöglichung
des Suchens im Index bei. Metawörter
werden mit vorgegebenen Zeichen angehängt, so dass ausgeschlossen
ist, dass ein Metawort jemals mit einem tatsächlichen geparsten Wort verwechselt
wird. Zum Beispiel enthalten Metawörter Zeichen wie zum Beispiel
das Leerzeichen ("Space"), die in Wörtern niemals
erlaubt sind. Hiernach bedeutet der Begriff "Wörter" sowohl tatsächliche
Wörter
als auch synthetisierte Metawörter.
-
Nachdem ein Stapel von Nachrichten
geparst wurde, werden die Wörter
und ihre zugewiesenen Orte sortiert 540, zunächst nach
der Mischsortierfolge der Wörter
und dann nach ihren Orten in der Reihenfolge. Zum Beispiel erscheint
das Wort "me" an den Orten "3" und "5",
wie das in Block 550 gezeigt ist. Der sortierte Stapel 550 von
Wörtern
und Orten wird zum Erzeugen des Index verwendet. Jeder sortierte
Stapel 550 wird in den Index 500 zusammengeführt, der
anfänglich
leer ist.
-
Indexstruktur
-
6 zeigt
die logische Struktur eines Index 600 gemäß der vorliegenden
Ausführungsform.
Der Index enthält
mehrere Worteinträge 610.
Jeder Worteintrag 610 ist einem eindeutigen "Wort" zugeordnet, das
in einer indizierten Nachricht mindestens einmal vorkam. Der Begriff "Wort" wird hier sehr lose
verwendet, da das Parsen der Wörter
in der Praxis davon abhängt,
welche Markierungen/Zeichen als Worttrennzeichen verwendet werden.
Wörter
brauchen keine echten Wörter
zu sein, die sich im Wörterbuch
finden. Trennzeichen können
Abstands- und Interpunktionszeichen sein.
-
Der Indizierer 250 parst
alles in einer Nachricht, was als eine getrennte Gruppe von Zeichen identifiziert
werden kann, die durch Worttrennzeichen abgegrenzt sind. Datumsangaben
werden ebenfalls geparst und in den Index gegeben. Datumsangaben werden
indiziert, so dass eine Suche unter Angabe von Zeiträumen möglich wird.
In einem aktiven Index kann es schon einmal Millionen unterschiedlicher Wörter geben.
Daher werden in der gegenwärtigen Praxis
weitgehend Kompressionsverfahren eingesetzt, um die Dateien auf
einer angemessenen Größe zu halten
und eine Aktualisierung des Index 500 während seiner Benutzung zu erlauben.
-
Die Worteinträge 610 werden in der Mischsortierfolge
der Wörter
gespeichert. Das Wort wird in einem Wortfeld 611 des Eintrags 610 gespeichert.
Dem Wortfeld 611 folgen Ortsfelder (Locs) 612. Es
gibt ein Ortsfeld 612 für
jedes Auftretendes Worts 611. Wie in der Referenz von Burrows
beschrieben, werden die Orte tatsächlich als eine Abfolge von
Deltawerten gespeichert, um den benötigten Speicherplatz zu verringern.
-
Etiketten (Labels)
-
Etiketten ermöglichen es den Benutzern, E-Mail-Nachrichten
mit Bemerkungen zu versehen. Das Hinzufügen eines Etiketts zu einer
Nachricht ist ähnlich
dem Hinzufügen
einer Haftnotiz auf einem gedruckten Dokument. Etiketten können dazu
verwendet werden, den Ordnermechanismus zu ersetzen, der von vielen
E-Mail-Systemen des Standes der Technik verwendet wird. Eine einzige E-Mail-Nachricht kann
jedoch mit einer Vielzahl von Etiketten versehen werden. Dies erscheint
gegenüber
Systemen vorteilhaft, die auf Ordnern basieren, wobei eine Nachricht
nur in einem einzigen Ordner gespeichert werden kann.
-
Benutzer können eine Menge von Etiketten definieren,
mit denen sie arbeiten möchten.
Die Etiketten sind nichts anderes als vorbestimmte Textstrings.
Die aktuell aktive Menge von Etiketten für einen bestimmten Benutzer,
z. B. der Etikettenstatus 330 von 3, wird vom Kontenmanager 300 unterhalten
und in einem Fenster der grafischen Benutzerschnittstelle angezeigt.
Etiketten können
vom System oder von Benutzern hinzugefügt und entfernt werden.
-
Wie in 6 gezeigt,
werden Etiketten in einer Datenstruktur 650 gespeichert,
die parallel zum Volltextindex 500 ist und dessen Funktionalität erweitert.
Etiketten unterliegen den gleichen Einschränkungen wie Indexwörter. Außerdem können Abfragen
im Volltextindex 500 neben Wörtern auch Etiketten als Suchbegriffe
enthalten. Ein Etikett wird dadurch einer E-Mail-Nachricht hinzugefügt, dass
ein bestimmter Indexort (oder bestimmte Indexorte) innerhalb der
Nachricht der Menge von Orten hinzugefügt wird, auf die sich das spezifische
Etikett bezieht. Das Entfernen eines Etiketts ist der umgekehrte
Vorgang. Operationen an Etiketten sind sehr viel wirkungsvoller
als andere Operationen, die den Status des Volltextindex verändern.
-
Die Datenstruktur auf dem Datenträger für den Etikettenindex 650,
der den Etikettenstatus 320 repräsentiert, ist der gleiche wie
diejenige, die für Indexworteinträge 600 beschrieben
wurde. Dies bedeutet, dass der Etikettenstatus als eine Erweiterung des
Volltextindex 500 betrachtet werden kann. Demnach bildet
die Etikettenindexerweiterung wie der Index 500 Etiketten
(Wörter) 651 auf
Abfolgen von Indexorten 652 ab.
-
Auch wenn die strukturellen Formate
der Etikettenerweiterung 650 und des Volltextindexes 500 die
gleichen sind, wird aus Effizienzgründen der Etikettenteil des
Indexes durch eine Softwarekomponente verwaltet, die getrennt von
der Software ist, welche den Volltextindex 500 verwaltet.
Wenn ein Begriff eines Abfragestrings sich als ein Etikett herausstellt,
dann wird der Etikettenindex 650 durchsucht, um die notwendige
Ortsabbildung zu liefern. Diese Abbildung wird durch den Etikettenlog 440 weiter
modifiziert, der alle neueren Etikettenänderungen (Hinzufügungen oder
Entfernungen) enthält.
Der Etikettenlog 440 kann eine im Arbeitsspeicher befindliche
Version 660 enthalten. Da Operationen an dieser Struktur
im Arbeitsspeicher stattfinden, können Aktualisierungen für neuere
Etikettenänderungen 660 relativ
schnell sein, während
die Aktualisierung des Etikettenindexes 650 im Hintergrund
stattfinden kann.
-
Wie in 7 gezeigt,
enthält
eine Nachricht 700 einen Kopfteil 701 und einen
Körper.
Der Kopfteil 701 enthält
typischerweise die Felder für
den Empfänger
("To"), den Absender ("From"), das Datum ("Date") und den Betreff
("Subject"). Der Kopfteil kann
auch Routinginformation enthalten. Der Körper 702 ist der Text
der E-Mail-Nachricht.
-
Jede E-Mail-Nachricht kann anfänglich zwei Etiketten
erhalten, nämlich "Posteingang" 710 und "Ungelesen" 720. Nachrichten,
die das Etikett "Ungelesen" 720 erhalten
haben, sind noch nicht zum Lesen angezeigt worden. Nachrichten mit
dem "Posteingang"-Etikett 710 erfordern
die Aufmerksamkeit des Benutzers. Wie unten beschrieben wird, ist es
möglich,
dass Nachrichten das Etikett "Ungelesen" bekommen, jedoch
nicht das "Posteingang"-Etikett. Diese weniger
wichtigen Nachrichten können dann
bei Bedarf vom Benutzer gelesen werden.
-
Eine Ausgabe, z. B. Anzeige oder
Drucken einer Nachricht entfernt das "Ungelesen"-Etikett 720 aufgrund der Annahme,
dass sie gelesen wurde. Ein Benutzer kann das "Ungelesen"-Etikett explizit hinzufügen oder
entfernen. Eine Nachricht kann durch Anfügen eines "Löschen"-Etiketts 730 gelöscht werden. Dies
hat die Auswirkung, dass die Nachricht nicht mehr zu sehen ist,
weil die als gelöscht
etikettierten Nachrichten normalerweise während Suchvorgängen ausgeschlossen
werden. Das Entfernen des "Gelöscht"-Etiketts hat die
Auswirkung, dass bei einer Nachricht das Löschen rückgängig gemacht wird.
-
Auch wenn eine bevorzugte Ausführungsform
Etiketten für
Dateneinträge
verwendet, die E-Mail-Nachrichten sind, versteht es sich, dass "veränderbare" Etiketten auch für andere
Typen von Dateneinträgen
verwendet werden können.
Zum Beispiel können
Etiketten, die hinzugefügt
und entfernt werden können,
bei Dateneinträgen,
wie zum Beispiel Webseiten oder Newsgroup-Nachrichten verwendet
werden. Das entscheidende Merkmal ist hier, dass Etiketten im gleichen
Index indiziert werden wie der Eintrag, den sie etikettieren, und
dass die Etiketten hinzugefügt
und entfernt werden können.
-
Abfragen
-
Nachdem E-Mail-Nachrichten indiziert
und etikettiert wurden, können
die Nachrichten durch das Durchführen
von Volltextabfragen abgerufen werden. Eine Abfrage sucht nach Nachrichten,
die mit in der Abfrage angegebenen Wörtern und Etiketten übereinstimmen.
Dies ist im Gegensatz zu bekannten E-Mail-Systemen, bei denen Benutzer
auf E-Mails zugreifen, indem sie sich daran erinnern, in welcher Datei
in welchem Ordner oder Unterordner die Nachrichten gelandet sind,
so dass der Ordner durchsucht werden kann. Vorteilhaft beim gegenwärtigen System
ist, dass die Benutzer sich nur an einige Wörter und Etiketten zu erinnern
brauchen, um passende Nachrichten zu finden.
-
Die Syntax der Abfragesprache ist ähnlich, wie
das in der Referenz von Burrows beschrieben ist. Eine Abfrage enthält eine
Abfolge grundlegender Suchwörter,
die mit Operatoren, wie zum Beispiel "and", "or", "not", "near" und so weiter verbunden werden.
Ein grundlegender Suchbegriff kann eine Abfolge alphanumerischer
Zeichen sein, d. h. ein "Wort" ohne Interpunktionszeichen.
Wenn die Begriffe ohne Anführungszeichen
(") angegeben werden, wird
nach einer exakten Übereinstimmung
des angegebenen Strings gesucht. Ein Begriff kann ein Etikett sein.
Ein Begriff, wie zum Beispiel "from:fred" sucht nach Nachrichten,
mit dem Wort "fred" im Absenderfeld
("from") eines Nachrichtenkopfteils. Ähnliche
Abfragen können
für die
Felder für
den Empfänger ("To"), den Absender ("From"), den Kopieempfänger ("cc") und den Betreff
("Subject") des Kopfteils formuliert
werden.
-
Ein Ausdruck wie zum Beispiel "11/2/96-25/Dec/96" durchsucht alle
Nachrichten in einem bestimmten Datumszeitraum. Das Parsen von Datumsangaben
ist flexibel, z. B. 12/25/96, 25/12/1996 und Dec/25/96 bedeuten
alle das gleiche Datum. In dem Fall einer Zweideutigkeit (2/1/96)
wird die europäische
Reihenfolge (Tag/Monat) angenommen.
-
Während
des Normalbetriebs modifiziert das CGI-Programm 220 jede
Abfrage durch Anhängen eines
Ausdrucks, der das Etikett "gelöscht" ausschließt, z. B. "and not deleted". Dies hat den Effekt des
Versteckens aller gelöschten
Nachrichten vor dem Benutzer des Clients. Es gibt eine Wahlmöglichkeit
in der Benutzerschnittstelle, die diesen Effekt sperrt, so dass
gelöschte
Nachrichten sichtbar werden.
-
Benannte Abfragen
-
Abfrage können "benannt" werden. Benannte Abfragen werden vom
Kontenmanager 300 unterhalten. Durch Angabe des Namens
einer Abfrage kann ein Benutzer schnell eine Suche nach E-Mail-Nachrichten
durchführen,
die häufig
benutzte Begriffe enthalten. Benutzer können komplexe Abfragen zur
Suche nach einem Muster in indizierten Nachrichten zusammenstellen,
wobei vielleicht Bedingungen über
Nachrichten mit bestimmtem Text oder bestimmten Etiketten gemischt
werden, und können
die Abfrage für
eine spätere
Verwendung aufbewahren.
-
Benannte Abfragen können als
ein Ersatz für die
aus dem Stand der Technik bekannten thematischen Ordner betrachtet
werden. Anstelle eines statischen Organisierens von Nachrichten
in Ordner nach vorbestimmten Bedingungen erlauben Abfragen dem Benutzer,
eine spezifische Sammlung von Nachrichten in Abhängigkeit von einem aktuellen Satz
von Suchbegriffen abzurufen. Mit anderen Worten, werden die Bedingungen,
die die Sammlung definieren, dynamisch als eine Abfrage ausgedrückt.
-
Verlaufsliste (History
List)
-
In der letzten Zeit durchgeführte Abfragen werden
in einer "Verlaufs"-Liste aufbewahrt.
Demnach können
häufig
durchgeführte
Abfragen in einfacher Weise erneut durchgeführt werden, zum Beispiel wenn
der Index aufgrund neu empfangener E-Mails oder aufgrund von Aktionen,
die von anderen Client-Computern
initiiert wurden, geändert
wurde.
-
Dynamisches
Adressbuch
-
Abfragen können auch zur Durchführung der Funktion
eines "Adressbuchs" des Standes der
Technik verwendet werden. In vielen bekannten E-Mail-Systemen unterhalten
Benutzeradressbücher häufig verwendete
Adressen. Von Zeit zu Zeit können Benutzer
Adressen hinzufügen
und entfernen. Dort werden die Adressbücher als getrennte Datenstrukturen
oder Adressbuchdateien statisch unterhalten. Es kann zum Beispiel "persönliche" und "öffentliche" Adressbücher geben. Im Gegensatz dazu
gibt es hier kein getrennt gespeichertes Adressbuch. Stattdessen
wird ein "Adressbuch" dynamisch erzeugt,
wenn es gerade benötigt
wird. Das dynamische Adressbuch wird aus den Dateien 400 und
dem Volltextindex 500 wie folgt generiert.
-
Wie in 8 gezeigt,
kann ein Benutzer eines Client-Computers 820 unter der
Verwendung eines von Mailclient-Anwendungsprogrammen 116 gelieferten
Formulars 800 Information eines Adressbuchtyps erzeugen.
Das Formular 800 enthält
zum Beispiel Eintragsfelder 801–803 für adressrelevante Information,
wie zum Beispiel die Namen, die Telefonnummer, Postanschrift und
E-Mail-Adresse usw. Alternativ dazu kann aus einer zuvor empfangenen E-Mail-Nachricht 805 durch
Klicken auf entsprechende Felder im Kopfteil oder im Körper der
Nachricht 805 Adressinformation ausgewählt werden.
-
Aus der Perspektive des E-Mail-Dienstsystems 200 und
des Indexservers 250 wird die Adressbuchinformation genauso
wie eine empfangene E-Mail-Nachricht gehandhabt. Dies bedeutet,
dass zum Beispiel die Daten der Felder 801–803 in
eine "Adressbuch"-Mailnachricht 810 kombiniert
werden. Unter der Verwendung der hier beschriebenen Etikettierungskonvention
kann dem Eintrag auch ein "Adress"-Etikett 809 hinzugefügt werden.
Die Adressbuch-Mailnachricht 810 und das Etikett 809 kann in
einer der Nachrichtendateien 400 gespeichert werden. Zusätzlich kann
auch die Nachricht 810 geparst und in den Volltextindex 500 eingefügt werden,
genauso wie Wörter
und Etiketten aller anderer Mailnachrichten. Mit anderen Worten
wird die Adressinformation des Formulars 800 zusammengeführt und
mit dem Volltextindex 500 verschmolzen.
-
Nachdem die Adressinformation abgelegt und
indiziert wurde, kann die Adressinformation vom Benutzer des Client-Computers 820 abgerufen
werden, der eine Abfrage 830 unter der Verwendung der standardmäßigen Abfrageschnittstelle
verfasst, wobei vielleicht das Etikett "Adresse" einen der Abfragebegriffe bildet. Der
exakte abzurufende Inhalt wird zu der Zeit bestimmt, da die Begriffe
und Operatoren der Abfrage 830 vom Benutzer verfasst werden.
Die Adressinformation, d. h. eine oder mehrere Adressbuch-Mailnachrichten,
die die Abfrage erfüllen,
werden als das dynamische Adressbuch 840 an den Client-Computer 820 zurückgegeben.
Der Benutzer kann dann eine der Adressen als eine Empfänger("to")-Adresse für eine neue,
eine als Antwort oder eine als Weiterleitung verschickte E-Mail-Nachricht auswählen.
-
Nachrichtenähnlichkeit
-
Ebenfalls ist es möglich, nach
Nachrichten zu suchen, die einer derzeit ausgewählten Nachricht ähneln. In
diesem Fall kann ein Dokumentähnlichkeitsverfahren
verwendet werden. Ein solches Verfahren ist in der US-Patentanmeldung
mit der Seriennummer 08/731,452 mit dem Titel "Document Resemblance" ("Dokumentenähnlichkeit"), die am 9. August
1996 von Broder et al. eingereicht wurde, beschrieben, auf deren
Offenbarungsgehalt in vollem Umfang Bezug genommen wird. Hierdurch
wird es einem Benutzer ermöglicht,
alle Nachrichten zu finden, die eng miteinander verwandt sind.
-
Sortierung
von Suchergebnissen
-
Wenn eine Suche für eine durchgeführte Abfrage
abgeschlossen ist, werden die Ergebnisse der Suche in einer Reihenfolge
gemäß ihrer
Nachrichten-ID 411, Fig. 4,
angezeigt. In der Praxis bedeutet dies, dass entsprechende Nachrichten
in der zeitlichen Reihenfolge, in der die Nachrichten empfangen
wurden, präsentiert
werden.
-
Die meisten bekannten E-Mail-Systeme
erlauben andere Sortierreihenfolgen, wie zum Beispiel nach dem Absender,
oder nach Nachrichtensträngen (eine
Abfolge zueinander in Beziehung stehender Nachrichten). Hier werden
keine solchen Fähigkeiten benötigt. Dazu
seien die folgenden Möglichkeiten
betrachtet.
-
Nachrichten von einem bestimmten
Benutzer können
in einer Abfrage durch einen Ausdruck wie zum Beispiel "from:jones" angegeben werden. Hierdurch
werden nur Nachrichten von einem bestimmten Benutzer lokalisiert.
Man kann die Nachrichten eines bestimmten "Strangs" ("Thread") auswählen, indem
die Option "Diskussion
einsehen" auf der
Benutzerschnittstelle gewählt
wird, die unten beschrieben ist. Wie oben beschrieben, können Nachrichten
eines bestimmten Zeitraums in der Abfrage festgelegt werden.
-
Das Filtern
von Nachrichten
-
Um insbesondere für jemanden, der eine große Anzahl
von E-Mails erhält,
die Postverwaltung zu vereinfachen, kann ein Benutzer das Filter 280 auf seine
oder ihre eigenen Vorlieben konfigurieren, wie das in 9 gezeigt ist. Ein Nachrichtenfilter
ist definiert als eine oder mehrere benannte "Filter"-Abfragen" 910. Die benannte Abfrage 910 wird
als ein Teil der Konteninformation von 3 gespeichert. Die benannte Filterabfrage 910 kann
unter Verwendung des Mailclient-Anwendungsprogramms,
das vom E-Mail-Dienstsystem 200 heruntergeladen wurde, auf
einem Client-Computer 920 erstellt werden.
-
Neue Nachrichten 930, die
vom E-Mail-Dienstsystem 200 empfangen wurden, werden in
den Nachrichtendateien 400 und im Volltextindex 500,
wie oben beschrieben, gespeichert, geparst und indiziert. Zusätzlich kann
jede neue Nachricht 930 mit den benannten Abfragen 910 verglichen
werden. Wenn der Inhalt einer neuen Nachricht 930 keiner
der benannten Filterabfragen 910 entspricht, dann bekommt
die neue Nachricht 930 das Posteingang-Etikett 710 und
das Ungelesen-Etikett 720,
d. h. die Nachricht wird in den "Posteingang" 940 für den Benutzer bereitgelegt.
Ansonsten bekommt die neue Nachricht 920 nur das Ungelesen-Etikett 720.
-
Abgesendete E-Mails haben im Kopfbereich der
Nachricht typischerweise zum Beispiel ein Absender("From")-Feld, das den Namen
des Absenders enthält,
z. B. "From: Jon
Doe". Alternativ
dazu kann der Körper
der E-Mail-Nachricht den Text "Du bekommst
diese Nachricht von Deinem guten Freund Jon Doe" enthalten. Der Benutzer Jon Doe kann
eine benannte Filterabfrage "VonMirGesendet" als "Von NEAR (Jon Doe)" formulieren. Diese
Abfrage hat alle Nachrichten zum Ergebnis, welche die Wörter "von" in der Nähe der Wortkombination "Jon Doe" enthalten. Das Ergebnis
ist, dass die Benutzer nicht ausdrücklich auf Nachrichten aufmerksam
werden, die der Filterabfrage 910 entsprechen. Zum Beispiel kann
es vorkommen, dass ein Benutzer Nachrichten herausfiltern möchte, die "cc"-Kopien an ihn selbst sind.
Außerdem
kann es vorkommen, dass ein Benutzer E-Müll-Nachrichten (Spam), die
von kommerziellen E-Mail-Distributoren bei bekannten Domains kommen,
herausfiltern oder über
Mailinglists empfangene Nachrichten vorsortieren möchte.
-
Nachrichtenanzeigeoptionen
-
Aus der Perspektive des Benutzers
wird der Zugriff auf das E-Mail-Dienstsystem
durch Erweiterungen des Webbrowsers, wie zum Beispiel durch Java-Applets umgesetzt.
Nachrichten werden normalerweise so angezeigt, dass ihre Primärkomponente
im HTML-Format an den Client übertragen
wird und im Java-Applet-Fenster
angezeigt wird. Die erste Zeile einer angezeigten Nachricht enthält alle "Hot-Links", auf die der Benutzer
klicken kann, um die Nachricht in einem der Fenster des Webbrowsers anzuzeigen,
entweder mit der HTML-Formatierung oder als den ursprünglichen
Text, ohne Interpretation durch das System.
-
Dabei ist zu bemerken, dass Kopfteile
in Internetnachrichten je nach dem Routing ziemlich lang sein können. Es
ist daher möglich,
die Ansicht auf die Felder Absender ("From"),
Empfänger
("To"), Kopieempfänger ("cc"), Datum ("Date") und Betreff ("Subject") des Kopfbereichs
einzuschränken.
-
Embedded Links
-
Beim Anzeigen abgerufener Nachrichten
lokalisiert das System 200 Text-Strings heuristisch, welche die Syntax
von E-Mail-Adressen haben. Wenn der Benutzer auf eine dieser Adressen
klickt, dann zeigt das System ein Schreib-Fenster an, das unten
beschrieben ist, so dass der Benutzer leicht eine Antwortnachricht
an die ausgewählte E-Mail-Adresse
bzw. die ausgewählten E-Mail-Adressen
erzeugen kann.
-
In ähnlicher Weise lokalisiert
das System 200, wenn abgerufene Nachrichten angezeigt werden,
heuristisch Text-Strings, welche die Syntax einer URL haben, und
macht aus einem solchen String einen Hot-Link. Wenn der Benutzer
auf den Hot-Link klickt, wird die URL an den Browser weitergegeben, der
den Inhalt über
das Netzwerk abruft und den Inhalt in der normalen Art und Weise
verarbeitet.
-
Außerdem versucht das System,
Komponenten in der Nachricht zu entdecken, wie zum Beispiel ausdrücklich "angehängte" oder implizit "eingebettete" Dateien. Die Dateien
können
in jedem beliebigen möglichen
Format sein. Der Inhalt dieser Dateien kann durch den Browser 115 angezeigt
werden. Die spezifischen verwendeten Anzeigevorgänge hängen dann davon ab, wie der
Browser konfiguriert ist, um auf unterschiedliche Komponenten-Dateiformate
zu reagieren.
-
Bei manchen Dateiformaten, zum Beispiel GIF
und JPEG kann die Komponente direkt angezeigt werden. Ebenfalls
ist es möglich,
den Browser mit einem "Helper"-Applet zu konfigurieren,
um angehängte
Dateien mit bestimmten Typen von Formaten als "Icons" anzuzeigen. Zum Beispiel kann die Nachricht
in der Form einer Tonnachricht sein, wobei in diesem Fall die Nachricht
zu Gehör
gebracht und nicht angezeigt werden muss. Für manche Nachrichtenformate
kann der Browser einen Teil des Inhalts im Dateisystem des Client-Computers
speichern.
-
Filtern mit
geringer Bandbreite
-
Da es sein kann, dass die Client-Computer 111–113 über Netzwerkverbindungen
mit geringer Bandbreite auf das E-Mail-Dienstsystem zugreifen, wird
versucht, die Datenmengen zu minimieren, die vom E-Mail-Dienstsystem an die
Client-Computer gesendet werden. Auch bei Breitband- Kommunikationskanälen kann
das Minimieren des Netzwerkverkehrs die Benutzerinteraktionen verbessern.
-
Da das E-Mail-Dienstsystem 200 E-Mail-Nachrichten
mit angehängten
oder eingebetteten Multi-Media-Dateien erlaubt, können E-Mail-Nachrichten
ziemlich groß werden.
Im Stand der Technik wird die gesamte E-Mail-Nachricht, einschließlich Dateien,
typischerweise an den Client-Computer versendet. Auf diese Weise
kann jeder Teil der E-Mail-Nachricht sofort vom Benutzer gelesen
werden, nachdem die Nachricht im Client empfangen wurde.
-
Wie in 10 gezeigt,
kann das E-Mail-Dienstsystem 200 Nachrichtenkomponenten erkennen,
die als solche enthalten sind. Das System 200 kann eine
explizit an eine Nachricht 1000 angehängt Datei 1010 erkennen,
und das System 200 kann auch Textkomponenten 1021–1021 heuristisch erkennen,
die implizit ohne MIME-Strukturierung in der Nachricht eingebettet
sind. Zum Beispiel kann das System 200 eingebettete "uuencoded" Anhänge, Base-64-Anhänge, Postscript-(und
PDF-)Dokumente HTML-Seiten und MIME-Fragmente erkennen.
-
Demnach ist das System 200 unter
der Verwendung eines "MIME"-Filters 1001 zum "Zurückhalten" solcher Komponenten 1010, 1020–1021 konfiguriert,
die in unterschiedlichen Formaten kodiert sind. Die angehängten und
eingebetteten Komponenten werden durch Hot-Links 1031 in
einer Nachricht 1030 verringerter Größe ersetzt. Nur wenn der Benutzer auf
einen dieser Hot-Links 1031 klickt, werden die Komponenten
an den anfordernden Client-Computer gesendet.
-
Client-Computer-Benutzerschnittstelle
-
Die folgenden Absätze beschreiben, wie der Web-Browser 115 konfiguriert
wird, um die E-Mail-Dienste des Systems 200 zu liefern.
Die beschriebenen Funktionen können
je nach der gewünschten
Erscheinungsform als Pull-Down-Menüs oder als
Symbolleisten angezeigt werden. Vorzugsweise werden die Funktionen
als Java-Applets implementiert.
-
Dateimenü
-
Das Dateimenü hat die folgenden Menüpunkte: "Verwaltung", "Vorlieben" und "Beenden". Wenn der Benutzer
auf das Feld "Verwaltung" "klickt", dann lädt das System 200 die
Systemverwaltungsseite in den Browser 116. Unter Verwendung des
Verwaltungsfensters kann der Benutzer in Abhängigkeit von Zugangssteuerungen
Konten einsehen und modifizieren und die Server-Log-Files einsehen.
Die Wahlmöglichkeit "Vorlieben" wird zum Modifizieren
der Benutzervorlieben 370 verwendet. Durch "Beenden" kehrt man zum Haupt-Einlog-Fenster
zurück.
-
Abfragen-Menü
-
Dieses Menü enthält die Unterpunkte "Diskussion einsehen", "aktuelle Abfrage
benennen", "benannte Abfrage
vergessen", " "gelöschte" Nachricht ausschließen", und "Ihre Abfrageoptionen". Die Wahlmöglichkeit "Diskussion einsehen" führt eine Abfrage
nach Nachrichten durch, die mit der derzeit ausgewählten Nachricht
verwandt sind. "Verwandt" bedeutet hier alle
Nachrichten, die ungefähr
die gleiche Betreffzeile haben und/oder Antworten auf eine solche
Nachricht sind, oder Nachrichten, die durch eine standardmäßige übliche "RFC822"-Nachrichten-ID miteinander
verbunden sind.
-
Die Option "aktuelle Abfrage benennen" ermöglicht es
einem Benutzer, der aktuellen Abfrage einen Text-String anzufügen. Hierdurch
wird das System 200 dazu veranlasst, die Abfrage im Konto
für den
Benutzer zur nachfolgenden Verwendung abzulegen. Die Wahlmöglichkeit "vergesse benannte
Abfrage" löscht eine
benannte Abfrage.
-
Die Option " "gelöschte" Nachricht ausschließen" schließt aus einem
Abfrageergebnis alle Nachrichten aus, die das Gelöscht-Etikett
haben. Dies ist die Standardeinstellung. Ein Klicken auf diese Option verändert das
Verhalten des Systems 200 so, dass in Reaktion auf eine
Abfrage "gelöschte" Nachrichten mit
berücksichtigt
werden. Die Option "eigene
benannte Abfragen" zeigt
den Satz benannter Abfragen 340 eines bestimmten Benutzers
an. Durch Klicken auf einen der angezeigten Namen wird die Abfrage durchgeführt.
-
Etiketten-Menü
-
Dieses Menü enthält die Wahlmöglichkeiten "Etikett aufzeichnen", und "Etikett vergessen". Diese Optionen
ermöglichen
das Hinzufügen
von Etiketten zum Etikettenstatus 330 oder das Entfernen
von Etiketten von diesem.
-
Verlauf-Menü (History-Menü)
-
Der Client bewahrt einen Verlauf
von zum Beispiel den letzten zehn Abfragen auf, um eine Wiederverwendung
von Abfragen zu ermöglichen.
Die Wahlmöglichkeiten
bei diesem Menü sind "zurück", "aktuelle Abfrage
wiederholen", "vorwärts", und "Verlaufsliste". "Zurück" führt die
Abfrage unmittelbar vor der aktuellen Abfrage erneut durch. "Wiederholen" führt die
aktuelle Abfrage erneut durch. Diese Wahlmöglichkeit ist zum Verarbeiten
von Nachrichten nützlich,
die erst kürzlich
angekommen sind, oder in einem Fall, wo die Benutzeraktionen die
Nachrichtendateien 400 in einer anderen Weise verändert haben. "Vorwärts" führt die
Abfrage erneut durch, welche auf die aktuelle Abfrage folgt. Die "Verlaufsliste" zeigt alle in letzter
Zeit durchgeführten
Abfragen an. Jede aufgeführte
Abfrage kann durch Klicken auf die Abfrage erneut durchgeführt werden.
-
Nachrichten-Menü
-
Hier hat man die Wahl zwischen "Alle auswählen", "Ungelesene auswählen", "Gelesene auswählen", "Als ungelesen markieren", "Als gelesen markieren", "Etiketten hinzufügen", "Etiketten entfernen" und "Eingebauten Betrachter
verwenden". Die Wahlmöglichkeit "Alle auswählen" wählt alle
Nachrichten aus, die der aktuellen Abfrage entsprechen. Die nächsten zwei
Wahlmöglichkeiten
wählen
Nachrichten aus, die das Etikett "Ungelesen" aufweisen, bzw. nicht aufweisen. Die
folgenden zwei Wahlmöglichkeiten
fügen aktuell
ausgewählten
Nachrichten Etiketten hinzu bzw. entfernen diese von jenen.
-
Die Benutzerschnittstelle zeigt normalerweise
eine Nachricht dadurch an, dass die Nachricht in ein html-Format
konvertiert und in einem html-Betrachter angezeigt wird, der entweder
im Hauptfenster des Browsers oder in einem eingebauten Betrachter
sein kann. Die letzte Option des Nachrichten-Menüs wählt diesen Betrachter aus.
-
Hilfe-Menü
-
Die Hilfe-Optionen können verwendet
werden, um Informationsseiten darüber anzuzeigen, wie die verschiedenen
Merkmale des Systems zu benutzen sind. Die Hilfe-Seiten werden bedarfsgerecht vom
E-Mail-Dienstsystem 200 in den Client-Computer heruntergeladen.
-
Hauptfenster-Menüleiste
-
Diese Menüleiste enthält Schaltflächen für die folgenden Funktionen.
Die Funktionen werden durch Klicken auf die Schaltfläche aufgerufen.
-
Hinzufügen: Diese Schaltfläche wird
zum Hinzufügen
eines ausgewählten
Etiketts zu einer Nachricht verwendet.
-
Etikett ändern: Diese Schaltfläche kombiniert die
Funktionen "Etikett
entfernen" und "Hinzufügen".
-
Löschen:
Mit dieser Schaltfläche
wird einer Nachricht ein "Gelöscht-Etikett" hinzugefügt.
-
Etikett entfernen: wird zum Entfernen
eines einzelnen Etiketts von einer Nachricht verwendet, das in einer
Abfrage genannt ist.
-
Nächste:
wählt eine
nächste
Nachricht aus.
-
Vorhergehende: wählt eine vorhergehende Nachricht
aus.
-
Neue Post: führt eine Abfrage nach allen Nachrichten
mit dem "Posteingang"-Etikett durch.
-
Abfrage: ruft einen Dialog auf, um
eine Abfrage zu formulieren und durchzuführen.
-
Nachricht-Anzeige-Symbolleiste
-
Diese Symbolleiste wird zum Durchführen der
folgenden Funktionen verwendet.
-
Lösen:
erzeugt ein neues oben liegendes Fenster zum Anzeigen ausgewählter Nachrichten.
-
Schreiben: erzeugt ein Fenster zum
Schreiben neuer E-Mail-Nachrichten.
-
Weiterleiten: Diese Funktion erzeugt
ein Fenster zum Schreiben einer neuen Nachricht. Eine ausgewählte Nachricht
wird an die neue Nachricht angehängt.
Die angehängten
Nachrichten werden weitergeleitet, ohne dass dabei die Nachrichten
an den Client-Computer heruntergeladen werden müssen.
-
Alle beantworten: Diese Funktion öffnet ein Fenster
zum Schreiben einer neuen Nachricht mit den gleichen Empfängern wie
diejenigen in einer ausgewählten
Nachricht.
-
Antworten: öffnet ein Fenster zum Schreiben einer
neuen Nachricht an den Absender einer ausgewählten Nachricht.
-
E-Mail-Schreiben-Fenster
-
Ein Zugriff auf das E-Mail-Schreiben-Fenster wird
durch Klicken auf den Schreiben-, Weiterleiten-, Antworten- oder
Bearbeiten-Button erlangt oder durch Klicken auf einen "Mail-to-Hot-Link" in einer angezeigten
Nachricht. "Schreiben" beginnt eine neue Nachricht, "Weiterleiten" wird zum Sender
einer zuvor empfangenen Nachricht an einen anderen Empfänger verwendet, "Antworten" dient zur Beantwortung
einer Nachricht und "Bearbeiten" ermöglicht das Ändern einer
Nachricht, die noch nicht versendet wurde. Der E-Mail-Dienst ermöglicht es
einem Benutzer, mehrere Nachrichten gleichzeitig zu schreiben.
-
Der Text einer Nachricht wird unter
der Verwendung eines verfügbaren
Schreibfensters eingegeben, oder, wenn keines verfügbar ist,
wird ein neues Fenster geöffnet.
Die exakte Form des Eingabebereichs des Schreibe-Fensters hängt von
der Art des Fenstersystems ab, das auf einem bestimmten Client-Computer eingesetzt
wird. Typischerweise kann der Benutzer bei der Eingabe Tastenkombinationen
für Bearbeitungsvorgänge, wie
zum Beispiel Ausschneiden, Einfügen,
Kopieren, Löschen,
rückgängig und
so weiter verwenden.
-
Textteile einer anderen Nachricht
können durch
die Schaltflächen "Nachricht einfügen" oder "Nachricht zitieren" eingefügt werden.
Wenn eine gesamte Nachricht einzufügen ist, sollte der Button "Weiterleiten" verwendet werden.
Die Nachricht wird tatsächlich
erst dann versendet, wenn die "Senden"-Funktion aufgerufen
wird. Während
die Nachricht geschrieben wird, wird sie periodisch durch das E-Mail-System gesichert.
Dadurch kann eine Schreibsitzung, die unter der Verwendung eines
Client-Computers in einem Büro
begonnen wurde, auf leichte Weise zu einem späteren Zeitpunkt unter der Verwendung
eines anderen Computers abgeschlossen werden.
-
Senden: sendet eine Nachricht. Anhänge werden
berücksichtigt,
bevor die Nachricht versendet wird. Der Benutzer wird durch eine
Statusnachricht über
ungültige
Empfänger
benachrichtigt, und das Schreiben der Nachricht kann weitergehen.
Ansonsten wird das Fenster auf den Nur-Lesen-Modus umgeschaltet.
-
Schließen
-
Nachdem eine Nachricht gesendet wurde oder
der "Verwerfen"-Button geklickt
wurde, ersetzt diese Schaltfläche
den "Senden"-Button, wodurch
es einem ermöglicht
wird, das Schreiben-Fenster zu schließen.
-
Verwerfen: Dieser Button wird verwendet, um
die Nachricht wegzuwerfen, die gerade geschrieben wird, und schaltet
das Fenster auf Nur-Lesen um. Ein Benutzer kann dann auf die Schaltflächen "Schließen" oder "Bearbeiten" klicken.
-
Bearbeiten: Nachdem eine Nachricht
erfolgreich gesendet wurde oder wenn der "Verwerfen"-Button geklickt wurde, erscheint diese
Schaltfläche
anstelle der "Verwerfen"-Schaltfläche, um
es einem Benutzer zu ermöglichen,
eine andere Nachricht zu schreiben, die auf der aktuellen Nachricht
beruht.
-
Zeilenumbruch: Diese Funktion wird
verwendet, um die Anzahl von Zeichen in einer Zeile auf 80 zu beschränken, wie
das von manchen E-Mail-Systemen gefordert wird.
-
Nachricht einfügen: ersetzt den ausgewählten Text
durch angezeigten Text aus einer ausgewählten Nachricht.
-
Nachricht zitieren: ersetzt den ausgewählten Text
durch angezeigten Text aus einer ausgewählten Nachricht, so dass jeder
Zeile das Zeichen ">" vorausgeht.
-
Nach einer Beschreibung eines bevorzugten Ausführungsbeispiels
der Erfindung wird es einem Fachmann ersichtlich sein, dass andere
Ausführungsformen,
die erfindungsgemäße Konzept
enthalten, innerhalb des Umfangs der vorliegenden Erfindung verwendet
werden können.