DE10003907B4 - Verfahren, Vorrichtung und Datenverarbeitungsprogramm für die Anwendung beim Zugriff auf Hypertext-Dokumente - Google Patents

Verfahren, Vorrichtung und Datenverarbeitungsprogramm für die Anwendung beim Zugriff auf Hypertext-Dokumente Download PDF

Info

Publication number
DE10003907B4
DE10003907B4 DE10003907A DE10003907A DE10003907B4 DE 10003907 B4 DE10003907 B4 DE 10003907B4 DE 10003907 A DE10003907 A DE 10003907A DE 10003907 A DE10003907 A DE 10003907A DE 10003907 B4 DE10003907 B4 DE 10003907B4
Authority
DE
Germany
Prior art keywords
user
hypertext document
hypertext
list
users
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE10003907A
Other languages
English (en)
Other versions
DE10003907A1 (de
Inventor
Cary Lee Rochester Bates
Jeffrey Michael Byron Ryan
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE10003907A1 publication Critical patent/DE10003907A1/de
Application granted granted Critical
Publication of DE10003907B4 publication Critical patent/DE10003907B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Verfahren für die Bereitstellung von Zugriff auf Hypertext-Dokumente in einer Mehrbenutzer-Computerumgebung, wobei das Verfahren umfasst:
a) die automatische Verfolgung von Zugriffen auf eine Vielzahl von vorher vorhandenen Hypertext-Dokumenten durch eine Vielzahl von Nutzern;
wobei ein Zugriff eine Adresse des angeforderten Hypertext-Dokuments und einen Nutzerkennsatz des anfordernden Nutzers enthält und der Nutzerkennsatz den anfordernden Nutzer identifiziert; und
wobei ein Zugriff in der Weise verfolgt wird, dass die Adresse des angeforderten Hypertext-Dokuments mit den Nutzerkennsatz des anfordernden Nutzers in einer Tabelle assoziiert wird;
b) die automatische Benachrichtigung eines ersten Nutzers, der gegenwärtig auf eines aus der Vielzahl vorher vorhandenen Hypertext-Dokumente zugreift, über die Identität eines zweiten Nutzers, der dem Zugriff des ersten Nutzers vorhergehend bereits auf das gleiche Hypertext-Dokument zugreift, wobei die Identität des zweiten Nutzers dadurch bestimmt wird,
dass aus dem Zugriff des ersten Nutzers die Adresse des Hypertext-Dokuments ermittelt wird; und
dass mittels der...

