DE69818549T2 - Volltextindizierte Nachrichtenspeicher - Google Patents

Volltextindizierte Nachrichtenspeicher Download PDF

Info

Publication number
DE69818549T2
DE69818549T2 DE69818549T DE69818549T DE69818549T2 DE 69818549 T2 DE69818549 T2 DE 69818549T2 DE 69818549 T DE69818549 T DE 69818549T DE 69818549 T DE69818549 T DE 69818549T DE 69818549 T2 DE69818549 T2 DE 69818549T2
Authority
DE
Germany
Prior art keywords
messages
label
message
index
labels
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 - Fee Related
Application number
DE69818549T
Other languages
English (en)
Other versions
DE69818549D1 (de
Inventor
Andrew D. Los Altos Birrell
Michael Cupertino Schroeder
Edward P. Menlo Park Wobber
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.)
Compaq Computer Corp
Original Assignee
Compaq Computer Corp
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 Compaq Computer Corp filed Critical Compaq Computer Corp
Publication of DE69818549D1 publication Critical patent/DE69818549D1/de
Application granted granted Critical
Publication of DE69818549T2 publication Critical patent/DE69818549T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/319Inverted lists

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

  • 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 111113 über ein Netzwerk 120 mit einem E-Mail-Dienstsystem 200 verbunden, das unten eingehender beschrieben ist.
  • Client-Computer
  • Die Client-Computer 111113 können Workstations, PCs, Laptops, Palmtops, Netzwerkcomputer (NCs) oder ein beliebiges anderes ähnlich konfiguriertes Computersystem sein. Die Clients 111113 können im Eigenbesitz, geliehen oder gemietet sein. Es wird darauf hingewiesen, dass in der Praxis die Clients 111113 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 111112 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 401402 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 403404 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 801803 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 801803 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 111113 ü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 10211021 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, 10201021 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.