Description

  • Die Erfindung bezieht sich im Allgemeinen auf Computer und Computersoftware. Spezieller bezieht sich die Erfindung generell auf ein Verfahren, Vorrichtung und Datenverarbeitungsprogramm zur Anzeige von Hypertext-Dokumenten und die Navigation zwischen ihnen mit Browser-Computerprogrammen und dergleichen.
  • Hintergrund der Erfindung
  • Auf Grund von Fortschritten in der Computer- und Netzwerk-Technologie wächst die Menge und die Vielfalt an Informationen, auf die mit einem Computer zugegriffen werden kann, weiterhin mit einer verblüffenden Geschwindigkeit. Insbesondere das Internet hat Computernutzer in die Lage versetzt, auf eine große Vielfalt von Informationen auf Computern zuzugreifen, die sich in aller Welt befinden.
  • In dem Maße, wie mehr und mehr Computernutzer mit Netzwerken wie dem Internet verbunden sind, zeigte sich eine überwältigende gesellschaftliche Verschiebung. Auch wenn Computernutzer in unterschiedlichen Städten oder Staaten oder selbst auf unterschiedlichen Kontinenten physisch voneinander getrennt sind, können sie jetzt miteinander verbunden werden, um eine wirklich globale Gemeinschaft zu bilden, die üblicherweise als "Cyberspace" bezeichnet wird. Innerhalb einer solchen Gemeinschaft haben Nutzer ein Bedürfnis, miteinander zu kommunizieren, und dieser Wunsch nach Dialog (interaction) ist eine der überwiegenden Kräfte gewesen, die das Wachstum des Internet antrieben.
  • Den Nutzern steht eine Anzahl von Technologien zur Verfügung, um miteinander über ein Netzwerk zu kommunizieren. Elektronische Übertragung von Nachrichten, auch als "Email" bezeichnet, ermöglicht Nutzern, einander Nachrichten zu senden in ganz ähnlicher Weise, wie man Briefe auf Papier mit dem normalen Postdienst an eine andere Person schicken würde. Elektronische "Schwarze Bretter" (bulletin boards) erlauben es den Nutzern, Nachrichten einzugeben, die von jedem gelesen werden können, der Zugriff auf diese Bretter hat. Echtzeit-Diskussionsforen, auch als "Plauderräume" (chat rooms) bezeichnet, erweitern die Konzepte elektronischer Schwarzer Bretter, um es Nutzern zu ermöglichen, von anderen Nutzern gesendete Nachrichten in Echtzeit zu sehen, d.h. während diese Nachrichten getippt werden. Groupware-Systeme erlauben es den Nutzern, Informationen gemeinsam zu benutzen und als eine Gruppe für weitere gemeinsame Ziele zusammenzuarbeiten, d.h. Nutzern zu ermöglichen, Dokumente gemeinsam zu erstellen und Kommentare zu diesen Dokumenten gemeinsam zu verwenden.
  • Im Unterschied zu den oben beschriebenen, auf dem Netzwerk beruhenden Werkzeugen bieten herkömmliche Web-Browser vergleichsweise wenig Dialog zwischen den Nutzern. Web-Browser werden typischerweise benutzt, um auf Informationen zuzugreifen und Informationen zu sehen, die in einem Teil des Internets gespeichert sind, der als das "World Wide Web" bezeichnet wird. Solche Informationen werden typischerweise im World Wide Web in Form von Hypertext-Dokumenten gespeichert, die typischerweise Sammlungen von Informationen sind, die in einer Sprache formatiert sind, die als Hypertext Markup Language (HTML) bekannt ist. Auf Grund der immensen Popularität des World Wide Web speichern auch viele private Netzwerke Informationen in der Form von Hypertext-Dokumenten.
  • Praktisch jede beliebige Information kann in einem Hypertext- Dokument dargestellt werden, gleichgültig, ob sie als Text, graphisch, als Video, akustisch, als Animation usw. dargestellt ist. Wenn man jedoch die unermesslichen Ressourcen ansieht, die im Internet und innerhalb privater Netzwerke verfügbar sind, dann ist es oft für Nutzer von Web-Browsern schwierig, nützliche Hypertext-Dokumente und somit nützliche Informationen ohne nennenswerte Anstrengungen auszumachen. Nach einiger Zeit kann ein Nutzer schließlich eine gewisse Erfahrung beim Auffinden von Informationen zu einem bestimmten Thema gewinnen; aber immer wenn ein Nutzer zum ersten Mal versucht, Informationen zu einem neuen Thema zu lokalisieren, muss er oft eine übermäßige Menge nicht verwandter und nutzloser Informationen aussondern, bevor möglicherweise nützliche Informationen gefunden werden.
  • Andere Nutzer können ähnliche Mittel für die Entwicklung von Erfahrung zu einem bestimmten Gebiet aufgewendet werden, und es könnte für neue Nutzer außerordentlich hilfreich sein, wenn sie von den vergangenen Bemühungen dieser anderen Nutzer profitieren könnten, um die Entwicklung ihrer eigenen Erfahrung auf diesem Gebiet zu beschleunigen. Mit konventionellen Web-Browsern werden jedoch wenige oder keine Möglichkeiten der Zusammenarbeit unterstützt, die es Nutzern erlauben, Ressourcen gemeinsam so zu benutzen wie andere auf dem Netzwerk beruhende Werkzeuge zur Zusammenarbeit.
  • Unternehmungslustigere Personen entwickeln wahrscheinlich ihre eigenen persönlichen Websites, wenn sie an einem bestimmten Thema interessiert sind, und beziehen vielleicht eine Liste "heißer Verbindungen" (hot link) ein, die auf verwandte Hypertext-Dokumente zeigen, die eventuell nützliche Informationen zu diesem Gegenstand enthalten. Andere Nutzer müssen jedoch erst wissen, wo sich die Website dieses Nutzers befindet, um auf die heißen Verbindungen zuzugreifen. Damit die Website nicht an Wert verliert, muss ihr Eigentümer die Initiative ergreifen, sie zu entwickeln und ständig zeitlich zu aktualisieren, um neue nützliche Informationen einzubringen.
  • Eine andere Form der Zusammenarbeit, die für Nutzer von Web-Browsern verfügbar ist, ist auf HTML beruhende Unterhaltung (HTML-based chat). Ähnlich zu nicht auf HTML beruhenden Unterhaltungssystemen erlauben es auf HTML beruhende Unterhaltungssysteme den Nutzern, an stattfindenden On-line-Diskussionen in Echtzeit teilzunehmen. Ein auf HTML beruhendes Unterhaltungssystem unterscheidet sich jedoch von nicht auf HTML beruhenden Unterhaltungssystemen dadurch, dass das System Skripte der Unterhaltungssitzung als HTML-Dokumente erzeugt und überträgt, was es demzufolge den Nutzern erlaubt, auf die Skripte über einen Web-Browser anstatt mit anderer spezieller Software zuzugreifen. Mit einem solchen System sind die Nutzer typischerweise imstande, an Unterhaltungsdiskussionen (chat discussions) teilzunehmen, und es ist ihnen oft erlaubt, Profilinformationen über andere teilnehmende Nutzer, zum Beispiel ihre Lieblingsverbindungen (favorite links), Homepages, persönliche Informationen usw. abzurufen.
  • Das Ansehen von Skripts von auf HTML beruhenden Unterhaltungssystemen ist jedoch dem Suchen im Web nicht besonders ähnlich, da der Inhalt der angezeigten Skripts von den Teilnehmern der Unterhaltung und nicht von einem Hypertext-Dokument des Autors diktiert wird.
  • Ähnlich verhält es sich auch bei der so genannten Blaxxun-Technik (Blaxxun CCpro. In: c't 12/1998 S.119), die ein Plug-in für herkömmliche Browser wie Internet Explorer und Netscape Navigator darstellt. Dabei wird auf entsprechenden Web-Seiten gezeigt, was andere Nutzer der Web-Seite unternehmen. Es wird jedoch nicht gesagt, wie die Zugriffe auf die Webseite kontrolliert und für andere Benutzer transparent gemacht werden. Ausserdem werden die Benutzer nicht über die Existenz anderen Benutzers benachrichtigt.
  • Eine weitere Form der Kommunikation im Internet ist die ICQ-Technik (ICQ Panels Generation). Dabei handelt es sich vorrangig um einen Weg zur Kommunikation in Echtzeit mit Besuchern auf einer eigenen Web-Seite und nicht um eine Suchhilfe durch Verbindungen mit anderen Nutzern auf einer fremden Web-Seite. Die Sicht ist also darin die des Besitzers der Webseite, der sich dafür interessiert, wer seine eigenen Webseite wie benutzt. Zwar werden auch Listen von Benutzern der Web-Seite bei einem „ICQ Communication Panel" auf der Seite angegeben, doch wird diese Angabe vom jeweiligen Nutzer oder dem Web-Seiten-Inhaber selbst beeinflusst bzw. diktiert. Die Adresse des jeweiligen Nutzers wird nicht schon beim Aufsuchen der fremden Web-Seite in die Liste als Information für andere Nutzer aufgenommen. Somit ist auch diese Technik für die Suche nach Informationen im Internet nicht ausreichend informativ.
  • Zwar gibt es eine automatische Speicherung von URLs (Uniform Resource Locator (gesamte Adresse einer Internet-Seite) ohne Inhaltsangaben durch den Nutzer. Doch diese Technik wird in ganz anderen Bereichen als in der Nutzererkennung für Web-Seiten eingesetzt. So wird in der US-Patentschrift US 5764908 A ein URL-cache bei der Anwendung einer neuen, nicht hierarchischen, sondern auf Gleichberechtigung der Programmmmodule (Cells) basierenden Programmarchitektur benutzt. Dieser URL-cache dient zum Anrufen von Parameter-Files im Netzwerk durch die Programmmodule (cells) bei Ausführung eines Programms.
  • Auch sind Skripts von Unterhaltungen dynamisch und zeitlich veränderlich und sind nicht schon vorher vorhanden und statisch wie viele Hypertext-Dokumente. Weiterhin modifiziert bereits das einfache Ansehen des Skripts einer Unterhaltung das Skript, das Hinzufügen oder Entfernen eines Betrachters des Unterhaltungsskripts typischerweise im Text des Skripts widergespiegelt wird. Darüber hinaus fordern On-line-Unterhaltungssysteme typischerweise, dass sowohl die Unterhaltungsverwaltung als auch die Erzeugungs- und Übertragungs-Funktionen des Dokumentes stark in einer einzigen Anwendung integriert werden, was solche Systeme für das Ansehen von Hypertext-Dokumenten, die über verschiedene Stellen im Internet verteilt sind, ungeeignet macht.
  • Infolgedessen bleibt das Suchen im Web bis heute mehr oder weniger eine einsame Aktivität, im wesentlichen frei von dem Dialogverkehr, der von anderen auf dem Netzwerk beruhenden Anwendungen unterstützt wird. Während es konventionelle, auf dem Netzwerk beruhende Anwendungen den Nutzern erlauben, Ideen gemeinsam zu benutzen und zusammenzuarbeiten, werden Nutzer von Web-Browsern allein gelassen, sich durch all die Ressourcen im Internet zu plagen, die möglicherweise nützliche Informationen enthalten. Wenn man das immer vorhandene Verlangen nach mehr Nutzerdialog im Cyberspace berücksichtigt, dann begrenzt das Fehlen von Dialogbetrieb, der durch konventionelle Web-Browser unterstützt wird, oft wesentlich das Vergnügen und die Produktivität des Nutzers.
  • Deshalb ergibt sich die Aufgabe, ein Verfahren, eine Vorrichtung und ein Datenverarbeitungsprogramm bereitzustellen, durch das beim Suchen im Web das wissen um die Benutzung bestimmter Web-Seiten durch andere Nutzern und der Kontakt mit diesen automatisch ermöglicht wird, wobei dieses Verfahren von konventionellen Web-Browsern unterstützt werden soll.
  • Zusammenfassung der Erfindung
  • Die Erfindung widmet sich diesen und anderen Problemen, die mit dem Stand der Technik zusammenhängen, indem sie eine Vorrichtung, ein Programmerzeugnis und ein Verfahren bereit stellt, die verfolgen, wo bestimmte Nutzer in einer Mehrbenutzer-Computerumgebung suchen und solche Informationen einem oder mehreren Nutzern innerhalb der Umgebung zur Verfügung stellen. Beispielsweise kann in gewissen Ausführungsformen der Dialog zwischen Nutzern unterstützt werden, um das dynamische Auffinden und Abrufen nützlicher Informationen zu erleichtern, beispielsweise, indem Nutzern erlaubt wird, auf Listen von Lieblingsdokumenten, Homepages, Navigationsaufzeichnungen usw. von anderen Nutzern während der Suche zuzugreifen. Gewisse Ausführungsformen können auch den Nutzerdialog verbessern, indem Nutzern erlaubt wird, während des Suchens direkt miteinander zu kommunizieren, z.B. durch elektronische Nachrichten, Echtzeitdiskussionen usw. Auf diese Weise kann die Suche im Web von einer relativ isolierten Aktivität zu einem mehr interaktiven Forum gemacht werden, durch das die Nutzer miteinander zusammenarbeiten und auf der Erfahrung aufbauen können, die andere entwickelt haben, um die gewünschten Informationen zu einem bestimmten Gebiet aufzufinden.
  • In Übereinstimmung mit einem Aspekt der Erfindung wird Zugang zu Hypertext-Dokumenten in einer Mehrbenutzer-Computerumgebung bereitgestellt, indem Zugriffe auf wenigstens ein Hypertext-Dokument durch eine Vielzahl von Nutzern verfolgt werden, worunter sich ein erster Nutzer und ein zweiter Nutzer befinden, und der erste Nutzer von der Identität des zweiten Nutzers unterrichtet wird. In Übereinstimmung mit einem weiteren Aspekt der Erfindung wird Zugang zu Hypertext-Dokumenten in einer Mehrbenutzer-Computerumgebung bereitgestellt, indem verfolgt wird, welches Dokument aus einer Vielzahl von Hypertext-Dokumenten ein erster Nutzer gerade anschaut, und einem zweiten Nutzer eine Kopie des Hypertext-Dokumentes übermittelt wird, das gerade von dem ersten Nutzer angeschaut wird.
  • Diese und andere Vorteile und Merkmale, die die Erfindung kennzeichnen, werden in den hier angefügten Ansprüchen dargestellt und bilden einen weiteren Teil hiervon. Für ein besseres Verständnis der Erfindung und der durch ihre Anwendung erreichten Vorteile und Ziele sollte jedoch Bezug genommen werden auf die Zeichnungen und den begleitenden beschreibenden Text, in dem beispielhafte Ausführungsformen der Erfindung beschrieben werden.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Blockdiagramm eines vernetzten Computersystems in Übereinstimmung mit der Erfindung.
  • 2 ist ein Blockschaltbild einer beispielhaften Hardware- und Software-Umgebung für das vernetzte Computersystem von 1.
  • 3 ist ein Blockdiagramm der Datenstruktur der aktiven Tabelle, die in dem Client-Computer von 2 benutzt wird.
  • 4A und 4B sind Flussbilder, die den Programmablauf einer Hauptroutine für den Browser von 2 zeigen.
  • 5A und 5B sind Flussbilder, die jeweils die Programmabläufe der Routinen 'Verarbeite Nutzeroperation' und "Verarbeite Lieblingsverbindung der Seite" von 4B darstellen
  • 6 ist ein Flussbild, das den Programmablauf des Anfragemoduls von 2 darstellt.
  • 7 ist ein Flussbild, das den Programmablauf einer Hauptroutine für den Sitzungsserver von 2 darstellt.
  • 8 ist ein Flussbild, das den Programmablauf einer Hauptroutine für den Webserver von 2 darstellt.
  • 9 ist ein Flussbild, das den Programmablauf der Routine 'Lade Seite' (get page) von 8 darstellt.
  • 10 ist ein Flussbild, das den Programmablauf der Routine 'Gib Seite frei' (release page) von 8 darstellt.
  • 11 ist eine Darstellung einer beispielhaften Computeranzeige, die die Operation des Browsers von 2 veranschaulicht.
  • 12 ist eine Darstellung einer beispielhaften Dialogbox zur Benutzung bei der Anzeige einer gespeicherten Nutzerliste mit dem Browser von 2.
  • 13 ist ein Flussbild einer Seitenanzeigeroutine, die von dem Browser von 2 ausgeführt wird.
  • 14 ist ein Blockdiagramm einer weiteren beispielhaften Hardware- und Software-Umgebung für das vernetzte Computersystem von 1.
  • Ausführliche Beschreibung
  • Hardware- und Software-Umgebung
  • Wir wenden uns nun den Zeichnungen zu, in denen in den verschiedenen Ansichten gleiche Zahlen gleiche Teile bezeichnen; 1 stellt ein Computersystem 10 in Übereinstimmung mit der Erfindung dar. Das Computersystem 10 ist als ein vernetztes Computersystem dargestellt, das eine Mehrbenutzer-Computerumgebung definiert und einen oder mehrere Client-Computer 12, 14 und 20 enthält (z.B. Desktop-Computer oder PCs, Workstations usw.), die mit dem Server 16 (z.B. ein Server auf einem PC, einem Minicomputer, einem Computer mittlerer Leistung, einem Großrechner (mainframe) usw.) durch ein Netzwerk 18 verbunden sind. Es ist auch ein zusätzlicher Server 16a dargestellt, der eine Schnittstelle zum Server 16 über das Netzwerk 18a besitzt und mit dem ein Client-Computer 12a verbunden ist. Die Netzwerke 18 und 18a können praktisch jede beliebige Art einer vernetzten Verbindung darstellen, darunter (aber nicht darauf begrenzt) Nah- und Fernverkehrsnetze (local- area, wide-area networks), drahtlose und öffentliche Netzwerke (z.B. das Internet). Darüber hinaus kann eine beliebige Anzahl von Computern und anderen Geräten durch die Netzwerke 18, 18a vernetzt sein, z.B. zusätzliche Client-Computer bzw. Server.
  • Der Client-Computer 20, der den Computern 12, 12a und 14 ähneln kann, enthält eine Zentraleinheit (CPU) 21, eine Anzahl von peripheren Komponenten, zum Beispiel eine Computer-Bildschirmeinheit 22, eine Speichereinheit 23, einen Drucker 24 und verschiedene Eingabeeinheiten (z.B. eine Maus 26 und eine Tastatur 27). Die Server-Computer 16, 16a können in ähnlicher Weise konfiguriert sein, wenn auch typischerweise mit größerer Verarbeitungsleistung und Speicherkapazität, wie es im Fachgebiet wohlbekannt ist.
  • 2 veranschaulicht auf andere Art und Weise eine beispielhafte Hardware- und Software-Umgebung für ein vernetztes Computersystem 10, die eine Vorrichtung 28 mit einer Clienteinheit 30, die über ein Netzwerk 48 eine Schnittstelle mit einer Servereinheit 50 besitzt. Für den Zweck der Erfindung kann die Clienteinheit 30 praktisch jede beliebige Art eines Computers, eines Computersystems oder einer anderen programmierbaren elektronischen Einheit sein, die imstande ist, als Client zu arbeiten, darunter ein Desktop-Computer, ein tragbarer Computer, eine eingebettete Steuereinheit usw. In ähnlicher Weise kann die Servereinheit 50 praktisch jede beliebige Art eines Mehrbenutzer- oder Host-Computersystems darstellen. Jede Einheit 28, 30 und 50 kann nachstehend auch als "Computer" oder "Computersystem" bezeichnet werden, obwohl erkannt werden sollte, dass der Begriff "Einheit" auch andere geeignete programmierbare elektronische Einheiten beinhalten könnte, die mit dieser Erfindung übereinstimmen.
  • Der Computer 30 enthält typischerweise wenigstens einen Prozessor 31, der mit einem Speicher 32 verbunden ist, und der Computer 50 enthält in ähnlicher Weise wenigstens einen Prozessor 51, der mit einem Speicher 52 verbunden ist. Jeder Prozessor 31, 51 kann einen oder mehrere Prozessoren darstellen (z.B. Mikroprozessoren), und jeder Speicher 32, 52 kann die Direktzugriffspeichereinheiten (RAM) darstellen, die den Hauptspeicher der entsprechenden Computer 30, 50 umfassen, sowie beliebige ergänzende Speicherebenen, z.B. Cachespeicher, nichtflüchtige (non-volatile) oder Sicherungsspeicher (backup memory) (z.B. programmierbare oder Flash-Speicher, Nur-Lese-Speicher usw.) Zusätzlich kann von jedem Speicher 32, 52 angenommen werden, dass er Speicherbereiche enthält, die sich irgendwo anders in dem jeweiligen Computer 30, 50 befinden, z.B. irgendein Cachespeicher oder irgendeine Speichermöglichkeit, die als ein virtueller Speicher benutzt wird, zum Beispiel in einer Massenspeichereinheit oder einem anderen Computer, der mit dem jeweiligen Computer 30, 50 über ein externes Netzwerk verbunden ist.
  • Jeder Computer 30, 50 weist typischerweise auch eine Anzahl von Eingaben und Ausgaben auf, um Informationen nach außen zu geben. Als Schnittstelle mit einem Nutzer oder Bediener enthält der Computer 30 typischerweise ein oder mehrere Benutzer-Eingabeeinheiten 33 (z.B. eine Tastatur, eine Maus, einen Trackball, einen Steuerknüppel (joystick), ein Touchpad und/oder ein Mikrofon u.a.) sowie eine Anzeigeeinheit 34 (z.B. einen Monitor mit Katodenstrahlröhre, ein LCD-Anzeigefeld und/oder einen Lautsprecher u.a.). In gleicher Weise wird die Nutzerschnittstelle zum Computer 50 typischerweise über ein Terminal (Benutzerstation) behandelt, das mit einer Terminal-Schnittstelle 54 verbunden ist.
  • Als zusätzlichen Speicher kann jeder Computer 30, 50 auch ein oder mehrere Massenspeichereinheiten 36, 56 enthalten, zum Beispiel ein Laufwerk für Disketten oder andere entfernbare Platten, ein Festplatten-Laufwerk, eine Speichereinheit mit direktem Zugriff (DA5D), ein optisches Laufwerk (z.B. ein CD-Laufwerk, ein DVD-Laufwerk usw.) und/oder ein Bandlaufwerk u.a. Weiterhin kann jeder Computer 30, 50 eine Schnittstelle zu einem oder mehreren Netzwerken über eine Netzwerk-Schnittstelle 38, 58 enthalten (z.B. zu einem LAN, einem WAN, einem drahtlosen Netzwerk und/oder dem Internet u.a.), um die Kommunikation von Informationen mit anderen Computern zu erlauben, die mit dem Netzwerk verbunden sind.
  • Der Computer 30 arbeitet unter der Steuerung eines Betriebssystems 40 und führt unterschiedliche Computersoftware-Anwendungen, Komponenten, Programme, Objekte, Module, Datenstrukturen usw. aus oder beruht anderweitig auf ihnen (z.B. ein Browser 41, ein Anfrage-Modul (thread) 42, eine aktive Tabelle 44 und eine gespeicherte Benutzerliste 46). In gleicher Weise arbeitet der Computer 50 unter der Steuerung eines Betriebssystems 60 und führt unterschiedliche Computersoftware-Anwendungen, Komponenten, Programme, Objekte, Module, Datenstrukturen usw. aus oder beruht anderweitig auf ihnen (z.B. Sitzungsserver 62, Webserver 64, aktive Tabelle 66, Sitzungstabelle 68 und Beobachtertabelle 69). Darüber hinaus können verschiedene Anwendungen, Komponenten, Programme, Objekte, Module usw. auch auf einem oder mehreren Prozessoren in einem anderen Computer laufen, der mit einem der Computer 30, 50 verbunden ist, z.B. in einer verteilten oder in einer Client-Server-Computerumgebung.
  • Im Allgemeinen werden die Routinen, die ausgeführt werden, um die Ausführungsformen der Erfindung umzusetzen, gleichgültig ob sie nun als Teil eines Operationssystems oder als eine spezifische Anwendung, eine Komponente, ein Programm, ein Objekt, ein Modul oder eine Folge von Instruktionen realisiert sind, hier als "Computerprogramme" oder einfach als "Programme" bezeichnet. Die Computerprogramme umfassen typischerweise einen oder mehrere Befehle, die sich zu verschiedenen Zeiten in verschiedenen Speichereinheiten in einem Computer befinden und die, wenn sie gelesen und von einem oder mehreren Prozessoren in einem Computer ausgeführt werden, diesen Computer veranlassen, die Schritte auszuführen, die notwendig sind, um Schritte oder Elemente auszuführen, die die verschiedenen Aspekte der Erfindung verkörpern. Obwohl die Erfindung bisher im Kontext voll funktionierender Computer und Computersysteme beschrieben wurde und auch weiterhin beschrieben wird, werden darüber hinaus Fachleute erkennen, dass die verschiedenen Ausführungsformen der Erfindung als ein Programmprodukt in einer Vielzahl von Formen vertrieben werden können und dass die Erfindung ungeachtet der bestimmten Art der signaltragenden Medien, die für den Vertrieb in der Praxis benutzt werden, gleichermaßen anwendbar ist. Beispiele für signaltragende Medien sind u.a. (aber nicht beschränkt auf) Speichermedien, zum Beispiel flüchtige und nichtflüchtige Speichereinheiten, Disketten und andere entfernbare Festplatten, Plattenlaufwerke, optische Platten (z.B. CD-ROMS, DVDs usw.) u.a., und Übertragungsmedien, zum Beispiel digitale und analoge Kommunikationsverbindungen.
  • Zusätzlich können verschiedene nachstehend beschriebene Programme auf der Grundlage der Anwendung gekennzeichnet werden, für die sie in einer speziellen Ausführungsform der Erfindung realisiert werden. Es sollte jedoch erkannt werden, dass irgendeine bestimmte Programmnomenklatur, die folgt, nur der Bequemlichkeit halber benutzt wird, und somit die Erfindung nicht beschränkt werden sollte, nur in einer speziellen Anwendung verwendet zu werden, die durch eine solche Nomenklatur gekennzeichnet bzw. einbezogen wird.
  • Fachleute werden anerkennen, dass die in 1 und 2 veranschaulichten beispielhaften Umgebungen nicht dazu bestimmt sind, die vorliegende Erfindung einzuschränken. Tatsächlich werden Fachleute anerkennen, dass andere alternative Hardware- bzw. Softwareumgebungen benutzt werden können, ohne vom Bereich der Erfindung abzuweichen.
  • Interaktives Suchen
  • Die veranschaulichten Ausführungsformen der Erfindung arbeiten im Allgemeinen so, dass sie verfolgen, wo verschiedene Nutzer in einer Mehrbenutzer-Umgebung gegenwärtig suchen – typischerweise auf der Grundlage des letzten Hypertext-Dokumentes, auf das solche Nutzer zugegriffen haben. In den veranschaulichten Ausführungsformen wird eine solche Verfolgung von einem oder mehreren Sitzungsservern behandelt, die Schnittstellen zu einem oder mehreren Webservern besitzen und typischerweise auf einen oder mehrere Servercomputer verteilt sind, mit denen mehrere zu verfolgende Nutzer verbunden sind. Jeder Nutzer, der Verfolgungsinformationen über andere Nutzer auffinden möchte, kann dies durch Dialog zwischen dem Browser des Nutzers und den Sitzungs- und Webservern, die die Hauptstütze (backbone) der Suche in der Mehrbenutzerumgebung umfassen, bewerkstelligen.
  • Während bei einigen Ausführungen alle Hypertext-Dokumente selbst auf den Webservern gespeichert sein können, die die Hauptstütze für die Suche in der Mehrbenutzer-Umgebung umfassen, ist es oft wünschenswert, dass sich wenigstens ein Teil der Hypertext-Dokumente, die in der Umgebung verfolgt werden, auf anderen Computern befindet, die beispielsweise über das Internet mit einem Webserver verbunden sind. Dies erlaubt es beispielsweise, dass ein Webserver in einem Proxy-Server, einer Firewall oder einem anderen lokalen Server für ein privates Netzwerk realisiert wird, der als eine Verbindung (gateway) zu einem externen Netzwerk wie dem Internet funktioniert, mit dem Status, dass verschiedene Nutzer verfolgt werden, selbst wenn die Nutzer Dokumente anschauen, die außerhalb des privaten Netzwerks gespeichert sind.
  • Um einzelne Nutzer zu verfolgen, ist jedem Nutzer, der verfolgt werden soll, ein Benutzer-Kennsatz (user header) zugeordnet. 3 veranschaulicht zum Beispiel die Organisation einer geeigneten Datenstruktur für die aktive Tabelle 44, die vom Browser eines Nutzers verwendet wird, um Informationen über andere Nutzer zu speichern, die gegenwärtig das gleiche Hypertext-Dokument suchen. Tabelle 44 enthält eine Vielzahl von Einträgen 72, die alle mit einem bestimmten Uniform Resource Locator (URL) gekennzeichnet sind, der ein gegebenes Hypertext-Dokument kennzeichnet. Innerhalb jedes Eintrags 72 ist ein Zeiger zu einer verbundenen Liste von Nutzerkennsätzen 74 gespeichert, die bestimmte Nutzer kennzeichnen, die gegenwärtig das Hypertext-Dokument suchen, das sich bei dem URL befindet, der in dem Eintrag gespeichert ist.
  • Jeder Nutzerkennsatz ist als ein Datensatz ausgeführt, der eine Anzahl von Feldern enthält, die notwendige Informationen über einen bestimmten Benutzer bereitstellen, darunter ein Feld 76 für einen Spitznamen, ein Feld 78 für die Emailadresse, ein Sitzungs-Homeserver 80 (für die Benutzung in einer Mehrbenutzer-Umgebung), ein Feld 82 für lokale TCP/IP-Adresse/Anschluss. Ein Feld 84 für das nächste Element ist auch vorgesehen, um (falls vorhanden) zum nächsten datensatz in der verbundenen Liste zu zeigen. Das Feld 84 für das nächste Element im letzten Datensatz der verbundenen Liste hat typischerweise den Eintrag eines Wertes NULL.
  • Es sollte erkannt werden, dass die anderen Tabellen in der Vorrichtung 28 auch die gleichen Benutzer-Kennsatz-Datensätze 74 benutzen wie Tabelle 44. Beispielsweise ist die aktive Tabelle 66 in ähnlicher Weise konfiguriert wie Tabelle 44, und sie wird benutzt, um für jedes Dokument, auch als ein URL bezeichnet, der vom Webserver verwaltet wird, eine Liste von Nutzern zu verwalten.
  • Darüber hinaus stützen sich die Sitzungstabelle 68 und die Beobachtertabelle 69, die vom Sitzungsserver benutzt werden, auch auf Benutzer-Kennsatz-Datensätze 74, wenn auch mit Einträgen, die für jeden Benutzer, dem ein bestimmter Benutzerkennsatz zugeordnet ist, mit der Email-Adresse oder einem anderen Kennzeichner indiziert sind. Die Sitzungstabelle wird von einem Sitzungsserver benutzt, um eine Liste aller Nutzer zu verwalten, die gegenwärtig für diesen Server online sind, wobei typischerweise jeder Eintrag in der Tabelle mit der Emailadresse eines Online-Benutzers indiziert und dessen Nutzerkennsatz in dem Eintrag gespeichert ist. Die Beobachter-Tabelle wird von einem Sitzungsserver benutzt, um eine Liste von Benutzern zu verwalten, die gegenwärtig andere Benutzer beobachten, wobei jeder Eintrag in der Tabelle mit der Emailadresse der Person indiziert ist, die beobachtet wird, und wobei der Benutzerkennsatz von jedem Benutzer, der für die Beobachtung dieses bestimmten Nutzers registriert ist, in dem Eintrag gespeichert wird.
  • Es sollte erkannt werden, dass auch andere Informationen in jeden Benutzer-Kennsatz-Datensatz 74 einbezogen werden kann, und dass einige der oben angegebenen Informationen in manchen Ausführungsformen weggelassen werden können. Weiterhin können für jede der Tabellen 44, 66, 68 und 69 oder für verschiedene Benutzer-Kennsätze 74 andere Datenstrukturen verwendet werden.
  • In der nachstehend erläuterten Ausführungsform wird vorausgesetzt, dass viele Sitzungs- und Webserver über eine Mehrbenutzer-Computerumgebung verteilt sind und dass eine Vielzahl von Browsern, die von verschiedenen Nutzern verwendet werden, mit solchen Servern kommunizieren. Jedem Nutzer und somit jedem Browser ist ein "heimatlicher" (home) Sitzungsserver zugeordnet, wobei die verschiedenen Sitzungsserver miteinander kommunizieren, um die Kohärenz über die Mehrfachbenutzer-Computerumgebung hinweg aufrechtzuerhalten. Als Alternative hierzu kann auch ein einzelner Sitzungsserver benutzt werden, was typischerweise eine Anzahl von Verwaltungsoperationen gegenüber einem Multiserver-Entwurf vereinfachen würde. Darüber hinaus ist es in einigen Ausführungen möglich, die Funktionalität der Web- und der Sitzungsserver in die gleiche Anwendung zu integrieren.
  • Auch in der nachstehend erläuterten Ausführungsform wird vorausgesetzt, dass die verschiedenen Browser, Sitzungsserver und Webserver miteinander über Nachrichten kommunizieren, z.B. indem Ereignisse oder Objekte untereinander übermittelt werden. Es sollte jedoch erkannt werden, dass andere bekannte Arten, verschiedene Computeranwendungen in einer verteilten Umgebung miteinander kommunizieren zu lassen, auch als Alternative benutzt werden können.
  • Außerdem kann die nachfolgende Erläuterung auf einen Browser und seinen zugeordneten Nutzer austauschbar Bezug nehmen, da ein Nutzer typischerweise den gleichen Browser auf dem gleichen Client-Computer verwenden wird und somit Nutzer und Browser oft eins zu eins aufeinander abgebildet werden. Als Alternative hierzu sollte jedoch erkannt werden, dass ein Browser mehr als einen Nutzer unterstützen kann und dass sich ein Nutzer auf mehr als einen Browser und/oder Client-Computer stützen kann. Demzufolge kann es in einigen Ausführungen wünschenswert sein, einem Nutzer zu erlauben, sich bei einem Browser "anzumelden", so dass Konfiguration und Kennzeichnung für einen bestimmten Nutzer vom Browser abgerufen werden können und der Browser dadurch so konfiguriert wird, dass er für einen bestimmten Nutzer und unter seiner Steuerung arbeitet.
  • 4A und 4B veranschaulichen eine Hauptroutine 100, die von einem Browser ausgeführt wird, während 6 ein Anfragemodul zeigt, das von jedem Browser ausgeführt wird, und 7 und 8 zeigen jeweils Hauptroutinen 240, 280, die von einem Sitzungsserver und einem Webserver ausgeführt werden. In jeder Routine werden beim Start zahlreiche Initialisierungsoperationen ausgeführt, und dann tritt die Routine in eine ereignisgesteuerte Schleife ein, die wiederholt auf Ereignisse wartet und diese Ereignisse so behandelt, wie sie empfangen werden.
  • Wie in 4A für den Browser gezeigt wird, werden die Initialisierungsoperationen in den Blöcken 102 bis 108 dargestellt, und die ereignisgesteuerte Schleife wird in Block 110 eingeleitet, indem auf den Empfang eines Ereignisses gewartet wird. Wie in 4B gezeigt wird, werden zahlreiche Ereignisse in den Blöcken 112 bis 128 festgestellt und geeignet behandelt, bevor die Steuerung zu Block 110 zurückkehrt. Block 128 stellt Ereignisse dar, die üblicherweise durch einen Browser behandelt werden, die aber für ein Verständnis der Erfindung nicht relevant sind.
  • Wie in 7 für den Sitzungsserver gezeigt wird, ist die Initialisierungsoperation in Block 242 dargestellt, und die ereignisgesteuerte Schleife wird in Block 244 eingeleitet. Verschiedene Ereignisse werden in den Blöcken 246 bis 256 erkannt, wobei Block 254 ein Abschlussereignis (quit event) darstellt, das die Routine beendet, und Block 256 stellt konventionelle Serverereignisse dar, die nicht relevant sind für ein Verständnis der Erfindung. Ebenso wird, wie durch Block 258 dargestellt ist, der Sitzungsserver von Zeit zu Zeit aufgefordert, periodisch zu überprüfen, ob Nutzer in den Sitzungs- und den Beobachtertabellen noch online sind. Immer wenn irgendein Nutzer in einer Tabelle nicht länger online ist, werden alle zugehörigen Nutzerkennsätze aus den Tabellen entfernt, und alle Beobachter werden von diesem Ausstieg benachrichtigt, auf die Art und Weise, wie sie unten ausführlicher erläutert wird.
  • Wie in 8 für den Webserver dargestellt ist, wird die Initialisierungsoperation in Block 282 dargestellt, und die ereignisgesteuerte Schleife wird in Block 284 eingeleitet. Verschiedene Ereignisse werden in den Blöcken 286 bis 292 erkannt, wobei Block 291 ein Abschlussereignis darstellt, das die Routine beendet, und Block 292 stellt konventionelle Webserverereignisse dar, die nicht relevant sind für ein Verständnis der Erfindung. Ebenso wird, wie durch Block 293 dargestellt ist, der Webserver von Zeit zu Zeit aufgefordert, periodisch zu überprüfen, ob Nutzer in der aktiven Tabelle noch online sind. Immer wenn irgendein Nutzer nicht länger online ist, werden alle Nutzerkennsätze für den Nutzer aus der Tabelle entfernt, andere Nutzer werden von diesem Ausstieg bei Bedarf benachrichtigt, und alle zeitweiligen Lieblingsverbindungen, die durch den Nutzer registriert sind, werden entfernt, wie unten ausführlicher erläutert wird.
  • Wir kehren jetzt zu 4A zurück; für den Browser beginnt die Hauptroutine 100 in Block 102 mit dem Laden allgemeiner Informationen, von Lieblingsverbindungen, Steueroptionen, und anderen lokalen Konfigurationsinformationen für den Browser, insbesondere für den aktuellen Nutzer des Browsers. Unter diesen Informationen ist ein Nutzerkennsatz, der Identifikationsinformationen bezüglich des aktuellen Nutzers für den Browser zur Verfügung stellt.
  • Als Nächstes wird in Block 104 für den aktuellen Nutzer ein Anfragemodul gestartet. Wie unten ausführlicher unter Bezugnahme auf 6 erläutert werden wird, wird das Anfragemodul benutzt, um als Reaktion auf Anfrageanforderungen von anderen Nutzern aus der Mehrbenutzer-Computerumgebung Informationen über den aktuellen Nutzer zurückzugeben. Alternativ hierzu können solche Anforderungen vom Browser selbst behandelt werden, obwohl bei der Behandlung solcher Anfragen in einem gesonderten Modul diese Funktionalität vom Browser ferngehalten wird.
  • Als Nächstes sendet der Browser in Block 106 ein Sitzungsstart-Ereignis zum Home-Sitzungsserver, um für den Nutzer eine aktive Sitzung mit dem Sitzungsserver zu registrieren. Der Benutzerkennsatz für den aktuellen Nutzer wird mit dem Ereignis weitergeleitet. Als Nächstes werden in Block 108 zusätzliche im Fachgebiet bekannte Startoperationen des Browsers ausgeführt, und die ereignisgesteuerte Schleife wird eingeleitet, indem die Steuerung an Block 110 übergeben wird.
  • Der Sitzungsserver verwaltet für jeden Nutzer, für den der Server der Homeserver ist, einen Status 'aktiv/inaktiv'. Um einen solchen Status zu verwalten, erhält der Server typischerweise von den Browsern, für die er der Homeserver ist, Statusereignisse, zum Beispiel das oben erläuterte Sitzungsstart-Ereignis. Wie in 7 dargestellt, wird ein Sitzungsstart-Ereignis in Block 246 erkannt, und die Steuerung geht über zu Block 260, um einen Nutzerkennsatz zu speichern, der mit dem Ereignis in der Sitzungstabelle für den Sitzungsserver weitergeleitet wurde, wobei die Emailadresse im Nutzerkennsatz als Index für einen neuen Eintrag in die Tabelle benutzt wird. Als Nächstes werden in Block 262 alle Beobachter dieses Nutzers davon informiert, dass der Nutzer inaktiv ist, über ein Ereignis an das Anfragemodul dieser Beobachter (unten erläutert unter Bezugnahme auf 6). Die Beobachter werden durch Zugriff auf die Beobachtertabelle identifiziert, um einen Eintrag festzustellen, der mit der Emailadresse des neuen aktiven Nutzers übereinstimmt. Dann ist die Verarbeitung des Ereignisses abgeschlossen.
  • Mit der Sitzungsstart-Anforderung verwandt ist eine Sitzungsende-Anforderung, die in Block 248 festgestellt und in den Blöcken 264 und 266 behandelt wird, indem der Nutzerkennsatz aus der Sitzungstabelle entfernt wird und alle Beobachter davon informiert werden, dass der Nutzer jetzt inaktiv ist. Eine Sitzungsende-Anforderung wird zum Beispiel typischerweise erzeugt, wenn der Browser vom Nutzer geschlossen wird. Ebenso kann das Ereignis in Block 258 immer dann erzeugt werden, wenn festgestellt wird, dass ein Nutzer offline gegangen ist.
  • Die Verfolgung dessen, wo Nutzer in einer Mehrbenutzer-Umgebung sind – das heißt, welche Nutzer gerade welche Dokumente sehen – wird prinzipiell dadurch behandelt, dass geeignete Nachrichten zwischen den Browsern und den Webservern ausgetauscht werden, die die verschiedenen angeschauten Dokumente behandeln. In der veranschaulichten Ausführungsform werden drei Ereignisse, die als 'getPage', 'releasePage' und 'swapPage' bezeichnet werden, benutzt, um diese Funktionalität zu realisieren.
  • Wie in 4B dargestellt ist, liefert der Browser die Ereignisse 'getPage', 'releasePage' und 'swapPage' als Reaktion auf verschiedene Ereignisse, die in den Blöcken 112116 erkannt und als 'Neue URL', 'Schließe URL' und "Wechsle URL' gekennzeichnet werden. Das Ereignis 'Neue URL' wird in Block 112 festgestellt und in Block 130 behandelt, indem ein Ereignis 'getPage' zu dem Webserver weitergegeben wird, der dem angeforderten URL zugeordnet ist, wobei dieser URL und der Benutzerkennsatz für den aktuellen Nutzer mit dem Ereignis weitergegeben wird. Das Ereignis 'Neue URL' wird im Allgemeinen aufgerufen, wenn ein Nutzer ein Dokument bei einem neuen URL abrufen und ansehen möchte, ohne ein anderes Dokument abzugeben, das gerade angesehen wird, z.B. während der Anzeige einer anfänglichen Homepage beim Start des Browsers oder wenn ein neues Browserfenster geöffnet wird.
  • Wir wenden uns nun 8 zu; das Ereignis 'getPage' wird vom Webserver im Block 286 erkannt und über eine Seitenlade-Routine 298 behandelt, die in 9 ausführlicher dargestellt ist. Die Routine 298 beginnt in Block 300 mit dem Erhalt des URL und des Nutzerkennsatzes von der Anforderung. Als Nächstes werden in Block 302 die Seiteninhalte des Dokumentes an dem geforderten URL abgerufen, ebenso die verbundene Liste der Nutzerkennsätze in der Liste der aktiven Nutzer für den angeforderten URL. Als Nächstes wird in Block 304 eine Antwort an den Browser mit der geforderten Seiteninformation und der Liste der aktiven Nutzer zurückgegeben. Als Nächstes wird in Block 306 der Nutzerkennsatz zu der Liste der aktiven Nutzer für den URL hinzugefügt, und in Block 308 wird eine Nachricht über ein Ereignis 'Füge aktiven Nutzer hinzu' (unten ausführlicher erläutert) zu den anderen aktiven Nutzern in der Liste der aktiven Nutzer für den URL geschickt. Die Routine 298 ist dann abgeschlossen.
  • Wir kehren jetzt zu 4B zurück; nachdem das Ereignis 'getPage' an Block 30 übergeben wurde, geht die Steuerung zu Block 30 über, um vom Webserver den sich ergebenden Seiteninhalt und die Liste der aktiven Nutzer zu erhalten. Als Nächstes wird in Block 134 die Anzeige der Browserseite aktualisiert, indem die zurückgegebenen Seiteninhalte angezeigt werden. Danach wird in Block 136 die Liste der aktiven Nutzer, die im Browser angezeigt wird, aktualisiert, um Kennzeichner (identifier) für die aktiven Nutzer des neuen URL anzuzeigen. Die Behandlung des Ereignisses 'Neuer URL' ist dann vollständig.
  • Wenn die Nutzer in der Liste der aktiven Nutzer angezeigt werden, können die Nutzer in alphabetischer Reihenfolge angezeigt werden. Alternativ hierzu können die Nutzer in Kategorien eingeteilt und auf der Grundlage beliebiger Informationen im Kennsatz oder anderen Profilinformationen für die Nutzer sortiert werden.
  • Das Ereignis 'Schließe URL' wird in Block 114 erkannt und in Block 138 behandelt, indem ein Ereignis 'releasePage' an den Webserver übergeben wird, der dem angeforderten URL zugeordnet ist, wobei mit dem Ereignis der URL und der Nutzerkennsatz für den aktuellen Nutzer übergeben werden. Das Ereignis 'Schließe URL' wird im Allgemeinen immer dann aufgerufen, wenn ein Nutzer ein Dokument weglegen möchte, ohne das Dokument durch ein anderes Dokument zu ersetzen, z.B. nach dem Schließen des Browsers oder eines Fensters im Browser.
  • Wir wenden uns nun 8 zu; das Ereignis 'releasePage' wird vom Webserver in Block 287 erkannt und über eine Routine 299 zur Freigabe einer Seite behandelt, die in 10 ausführlicher veranschaulicht ist. Die Routine 299 beginnt in Block 310, indem sie von der Anforderung den URL und den Nutzerkennsatz erhält. Als nächstes wird in Block 312 für den spezifizierten URL der Nutzerkennsatz aus der Liste der aktiven Nutzer entfernt. Danach wird in Block 314 eine Nachricht zu den anderen aktiven Nutzern in der Liste der aktiven Nutzer für diesen URL gesendet, über ein Ereignis 'Entferne aktiven Nutzer' (unten ausführlicher erläutert). Routine 299 ist dann abgeschlossen.
  • Wir kehren zu 4B zurück; wenn das Ereignis 'releasePage' in Block 138 zum Webserver weitergereicht wurde, geht die Steuerung zum Block 139 über, um den Browser oder das Browserfenster gegebenenfalls zu schließen. Die Verarbeitung des Ereignisses ist abgeschlossen.
  • Das Ereignis 'Wechsle URL' wird in Block 116 erkannt und behandelt, indem die Steuerung zu Block 40 weitergegeben wird. Das Ereignis 'Wechsle URL' wird im Allgemeinen immer dann aufgerufen, wenn ein Nutzer ein Dokument eines URL weglegen und es durch das Dokument eines anderen URL im gleichen Browserfenster ersetzen möchte, z.B. beim Aufrufen einer Hypertextverbindung, beim Anklicken einer Vorwärts- oder Rückwärts-Schaltfläche, beim Auswählen einer Lieblingsverbindung usw.
  • Block 140 stellt fest, ob sich der alte und der neue URL, die in dem Ereignis spezifiziert sind, auf dem gleichen Webserver befinden. Ist dies der Fall, geht die Steuerung zu Block 142 über, um ein Ereignis 'swapPage' an den verantwortlichen Server weiterzugeben, das den alten und den neuen URL sowie den Nutzerkennsatz für den aktuellen Nutzer spezifiziert. Ist dies jedoch nicht der Fall, werden die Blöcke 144 und 146 ausgeführt, um jeweils Ereignisse 'releasePage' und 'getPage' an die für den alten und den neuen URL verantwortlichen Webserver weiterzugeben, wobei in jedem Fall der geeignete URL und der Nutzerkennsatz weitergegeben werden.
  • Die Ereignisse 'releasePage' und 'getPage' werden von jedem Webserver in der gleichen Weise behandelt, wie sie oben erläutert wurde. Wie in 8 gezeigt ist, wird das Ereignis 'swapPage' durch den Webserver in Block 288 festgestellt und behandelt, indem die Routinen für das Erhalten einer Seite 298 und das Freigeben einer Seite 299 gerufen werden, die auf die gleiche Weise arbeiten, wie oben erläutert wurde.
  • Wir kehren zu 4B zurück; gleichgültig, ob die URLs auf dem gleichen Server sind oder nicht, geht die Steuerung schließlich zu den Blöcken 132136 über, um die Seiteninhalte und die Liste der aktiven Nutzer für den neuen URL abzurufen und den Inhalt und die Liste dem Nutzer anzeigen. Die Verarbeitung des Ereignisses ist dann abgeschlossen.
  • Wie oben unter Bezugnahme auf 9 und 10 erläutert wurde, führt der Erhalt oder die Freigabe eines URL durch einen Nutzer dazu, dass Benachrichtigungen vom Webserver zu den anderen Nutzern auf der Liste der aktiven Nutzer dieser URL weitergegeben werden. Diese Benachrichtigungen haben die Form von Ereignissen 'Füge aktiven Nutzer hinzu' und 'Entferne aktiven Nutzer', die jeweils von jedem Browser in den Blöcken 118 und 120 von 4B erkannt werden.
  • Für das Ereignis 'Füge aktiven Nutzer hinzu' gibt Block 118 die Steuerung an Block 148 weiter, um aus dem Ereignis den URL und den Nutzer zu bestimmen und dann für diesen Nutzer den Nutzerkennsatz zur Liste der aktiven Nutzer für den spezifizierten URL hinzuzufügen. Die Steuerung geht dann zu Block 136 über, um die Anzeige der Liste der aktiven Nutzer für den Browser zu aktualisieren. In ähnlicher Weise überträgt für das Ereignis 'Entferne aktiven Nutzer' Block 120 die Steuerung zu Block 148, um den URL und den Nutzer aus dem Ereignis zu bestimmen und dann den Nutzerkennsatz für diesen Nutzer aus der Liste der aktiven Nutzer für den spezifizierten URL zu entfernen. Die Steuerung geht auch zu Block 136 über, um die Anzeige der Liste der aktiven Nutzer für den Browser zu aktualisieren.
  • Alternativ hierzu kann es wünschenswert sein, eine getrennte Anzeige neben den Kennzeichnern irgendwelcher Nutzer vorzusehen, die das aktuelle Hypertext-Dokument verlassen haben, so dass der Nutzer weiß, dass die Nutzer das Dokument besucht haben, aber gegenwärtig irgendwo anders suchen. Zusätzlich kann es wünschenswert sein, eine manuelle Auffrisch-Operation (refresh Operation) zu unterstützen, wodurch ein Nutzer manuell fordern kann, dass der Status jedes Nutzers in der Liste der aktiven Nutzer aktualisiert wird.
  • Zusätzlich zur Möglichkeit, die anderen Nutzer zu sehen, die derzeit ein bestimmtes Dokument sehen, kann einem Nutzer auch erlaubt werden, andere Nutzer zu verfolgen, z.B. über eine gespeicherte Nutzerliste, die lokal in dem Browser für diesen Nutzer gespeichert ist. Die gespeicherte Nutzerliste ist typischerweise eine verbundene Liste von Nutzerkennsätzen von Nutzern, die ein bestimmter Nutzer verfolgen möchte. Wie unten ersichtlich werden wird, können für jeden Nutzer in der gespeicherten Nutzerliste verschiedenartige Informationen, z.B. Online- oder Aktiv-Status, Emailadresse oder andere Nutzerkennsatz-Informationen, abgerufen und angezeigt werden, so dass der Besitzer der Liste solche Benutzer verfolgen kann.
  • Eine gespeicherte Nutzerliste wird als Reaktion auf ein Ereignis 'Zeige gespeicherte Nutzerliste' geöffnet, das in Block 122 erkannt wird. Das Ereignis kann als Reaktion auf eine Nutzeranforderung aufgerufen werden, z.B. über eine Schaltfläche auf der Aktionsleiste (toolbar button) oder eine Menüauswahl (menu selection). Das Ereignis kann auch während des Startes aufgerufen werden, z.B. wenn der Nutzer das Anzeigen der Liste als Standardfunktion gesetzt hat. Als Reaktion auf das Ereignis geht die Steuerung zu Block 152 über, um die Liste der gespeicherten Nutzerkennsätze abzurufen und dann für jeden Nutzer in der Liste Ereignisse 'userWatch' und 'getInfo' weiterzugeben, die sowohl den Nutzerkennsatz des aktuellen Nutzers als auch den Nutzerkennsatz für den gespeicherten Nutzer spezifizieren. Informationen über jeden Nutzer werden als Reaktion auf das Ereignis 'getInfo' zurückgegeben, und ein Fenster, das solche Informationen anzeigt, wird in einem Fenster des Browsers angezeigt. Die Verarbeitung des Ereignisses ist dann abgeschlossen.
  • Wenn eine gespeicherte Nutzerliste angezeigt wird, können die Nutzer in alphabetischer Reihenfolge oder in der Reihenfolge angezeigt werden, in der die Nutzer zur Liste hinzugefügt wurden.
  • Alternativ hierzu können die gespeicherten Nutzer in Kategorien eingeteilt und auf der Grundlage beliebiger Informationen im Kennsatz oder anderen Profilinformationen für die Nutzer sortiert werden.
  • Ein verwandtes Ereignis, das des Verbergens der gespeicherten Nutzerliste, wird in Block 124 erkannt und in Block 154 behandelt, indem für jeden Nutzer in der gespeicherten Nutzerliste ein Ereignis 'releaseWatcher' zum Sitzungsserver übermittelt wird. Das Anzeigefenster für die Liste wird dann entfernt.
  • Die Ereignisse 'userWatch', 'getInfo' und 'releaseWatcher' werden jeweils von den Blöcken 250, 252 und 253 in 7 erkannt. Als Reaktion auf ein Ereignis 'userWatch' übergibt Block 250 die Steuerung an Block 268, um den Benutzerkennsatz des neuen Beobachters, unter der Emailadresse der zu beobachtenden Person zur Beobachtertabelle hinzuzufügen. Wenn kein Eintrag für eine solche Emailadresse besteht, wird ein neuer Eintrag erstellt. Die Verarbeitung des Ereignisses ist dann abgeschlossen.
  • Als Reaktion auf ein Ereignis 'getInfo' übergibt Block 252 die Steuerung an Block 270, um die aktuellen Kennsatzinformationen nach dem Nutzer oder den Nutzern zu durchsuchen, die in dem Ereignis spezifiziert wurden, typischerweise durch Zugriff auf die Sitzungstabelle unter Benutzung der Emailadresse, die mit dem Ereignis geliefert wurde. Die Kennsatzinformation (einschließlich deren aktuelle Informationen über den lokalen Anschluss) wird dann zu Block 272 zurückgegeben. Die Verarbeitung des Ereignisses ist dann abgeschlossen.
  • Als Reaktion auf ein Ereignis 'releaseWatcher' übergibt Block 253 die Steuerung an Block 273, um den Benutzerkennsatz, der mit dem Ereignis übermittelt wurde, aus der Beobachtertabelle zu entfernen. Die Verarbeitung des Ereignisses ist dann abgeschlossen.
  • Wir kehren wiederum zu 4B zurück; bezüglich der Nutzer, die sich entweder in der aktuellen Liste der aktiven Nutzer oder in der gespeicherten Nutzerliste für den Browser befinden, können zusätzliche Ereignisse erkannt werden, die sich auf andere Nutzer in der Umgebung beziehen, z.B. als Reaktion auf Nutzereingaben, die sich auf die Anzeigedarstellungen der Nutzer in einer der Listen beziehen. Die Nutzereingabe kann eine beliebige Anzahl von Formen, z.B. Klick, Doppelklick, rechter Klick usw., beliebige Anzeige-Kennzeichner solcher Nutzer oder andere, im Fachgebiet bekannte Arten annehmen, beispielsweise die Auswahl durch ein Menü oder durch eine Schaltfläche auf der Aktionsleiste, Tastenkombinationen usw. Alle diese Operationen werden mit Bezug auf andere Nutzer der Umgebung als Nutzeroperationen zusammengefasst und von Block 126 erkannt und von einer Routine 156 'Verarbeite Nutzeroperation' behandelt.
  • 5A veranschaulicht die Routine 156 ausführlicher. Die Routine 156 erkennt und behandelt eine Anzahl von Ereignissen, die sich auf Nutzeroperationen beziehen. Eine vorherrschende Art der Nutzeroperation ist das Abrufen von Informationen, die mit einem anderen Nutzer zusammenhängen, wobei die Nutzeroperation im Allgemeinen dadurch geschieht, dass ein Ereignis, das an einen anderen Nutzer gerichtet ist, weitergegeben wird, entweder direkt an den verlangten Nutzer weitergeleitet oder über einen oder mehrere Sitzungsserver. Der verlangte Nutzer behandelt das Ereignis über das Anfragemodul, wodurch der Browser des Nutzers von der Funktionalität befreit wird. Alternativ hierzu kann der Browser auf solche Anfragen reagieren.
  • Beispielsweise entdeckt Block 160 eine Anforderung eines Nutzers, Lieblingsverbindungen abzurufen, die einem anderen Nutzer zugeordnet sind, und übergibt die Steuerung an Block 162, um ein Anforderungsereignis 'favoriteLinks' an das Anfragemodul des spezifizierten Nutzers zu schicken. Die Lieblingsverbindungen können bestimmten URLs zugeordnet sein, so dass nur Lieblingsverbindungen angezeigt werden, die mit der aktuellen Seite zusammenhängen, die von dem anfordernden Nutzer gesehen wird, und somit beziehen sich die zurückgegebenen Verbindungen wahrscheinlich auf die gerade angeschaute Seite. Alternativ hierzu können die Lieblingsverbindungen nicht einem bestimmten URL zugeordnet sein, so dass alle Verbindungen für einen bestimmten Nutzer zurückgegeben werden, ohne Berücksichtigung der Seite, die der anfordernde Nutzer sieht. Die Lieblingsverbindungen können die gleichen sein wie die Lesezeichenliste (bookmark list), die lokal im Browser des Nutzers gespeichert ist, oder können als eine gesonderte Liste durch den Browser bzw. den Sitzungsserver verwaltet werden, dem der Browser zugeordnet ist.
  • Weiterhin können Lieblingsverbindungen entweder dauerhaft oder vorübergehend sein. Eine dauerhafte Lieblingsverbindung für einen Nutzer würde typischerweise ständig für den Nutzer im Client-Computer gespeichert werden, während eine zeitweilige Lieblingsverbindung entfernt werden würde, wenn die aktuelle Suchsitzung für den Nutzer beendet ist. Es ist auch wünschenswert, Benutzern zu erlauben, Hypertext-Dokumente, die sie gerade ansehen, schnell für die Aufnahme unter ihre Lieblingsverbindungen zu kennzeichnen, typischerweise mehr oder weniger auf die gleiche Art und Weise, wie konventionelle Lesezeichen in konventionellen Browsern erzeugt werden.
  • Wenn wir eine ausführliche Erläuterung des Anfragemoduls, das auf ein Ereignis 'favoriteLinks' reagiert, kurz verschieben, dann gibt ein reagierendes Anfragemodul die Lieblingsverbindungen an den Browser des anfragenden Nutzers zurück. Die Steuerung geht dann von Block 162 zu Block 164 über, um aus den zurückgegebenen Ergebnissen ein zeitweiliges HTML-Dokument zu erstellen, wobei alle URLs in den zurückgegebenen Ergebnissen als Hypertext-Verbindungen angezeigt und formatiert werden. Als Nächstes öffnet Block 166 ein neues Browserfenster, um dem Nutzer das zeitweilige HTML-Dokument anzuzeigen. Die Verarbeitung des Ereignisses ist dann abgeschlossen. Es sollte erkannt werden, dass andere Arten der Anzeige der Ergebnisse, z.B. über ein Aktions-(pop-up) Fenster oder eine Dialogbox oder innerhalb des gleichen Browserfensters, auch als Alternative benutzt werden können.
  • Eine andere Art von Informationen, die über einen anderen Nutzer verlangt werden können, ist eine Navigationsaufzeichnung, die eine oder mehrere frühere Dokumente darstellt, die ein bestimmter Nutzer gesehen hat. Diese Informationen werden über ein Ereignis 'get previous page' angefordert, das in Block 168 erkannt wird und behandelt wird, indem die Steuerung zu Block 170 weitergegeben wird, um eine Anforderung 'previousPage' an einen spezifizierten Nutzer zu senden. Die Steuerung geht dann an Block 164 und 166 über, um die Ergebnisse zu formatieren und dem Nutzer anzuzeigen.
  • Noch eine andere Art von Informationen, die über einen anderen Nutzer verlangt werden kann, ist, auf welche Seite oder Seiten der Nutzer gerade zugreift oder blickt. Wenn diese Art von Informationen verlangt wird, wird ein Ereignis 'get current page' in Block 172 erkannt und behandelt, indem die Steuerung zu Block 174 übergeht, um eine Anforderung 'currentPage' an den spezifizierten Nutzer zu schicken. Die Steuerung geht dann zu den Blöcken 164 und 166 über, um die Ergebnisse zu formatieren und anzuzeigen.
  • Eine zusätzliche Informationsart, die verlangt werden kann, ist die Homepage eines anderen Nutzers, die über ein Ereignis 'get home page' abgerufen wird, das in Block 176 erkannt wird und behandelt wird, indem die Steuerung an Block 178 übergeben wird, um eine Anforderung 'homePage' an den spezifizierten Nutzer zu schicken. Der verlangte Nutzer gibt den URL der Homepage für diesen Nutzer zurück, und die Steuerung geht zu Block 166 über, um ein neues Browserfenster für den zurückgegebenen URL zu öffnen.
  • Weitere Informationen über einen bestimmten Nutzer können auch in verschiedenen Anwendungen gefunden werden. Beispielsweise können Namen, Spitznamen, Adressen, Telefonnummern, interessierende oder persönliche Informationen usw. auch über den gleichen Mechanismus zurückgegeben werden, der in der dargestellten Ausführung unterstützt wird. Darüber hinaus sollte erkannt werden, dass immer dann, wenn die Ergebnisse von Nutzeroperationen, beispielsweise Anforderungen von Lieblingsverbindungen, aktuellen Seiten, Homepages oder Navigationsaufzeichnungen, angezeigt werden, dem anfordernden Nutzer erlaubt sein kann, zu beliebigen Dokumenten, die in diesen Ergebnissen identifiziert werden, überzugehen, z.B. einfach durch Anklicken von irgendwelchen Ergebnissen.
  • Routine 156 erkennt auch eine andere Ereignisart, die der Bearbeitung der für den Nutzer gespeicherten Nutzerliste. Ein solches Ereignis ist das Ereignis 'Hinzufügen zur gespeicherten Nutzerliste' (add to saved user list), das in Block 180 erkannt wird und in Block 182 behandelt wird, indem der spezifizierte Nutzerkennsatz in der gespeicherten Nutzerliste gespeichert wird. Es sollte erkannt werden, dass andere Arten von Bearbeitungsoperationen, z.B. das Entfernen von Einträgen aus oder das Modifizieren von Einträgen in der gespeicherten Nutzerliste auch unterstützt werden können.
  • Die Funktion eines Anfragemoduls 200 für einen Nutzer wird ausführlicher in 6 dargestellt. Routine 200 läuft so ab, dass sie in Block 202 auf Anfrageanforderungen wartet und alle derartige Anforderungen behandelt, wenn sie empfangen werden. Als Reaktion auf eine neue Anforderung geht die Steuerung zu Block 204 über, der zuerst feststellt, ob ein anfragender Nutzer berechtigt ist, Informationen über den lokalen Nutzer zu erhalten. Falls nicht, geht die Steuerung zu Block 206 über, um dem anfragenden Nutzer einen Hinweis auf einen verweigerten Zugriff zu geben.
  • Falls er berechtigt ist, geht die Steuerung zu Block 208 über, um festzustellen, ob die Anforderung eine Anforderung 'favoriteLinks' ist. Falls das so ist, werden in Block 210 die relevanten Informationen über Lieblingsverbindungen zurückgegeben. Wenn die Anforderung eine Anforderung 'previousPage' ist, wird die Anforderung in Block 212 erkannt und behandelt, indem die angeforderten Informationen über die Navigationsaufzeichnungen in Block 214 zurückgegeben werden. Wenn die Anforderung eine Anforderung 'currentPage' ist, wird die Anforderung in Block 216 erkannt und behandelt, indem das angeforderte aktuelle Dokument in Block 218 zurückgegeben wird. Wenn die Anforderung eine Anforderung 'homePage' ist, wird die Anforderung in Block 220 erkannt und behandelt, indem der URL der Homepage des Nutzers in Block 222 zurückgegeben wird.
  • Ein zusätzliches Ereignis, das durch das Modul (thread) 200 behandelt wird, entdeckt die Zustandsänderung eines beobachteten Nutzers; sie wird in Block 224 erkannt und in Block 226 behandelt, indem der Nutzerzustand im Fenster der gespeicherten Nutzerliste aktualisiert wird. Typischerweise tritt dieses Ereignis als ein Ergebnis einer Benachrichtigung von einem Sitzungsserver auf, dass ein bestimmter Nutzer eine aktive Sitzung mit dem Server gestartet oder beendet hat.
  • Noch ein weiteres Ereignis, das durch das Modul 200 behandelt wird, ist ein Abschlussereignis, das in Block 228 erkannt und behandelt wird, indem als Reaktion hierauf das Modul beendet wird. Andernfalls läuft das Modul kontinuierlich im Hintergrund des Client-Computers.
  • Wir kehren wieder zu 4B zurück; eine weitere Ereignisart, die vom Browser behandelt werden kann, ist eine Anforderung, auf eine Lieblingsverbindung zuzugreifen oder sie einem bestimmten Hypertext-Dokument zuzuordnen. Ein solches Ereignis wird hier als Ereignis 'Seitenverbindungsoperation' bezeichnet, es wird in Block 127 erkannt und über eine Verarbeitungsroutine 184 'Seite/Lieblingsverbindung' behandelt. Das Ereignis kann zum Beispiel als Reaktion auf eine Auswahl durch beispielsweise ein Menü oder eine Aktionsleiste.
  • Eine Seitenlieblingsverbindung ist eine bestimmte Verbindung, von der ein Nutzer angezeigt hat, dass sie mit einem bestimmten Hypertext-Dokument verbunden ist, das der Nutzer ansieht, was es anderen Nutzern erlaubt, auf die Verbindung zuzugreifen, um möglicherweise wichtige Informationen zu sehen. Wie unten in der dargestellten Ausführungsform ersichtlich werden wird, werden in jedem Webserver Lieblingsverbindungen für jedes Dokument verwaltet, und die Informationen wird abgerufen, indem für das bestimmte Dokument, für das Informationen über eine Lieblingsverbindung gefordert werden, ein geeignetes Ereignis an den Server übergeben wird. Alternativ hierzu können Verbindungsinformationen in jedem Sitzungsserver oder innerhalb jedes Browsers verwaltet werden, wodurch der Browser oder Sitzungsserver jeden Nutzer für alle Lieblingsverbindungen, die registriert oder einem bestimmten URL zugeordnet sind, ständig abfragen müsste.
  • Eine geeignete Ausführung von Routine 184 wird ausführlicher in 5B gezeigt, beginnend in Block 186 mit dem Feststellen, ob das Ereignis ein Ereignis 'Registriere neue Verbindung' ist. Dieses Ereignis, das ein Nutzer aufruft, wenn gewünscht wird, eine neue Verbindung mit einem bestimmten angeschauten Dokument zu registrieren, wird beispielsweise durch Nutzerauswahl in einem Menü oder mit einer Schaltfläche in einer Aktionsleiste ausgeführt. Der Empfang eines solchen Ereignisses übergibt die Steuerung an Block 188, um einen URL und eine dauerhafte/zeitweilige Anzeige von einem Nutzer z.B. über eine Dialogbox anzufordern. Der angeforderte URL ist der URL der Lieblingsverbindung, die mit dem aktuellen Hypertext-Dokument zu verbinden ist. Die dauerhafte/zeitweilige Anzeige bestimmt, ob die Verbindung gespeichert wird, nachdem der Nutzer seine aktuelle Suchsitzung beendet. Nachdem diese Informationen erhalten wurden, geht die Steuerung zu Block 190 über, um eine Anforderung 'registerLink' für das aktuelle Dokument an den Webserver weiterzugeben, wobei der Benutzerkennsatz und die Verbindungsinformation mit der Anforderung weitergegeben wird.
  • Wie in 8 gezeigt wird, erkennt der Webserver die Anforderung 'registerLink' in Block 290 und gibt die Steuerung an Block 296 weiter, um den Verbindungs-URL, den Nutzerkennsatz und die dauerhafte/zeitweilige Anzeige in einer Liste von Lieblingsverbindungen für den URL zu speichern, die in der Anforderung spezifiziert ist. Die Liste der Lieblingsverbindungen kann irgendeine geeignete Datenstruktur verwenden. Die Behandlung der Anforderung ist dann abgeschlossen.
  • Es sollte erkannt werden, dass andere Arten der Registrierung einer Lieblingsverbindung als Alternative benutzt werden können. Beispielsweise kann eine Anforderung einer Lieblingsverbindung gemacht werden, während ein Nutzer ein Dokument sieht, das der Nutzer als Lieblingsverbindung für ein anderes Dokument registrieren möchte. In solch einem Fall muss der Nutzer nach dem Dokument gefragt werden, mit dem das aktuelle Dokument verknüpft werden soll, anstatt des entgegengesetzten Mechanismus, der oben erläutert wurde. Ansonsten ist die Verarbeitung, der Registrierung durch den Webserver im Wesentlichen die gleiche. Zusätzlich kann es auch wünschenswert sein, verwandte Verbindungen als Lieblingsverbindungen für ein Dokument hinzuzufügen, z.B. auf der Grundlage einer Kategorisierung der Verbindungen, innerhalb einer Lesezeichen-Verzeichnis-Struktur für den Browser eines Nutzers. Die Kategorisierung kann automatisiert werden, z.B, so wie in der USA-Patentanmeldung S/N 08/978 126, eingereicht von Bates et al. am 25. November 1997 und hier als Referenz einbezogen, dargestellt ist. Beispielsweise könnte ein Nutzer ein Verzeichnis mit verschiedenen verwandten Verbindungen besitzen, und das Erreichen eines bestimmten Dokumentes, das als verwandt mit diesen Verbindungen angesehen wird, würde dazu führen, dass diese Verbindungen automatisch mit dem Dokument registriert werden. Als ein anderes Beispiel können verwandte Verbindungen automatisch mit einem Dokument als Reaktion auf eine manuelle Anforderung registriert werden, jede beliebige mit dem Dokument verwandte Verbindung zu registrieren. Andere Modifikationen werden für einen normalen Fachmann offensichtlich sein.
  • Wir kehren jetzt zu 5B zurück; ein anderes Ereignis besteht darin, die Lieblingsverbindungen für ein Dokument zu sehen, was in Block 192 erkannt wird und behandelt wird, indem die Steuerung an Block 194 übergeben wird, um eine Anforderung 'getLinks' an den Webserver für das aktuelle Dokument zu übergeben. Wir wenden uns nun 8 zu; die Anforderung 'getLinks' wird in Block 289 erkannt und in Block 294 behandelt, indem die Liste von Lieblingsverbindungen für den URL zurückgegeben wird, der in der Liste spezifiziert ist. Wir kehren wieder zu 5B zurück; die zurückgegebenen Ergebnisse werden dem Nutzer in Block 196 angezeigt, womit die Behandlung der Anforderung dann abgeschlossen ist. Es sollte erkannt werden, dass einem Nutzer typischerweise erlaubt ist, irgendeine Lieblingsverbindung auszuwählen, um zu einer der Verbindungen in der angezeigten Liste zu navigieren.
  • Um weiterhin die Arbeitsweise der veranschaulichten Mehrbenutzer-Computerumgebung zu zeigen, stellt 11 eine repräsentative Client-Computeranzeige 320 dar, innerhalb derer ein Browserfenster 322 angezeigt ist. Das Browserfenster ist in zwei Rahmen (frames) 324, 326 unterteilt. Innerhalb von Rahmen 324 ist ein repräsentatives Hypertext-Dokument 328 angezeigt. Innerhalb von Rahmen 326 ist eine repräsentative Liste 330 aktiver Nutzer angezeigt, einschließlich der Anzeigedarstellungen oder Kennzeichner 332, 334, 336 und 338 für eine Vielzahl von Nutzern, die aktuell das gleiche Hypertext-Dokument ansehen.
  • 11 veranschaulicht weiterhin die Nutzerauswahl der Anzeigedarstellung 338 eines Nutzers mit dem Spitznamen "Rhonda" durch einen vom Nutzer betätigten Zeiger 340. Als Reaktion auf diese Auswahl wird ein Aktionsfenster-Menü 342 angezeigt, das dem aktuellen Nutzer eine Liste möglicher Menüauswahlen anbietet, einschließlich der Auswahl 344 von Lieblingsverbindungen, der Auswahl 346 der aktuellen Seite, der Auswahl 348 der vorhergehenden Seite, der Homepage-Auswahl 350, der Auswahl 352 zum Zeigen einer Information (view info), der Auswahl 354 zum Speichern eines Nutzers, der Auswahl 356 eines Emailnutzers und der Auswahl 358 'Plaudere mit einem Nutzer' (chat with user), so dass der Nutzer wählen kann, verschiedene Nutzeroperationen auszuführen. Auswahl 344 erlaubt einem Nutzer, die Lieblingsverbindungen abzurufen, die Rhonda zugeordnet, sind, während es die Auswahl 346 erlaubt, dass die aktuelle Seite, die von Rhonda gesehen wird, für den aktuellen Nutzer abgerufen wird. Die Auswahlen 348 bzw. 350 erlauben es, dass die Navigationsaufzeichnungen und die Homepage für Rhonda abgerufen werden. Die Auswahl 352 erlaubt, dass andere Informationen, die Rhonda zugeordnet sind, z.B. die, die aus dem Nutzerkennsatz verfügbar sind, abgerufen werden. Die Auswahl 354 erlaubt es, Rhonda, zur gespeicherten Nutzerliste des aktuellen Nutzers hinzugefügt zu werden.
  • Die Auswahl 356 erlaubt es dem aktuellen Nutzer, eine elektronische Nachricht an Rhonda zu senden, während es die Auswahl 358 dem aktuellen Nutzer erlaubt, eine Online-Unterhaltungssitzung mit Rhonda zu starten. Bezüglich dieser beiden letzten Operationen sollte erkannt werden, dass die Operationen beispielsweise behandelt werden können, indem ein geeigneter Email- oder Chat-Client geöffnet und einem geeigneten konventionellen Protokoll für das Senden einer Email oder der Herstellung einer Online-Unterhaltungssitzung gefolgt wird. Andere elektronische Kommunikationsmedien können auch benutzt werden, um Nutzern zu erlauben, miteinander zu kommunizieren, während sie online sind.
  • 12 veranschaulicht eine geeignete Anzeigedarstellung für eine gespeicherte Nutzerliste, hier realisiert über eine Dialogbox 360, innerhalb derer eine gespeicherte Nutzerliste 362 angezeigt wird, einschließlich von Anzeigedarstellungen oder Kennzeichnern 364, 366, 368 und 370 von Nutzern, die in den Listen gespeichert sind. Die Kennzeichner können beliebige wichtige Informationen enthalten, hier der Spitzname und die Emailadresse jedes Nutzers. Weiterhin dargestellt sind Indikatoren 372, die angezeigt werden können, um darzustellen, dass die Nutzer, die durch die Kennzeichner 366 und 368 dargestellt sind, gegenwärtig in der Mehrbenutzerumgebung aktiv und online sind. Über gesonderte Aktionsfenster-Menüs oder andere Nutzereingabe-Mechanismen können auch zusätzliche Informationen über jeden Nutzer in der hier beschriebenen Art und Weise gefunden werden.
  • Verschiedene Modifikationen der veranschaulichten Ausführungsformen können vorgenommen werden, ohne vom Geist und dem Bereich der Erfindung abzuweichen. Beispielsweise kann es wünschenswert sein, Nutzern zu erlauben, zu sehen, was andere Nutzer vorher besucht haben, indem eindeutige Angaben der Anzeigedarstellungen von Hypertext-Verbindungen bereitgestellt werden. Ähnlich zu der Art und Weise, in der für einen Nutzer seine eigenen, vorher angeschauten Hypertext-Verbindungen in einer anderen Farbe als die anderen Hypertext-Verbindungen dargestellt werden können, kann es beispielsweise auch wünschenswert sein, verschiedenen Nutzern verschiedene Farben zuzuordnen und Hypertext-Verbindungen farbig darzustellen, die bereits von anderen Benutzern angesehen wurden, entsprechend den Farben, die diesen Nutzern zugeordnet wurden. Alternativ hierzu können auch andere Anzeigemöglichkeiten, z.B. Symbole, Aktionsfenster-Menüs usw., benutzt werden, um anzuzeigen, wenn ein anderer Nutzer eine bestimmte Verbindung gesehen hat.
  • Um eine solche zusätzliche Möglichkeit zu realisieren, ist es wünschenswert, andere Nutzer in der Mehrbenutzer-Umgebung periodisch nach ihren Navigationsaufzeichnungen abzufragen, z.B. über Anforderungen 'previousPage', die zu diesem Zweck an die Anfragemodule weitergeleitet werden. Um die Zahl der verfolgten Nutzer zu begrenzen, kann es wünschenswert sein, nur Nutzer in der gespeicherten Nutzerliste, in der Liste der aktiven Nutzer für das angezeigte Dokument oder in einer Kundenliste, die vom aktuellen Nutzer erstellt wird, zu verfolgen. Darüber hinaus kann es wünschenswert sein, die Navigationsaufzeichnungen jedes verfolgten Nutzers in einer geeigneten Datenstruktur zu speichern. Zusätzlich kann einem Nutzer erlaubt werden, verschiedenen Nutzern manuell Farben zuzuordnen, und es ist oft wünschenswert, die Kennzeichnungen der verfolgten Nutzer in der ihnen zugeordneten Farbe anzuzeigen, so dass der aktuelle Nutzer die anderen Nutzer visuell mit den Verbindungen verbinden kann, die sie zuvor besucht haben.
  • Eine geeignete Seitenanzeige-Routine 370 für die Anzeige eines Hypertext-Dokumentes in der Art, dass die Verbindungen in ihm entsprechend der Navigationsaufzeichnungen farblich dargestellt sind, ist in 13 dargestellt. Die Routine 370 führt eine Solange-Schleife (while loop) aus, die in Block 372 startet, um jedes Objekt in dem Hypertext-Dokument zu verarbeiten, das angezeigt wird, bis keine unverarbeiteten Objekte im Dokument übrigbleiben. Solange zusätzliche unverarbeitete Objekte übrig sind, wird das nächste Objekt im Dokument in Block 374 analysiert und interpretiert. Als Nächstes wird in Block 376 festgestellt, ob das Objekt eine Hypertext-Verbindung ist. Falls nicht, geht die Steuerung zu Block 378 über, um das Objekt auf konventionelle Art und Weise zu übergeben. Die Steuerung kehrt dann zu Block 372 zurück, um zusätzliche Objekte im Dokument zu verarbeiten.
  • Wir kehren zu Block 376 zurück; wenn das Objekt eine Hypertext-Verbindung ist, geht die Steuerung zu Block 380 zurück, um festzustellen, ob sich der in der Hypertext-Verbindung spezifizierte URL in den Navigationsaufzeichnungen irgendeines verfolgten Nutzers befindet. Falls nicht, geht die Steuerung zu Block 378 über, um die Hypertextverbindung auf konventionelle Art und Weise zu übergeben. Falls dies jedoch der Fall ist, geht die Steuerung zu Block 382 über, um die Hypertext-Verbindung in der Farbe zurückzugeben, die dem anderen Nutzer zugeordnet ist, der diesen URL für die Verbindung früher gesehen hat. Die Steuerung kehrt dann zu Block 372 zurück. Wenn alle Objekte im Dokument verarbeitet wurden, ist die Routine 370 abgeschlossen.
  • Als ein weiteres Beispiel kann es wünschenswert sein, die Funktionalität der Operation zum Abrufen von Lieblingsverbindungen zu erweitern, um einen stärkeren Dialog unter den Nutzern zu erlauben. Anstatt beispielsweise die Liste von Lieblingsverbindungen für einen bestimmten Nutzer abzurufen, kann ein aktueller Nutzer imstande sein, alle Lieblingsverbindungen aller Nutzer in der aktiven und/oder der gespeicherten Nutzerliste in die gleiche Liste aufzunehmen. Die Verbindungen in der kumulativen Liste können alphabetisch, nach zugeordnetem Nutzer bzw. nach der Häufigkeit des Auftretens in den einzelnen Listen der Nutzer geordnet werden.
  • Ebenso kann es, wie oben erläutert, in vielen Anwendungen wünschenswert sein, Nutzer zur Verfolgung freizugeben, selbst wenn die Nutzer Dokumente sehen, die außerhalb der Mehrbenutzer-Compu-terumgebung gespeichert sind. 14 veranschaulicht beispielsweise eine Computerumgebung 400, die eine Mehrbenutzer-Computerumgebung oder ein Datenverarbeitungssystem 402 (z.B. ein privates vernetztes Computersystem) enthält, das mit einem externen Netzwerk 404 (z.B. dem Internet) verbunden ist. Das Datenverarbeitungssystem 402 enthält eine Vielzahl von Browsern 406, die in Übereinstimmung mit der Erfindung mit einem oder mehreren Sitzungsservern 408 verbunden sind. Die Webbedienungsfunktionalität der Umgebung wird über eine oder mehrere interne Server (z.B. Intranetserver 410) sowie über einen oder mehrere Verbindungsserver (gateway server) (z.B. Internet-Gateway-/Proxy-Server) behandelt. Das externe Netzwerk enthält eine Vielzahl von auf dem Internet beruhenden Webservern 414, so wie es im Fachgebiet bekannt ist.
  • In der Ausführung von 14 werden die Orte von verschiedenen Nutzern in der Umgebung von jedem der Server 410, 412 auf die oben unter Bezugnahme auf 8 bis 10 beschriebene Art und Weise verfolgt. Für den Server 412 besteht der einzige Unterschied im Ablauf zu den oben beschriebenen Webserver-Ausführungen darin, dass das Abrufen von Dokument-/Seiten-Inhalten (z.B. in Block 302 von 9) ausgeführt wird, indem ein Dokument von einer externen Quelle anstatt von einer lokalen Datenspeichereinheit, die mit dem Server verbunden ist, abgerufen. Die Liste der aktiven Nutzer für das Dokument wird jedoch noch lokal auf dem Server verwaltet. Demzufolge erfordert die Verfolgung der Positionen verschiedener Nutzer im Internet nicht, dass die Nutzerverfolgungs-Funktionalität auf jedem Server eingerichtet wird, auf den ein Nutzer über das Internet zugreift – eine Funktionalität, die wegen der amorphen Natur des Internets sehr schwer oder gar nicht zu realisieren wäre. Auf diese Art und Weise ist auch zu sehen, dass die hier beschriebene Nutzerverfolgungsfunktionalität entsprechend der Erfindung nicht auf jedem internen Webserver eingerichtet werden muss. Statt dessen kann die Verfolgungsfunktionalität auf einer kleineren Anzahl von Servern zentralisiert werden, als tatsächlich in einem internen Netzwerk vorhanden sind, solange wenigstens ein Webserver die Zugriffe auf die anderen internen Webserver verfolgt.
  • Andere Modifikationen werden für einen normalen Fachmann offensichtlich sein. Deshalb wird die Erfindung durch die nachstehend angefügten Ansprüche begründet.

Claims (35)

  1. Verfahren für die Bereitstellung von Zugriff auf Hypertext-Dokumente in einer Mehrbenutzer-Computerumgebung, wobei das Verfahren umfasst: a) die automatische Verfolgung von Zugriffen auf eine Vielzahl von vorher vorhandenen Hypertext-Dokumenten durch eine Vielzahl von Nutzern; wobei ein Zugriff eine Adresse des angeforderten Hypertext-Dokuments und einen Nutzerkennsatz des anfordernden Nutzers enthält und der Nutzerkennsatz den anfordernden Nutzer identifiziert; und wobei ein Zugriff in der Weise verfolgt wird, dass die Adresse des angeforderten Hypertext-Dokuments mit den Nutzerkennsatz des anfordernden Nutzers in einer Tabelle assoziiert wird; b) die automatische Benachrichtigung eines ersten Nutzers, der gegenwärtig auf eines aus der Vielzahl vorher vorhandenen Hypertext-Dokumente zugreift, über die Identität eines zweiten Nutzers, der dem Zugriff des ersten Nutzers vorhergehend bereits auf das gleiche Hypertext-Dokument zugreift, wobei die Identität des zweiten Nutzers dadurch bestimmt wird, dass aus dem Zugriff des ersten Nutzers die Adresse des Hypertext-Dokuments ermittelt wird; und dass mittels der Adresse des Hypertext-Dokuments aus der Tabelle der Nutzerkennsatz und damit die Identität des zweiten Nutzers ermittelt wird.
  2. Verfahren nach Anspruch 1, wobei das Verfolgen der Zugriffe auf die Vielzahl von vorher vorhandenen Hypertext-Dokumenten das Verwalten einer Liste von Nutzern umfasst, die auf jedes Hypertext-Dokument zugreifen, und bei der die Benachrichtigung des ersten Nutzers die Benachrichtigung des ersten Nutzers über die Identität jedes Nutzers in der Liste der Nutzer beinhaltet.
  3. Verfahren nach Anspruch 2, wobei mit der Benachrichtigung des ersten Nutzers über die Identität jedes Nutzers in der Liste der Nutzer dem ersten Nutzer die Liste der Nutzer angezeigt wird.
  4. Verfahren nach Anspruch 2, wobei die Benachrichtigung des ersten Nutzers über die Identität jeden Nutzers in der Liste der Nutzer beinhaltet, dass der erste Nutzer gesondert über jeden Nutzer aus der Nutzerliste informiert wird, der nicht länger auf das Hypertext-Dokument zugreift.
  5. Verfahren von Anspruch 2, wobei die Verfolgung der Zugriffe auf das Hypertext-Dokument weiterhin einschließt, dass ein Nutzer, der nicht länger auf das Hypertext-Dokument zugreift, von der Liste der Nutzer entfernt wird.
  6. Verfahren nach Anspruch 1, wobei der zweite Nutzer ein ihm zugeordnetes Home-Hypertext-Dokument besitzt und das Verfahren weiterhin umfasst, dass dem ersten Nutzer als Reaktion auf eine Nutzereingabe vom ersten Nutzer eine Kopie des Home-Hypertext-Dokumentes geschickt wird, das dem zweiten Nutzer zugeordnet ist.
  7. Verfahren nach Anspruch 1, das weiterhin umfasst, dass der erste Nutzer vom Ort des Hypertext-Dokumentes informiert wird, das aktuell von einem dritten Nutzer angesehen wird.
  8. Verfahren nach Anspruch 7, das weiterhin umfasst, dass dem ersten Nutzer eine Kopie des Hypertext-Dokumentes geschickt wird, das gegenwärtig vom dritten Nutzer angesehen wird.
  9. Verfahren nach Anspruch 1, wobei die Verfolgung der Zugriffe auf das Hypertext-Dokument weiterhin die Verwaltung von Navigationsaufzeichnungen für den zweiten Nutzer einschließt, wobei die Navigationsaufzeichnungen eine Menge von Hypertext-Dokumenten enthalten, auf die vorher vom zweiten Nutzer zugegriffen wurde.
  10. Verfahren nach Anspruch 9, das weiterhin die Benachrichtigung des ersten Nutzers über die Menge der Hypertext-Dokumente in den Navigationsaufzeichnungen des zweiten Nutzers umfasst.
  11. Verfahren nach Anspruch 9, das weiterhin die Anzeige eines ersten Hypertext-Dokumentes beim ersten Nutzer umfasst, wobei das erste Hypertext-Dokument eine Hypertext-Verbindung zu einem zweiten Hypertext-Dokument enthält, das sich in den Navigationsaufzeichnungen des zweiten Nutzers befindet, und die Anzeige des ersten Hypertext-Dokumentes beinhaltet, dass innerhalb des ersten Hypertext-Dokumentes ein Hinweis angezeigt wird, dass sich das zweite Hypertext-Dokument in der Navigationsaufzeichnungen des zweiten Nutzers befindet.
  12. Verfahren nach Anspruch 11, wobei die Anzeige des Hinweises die Anzeige der Hypertextverbindung zum zweiten Hypertext-Dokument in einer Farbe beinhaltet, die dem zweiten Nutzer zugeordnet ist.
  13. Verfahren nach Anspruch 1, wobei dem ersten Nutzer eine gespeicherte Nutzerliste zugeordnet ist, die wenigstens den zweiten Nutzer kennzeichnet und bei der die Benachrichtigung des ersten Nutzers über die Identität des zweiten Nutzers die Benachrichtigung des ersten Nutzers einschließt, ob der zweite Nutzer gegenwärtig in der Mehrbenutzer-Computerumgebung aktiv ist.
  14. Verfahren nach Anspruch 13, das weiterhin die Ausführung einer vorher bestimmten als Reaktion auf eine Nutzereingabe des ersten Nutzers, Listenverwaltungsoperation mit der Nutzerliste umfasst, wobei die vorher festgelegte Listenverwaltungsoperation aus der Gruppe gewählt wird, die aus 'Füge einen weiteren Nutzer zur Nutzerliste hinzu', 'Entferne einen Nutzer aus der Nutzerliste', 'Sende eine Nachricht zu einem Nutzer in der Nutzerliste', 'Navigiere zu einem Hypertext-Dokument, das gegenwärtig von einem Nutzer aus der Nutzerliste angesehen wird' und 'Navigiere zu einem Home-Hypertext-Dokument für einen Nutzer aus der Nutzerliste' besteht.
  15. Verfahren nach Anspruch 1, das weiterhin umfasst: (a) die Zuordnung eines zweiten Hypertext-Dokumentes zu einem zweiten Nutzer als Reaktion auf eine Nutzereingabe des zweiten Nutzers; und (b) die Benachrichtigung des ersten Nutzers von der Zuordnung des zweiten Hypertext-Dokumentes zum zweiten Nutzer.
  16. Verfahren nach Anspruch 15, das weiterhin die Übermittlung des zweiten Hypertext-Dokumentes an den ersten Nutzer als Reaktion auf die Nutzereingabe vom ersten Nutzer umfasst.
  17. Verfahren nach Anspruch 15, wobei die Zuordnung des zweiten Hypertext-Dokumentes zum zweiten Nutzer das Speichern eines Kennzeichners für das zweite Hypertext-Dokument in einer Liste von Lieblingsverbindungen einschließt, die dem zweiten Nutzer zugeordnet ist, und die Benachrichtigung des ersten Nutzers von der Zuordnung des zweiten Hypertext-Dokumentes zum zweiten Nutzer die Anzeige der Liste der Lieblingsverbindungen beim ersten Nutzer einschließt.
  18. Verfahren nach Anspruch 17, wobei die Anzeige der Liste der Lieblingsverbindungen als Reaktion auf die Nutzereingabe ausgeführt wird, die vom ersten Nutzer erhalten wurde, während der erste und der zweite Nutzer gegenwärtig das gleiche Hypertext-Dokument sehen.
  19. verfahren nach Anspruch 17, das weiterhin die Erstellung einer Liste von Lieblingsverbindungen umfasst, die dem Hypertext-Dokument zugeordnet sind, das von dem ersten Nutzer angeschaut wird, indem Listen von Lieblingsverbindungen, die jedem Nutzer zugeordnet sind, der gegenwärtig das gleiche Hypertext-Dokument wie der erste Nutzer sieht, verknüpft werden.
  20. Verfahren nach Anspruch 1, das weiterhin umfasst: (a) die Zuordnung eines zweiten Hypertext-Dokumentes zu einem ersten Hypertext-Dokument als Reaktion auf eine Nutzereingabe des zweiten Nutzers; und (b) die Benachrichtigung des ersten Nutzers von der Zuordnung des zweiten Hypertext-Dokumentes zum ersten Hypertext-Dokument.
  21. Verfahren nach Anspruch 20, wobei die Zuordnung des zweiten Hypertext-Dokumentes zum ersten Hypertext-Dokument die vorübergehende Zuordnung des zweiten Hypertext-Dokumentes zum ersten Hypertext-Dokument einschließt, in der Art, dass diese Zuordnung gelöscht wird, wenn der zweite Nutzer nicht in der Mehrbenutzer-Computerumgebung aktiv ist.
  22. Verfahren nach Anspruch 1, wobei die Verfolgung der Zugriffe zur Vielzahl vorher vorhandenen Hypertext-Dokumente auf einem ersten Computer ausgeführt wird und wenigstens ein Teil der Vielzahl der vorher vorhandenen Hypertext-Dokumente außerhalb der Mehrbenutzer-Umgebung gespeichert ist.
  23. Vorrichtung, die umfasst: (a) einen Speicher; und (b) ein Programm, das im Speicher untergebracht und so konfiguriert ist, dass es automatisch Zugriffe auf eine Vielzahl von vorher vorhandenen Dokumenten durch eine Vielzahl von Nutzern verfolgt und wobei ein Zugriff eine Adresse des angeforderten Hypertext-Dokuments und einen Nutzerkennsatz des anfordernden Nutzers enthält und der Nutzerkennsatz den anfordernden Nutzer identifiziert; und wobei ein Zugriff in der Weise verfolgt wird, dass die Adresse des angeforderten Hypertext-Dokuments mit den Nutzerkennsatz des anfordernden Nutzers in einer Tabelle assoziiert wird; und (c) das Programm weiter so konfiguriert ist, dass es automatisch einen ersten Nutzer aus der Vielzahl von Nutzern, die gegenwärtig auf eines aus einer Vielzahl von vorher vorhandenen Hypertext-Dokumenten zugreifen, über die Identität eines zweiten Nutzers benachrichtigt, der dem Zugriff des ersten Nutzers vorhergehend bereits auf das gleiche Hypertext-Dokument zugreift, wobei die Identität des zweiten Nutzers dadurch bestimmt wird, dass aus dem Zugriff des ersten Nutzers die Adresse des Hypertext-Dokuments ermittelt wird; und dass mittels der Adresse des Hypertext-Dokuments aus der Tabelle der Nutzerkennsatz und damit die Identität des zweiten Nutzers ermittelt wird.
  24. Vorrichtung nach Anspruch 23, wobei das Programm weiterhin so konfiguriert ist, dass es eine Liste von Nutzern verwaltet, die auf jedes Hypertext-Dokument zugreifen, und den ersten Nutzer über die Identität jedes Nutzers in der Liste der Nutzer informiert.
  25. Vorrichtung nach Anspruch 23, wobei der zweite Nutzer ein ihm zugeordnetes Home-Hypertext-Dokument besitzt, und das Programm so konfiguriert ist, dass es als Reaktion auf eine Nutzereingabe vom ersten Nutzen dem ersten Nutzer eine Kopie des Home-Hypertext-Dokumentes übermittelt, das dem zweiten Nutzer zugeordnet ist.
  26. Vorrichtung nach Anspruch 23, wobei das Programm weiterhin so konfiguriert ist, dass es Navigationsaufzeichnungen für den zweiten Nutzer abruft, wobei die Navigationsaufzeichnungen eine Menge von Hypertext-Dokumenten beinhalten, auf die vorher vom zweiten Nutzer zugegriffen wurde.
  27. Vorrichtung nach Anspruch 26, wobei sich der Speicher in einem Servercomputer befindet, und die Vorrichtung weiterhin einen Client-Computer umfasst, der mit dem Servercomputer verbunden ist, und der Client-Computer einen zweiten Speicher sowie ein zweites Programm enthält, das sich in dem zweiten Speicher befindet, und das zweite Programm so konfiguriert wird, dass dem ersten Nutzer ein erstes Hypertext-Dokument angezeigt wird, das erste Hypertext- Dokument eine Hypertext-Verbindung zu einem zweiten Hypertext-Dokument enthält, das sich in den Navigationsaufzeichnungen des zweiten Nutzers befindet, und das zweite Programm weiterhin so konfiguriert ist, dass es innerhalb des ersten Hypertext-Dokumentes einen Hinweis anzeigt; dass sich das zweite Hypertext-Dokument in den Navigationsaufzeichnungen des zweiten Nutzers befindet.
  28. Vorrichtung nach Anspruch 23, wobei das Programm weiterhin so konfiguriert ist, dass als Reaktion auf eine Nutzereingabe vom zweiten Nutzer, einem zweiten Nutzer ein zweites Hypertext-Dokument zugeordnet wird, und der erste Nutzer von der Zuordnung des zweiten Hypertext-Dokumentes zum zweiten Nutzer informiert wird.
  29. Vorrichtung nach Anspruch 28, wobei das Programm weiterhin so konfiguriert ist, dass es einen Bezeichner für das zweite Hypertext-Dokument in einer Liste von Lieblingsverbindungen speichert, die dem zweiten Nutzer zugeordnet sind.
  30. Vorrichtung nach Anspruch 28, wobei das Programm weiterhin so konfiguriert ist, dass eine Liste von Lieblingsverbindungen erstellt wird, die dem Hypertext-Dokument zugeordnet ist, das von dem ersten Nutzer angeschaut wird, durch Verknüpfung von Listen von Lieblingsverbindungen, die jedem Nutzer zugeordnet sind, die gegenwärtig das gleiche Hypertext-Dokument sehen wie der erste Nutzer.
  31. Vorrichtung nach Anspruch 23, wobei das Programm weiterhin so konfiguriert ist, dass es als Reaktion auf eine Nutzereingabe des zweiten Nutzers ein zweites Hypertext-Dokument einem ersten Hypertext-Dokument zuordnet, und dass es den ersten Nutzer von der Zuordnung des zweiten Hypertext-Dokumentes zum ersten Hypertext-Dokument benachrichtigt.
  32. Vorrichtung nach Anspruch 31, wobei das Programm weiterhin so konfiguriert ist, dass es das zweite Hypertext-Dokument dem ersten Hypertext-Dokument vorübergehend zuordnet, in der Art, dass diese Zuordnung gelöscht wird, wenn der zweite Nutzer nicht aktiv ist.
  33. Vorrichtung nach Anspruch 23, das weiterhin einen ersten Computer enthält, in dem sich der Speicher befindet, wobei das Programm so konfiguriert ist, dass wenigstens ein Teil der Vielzahl von vorher vorhandenen Hypertext-Dokumenten auf einem zweiten Computer abgerufen wird, der sich entfernt vom ersten Computer und außerhalb der Vorrichtung befindet.
  34. Vorrichtung nach Anspruch 33, wobei der zweite Computer mit dem ersten Computer über das Internet verbunden ist.
  35. Ein Datenverarbeitungsprogramm zur Ausführung in einem Datenverarbeitungssystem welches Softwareabschnitte umfasst, die ein Verfahren nach einem der Ansprüche 1 bis 22 ausführen, wenn das Datenverarbeitungsprogramm auf dem Datenverarbeitungssystem ausgeführt wird.