Claims (27)

  1. Vorrichtung zum Zugreifen auf und Organisieren von elektronischen Postnachrichten, umfassend – einen ersten Speicher (400), der Postnachrichten speichert; – eine Einrichtung (244) zum Hinzufügen und Entfernen von Postnachrichten zugeordneten Etiketten, die eine Systemeinrichtung zum automatischen Hinzufügen und Entfernen von Etiketten zu bzw. von Postnachrichten durch das System und eine Benutzereinrichtung zum Hinzufügen von Etiketten zu und zum Entfernen von Etiketten von Postnachrichten gemäß Benutzerbefehlen aufweist; – einen zweiten Speicher, der einen Volltextindex (500, 600) der im ersten Speicher gespeicherten Postnachrichten speichert, und zum Speichern eines Etikettenindexes (650), der den Etiketten zugeordnete Postnachrichten benennt; – eine Einrichtung zum Aktualisieren des Volltextindexes (500, 600) und des Etikettenindexes (650), wenn dem ersten Speicher Nachrichten hinzugefügt werden, und eine Einrichtung zum Aktualisieren des Etikettenindexes, wenn Etiketten den Nachrichten hinzugefügt oder von den Nachrichten entfernt werden; – eine Einrichtung (250) zum Zugreifen auf die Postnachrichten unter Verwendung auf Client-Rechnern (111113) abgefasster Abfragen, die über ein Netzwerk (120) mit dem ersten und dem zweiten Speicher verbunden sind, wobei die Abfragen den Volltextindex (500) und den Etikettenindex durchsuchen, um die Abfragen erfüllende Postnachrichten zu lokalisieren, wobei die die Abfragen erfüllenden Postnachrichten Nachrichten enthalten, die im ersten Speicher (400) gespeichert werden, bevor mindestens eine Teilmenge der Abfragen auf den Client-Rechnern (111113 ) abgefasst wird; – eine Einrichtung (245) zum Senden der lokalisierten Postnachrichten über das Netzwerk an die Client-Rechner.
  2. Vorrichtung nach Anspruch 1, bei der der Volltextindex (500, 600) eine Menge von Einträgen für einzelne Wörter in den Postnachrichten umfasst, wobei jeder Eintrag Orte des entsprechenden Worts in den Postnachrichten angibt.
  3. Vorrichtung nach Anspruch 1, bei der der Volltextindex (500, 600) eine Menge von Einträgen für einzelne Wörter in den Postnachrichten umfasst, wobei jeder Eintrag Postnachrichten angibt, in denen das entsprechende Wort lokalisiert wird.
  4. Vorrichtung nach Anspruch 1, Anspruch 2 oder Anspruch 3, bei der der Etikettenindex (650) eine Menge von Einträgen für einzelne Etiketten in den Postnachrichten umfasst, wobei jeder Eintrag Postnachrichten angibt, denen das entsprechende Etikett hinzugefügt wurde.
  5. Vorrichtung nach einem der Ansprüche 1 bis 4, die eine Einrichtung aufweist zum Aufrechterhalten eines Etikettenzustands für jeden aus mehreren Benutzern, wobei jeder Etikettenzustand alle aktiven Etiketten repräsentiert, die einem entsprechenden Benutzer aus den mehreren Benutzern zugeordnet sind.
  6. Vorrichtung nach einem der Ansprüche 1 bis 5, bei der die Einrichtung zum Hinzufügen und Entfernen von Etiketten die Postnachrichten unverändert lässt und die Information im Etikettenindex speichert, die einer Postnachricht zugeordnete Etiketten betrifft.
  7. Vorrichtung nach Anspruch 1, bei der jede Postnachricht (700) einen Kopfbereich (701) und einen Textkörper (702) aufweist, und die weiter eine Einrichtung (250) zum Parsen des Kopfbereichs und des Textkörpers in Wörter (510), eine Einrichtung (520) zum Zuordnen eines eindeutigen Orts zu jedem geparsten Wort und zum Speichern der Wörter und ihrer zugeordneten eindeutigen Orte im zweiten Speicher als den Volltextindex aufweist.
  8. Vorrichtung nach Anspruch 7, bei der die Wörter und ihre zugeordneten Orte erstens gemäß einer Sortierreihenfolge der Wörter und zweitens gemäß einer Sortierreihenfolge der eindeutigen Orte gespeichert werden.
  9. Vorrichtung nach Anspruch 1, bei der der erste Speicher (400) in mehrere Dateien (420) partitioniert ist und jede Postnachricht durch eine Nachrichtenidentifikation (410) eindeutig identifiziert wird.
  10. Vorrichtung nach Anspruch 9, bei der die eindeutige Nachrichtenidentifikation (410) eine Dateiidentifikation (411), die eine der mehreren Dateien identifiziert, und eine Nachrichtennummer (412) enthält.
  11. Vorrichtung nach Anspruch 9, weiter mit einer Einrichtung zum Zusammenführen einer Etiketten-Journaldatei (440) mit den mehreren Dateien (420).
  12. Vorrichtung nach Anspruch 7, bei der die Nachrichten gemäß vorbestimmter Wort-Trennzeichen (530) in Wörter geparst werden.
  13. Verfahren zum Zugreifen auf und Organisieren von elektronischen Postnachrichten, mit den folgenden Schritten: – Speichern von Postnachrichten in einem ersten Speicher (400); – Speichern eines Volltextindexes (500, 600) der Postnachrichten in einem zweiten Speicher; – Hinzufügen und Entfernen von Etiketten, die Postnachrichten zugeordnet sind, und Speichern der Etiketten und den Etiketten zugeordneter Orte in einem dritten Speicher (400), einschließlich des automatischen Hinzufügens zu und Entfernens von Etiketten von Postnachrichten durch das System und Hinzufügen und Entfernen von Etiketten zu bzw. von Postnachrichten gemäß Benutzerbefehlen; – Speichern eines Etikettenindexes (650), der den Etiketten zugeordnete Postnachrichten benennt; – Aktualisieren des Volltextindexes (500, 600) und des Etikettenindexes (650), wenn dem ersten Speicher Nachrichten hinzugefügt werden; – Aktualisieren des Etikettenindexes, wenn Nachrichten Etiketten hinzugefügt oder von diesen entfernt werden; – Zugreifen auf Postnachrichten unter der Verwendung auf Client-Rechnern (111113) abgefasster Abfragen, die mit dem ersten und dem zweiten Speicher durch ein Netzwerk (120) verbunden sind, wobei die Abfragen den Volltextindex (500) und den Etikettenindex durchsuchen, um die Abfragen erfüllende Nachrichten zu lokalisieren, wobei die die Abfragen erfüllenden Postnachrichten Nachrichten enthalten, die im ersten Speicher (400) gespeichert werden, bevor mindestens eine Teilmenge der Abfragen auf den Client-Rechnern (111113 ) abgefasst wird; und – Senden der lokalisierten Postnachrichten über das Netzwerk an die Client-Rechner.
  14. Verfahren nach Anspruch 13, bei dem der Volltextindex (500, 600) eine Menge von Einträgen für einzelne Wörter in den Postnachrichten umfasst, wobei jeder Eintrag Orte des entsprechenden Worts in den Postnachrichten angibt.
  15. Verfahren nach Anspruch 13, bei dem der Volltextindex (500, 600) eine Menge von Einträgen für einzelne Wörter in den Postnachrichten umfasst, wobei jeder Eintrag Postnachrichten angibt, in denen das entsprechende Wort lokalisiert wird.
  16. Verfahren nach einem der Ansprüche 13 bis 15, bei dem der Etikettenindex (650) eine Menge von Einträgen für einzelne Etiketten in den Postnachrichten umfasst, wobei jeder Eintrag Postnachrichten angibt, denen ein Etikett hinzugefügt wurde, das dem Etikettenindexeintrag entspricht.
  17. Verfahren nach einem der Ansprüche 13 bis 16, weiter mit dem Schritt des Aufrechterhaltens eines Etikettenzustands für jeden aus mehreren Benutzern, wobei jeder Etikettenzustand alle aktiven Etiketten repräsentiert, die einem entsprechenden Benutzer aus den mehreren Benutzern zugeordnet sind.
  18. Verfahren nach einem der Ansprüche 13 bis 17, bei dem das Hinzufügen und Entfernen den Nachrichten zugeordneter Etiketten die Nachrichten unverändert lässt und die Information im Etikettenindex speichert, die einer Nachricht zugeordnete Etiketten betrifft.
  19. Verfahren nach Anspruch 16 oder Anspruch 18, bei dem jeder Eintrag des Etikettenindexes Orte in einer oder mehreren Postnachrichten angibt, denen ein Etikett hinzugefügt wurde, das dem Etikettenindexeintrag entspricht.
  20. Verfahren nach Anspruch 13, weiter mit den Schritten des Partitionierens des ersten Speichers (400) in mehrere Dateien (420), und des eindeutigen Identifizierens jeder Postnachricht durch eine Nachrichtenidentifikation (410).
  21. Verfahren nach Anspruch 20, bei dem die eindeutige Nachrichtenidentifikation (410) eine Dateiidentifikation (411), die eine der mehreren Dateien identifiziert, und eine Nachrichtennummer (412) enthält.
  22. Verfahren nach Anspruch 20, weiter mit dem Schritt des Zusammenführens einer Etiketten-Journaldatei (440) mit den mehreren Dateien (420).
  23. Verfahren nach Anspruch 13, bei dem jede Postnachricht (700) einen Kopfbereich (701) und einen Textkörper (702) aufweist, und das weiter die Schritte des Parsens des Kopfbereichs und des Textkörpers in Wörter (510), des Zuordnens eines eindeutigen Orts zu jedem geparsten Wort und des Speicherns der Wörter und ihrer zugeordneten eindeutigen Orte im zweiten Speicher als den Volltextindex aufweist.
  24. Verfahren nach Anspruch 23, weiter mit dem Schritt des Speicherns der Wörter und ihrer zugeordneten Orte erstens gemäß einer Sortierreihenfolge der Wörter und zweitens gemäß einer Sortierreihenfolge der eindeutigen Orte.
  25. Verfahren nach Anspruch 23, weiter mit dem Schritt des Parsens der Nachrichten in Wörter gemäß vorbestimmter Wort-Trennzeichen (530).
  26. Computerprogrammprodukt, das ein computerlesbares Medium umfasst, auf dem eine Computerprogrammcodeeinrichtung ist, die dazu ausgelegt ist, wenn das Programm in einen Computer geladen wird, den Computer dazu zu veranlassen, das Verfahren eines der Ansprüche 13 bis 25 auszuführen.
  27. Computerprogramm, das durch elektronische Datenübertragung vertreibbar ist, umfassend eine Computerprogrammcodeeinrichtung ist, die dazu ausgelegt ist, wenn das Programm in einen Computer geladen wird, den Computer dazu zu veranlassen, das Verfahren eines der Ansprüche 13 bis 25 auszuführen.
DE69818549T 1997-06-16 1998-06-15 Volltextindizierte Nachrichtenspeicher Expired - Fee Related DE69818549T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US87660997A 1997-06-16 1997-06-16
US876609 1997-06-16

Publications (2)

Publication Number Publication Date
DE69818549D1 DE69818549D1 (de) 2003-11-06
DE69818549T2 true DE69818549T2 (de) 2004-08-05

Family

ID=25368143

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69818549T Expired - Fee Related DE69818549T2 (de) 1997-06-16 1998-06-15 Volltextindizierte Nachrichtenspeicher

Country Status (4)

Country Link
EP (1) EP0886227B1 (de)
JP (1) JPH1115759A (de)
CA (1) CA2240556A1 (de)
DE (1) DE69818549T2 (de)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6023723A (en) * 1997-12-22 2000-02-08 Accepted Marketing, Inc. Method and system for filtering unwanted junk e-mail utilizing a plurality of filtering mechanisms
FI111483B (fi) * 1999-02-12 2003-07-31 Alma Media Oyj Mekanismi sähköisen tekstihaun tukemiseksi
SE9902462L (sv) 1999-06-28 2000-11-06 Ericsson Telefon Ab L M Metod och anordning i ett telekommunikationssystem
US7453991B1 (en) 1999-12-08 2008-11-18 At&T Corp. Method and apparatus for voice mail notes
CA2323538A1 (en) * 1999-12-08 2001-06-08 At&T Corp. System and method for gisting, browsing and searching voicemail using automatic speech recognition
US6714982B1 (en) 2000-01-19 2004-03-30 Fmr Corp. Message passing over secure connections using a network server
US6745197B2 (en) * 2001-03-19 2004-06-01 Preston Gates Ellis Llp System and method for efficiently processing messages stored in multiple message stores
US6820081B1 (en) * 2001-03-19 2004-11-16 Attenex Corporation System and method for evaluating a structured message store for message redundancy
GB2375850A (en) * 2001-05-23 2002-11-27 Avraam Avramides System and method of providing end-user with control of filtering electronic mail prior to download from the internet service provider
US6888548B1 (en) 2001-08-31 2005-05-03 Attenex Corporation System and method for generating a visualized data representation preserving independent variable geometric relationships
US6778995B1 (en) 2001-08-31 2004-08-17 Attenex Corporation System and method for efficiently generating cluster groupings in a multi-dimensional concept space
US6978274B1 (en) 2001-08-31 2005-12-20 Attenex Corporation System and method for dynamically evaluating latent concepts in unstructured documents
US7271804B2 (en) 2002-02-25 2007-09-18 Attenex Corporation System and method for arranging concept clusters in thematic relationships in a two-dimensional visual display area
US6973654B1 (en) 2003-05-27 2005-12-06 Microsoft Corporation Systems and methods for the repartitioning of data
US7610313B2 (en) 2003-07-25 2009-10-27 Attenex Corporation System and method for performing efficient document scoring and clustering
US7191175B2 (en) 2004-02-13 2007-03-13 Attenex Corporation System and method for arranging concept clusters in thematic neighborhood relationships in a two-dimensional visual display space
FR2870023B1 (fr) * 2004-03-23 2007-02-23 Alain Nicolas Piaton Procede de recherche d'informations, moteur de recherche et microprocesseur pour la mise en oeuvre du procede
FR2874719B1 (fr) * 2004-09-02 2006-12-29 Alain Nicolas Piaton Procede de recherche et d'affichage de la recherche parmi les documents texte stockes dans les ordinateurs
US7356777B2 (en) 2005-01-26 2008-04-08 Attenex Corporation System and method for providing a dynamic user interface for a dense three-dimensional scene
US7404151B2 (en) 2005-01-26 2008-07-22 Attenex Corporation System and method for providing a dynamic user interface for a dense three-dimensional scene
US20060294116A1 (en) * 2005-06-23 2006-12-28 Hay Michael C Search system that returns query results as files in a file system
US7698258B2 (en) 2006-06-02 2010-04-13 Microsoft Corporation Searchable storage system
US7739220B2 (en) 2007-02-27 2010-06-15 Microsoft Corporation Context snippet generation for book search system
US8515957B2 (en) 2009-07-28 2013-08-20 Fti Consulting, Inc. System and method for displaying relationships between electronically stored information to provide classification suggestions via injection
EP2471009A1 (de) 2009-08-24 2012-07-04 FTI Technology LLC Herstellung einer referenzeinheit für dokumentüberprüfungen
GB2520936A (en) 2013-12-03 2015-06-10 Ibm Method and system for performing search queries using and building a block-level index
WO2017210618A1 (en) 2016-06-02 2017-12-07 Fti Consulting, Inc. Analyzing clusters of coded documents