DE10003907A 1999-02-10 2000-01-29 Verfahren, Vorrichtung und Datenverarbeitungsprogramm für die Anwendung beim Zugriff auf Hypertext-Dokumente Expired - Lifetime DE10003907B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/247,502 US7076546B1 (en) 1999-02-10 1999-02-10 Browser for use in accessing hypertext documents in a multi-user computer environment
US09/247,502 1999-02-10

Publications (2)

Publication Number Publication Date
DE10003907A1 DE10003907A1 (de) 2000-08-24
DE10003907B4 true DE10003907B4 (de) 2006-01-12

Family

ID=22935173

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10003907A Expired - Lifetime DE10003907B4 (de) 1999-02-10 2000-01-29 Verfahren, Vorrichtung und Datenverarbeitungsprogramm für die Anwendung beim Zugriff auf Hypertext-Dokumente

Country Status (2)

Country Link
US (1) US7076546B1 (de)
DE (1) DE10003907B4 (de)

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6754904B1 (en) * 1999-12-30 2004-06-22 America Online, Inc. Informing network users of television programming viewed by other network users
US9246975B2 (en) 2000-03-17 2016-01-26 Facebook, Inc. State change alerts mechanism
US7624172B1 (en) 2000-03-17 2009-11-24 Aol Llc State change alerts mechanism
US9043418B2 (en) 2000-05-04 2015-05-26 Facebook, Inc. Systems and methods for instant messaging persons referenced in an electronic message
US9356894B2 (en) 2000-05-04 2016-05-31 Facebook, Inc. Enabled and disabled menu choices based on presence state
US8122363B1 (en) * 2000-05-04 2012-02-21 Aol Inc. Presence status indicator
US9100221B2 (en) 2000-05-04 2015-08-04 Facebook, Inc. Systems for messaging senders and recipients of an electronic message
US8132110B1 (en) * 2000-05-04 2012-03-06 Aol Inc. Intelligently enabled menu choices based on online presence state in address book
US7979802B1 (en) 2000-05-04 2011-07-12 Aol Inc. Providing supplemental contact information corresponding to a referenced individual
US6912564B1 (en) 2000-05-04 2005-06-28 America Online, Inc. System for instant messaging the sender and recipients of an e-mail message
US8086697B2 (en) 2005-06-28 2011-12-27 Claria Innovations, Llc Techniques for displaying impressions in documents delivered over a computer network
US7475404B2 (en) 2000-05-18 2009-01-06 Maquis Techtrix Llc System and method for implementing click-through for browser executed software including ad proxy and proxy cookie caching
US8001190B2 (en) 2001-06-25 2011-08-16 Aol Inc. Email integrated instant messaging
US7287071B2 (en) * 2000-09-28 2007-10-23 Vignette Corporation Transaction management system
US7502994B2 (en) * 2001-02-05 2009-03-10 Omniture, Inc. Web page link-tracking system
US20020123879A1 (en) * 2001-03-01 2002-09-05 Donald Spector Translation system & method
US7007244B2 (en) * 2001-04-20 2006-02-28 Microsoft Corporation Method and system for displaying categorized information on a user interface
US7181488B2 (en) * 2001-06-29 2007-02-20 Claria Corporation System, method and computer program product for presenting information to a user utilizing historical information about the user
US7296055B2 (en) * 2001-09-11 2007-11-13 Sony Corporation Information providing system, information providing apparatus, information providing method, information processing apparatus, information processing method, and program
JP3980421B2 (ja) * 2002-06-27 2007-09-26 富士通株式会社 プレゼンス管理方法及び装置
US7603341B2 (en) 2002-11-05 2009-10-13 Claria Corporation Updating the content of a presentation vehicle in a computer network
US7428580B2 (en) 2003-11-26 2008-09-23 Aol Llc Electronic message forwarding
US8701014B1 (en) 2002-11-18 2014-04-15 Facebook, Inc. Account linking
US7590696B1 (en) 2002-11-18 2009-09-15 Aol Llc Enhanced buddy list using mobile device identifiers
US7899862B2 (en) * 2002-11-18 2011-03-01 Aol Inc. Dynamic identification of other users to an online user
WO2004046867A2 (en) 2002-11-18 2004-06-03 America Online, Inc. People lists
US8122137B2 (en) 2002-11-18 2012-02-21 Aol Inc. Dynamic location of a subordinate user
US7640306B2 (en) 2002-11-18 2009-12-29 Aol Llc Reconfiguring an electronic message to effect an enhanced notification
US8965964B1 (en) 2002-11-18 2015-02-24 Facebook, Inc. Managing forwarded electronic messages
US8005919B2 (en) 2002-11-18 2011-08-23 Aol Inc. Host-based intelligent results related to a character stream
US20040199647A1 (en) * 2003-02-06 2004-10-07 Guruprasad Ramarao Method and system for preventing unauthorized action in an application and network management software environment
US7603417B2 (en) 2003-03-26 2009-10-13 Aol Llc Identifying and using identities deemed to be known to a user
US7640506B2 (en) * 2003-06-27 2009-12-29 Microsoft Corporation Method and apparatus for viewing and managing collaboration data from within the context of a shared document
US7653693B2 (en) 2003-09-05 2010-01-26 Aol Llc Method and system for capturing instant messages
US7082573B2 (en) * 2003-07-30 2006-07-25 America Online, Inc. Method and system for managing digital assets
US8170912B2 (en) 2003-11-25 2012-05-01 Carhamm Ltd., Llc Database structure and front end
US8255413B2 (en) 2004-08-19 2012-08-28 Carhamm Ltd., Llc Method and apparatus for responding to request for information-personalization
US8078602B2 (en) 2004-12-17 2011-12-13 Claria Innovations, Llc Search engine for a computer network
US8181116B1 (en) 2004-09-14 2012-05-15 A9.Com, Inc. Method and apparatus for hyperlink list navigation
US7669213B1 (en) 2004-10-28 2010-02-23 Aol Llc Dynamic identification of other viewers of a television program to an online viewer
US7496600B2 (en) * 2004-12-02 2009-02-24 Taiwan Semiconductor Manufacturing Co., Ltd. System and method for accessing web-based search services
US7693863B2 (en) 2004-12-20 2010-04-06 Claria Corporation Method and device for publishing cross-network user behavioral data
US20110208732A1 (en) 2010-02-24 2011-08-25 Apple Inc. Systems and methods for organizing data items
US8645941B2 (en) 2005-03-07 2014-02-04 Carhamm Ltd., Llc Method for attributing and allocating revenue related to embedded software
US8073866B2 (en) 2005-03-17 2011-12-06 Claria Innovations, Llc Method for providing content to an internet user based on the user's demonstrated content preferences
US8370770B2 (en) 2005-06-10 2013-02-05 T-Mobile Usa, Inc. Variable path management of user contacts
US7685530B2 (en) * 2005-06-10 2010-03-23 T-Mobile Usa, Inc. Preferred contact group centric interface
US8359548B2 (en) 2005-06-10 2013-01-22 T-Mobile Usa, Inc. Managing subset of user contacts
US8370769B2 (en) 2005-06-10 2013-02-05 T-Mobile Usa, Inc. Variable path management of user contacts
US20070011616A1 (en) * 2005-07-11 2007-01-11 Bas Ording User interface for dynamically managing presentations
US20070271515A1 (en) * 2006-05-19 2007-11-22 Sharp Laboratories Of America, Inc. Algorithm used to maintain the relative position of the online contact that has focus in the screen when new presence data requires an update of the online contacts screen
US8255281B2 (en) 2006-06-07 2012-08-28 T-Mobile Usa, Inc. Service management system that enables subscriber-driven changes to service plans
US8620952B2 (en) 2007-01-03 2013-12-31 Carhamm Ltd., Llc System for database reporting
US8126879B2 (en) * 2007-05-17 2012-02-28 Microsoft Corporation Assisted management of bookmarked web pages
US8108777B2 (en) 2008-08-11 2012-01-31 Microsoft Corporation Sections of a presentation having user-definable properties
US8892630B1 (en) 2008-09-29 2014-11-18 Amazon Technologies, Inc. Facilitating discussion group formation and interaction
US9083600B1 (en) * 2008-10-29 2015-07-14 Amazon Technologies, Inc. Providing presence information within digital items
US8706685B1 (en) 2008-10-29 2014-04-22 Amazon Technologies, Inc. Organizing collaborative annotations
US9904681B2 (en) 2009-01-12 2018-02-27 Sri International Method and apparatus for assembling a set of documents related to a triggering item
US9195640B1 (en) 2009-01-12 2015-11-24 Sri International Method and system for finding content having a desired similarity
US20100180200A1 (en) * 2009-01-12 2010-07-15 Thierry Donneau-Golencer Electronic assistant
US9195966B2 (en) 2009-03-27 2015-11-24 T-Mobile Usa, Inc. Managing contact groups from subset of user contacts
US9369542B2 (en) 2009-03-27 2016-06-14 T-Mobile Usa, Inc. Network-based processing of data requests for contact information
US9355382B2 (en) 2009-03-27 2016-05-31 T-Mobile Usa, Inc. Group based information displays
US9210247B2 (en) 2009-03-27 2015-12-08 T-Mobile Usa, Inc. Managing contact groups from subset of user contacts
US8856870B1 (en) * 2011-01-03 2014-10-07 Intellectual Ventures Fund 79 Llc Methods, devices, and mediums associated with dynamic forum generation
US9251130B1 (en) 2011-03-31 2016-02-02 Amazon Technologies, Inc. Tagging annotations of electronic books
US8972864B2 (en) 2013-02-13 2015-03-03 Microsoft Technology Licensing, Llc Website list navigation
US9866508B2 (en) * 2015-04-02 2018-01-09 Dropbox, Inc. Aggregating and presenting recent activities for synchronized online content management systems
CN112668283B (zh) * 2020-12-21 2022-05-27 北京字跳网络技术有限公司 文档编辑方法、装置和电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764908A (en) * 1996-07-12 1998-06-09 Sofmap Future Design, Inc. Network system containing program modules residing in different computers and executing commands without return results to calling modules

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5949891A (en) * 1993-11-24 1999-09-07 Intel Corporation Filtering audio signals from a combined microphone/speaker earpiece
US6029195A (en) * 1994-11-29 2000-02-22 Herz; Frederick S. M. System for customized electronic identification of desirable objects
US6049777A (en) * 1995-06-30 2000-04-11 Microsoft Corporation Computer-implemented collaborative filtering based method for recommending an item to a user
US6249795B1 (en) * 1995-10-27 2001-06-19 At&T Corp. Personalizing the display of changes to records in an on-line repository
US5956491A (en) * 1996-04-01 1999-09-21 Marks; Daniel L. Group communications multiplexing system
US5796393A (en) * 1996-11-08 1998-08-18 Compuserve Incorporated System for intergrating an on-line service community with a foreign service
US5828839A (en) * 1996-11-14 1998-10-27 Interactive Broadcaster Services Corp. Computer network chat room based on channel broadcast in real time
US5983270A (en) * 1997-03-11 1999-11-09 Sequel Technology Corporation Method and apparatus for managing internetwork and intranetwork activity
US6421726B1 (en) * 1997-03-14 2002-07-16 Akamai Technologies, Inc. System and method for selection and retrieval of diverse types of video data on a computer network
US6138128A (en) * 1997-04-02 2000-10-24 Microsoft Corp. Sharing and organizing world wide web references using distinctive characters
US6131110A (en) * 1997-07-11 2000-10-10 International Business Machines Corporation System and method for predicting user interest in unaccessed site by counting the number of links to the unaccessed sites in previously accessed sites
US6269369B1 (en) * 1997-11-02 2001-07-31 Amazon.Com Holdings, Inc. Networked personal contact manager
US6240443B1 (en) * 1997-12-05 2001-05-29 Ntt Software Corporation Communication system and communication method
US6366947B1 (en) * 1998-01-20 2002-04-02 Redmond Venture, Inc. System and method for accelerating network interaction
US6430567B2 (en) * 1998-06-30 2002-08-06 Sun Microsystems, Inc. Method and apparatus for multi-user awareness and collaboration
US6182142B1 (en) * 1998-07-10 2001-01-30 Encommerce, Inc. Distributed access management of information resources
US6211877B1 (en) * 1998-07-20 2001-04-03 Hewlett-Packard Co Method for communicating between programming language controlled frames and CGI/HTML controlled frames within the same browser window
JP3490299B2 (ja) * 1998-07-23 2004-01-26 富士通株式会社 ハイパーテキスト情報取得装置及びハイパーテキスト情報取得プログラムを記録したコンピュータ読み取り可能な記録媒体
US6212548B1 (en) * 1998-07-30 2001-04-03 At & T Corp System and method for multiple asynchronous text chat conversations
US6557015B1 (en) * 1998-09-18 2003-04-29 International Business Machines Corporation Determining whether a second hypertext document is included in a list of active document trails
US6832350B1 (en) * 1998-09-30 2004-12-14 International Business Machines Corporation Organizing and categorizing hypertext document bookmarks by mutual affinity based on predetermined affinity criteria
US6584466B1 (en) * 1999-04-07 2003-06-24 Critical Path, Inc. Internet document management system and methods
US6557028B2 (en) * 1999-04-19 2003-04-29 International Business Machines Corporation Method and computer program product for implementing collaborative bookmarks and synchronized bookmark lists

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764908A (en) * 1996-07-12 1998-06-09 Sofmap Future Design, Inc. Network system containing program modules residing in different computers and executing commands without return results to calling modules

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Blaxxun CCpro. In: c't 12/1998 S. 119 *
The ICQ Panels Generator (online), Im Internet: (URL:http://web.archive.org/ web/20000831165807/icq.com/panels) *

Also Published As

Publication number Publication date
DE10003907A1 (de) 2000-08-24
US7076546B1 (en) 2006-07-11

Similar Documents

Publication Publication Date Title
DE10003907B4 (de) Verfahren, Vorrichtung und Datenverarbeitungsprogramm für die Anwendung beim Zugriff auf Hypertext-Dokumente
DE69729926T2 (de) Netzwerkbrowser
DE60127078T2 (de) Vorrichtung für anhaltende Chatsitzungen
DE69531599T2 (de) Verfahren und Gerät zum Auffinden und Beschaffen personalisierter Informationen
DE60009309T2 (de) System und verfahren zum presentieren von kanalisierten daten
DE69839087T2 (de) IRC Namenübersetzungsprotokoll
DE69831904T2 (de) Dynamische Erstellung von Internetseiten
DE69830457T2 (de) Netzwerkbasiertes Werkzeug zum Begutachten von Dokumenten
DE60123843T2 (de) System und verfahren zum erfassen von browser-sitzungen und von aktionen des benutzers
DE602004003135T2 (de) Einheitliches management von netzressourcen für gleichzeitige teilnahme mehrerer nutzer an einer sitzung
DE69907631T2 (de) Netzzugang zu inhaltsadressierbaren daten
DE10052313B4 (de) Verfahren und Vorrichtung zur Beschränkung des freien Verweisens (Hyperlinking) auf Webseiten der ursprünglichen Inhaltserzeuger (Content producers) durch Internet-Inhaltsverteiler (Content distributors)
DE112012000944B4 (de) Auf einer Webseite selbst erfolgende Bearbeitung und Austausch von Webinhalt in Echtzeit
DE69818549T2 (de) Volltextindizierte Nachrichtenspeicher
DE60029774T2 (de) Videokonferenzsystem
DE69832786T2 (de) Vorrichtung und verfahren zur identifizierung von klienten die an netzwer-sites zugreifen
DE69636869T2 (de) Server mit automatischer Menüladefunktion
DE60003278T2 (de) Hierarchische Auflösung von Adressen in einem Datennetzwerk
DE69731994T2 (de) Verfahren und Gerät, um Informationen über Netzwerkanbieter zu bekommen und anzuzeigen
DE102016125509A1 (de) Einbindung von auswählbaren Anwendungsverknüpfungen in Nachrichtenaustausch-Threads
DE10131553A1 (de) Ereignis-basierte Benachrichtigung über ein Netzwerk
DE102011010686A1 (de) Kontextabhängige Korrelationsmaschine
DE202012013445U1 (de) System, um Offline Zugriff in einem gehosteten Dokument-Service zur Verfügung zu stellen
DE10348337A1 (de) Inhaltsverwaltungsportal und Verfahren zum Kommunizieren von Informationen
DE10394323T5 (de) Verfahren und System zum Bereitstellen einer Expertenunterstützung mit einem Kundeninteraktionssystem

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
R071 Expiry of right