Also Published As

Publication number Publication date
EP0886227A1 (de) 1998-12-23
DE69818549D1 (de) 2003-11-06
CA2240556A1 (en) 1998-12-16
JPH1115759A (ja) 1999-01-22
EP0886227B1 (de) 2003-10-01

Similar Documents

Publication Publication Date Title
DE69818549T2 (de) Volltextindizierte Nachrichtenspeicher
US6718321B2 (en) Web-based electronic mail server apparatus and method using full text and label indexing
US6029164A (en) Method and apparatus for organizing and accessing electronic mail messages using labels and full text and label indexing
US6189026B1 (en) Technique for dynamically generating an address book in a distributed electronic mail system
US6009462A (en) Replacing large bit component of electronic mail (e-mail) message with hot-link in distributed computer system
US6092101A (en) Method for filtering mail messages for a plurality of client computers connected to a mail service system
DE69729926T2 (de) Netzwerkbrowser
DE10003907B4 (de) Verfahren, Vorrichtung und Datenverarbeitungsprogramm für die Anwendung beim Zugriff auf Hypertext-Dokumente
DE60021574T2 (de) Gerät und verfahren zur interpretation und intelligenten verwaltung von elektronischen nachrichten
DE60008023T2 (de) Kommunikationsvorrichtung zum effizienten zugang zu daten aus dem internet
DE60015821T2 (de) System zur Verwaltung von Benutzercharakterisierenden Protokollkopfteilen
DE69931256T2 (de) Verfahren und system zum zurückholen einer elektronischen akte
DE60016772T2 (de) Verfahren und system für die publikation und revision von hierarchisch organisierten sätzen von statischen intranet- und internet-seiten
DE69834640T2 (de) System und Verfahren zur Synchronisierung elektronischer Nachrichten über ein Netzwerk
DE69735950T2 (de) Automatische diensteinstellung für computersystembenutzer
US9576269B2 (en) Document management systems and methods
DE60038707T2 (de) Internet-Schnittstellensystem
DE69724356T2 (de) Verfahren und Apparat für die Darstellung von Information im Bezug auf jeden einzelnen von mehreren Hyperlinks
DE60003278T2 (de) Hierarchische Auflösung von Adressen in einem Datennetzwerk
DE69636869T2 (de) Server mit automatischer Menüladefunktion
US20030074354A1 (en) Web-based system and method for managing legal information
DE19919146A1 (de) Hochleistungs-Nachrichtenspeicher
WO2001093655A2 (en) Method and apparatus for managing documents in a centralized document repository system
DE60306209T2 (de) Verfahren, mobile vorrichtungen und rechnerlesbare media zur datenverwaltung
DE19809231A1 (de) System für verbesserte Diskussionstechnologien

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee