DE69730929T2 - System zur Verwaltung der Mitanwesenheit innerhalb Gemeinschaften - Google Patents

System zur Verwaltung der Mitanwesenheit innerhalb Gemeinschaften Download PDF

Info

Publication number
DE69730929T2
DE69730929T2 DE69730929T DE69730929T DE69730929T2 DE 69730929 T2 DE69730929 T2 DE 69730929T2 DE 69730929 T DE69730929 T DE 69730929T DE 69730929 T DE69730929 T DE 69730929T DE 69730929 T2 DE69730929 T2 DE 69730929T2
Authority
DE
Germany
Prior art keywords
data
server
data retrieval
virtual
community
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
DE69730929T
Other languages
English (en)
Other versions
DE69730929D1 (de
Inventor
Ehud Shapiro
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
Application granted granted Critical
Publication of DE69730929D1 publication Critical patent/DE69730929D1/de
Publication of DE69730929T2 publication Critical patent/DE69730929T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users

Description

  • BEREICH DER ERFINDUNG
  • Die vorliegende Erfindung betrifft allgemein Datenabrufsysteme und insbesondere Datenabrufsysteme mit Mitanwesenheitsmechanismen.
  • DER ERFINDUNG ZUGRUNDE LIEGENDER ALLGEMEINER STAND DER TECHNIK
  • Datenabrufsysteme sind in der Technik bekannt. Ein typisches Datenabrufsystem ist in 1 gezeigt, auf die nun Bezug genommen wird. Datenabrufsysteme bestehen üblicherweise aus einem Datenserver 10 und mehreren Datenabruf-Clients 12, die gewöhnlich einzelne Rechner sind. Nach einem Befehl von einem Datenabruf-Client 12 greift der Datenserver 10 auf ein Datenarchiv (data repository) 14 oder eine Datenbank zu, die Datenobjekte 16 enthält. Die Datenobjekte 16 sind gewöhnlich Datendateien. Die Datenabruf-Clients 12 kommunizieren auch mit einem Benutzer 17, gewöhnlich über einen interaktiven Bildschirm 18.
  • Eine typische Datenabrufoperation, die in 2 gezeigt ist, auf welche nun Bezug genommen wird, geht wie folgt vonstatten: Nach dem Empfang eines Befehls (Pfeil 1) vom Benutzer 17, ein bestimmtes Datenobjekt 16 abzurufen, sendet (Pfeil 2) der Datenabruf-Client 12 eine Anforderung an den Datenserver 10, auf dem sich das Objekt befindet. Der Datenserver 10 ruft das angeforderte Datenobjekt 16 (Pfeil 3) aus dem Datenarchiv 14 ab und sendet (Pfeil 4) das Objekt 16 an den Datenabruf-Client 12 zurück. Der Datenabruf-Client 12 zeigt (Pfeil 5) dann das abgerufene Datenobjekt 16 dem Benutzer 17 an.
  • Zu weiteren in einem Datenabrufsystem enthaltenen Merkmalen können ein Datenverwaltungsmechanismus, der es einem Datenabruf-Client 12 ermöglicht, ein neues Datenobjekt 16 zu erzeugen, ein abgerufenes Datenobjekt 16 zu ändern und das erzeugte oder geänderte Datenobjekt 16 an den Datenserver 10 zur Ablage in dem Datenarchiv 14 zurückzusenden, sowie ein Genehmigungsmechanismus gehören, der es dem Server 10 ermöglicht, bestimmte Anforderungen von Clients anzunehmen oder abzulehnen.
  • Beispiele für Datenabrufsysteme, von denen einige die zusätzlichen Merkmale enthalten, sind unter anderem das File Transfer Protocol (FTP), das Hypertext Transfer Protocol (HTTP), die Gopher- und Network-File-System-(NFS-)Standards, Netwerk-Nachrichtenserver (NNTP), DEC Notes der Digital Electric Corporation, USA, Lotus Notes von Lotus Inc., USA, Novell NetWare von Novell Inc., USA, und die relationalen Datenbankverwaltungssysteme (RDBMS) wie zum Beispiel diejenigen, die von Oracle, Sybase und Informatix, alle USA, hergestellt werden.
  • ZUSAMMENFASSUNG DER VORLIEGENDEN ERFINDUNG
  • Es ist eine Aufgabe der vorliegenden Erfindung, Datenabrufsysteme mit einem Mitanwesenheitsmechanismus bereitzustellen, mittels dem zwei oder mehr Benutzer, die gleichzeitig dasselbe Datenobjekt abrufen, einander bemerken und folglich in Echtzeit miteinander kommunizieren können. Das Datenabrufsystem gibt einem Benutzer, der auf ein bestimmtes Dokument zugreift, die Möglichkeit, dieses in Echtzeit mit anderen zu erörtern, die möglicherweise zufällig zur selben Zeit ebenfalls auf dieses Dokument zugreifen.
  • "Mitanwesenheit" ("co-presence") ist eine Funktion, die zwei oder mehr Benutzern die Möglichkeit gibt, an einem "virtuellen" Ort "anwesend" zu sein. Beispielsweise ist das vom National Center for Supercomputing Applications (NCSA) an der University of Illinois entwickelte COLLAGE ein Client-Server-Paket, das das gemeinschaftliche Arbeiten über ein gemeinsam benutztes Whiteboard, eine weiße Zeichenfläche mit Grafik-Werkzeugen, unterstützt. Ein Benutzer kopiert ein Datenobjekt von einem Datenserver in eine laufende COLLAGE-Sitzung und bearbeitet dann das Datenobjekt in der COLLAGE-Sitzung. Andere Benutzer, die der COLLAGE-Sitzung beitreten, können dasselbe Datenobjekt ebenfalls bearbeiten; um der Sitzung beizutreten, müssen die Benutzer die Adresse der Collage-Sitzung jedoch vorher kennen.
  • Das Internet Relay Chat ist ein internetweites textbasierendes Interaktionswerkzeug in Echtzeit für mehrere Teilnehmer. Es ermöglicht Personen, in Echtzeit über ein Thema ihrer Wahl interaktiv zu kommunizieren und virtuellen "Kanälen", die bestimmten Themen gewidmet sind, beizutreten und diese wieder zu verlassen.
  • Multiple-User Dungeons (MUDs) ist eine Familie von interaktiven Spielen für mehrere Spieler, die eine Vorstellung von miteinander verbundenen Orten vermitteln, wobei jeder Ort Objekte und Durchgänge zu anderen Orten enthalten kann. Die Spieler können sich von einem Ort an einen anderen begeben, mit "ebenfalls anwesenden" Spielern kommunizieren und auf die Objekte an dem Ort einwirken.
  • Diese Mitanwesenheitssysteme stellen virtuelle Orte bereit, an denen Personen kommunizieren können. Die Mitanwesenheit ist jedoch weder datenbezogen noch wird sie in Verbindung mit dem Abruf eines Datenobjekts erzeugt, wie es in der vorliegenden Erfindung vorgesehen ist.
  • Darüber hinaus ermöglicht die vorliegende Erfindung die Festlegung einer Gemeinschaft von Benutzern. Diejenigen Benutzer der Gemeinschaft, die an einem Datenobjekt anwesend sind, sind gleichzeitig miteinander anwesend, jedoch nicht mit Benutzern einer anderen Gemeinschaft, die sich ebenfalls an dem Datenobjekt befindet.
  • Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung wird daher ein Datenabrufsystem bereitgestellt, das einen Datenserver, einen Mitanwesenheitsserver und mindestens zwei Mitanwesenheits-Datenabruf-Clients beinhaltet. Der Datenserver ruft mindestens ein Datenobjekt einer Vielzahl von Datenobjekten aus einem Datenarchiv ab. Die Mitanwesenheits-Datenabruf-Clients kommunizieren mindestens mit dem Datenserver und dem Mitanwesenheitsserver. Der Mitanwesenheitsserver enthält eine Gemeinschaftseinheit und mindestens einen virtuellen Ort. Die Gemeinschaftseinheit führt mindestens eine Liste von Mitanwesenheits-Datenabruf-Clients, die zu einer Gemeinschaft gehören. Der virtuelle Ort hat eine Liste von Mitanwesenheits-Datenabruf-Clients aus der Gemeinschaft an dem virtuellen Ort und ermöglicht mindestens die Kommunikation zwischen den dazu gehörenden Mitanwesenheits-Datenabruf-Clients. Jeder der Mitanwesenheits-Datenabruf-Clients enthält eine Objektzuordnungseinheit und eine Mitanwesenheitseinheit. Die Objektzuordnungseinheit ordnet ein von dem Datenserver empfangenes Datenobjekt einem der virtuellen Orte im Mitanwesenheitsserver zu. Die Mitanwesenheitseinheit wird dem einen virtuellen Ort zugeordnet, und sie ordnet den Client der Gemeinschaft zu. Die Mitanwesenheitseinheit ermöglicht auch die Kommunikation zwischen den Mitanwesenheits-Datenabruf-Clients, die dem einen virtuellen Ort zugeordnet sind.
  • Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung enthält die Gemeinschaftseinheit darüber hinaus auch eine Sucheinheit und eine Kommunikationseinheit. Die Sucheinheit versieht einen ersten Mitanwesenheits-Datenabruf-Client eines ersten virtuellen Ortes mit einem zweiten virtuellen Ort, dem ein zweiter Mitanwesenheits-Datenabruf-Client zugeordnet wird. Die Kommunikationseinheit stellt zwischen dem ersten und dem zweiten virtuellen Ort einen Kommunikationskanal bereit, damit der erste und der zweite Mitanwesenheits-Datenabruf-Client miteinander kommunizieren können.
  • Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung enthält der Mitanwesenheitsserver außerdem eine wechselnde Vielzahl von Ortsprozessen, einen für jeden virtuellen Ort, und einen Verwaltungsprozess, um den Kommunikationsfluss von den Mitanwesenheits-Datenabruf-Clients zu den Ortsprozessen zu ermöglichen.
  • Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung umfasst die Objektzuordnungseinheit überdies eine Einheit, die es ermöglicht, sich an einen neuen virtuellen Ort zu begeben.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung lässt sich anhand der folgenden ausführlichen Beschreibung in Verbindung mit den Zeichnungen besser verstehen und als vorteilhaft erkennen, in denen:
  • 1 eine schematische Darstellung eines Datenabrufsystems nach dem Stand der Technik ist;
  • 2 eine schematische Darstellung einer Datenabrufoperation nach dem Stand der Technik ist;
  • 3 ein Datenabrufsystem mit einem Mitanwesenheitsserver schematisch darstellt, der gemäß einer ersten bevorzugten Ausführungsform der vorliegenden Erfindung aufgebaut ist und betrieben wird;
  • 4 eine Mitanwesenheits-Datenabrufoperation schematisch darstellt;
  • 5 eine alternative Ausführungsform eines Mitanwesenheits-Datenabrufsystems und seiner Arbeitsweise schematisch darstellt;
  • 6 ein Gemeinschafts-Mitanwesenheitssystem schematisch darstellt, das gemäß einer weiteren bevorzugten Ausführungsform der vorliegenden Erfindung aufgebaut ist und betrieben wird;
  • 7 eine Mitanwesenheits-Datenabrufoperation in dem System von 6 schematisch darstellt; und
  • 8 Operationen in dem Gemeinschafts-Mitanwesenheitsserver von 6 schematisch darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG VON BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Es wird nun Bezug auf die 3 und 4 genommen, die das Datenabrufsystem der vorliegenden Erfindung veranschaulichen. Das System der vorliegenden Erfindung umfasst üblicherweise einen Datenserver 10 und ein Datenarchiv 14 wie nach dem Stand der Technik. Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung umfasst es auch einen Mitanwesenheitsserver 20 und eine Vielzahl von Mitanwesenheits-Datenabruf-Clients 22, von denen jeder mit dem Datenserver 10, dem Mitanwesenheitsserver 20 und über den zugehörigen Bildschirm 18 auch mit einem Benutzer 17 kommuniziert.
  • Wie nach dem Stand der Technik fordert jeder Datenabruf-Client 22 ein Datenobjekt 16 über den Datenserver 10 an, der das angeforderte Datenobjekt 16 aus dem Datenarchiv 14 abruft. Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung informiert der Mitanwesenheits-Datenabruf-Client 22 darüber hinaus gleichzeitig auch den Mitanwesenheitsserver 20, dass er ein bestimmtes Datenobjekt 16, zum Beispiel das Objekt 16a, abgerufen hat. Als Antwort darauf fügt der Mitanwesenheitsserver 20 den Datenabruf-Client 22 zu einem virtuellen Ort 24 hinzu, der dem abgerufenen Datenobjekt 16a zugeordnet ist. Der Client 22 ordnet die virtuellen Orte 24a bis 24c den abgerufenen Datenobjekten 16a bis 16c zu.
  • Um die Erörterung klar verständlich zu machen, sagen wir, dass der Mitanwesenheitsserver 20 für jedes auf dem Datenserver 10 gespeicherte Datenobjekt 16 einen virtuellen Ort 24 verwaltet. Es wird als vorteilhaft erkannt werden, dass der Mitanwesenheitsserver 20 einen virtuellen Ort 24 auch auf Anforderung erzeugen kann, wenn der erste Benutzer an dem Datenobjekt 16 erscheint, und den virtuellen Ort 24 entfernen kann, wenn niemand anwesend ist.
  • Alle Benutzer, die über den Datenabruf-Client 22 auf ein Datenobjekt 16 zugreifen, werden zu dem virtuellen Ort 24 hinzugefügt, der zu dem Datenobjekt 16 gehört, auf das sie zugegriffen haben. Außerdem versieht der Mitanwesenheitsserver 20 jeden virtuellen Ort 24 mit Möglichkeiten zur Kommunikation zwischen Benutzern, so dass jeder Benutzer, der auf ein Datenobjekt 16 zugreift, auf Wunsch mit den anderen Benutzern kommunizieren kann, die gerade dasselbe Datenobjekt 16 verwenden. Der Mitanwesenheitsserver 20 ermöglicht einem Benutzer 17, der an einem Datenobjekt 16 anwesend ist, andere ebenfalls anwesende Benutzer 17 zu bemerken und stellt ein Mittel bereit, damit ebenfalls anwesende Benutzer 17 miteinander in Echtzeit kommunizieren können. Die Kommunikation zwischen Benutzern 17 kann auch von Client zu Client erfolgen, wenn die Kommunikation über den Mitanwesenheitsserver 20 langsam ist.
  • Im Grunde wandelt der Mitanwesenheitsserver 20 jedes Datenobjekt in einen virtuellen Ort um, an dem sich Benutzer 17 treffen können, um das Datenobjekt 16 zu betrachten, es zu verändern und zu erörtern. Wenn ein Datenserver 10 zum Beispiel Benutzerhandbücher für ein bestimmtes Produkt enthält, könnte es für den Verkäufer des Produkts hilfreich sein, eine Person, die Unterstützung gibt, an dem virtuellen Ort oder an den virtuellen Orten, der/die mit den Benutzerhandbüchern verbunden ist/sind, zu platzieren. Die Unterstützung gebende Person kann dann in Echtzeit denjenigen Benutzern helfen, die auf die Benutzerhandbücher zugreifen, wenn diese weitere Hilfe benötigen oder Schwierigkeiten haben, "ihren Weg" durch die Produktdokumentation zu finden.
  • Der Mitanwesenheitsserver 20 und der Mitanwesenheits-Datenabruf-Client 22 befolgen ein Mitanwesenheitsprotokoll, das mit den Pfeilen 31 bis 38 von 4 veranschaulicht ist.
  • Ein Benutzer 17 ruft gemäß dem Protokoll, das nach dem Stand der Technik beschrieben ist (Pfeile 31 bis 35, ähnlich den Pfeilen 1 bis 5 von 2), ein Datenobjekt 16d von einem bestimmten Datenserver 10 ab. Gleichzeitig sendet (Pfeil 36) der Mitanwesenheits-Datenabruf-Client 22 eine Nachricht an den virtuellen Ort 24d in dem Mitanwesenheitsserver 20, der dem Datenobjekt 16d zugeordnet ist, die besagt, dass der Benutzer auf das Datenobjekt 16d zugegriffen hat. (Üblicherweise haben die Datenobjekte 16 festgelegte Namen auf dem Datenserver 10. Clients 22 verwenden dieselben oder entsprechende Namen, um die entsprechenden virtuellen Orte 24 auszuweisen). Der virtuelle Ort 24d fügt (Schritt 37) dann den Benutzer zu der Liste der ebenfalls anwesenden Benutzer hinzu und sendet eine dementsprechende Nachricht (Pfeil 38) an alle ebenfalls anwesenden Benutzer einschließlich des Benutzers, der gerade erst zu dem virtuellen Ort 24d hinzu kam.
  • Wenn ein an einem Datenobjekt 16 anwesender Benutzer 17 eine Nachricht an ausgewählte der ebenfalls anwesenden Benutzer 17 senden möchte, sendet der erste Benutzer 17 eine dementsprechende Nachricht über den Mitanwesenheits-Datenabruf-Client 22 und den Mitanwesenheitsserver 20 an den zugeordneten virtuellen Ort 24, der die Nachricht wiederum an die ausgewählten Benutzer 17 weiterleitet, die am Datenobjekt 16 anwesend sind.
  • Wenn ein Benutzer 17 seine Anwesenheit an einem Datenobjekt 16 beendet (entweder weil er ein anderes Datenobjekt 16 von demselben oder einem anderen Datenserver 10 abruft oder seinen Mitanwesenheits-Datenabruf-Client 22 abschaltet), sendet der Mitanwesenheits-Datenabruf-Client 22 eine dementsprechende Nachricht (Pfeil 36) an den virtuellen Ort 24, der den Benutzer 17 wiederum aus der Liste der ebenfalls anwesenden Benutzer entfernt. Der virtuelle Ort 24 sendet dann eine Nachricht (Pfeil 38) an alle verbleibenden ebenfalls anwesenden Benutzer 17, mit der er sie von diesem Ereignis in Kenntnis setzt.
  • Das Mitanwesenheitsprotokoll kann mittels der Operationen beschrieben werden, die von dem Mitanwesenheits-Datenabruf-Client 22, dem Mitanwesenheitsserver 20 und dem virtuellen Ort 24 durchgeführt werden. Der folgende Pseudocode beschreibt das Protokoll:
  • Für den Client 22 des Benutzers U:
  • Es sei angenommen, dass der Benutzer U bereits über das Dokument D1 vom Server S1 verfügt.
    • – Wenn der Benutzer U das Dokument D2 vom Server S2 anfordert:
    • 1. Versuche, das Dokument D2 vom Server S2 abzurufen;
    • 2. Wenn der Abruf erfolgreich ist, sende folgende Nachricht an den virtuellen Ort P(D1) im Mitanwesenheitsserver C(S1), die dem Dokument D1 entspricht: "U begab sich zum virtuellen Ort D2 auf dem Server S2".
    • – Wenn der Benutzer U die Anforderung stellt, den Text T zu sagen:
    • • Sende die Nachricht "U sagte T" an den Mitanwesenheitsserver C(S2).
    • – Nach dem Empfang der Nachricht "Benutzer V trat vom virtuellen Ort P(Dj) auf dem Server Sk ein" (oder "Benutzer V begab sich an den virtuellen Ort P(Dj) auf dem Server Sk"):
    • • Zeige dem Benutzer U die aktuelle Liste der Benutzer an dem virtuellen Ort an.
    • – Nach dem Empfang der Nachricht "V sagte T":
    • • Zeige dem Benutzer U die Nachricht "V sagte T" an.
  • Für den virtuellen Ort P(Di) auf dem Mitanwesenheitsserver C(Si):
  • Es sei CP die Gruppe der ebenfalls anwesenden Benutzer:
    • – Nach dem Empfang der Nachricht "U begab sich an den virtuellen Ort P(Dj) auf dem Server Sk":
    • 1. Entferne den Benutzer U aus der Gruppe CP der ebenfalls anwesenden Benutzer.
    • 2. Sende an jeden verbleibenden Benutzer V in CP die Nachricht: "U begab sich an den virtuellen Ort P(Dj) auf dem Server Sk".
    • – Nach dem Empfang der Nachricht "U trat vom virtuellen Ort P(Dj) auf dem Server Sk ein":
    • 1. Füge den Benutzer U der Gruppe CP von ebenfalls anwesenden Benutzern hinzu.
    • 2. Sende an jeden Benutzer V in der Gruppe CP der ebenfalls anwesenden Benutzer die Nachricht "U trat vom virtuellen Ort P(Dj) auf dem Server Sk ein".
    • – Nach dem Empfang der Nachricht "U sagte T":
    • • Sende die Nachricht "U sagte T" an jeden Benutzer in der Gruppe CP der ebenfalls anwesenden Benutzer.
  • Der Mitanwesenheitsserver 20 kann in einer beliebigen Weise, die eine Mitanwesenheit ermöglicht, realisiert werden. In einer Ausführungsform ist der Mitanwesenheitsserver 20 als ein Unix-Prozess realisiert, der eine nebenläufige Programmiersprache mit der Bezeichnung Flat Concurrent Prolog (FCP) ausführt. Bei Verwendung eines FCP-internen leichtgewichtigen Prozessmechanismus, wie er in der US-Patentschrift 5 222 221 von Houri u. a. beschrieben ist, die durch Bezugnahme Bestandteil hiervon ist, kann jeder virtuelle Ort 24 als ein Ortsprozess realisiert werden, wobei jeder Ortsprozess aus einem Verbund von FCP-Prozessen gebildet wird. Jeder FCP-Prozess hält sich an das vorstehend beschriebene Mitanwesenheitsprotokoll.
  • Der Mitanwesenheitsserver 20 empfängt Mitteilungen auf einem vorher zugewiesenen und veröffentlichten Anschluss, dessen Kennung in dem Mitanwesenheits-Datenabruf-Client 22 enthalten ist. Der Mitanwesenheitsserver 20 empfängt Nachrichten üblicherweise von den Mitanwesenheits-Datenabruf-Clients 22 und stellt sie dem entsprechenden virtuellen Ort 24 bereit.
  • Auf Wunsch kann der verwaltende Unix-Prozess (der Mitanwesenheitsserver 20) darüber hinaus auch immer einen leichtgewichtigen Prozess (den virtuellen Ort 24) erzeugen, wenn ein erster Benutzer auf ein Datenobjekt 16 zugreift, und er kann einen Prozess immer entfernen, wenn an dem jeweiligen virtuellen Ort 24 keine Benutzer mehr mitanwesend sind.
  • Es wird als vorteilhaft erkannt werden, dass das Datenabrufsystem der vorliegenden Erfindung mit standardmäßigen Datenabruf-Clients 12 arbeiten kann, die nicht über eine Mitanwesenheits-Funktion verfügen, da die Kommunikation mit dem Mitanwesenheitsserver 20 von den Datenabrufoperationen getrennt stattfindet.
  • Es wird darüber hinaus als vorteilhaft erkannt werden, dass das System der vorliegenden Erfindung problemlos aus einem vorhandenen Datenabrufsystem nach dem Stand der Technik erzeugt werden kann. Der Aufrüstprozess beinhaltet das Hinzufügen eines Mitanwesenheitsservers 20, wie er vorstehend beschrieben wurde, und eine Änderung der Datenabruf-Clients 12 dahingehend, dass aus ihnen Mitanwesenheits-Datenabruf-Clients 22 werden, indem sie um das folgende Leistungsspektrum erweitert werden:
    • a) die Fähigkeit, einen zusätzlichen Kommunikationskanal mit dem Mitanwesenheitsserver 20 zu öffnen;
    • b) die Fähigkeit, Datenobjekte 16 virtuellen Orten 24 zuzuordnen;
    • c) die Fähigkeit, Informationen über die Mitanwesenheit anzuzeigen;
    • d) die Fähigkeit, Benutzern 17 die Kommunikation in Echtzeit zu ermöglichen; und
    • e) die Fähigkeit, den Mitanwesenheitsserver 20 zu benachrichtigen, wenn der Betrieb des Client 22 beendet oder der Client 22 abgeschaltet wird.
  • Es wird als vorteilhaft erkannt werden, dass Datenabruf-Clients, die nicht aufgerüstet wurden, trotzdem mit dem Datenabrufsystem der 3 und 4 arbeiten können.
  • Es wird nun Bezug auf 5 genommen, die eine alternative Ausführungsform der vorliegenden Erfindung veranschaulicht. In dieser Ausführungsform umfasst das Datenabrufsystem dieselben Elemente, aber sie sind anders konfiguriert. Im Einzelnen umfasst das Datenabrufsystem die Mitanwesenheits-Datenabruf-Clients, die mit der Bezugszahl 40 gekennzeichnet sind, und einen Mitanwesenheits-Datenabrufserver 42 sowie den Datenserver 10 und das Datenarchiv 14 wie nach dem Stand der Technik.
  • In dieser alternativen Ausführungsform kommunizieren die Mitanwesenheits-Datenabruf-Clients 40 nur mit dem Mitanwesenheits-Datenabrufserver 42, wobei sie ihm ihre Datenabrufanforderungen, die der Server 42 wiederum an den Datenserver 10 weiterreicht, und ihre Mitanwesenheits-Mitteilungen übergeben. Der Mitanwesenheits-Datenabrufserver 42 enthält die virtuellen Orte 44. Es können auch viele Server 42 vorhanden sein, von denen jeder Datenabrufanforderungen für seinen zugehörigen Datenserver 10 abwickelt.
  • Das Folgende ist Pseudocode, der das Protokoll zwischen Clients 40 und dem Server 42 beschreibt:
  • Für den Client 42 des Benutzers U:
  • Es sei angenommen, dass der Benutzer das Dokument D1 gerade auf dem Server S1 hat.
    • – Wenn der Benutzer das Dokument D2 vom Server S2 anfordert:
    • 1. Sende die Nachricht "U stellt die Anforderung, vom Ort P(D1) auf dem Server S1 einzutreten" an den Ort P(D2) im Mitanwesenheitsserver C(S2).
    • 2. Wenn der Datenabruf erfolgreich ist, sende die Nachricht "U begab sich zum Ort P(D2) auf dem Server S2" an den Ort P(D1) im Mitanwesenheitsserver C(S1).
    • – Wenn der Benutzer U die Anforderung stellt, den Text T zu sagen:
    • • Sende die Nachricht "U sagte T" an den Mitanwesenheitsserver C(S2).
    • – Nach dem Empfang der Nachricht "V trat vom Ort Dj auf dem Server Si ein" ("V begab sich an den Ort Dj auf dem Server Si").
    • • Zeige dem Benutzer U die derzeit ebenfalls anwesenden Benutzer am Ort P(Dj) an.
    • – Nach dem Empfang der Nachricht "V sagte T":
    • • Zeige dem Benutzer U die Nachricht vom Benutzer V an.
  • Für den virtuellen Ort P(Di) auf dem Mitanwesenheitsserver C(Si):
  • Es sei CP die Gruppe der ebenfalls anwesenden Benutzer:
    • – Nach dem Empfang der Nachricht "U begab sich an den virtuellen Ort P(Dj) auf dem Server Sk":
    • 1. Entferne den Benutzer U aus der Gruppe CP der ebenfalls anwesenden Benutzer.
    • 2. Sende an jeden verbleibenden Benutzer V in CP die Nachricht: "U begab sich an den virtuellen Ort P(Dj) auf dem Server Si".
    • – Nach dem Empfang der Nachricht "U stellt die Anforderung, von dem virtuellen Ort P(Dj) auf dem Server Sk einzutreten":
    • 1. Versuche, Daten vom Datenserver 10 abzurufen.
    • 2. Wenn dies gelingt:
    • a. Sende die Daten an den Client 42 des Benutzers U.
    • b. Füge den Benutzer U zu der Gruppe CP der ebenfalls anwesenden Benutzer hinzu.
    • c. Sende an jeden Benutzer V in der Gruppe CP der ebenfalls anwesenden Benutzer die Nachricht "U trat vom virtuellen Ort P(Di) auf dem Server Si ein".
    • – Nach dem Empfang der Nachricht "U sagte T":
    • • Sende die Nachricht "U sagte T" an jeden Benutzer in der Gruppe CP der ebenfalls anwesenden Benutzer.
  • Es wird nun Bezug auf die 6 und 7 genommen, die einen Gemeinschafts-Mitanwesenheitsserver, der gemäß einer weiteren bevorzugten Ausführungsform der vorliegenden Erfindung aufgebaut ist und betrieben wird, sowie ein Verfahren, um ihn zu betreiben, veranschaulichen.
  • 6 zeigt zwei Gemeinschafts-Mitanwesenheitsserver 50A und 50B, vier Mitanwesenheits-Datenabruf-Clients 52A, 52B, 52C und 53D sowie vier Datenserver 54A, 54B, 54C und 54D. Es wird als vorteilhaft erkannt werden, dass jeder Gemeinschafts-Mitanwesenheitsserver 50 mit so vielen Datenservern 54 und Datenabruf-Clients 52 arbeiten kann, wie gewünscht werden; vier sind lediglich beispielhaft gezeigt.
  • Jeder Gemeinschaftsserver 50 sieht über die Clients 52 eine Gemeinschaft von ebenfalls anwesenden Benutzern vor, die alle auf Daten zugreifen. Diejenigen Benutzer einer Gemeinschaft, die Daten wie zum Beispiel eine Webseite betrachten, sind gleichzeitig miteinander anwesend. Die Benutzer einer anderen Gemeinschaft jedoch (die beispielsweise einen anderen Internet-Diensteanbieter nutzen könnte) sind nicht gleichzeitig mit den Benutzern der ersten Gemeinschaft anwesend. Sie sind nur mit den Benutzern ihrer eigenen Gemeinschaft gleichzeitig anwesend.
  • Dies ist in 6 gezeigt. Die Clients 52A und 52B sind dem Server 50A zugeordnet (siehe die durchgezogenen Linien 51A und 51B), und die Clients 52C und 52D sind dem Server 50B zugeordnet (durchgezogene Linien 51C und 51D). Wenn der Client 52A auf ein Datenobjekt, das mit der Bezugszahl 56 gekennzeichnet ist, auf dem Datenserver 54B zugreift, wie durch die gestrichelte Linie 53A angegeben ist, erzeugt der Gemeinschaftsserver 50A einen virtuellen Ort 58, der dem Datenobjekt 56 zugeordnet wird und dem der Client 52A zugeführt wird (punktierte Linie 55A). Wenn der Client 52B, der ebenfalls dem Gemeinschaftsserver 50A zugeordnet ist, auf das Datenobjekt 56 zugreift (gestrichelte Linie 53B), wird er dem virtuellen Ort 58 zugeführt (punktierte Linie 55B) und ist gleichzeitig mit dem Client 52A anwesend, der sich bereits dort befindet. Somit sehen die Clients 52A und 52B dasselbe Datenobjekt, sie wissen von der Anwesenheit des jeweils Anderen an dem Datenobjekt und können miteinander in Dialog treten, entweder über das Datenobjekt oder über etwas Anderes.
  • Wenn der Client 52C jedoch auf das Datenobjekt 56 zugreift, wie durch die gestrichelte Linie 53C angegeben ist, wird er nicht dem virtuellen Ort 58 zugeführt, da dieser Ort zum Gemeinschaftsserver 50A gehört, und der Client 52C gehört zum Gemeinschaftsserver 50B. Vielmehr erzeugt der Gemeinschaftsserver 50B einen eigenen virtuellen Ort, der mit der Bezugszahl 60 gekennzeichnet ist und dem Datenobjekt 56 zugeordnet wird, und führt den Client 52C diesem virtuellen Ort zu (wie durch die punktierte Linie 61A gekennzeichnet ist). Wenn der Client 52D auf das Datenobjekt 56 zugreift, wie durch die gestrichelte Linie 53D angegeben ist, führt der Gemeinschaftsserver 50B den Client 52D dem virtuellen Ort 60 zu (wie durch die punktierte Linie 61B angegeben ist), an dem der Client 52D gleichzeitig mit dem Client 52C anwesend sein wird.
  • Es wird als vorteilhaft erkannt werden, dass jeder Client 52 nur mit denjenigen anderen Clients 52 gleichzeitig anwesend ist, die zu demselben Gemeinschaftsserver 50 gehören, obgleich alle vier Clients 52 auf dasselbe Datenobjekt 56 zugreifen.
  • Die Prozedur, mit der eine Mitanwesenheit in einer Gemeinschaft ermöglicht wird, ist in 7 veranschaulicht. Zuerst wird ein Benutzer 70 über seinen "Client"-Rechner 52 Teil der Gemeinschaft, üblicherweise indem er sich am Gemeinschafts-Mitanwesenheitsserver 50 anmeldet. Dieser Schritt ist mit der Bezugszahl 71 gekennzeichnet und beinhaltet das Führen einer Liste von Benutzern, die Teil der Gemeinschaft bilden. Im zweiten Schritt (mit der Bezugszahl 72 gekennzeichnet) greift der Benutzer 70 auf ein Datenobjekt wie beispielsweise das Datenobjekt 56 auf einem Datenserver 54 zu. Im Schritt 73 stellt der Datenserver 54 dem Client 52 das Datenobjekt 56 bereit. Im Schritt 74 sendet der Client 52 eine Nachricht dahingehend, dass der Benutzer 70 auf das Datenobjekt 56 zugegriffen hat, an den virtuellen Ort 58 auf dem Gemeinschafts-Mitanwesenheitsserver 50, der dem Datenobjekt 56 zugeordnet ist. Der virtuelle Ort 58 fügt dann den Benutzer 70 zur Liste der Benutzer hinzu, die dort anwesend sind. Im Schritt 75 sendet der Gemeinschafts-Mitanwesenheitsserver 50 schließlich eine Nachricht, dass der Client 52 gerade auf das Datenobjekt 56 zugegriffen hat, an alle anderen Clients 52, die in der Liste der Benutzer des virtuellen Ortes 58 aufgeführt sind.
  • Es wird als vorteilhaft erkannt werden, dass die Schritte 72, 73, 74 und 75 jeweils ähnlich den Schritten 32, 34, 36 und 38 von 4 sind. Die durchgeführten Aktionen sind dieselben wie die vorstehend beschriebenen, mit dem einzigen Unterschied, dass virtuelle Orte sowohl dem Datenobjekt 56 als auch dem virtuellen Ort 58 oder dem virtuellen Ort 60 des jeweiligen Gemeinschafts-Mitanwesenheitsservers zugeordnet werden.
  • Es wird nun kurz auf 8 Bezug genommen, die ein weiteres Merkmal des Gemeinschafts-Mitanwesenheitsservers veranschaulicht. 8 stellt einen Server 50, zwei Datenserver 54E und 54F und zwei Mitanwesenheits-Datenabruf-Clients 52E und 52F dar. In dieser Figur sind beide Clients 52E und 52F am Server 50 angemeldet, aber der Client 52E greift auf das Datenobjekt 70 des Datenservers 54E zu, während der Client 52F auf das Datenobjekt 72 des Datenservers 54F zugreift. Folglich hat der Server 50 zwei virtuelle Orte 76 und 78, die jeweils den Datenobjekten 70 und 72 zugeordnet sind.
  • Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung kann der Server 50 eine Kommunikation zwischen den beiden Clients 52E und 52F ermöglichen, obwohl sie zwei verschiedenen virtuellen Orten 76 und 78 zugeordnet sind und somit nicht gleichzeitig miteinander anwesend sind. Um einen Dialog einzuleiten, stellt einer der Clients, beispielsweise der Client 52E, die Anforderung, dass der Server 50 den Client 52F "findet". Der Server 50 durchsucht die Listen der Clients, die jedem seiner virtuellen Orte 76, 78 usw. zugeordnet sind, um den virtuellen Ort zu finden, dem der Client 52F zugeordnet ist. Wenn er gefunden wird, öffnet der Server 50 anschließend einen Kommunikationskanal zwischen den beiden Clients über die virtuellen Orte. Die beiden Clients sind nicht miteinander anwesend, aber sie können kommunizieren, da sie Teil derselben Gemeinschaft sind.
  • Es wird darüber hinaus als vorteilhaft erkannt werden, dass ein erster Client nach einem zweiten Client suchen kann, der einem anderen Gemeinschafts-Mitanwesenheitsserver zugeordnet ist, wenn es zwischen Gemeinschafts-Mitanwesenheitsservern einen Kommunikationskanal gibt. Der Hauptserver sucht zuerst an seinen virtuellen Orten, und wenn er den gewünschten Client nicht findet, kann er die Anforderung stellen, dass die an ihn angeschlossenen Server auch an ihren virtuellen Orten suchen. Wenn einer den gewünschten Client findet, kann ein Kommunikationskanal zwischen den beiden Servern und über diese zwischen den beiden Clients geöffnet werden.
  • Der Fachmann wird als vorteilhaft erkennen, dass die vorliegende Erfindung nicht auf das beschränkt ist, was vorstehend im Einzelnen gezeigt und beschrieben wurde. Vielmehr wird der Umfang der vorliegenden Erfindung durch die folgenden Ansprüche festgelegt.

Claims (4)

  1. Gemeinschafts-Mitanwesenheitsdatenabrufsystem, das Folgendes umfasst: einen oder mehrere Datenserver (54A, 54B, 54C, 54D), um mindestens eines einer Vielzahl von Datenobjekten (56) aus einem Datenarchiv abzurufen; dadurch gekennzeichnet, dass: es mindestens zwei Gemeinschafts-Mitanwesenheitsserver (50A, 50B) gibt, von denen jeder mindestens einen entsprechenden virtuellen Ort (58, 60) umfasst; und mindestens zwei Mitanwesenheits-Datenabruf-Clients (52A, 52B, 52C, 52D), um mindestens mit dem Datenserver (53A, 53B, 53C, 53D) und (51A, 51B, 51C, 51D) mit einem bestimmten der Mitanwesenheitsserver (50A, 50B) zu kommunizieren, wobei jeder der Mitanwesenheits-Datenabruf-Clients Folgendes umfasst: ein Objektzuordnungsmittel, um ein Datenobjekt, das von einem der Datenserver abgerufen wurde, einem der mindestens einen virtuellen Orte auf einem der Mitanwesenheitsserver zuzuordnen; und Mitanwesenheitsmittel, um eine Kommunikation zwischen den Mitanwesenheits-Datenabruf-Clients, die dem einen virtuellen Ort zugeordnet sind, zu ermöglichen; wobei jeder der Gemeinschafts-Mitanwesenheitsserver des Weiteren Folgendes umfasst: ein Gemeinschaftsmittel, um eine erste Liste von Mitanwesenheits-Datenabruf-Clients, die einer Gemeinschaft zugeordnet sind, zu führen; und wobei der mindestens eine virtuelle Ort eine zweite Liste von Mitanwesenheits-Datenabruf-Clients von der Gemeinschaft an dem virtuellen Ort hat, um eine Kommunikation zwischen den ihm zugeordneten Mitanwesenheits-Datenabruf-Clients zu ermöglichen und um einen gleichzeitigen Zugriff auf das Datenobjekt, das diesem virtuellen Ort zugeordnet ist, durchzuführen; und wobei jedes der Mitanwesenheits-Mittel einem der virtuellen Orte zugeordnet ist, um jeden Datenabruf-Client einer bestimmten der Gemeinschaften zuzuordnen.
  2. Datenabrufsystem nach Anspruch 1, wobei das Gemeinschaftsmittel auch ein Auffindemittel umfasst, um einem ersten Mitanwesenheits-Datenabruf-Client (52A) eines ersten virtuellen Ortes (58) einen zweiten virtuellen Ort (60) bereitzustellen, dem ein zweiter Mitanwesenheits-Datenabruf-Client (52B) zugeordnet wird, sowie ein Kommunikationsmittel, um zwischen dem ersten virtuellen Ort und dem zweiten virtuellen Ort einen Kommunikationskanal bereitzustellen, um eine Kommunikation zwischen dem ersten und dem zweiten Mitanwesenheits-Datenabruf-Client zu ermöglichen.
  3. Datenabrufsystem nach Anspruch 1, wobei der Mitanwesenheitsserver (50) eine wechselnde Vielzahl von Ortsprozessen, einen für jeden virtuellen Ort (58, 60), und einen Verwaltungsprozess umfasst, um einen Kommunikationsfluss von den Mitanwesenheits-Datenabruf-Clients zu den Ortsprozessen zu ermöglichen.
  4. Datenabrufsystem nach Anspruch 1, wobei das Objektzuordnungsmittel ein Mittel umfasst, das dazu dient, sich an einen neuen virtuellen Ort (58, 60) zu begeben.
DE69730929T 1996-11-12 1997-11-11 System zur Verwaltung der Mitanwesenheit innerhalb Gemeinschaften Expired - Lifetime DE69730929T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US747373 1996-11-12
US08/747,373 US5864874A (en) 1994-05-02 1996-11-12 Community co-presence system

Publications (2)

Publication Number Publication Date
DE69730929D1 DE69730929D1 (de) 2004-11-04
DE69730929T2 true DE69730929T2 (de) 2006-02-23

Family

ID=25004787

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69730929T Expired - Lifetime DE69730929T2 (de) 1996-11-12 1997-11-11 System zur Verwaltung der Mitanwesenheit innerhalb Gemeinschaften

Country Status (6)

Country Link
US (1) US5864874A (de)
EP (1) EP0841622B1 (de)
JP (2) JP4070159B2 (de)
AT (1) ATE278219T1 (de)
DE (1) DE69730929T2 (de)
IL (1) IL122171A (de)

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6651050B2 (en) * 1994-05-02 2003-11-18 International Business Machines Corporation Co-presence data retrieval system which indicates observers of data
US6750881B1 (en) 1997-02-24 2004-06-15 America Online, Inc. User definable on-line co-user lists
US6286029B1 (en) 1997-04-28 2001-09-04 Sabre Inc. Kiosk controller that retrieves content from servers and then pushes the retrieved content to a kiosk in the order specified in a run list
US6356934B1 (en) * 1997-04-28 2002-03-12 Sabre Inc. Intermediate server having control program for storing content accessed during browsing sessions and playback program for asynchronously replaying browsing sessions
US6763371B1 (en) * 1999-05-10 2004-07-13 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for collaborative communication in a communication network
US6804675B1 (en) 1999-05-11 2004-10-12 Maquis Techtrix, Llc Online content provider system and method
US6571234B1 (en) 1999-05-11 2003-05-27 Prophet Financial Systems, Inc. System and method for managing online message board
US6493703B1 (en) 1999-05-11 2002-12-10 Prophet Financial Systems System and method for implementing intelligent online community message board
US6515681B1 (en) 1999-05-11 2003-02-04 Prophet Financial Systems, Inc. User interface for interacting with online message board
US7162471B1 (en) 1999-05-11 2007-01-09 Maquis Techtrix Llc Content query system and method
US7143356B1 (en) 1999-06-02 2006-11-28 International Business Machines Corporation Communication link system based on user indicator
US7103846B1 (en) 1999-06-02 2006-09-05 International Business Machines Corporation Collaborative application with indicator of concurrent users
US7100116B1 (en) 1999-06-02 2006-08-29 International Business Machines Corporation Visual indicator of network user status based on user indicator
US20040172415A1 (en) 1999-09-20 2004-09-02 Messina Christopher P. Methods, systems, and software for automated growth of intelligent on-line communities
ATE414951T1 (de) * 1999-09-20 2008-12-15 Body1 Inc System, methode und software zur gesteuerten zusammenführung von online-personengruppen
WO2001037142A1 (en) * 1999-11-17 2001-05-25 Zadu, Inc. System and method for in context communications among overlapping communities of computer network users
WO2001040993A1 (en) * 1999-12-01 2001-06-07 Personetics Inc. Method and system for exchanging information
AU2073401A (en) * 1999-12-10 2001-06-18 Myteam.Com, Inc. Tools for administering leagues and accessing and populating a community websitestructure
EP1109375A3 (de) * 1999-12-18 2004-02-11 Roke Manor Research Limited Verbesserungen in Beziehung zu verzögerungsfähigen oder fehlerfähigen Verbindungen
US9736209B2 (en) 2000-03-17 2017-08-15 Facebook, Inc. State change alerts mechanism
US7624172B1 (en) 2000-03-17 2009-11-24 Aol Llc State change alerts mechanism
US20020019829A1 (en) * 2000-03-21 2002-02-14 Ehud Shapiro Community co-presence system and method having virtual groups
US7277912B2 (en) * 2000-04-27 2007-10-02 Aol Llc Browser environment using multiple browser instantiations
US7606864B2 (en) * 2000-11-10 2009-10-20 At&T Intellectual Property I, L.P. Setting and display of communication receipt preferences by users of multiple communication devices
AU2002219796A1 (en) * 2000-11-20 2002-06-03 At And T Wireless Services, Inc. Systems for providing wireless communication presence information
US7020686B2 (en) 2000-12-29 2006-03-28 International Business Machines Corporation Method and system for providing synchronous communication and person awareness in a place
US6976073B2 (en) * 2001-11-29 2005-12-13 Hewlett-Packard Development Company, L.P. Transparent remote data storage device and method
JP2005518114A (ja) * 2002-02-14 2005-06-16 アバイア テクノロジー コーポレーション 存在追跡および名前空間相互接続の技術
US7415417B2 (en) * 2002-03-15 2008-08-19 Avaya Technology Corp. Presence awareness agent
US8799489B2 (en) * 2002-06-27 2014-08-05 Siebel Systems, Inc. Multi-user system with dynamic data source selection
JP4321203B2 (ja) * 2002-10-29 2009-08-26 富士ゼロックス株式会社 遠隔会議システム及び遠隔会議支援方法、並びにコンピュータ・プログラム
US8122137B2 (en) * 2002-11-18 2012-02-21 Aol Inc. Dynamic location of a subordinate user
US8701014B1 (en) 2002-11-18 2014-04-15 Facebook, Inc. Account linking
US7899862B2 (en) * 2002-11-18 2011-03-01 Aol Inc. Dynamic identification of other users to an online user
US8965964B1 (en) 2002-11-18 2015-02-24 Facebook, Inc. Managing forwarded electronic messages
CA2506585A1 (en) 2002-11-18 2004-06-03 Valerie Kucharewski People lists
US7640306B2 (en) 2002-11-18 2009-12-29 Aol Llc Reconfiguring an electronic message to effect an enhanced notification
US7590696B1 (en) 2002-11-18 2009-09-15 Aol Llc Enhanced buddy list using mobile device identifiers
US7428580B2 (en) 2003-11-26 2008-09-23 Aol Llc Electronic message forwarding
US8005919B2 (en) 2002-11-18 2011-08-23 Aol Inc. Host-based intelligent results related to a character stream
US7023980B2 (en) * 2002-12-04 2006-04-04 Avaya Technology Corp. Outbound dialing decision criteria based
US7474741B2 (en) * 2003-01-20 2009-01-06 Avaya Inc. Messaging advise in presence-aware networks
US20040205127A1 (en) 2003-03-26 2004-10-14 Roy Ben-Yoseph Identifying and using identities deemed to be known to a user
US7653693B2 (en) 2003-09-05 2010-01-26 Aol Llc Method and system for capturing instant messages
US8094804B2 (en) * 2003-09-26 2012-01-10 Avaya Inc. Method and apparatus for assessing the status of work waiting for service
US9398152B2 (en) * 2004-02-25 2016-07-19 Avaya Inc. Using business rules for determining presence
US7953859B1 (en) 2004-03-31 2011-05-31 Avaya Inc. Data model of participation in multi-channel and multi-party contacts
US7734032B1 (en) 2004-03-31 2010-06-08 Avaya Inc. Contact center and method for tracking and acting on one and done customer contacts
US8000989B1 (en) 2004-03-31 2011-08-16 Avaya Inc. Using true value in routing work items to resources
US7769154B1 (en) 2004-06-09 2010-08-03 Avaya Inc. Aggregated perceived presence
US7983148B1 (en) 2004-07-12 2011-07-19 Avaya Inc. Disaster recovery via alternative terminals and partitioned networks
US8738412B2 (en) * 2004-07-13 2014-05-27 Avaya Inc. Method and apparatus for supporting individualized selection rules for resource allocation
US7949121B1 (en) 2004-09-27 2011-05-24 Avaya Inc. Method and apparatus for the simultaneous delivery of multiple contacts to an agent
US8234141B1 (en) 2004-09-27 2012-07-31 Avaya Inc. Dynamic work assignment strategies based on multiple aspects of agent proficiency
US7669213B1 (en) 2004-10-28 2010-02-23 Aol Llc Dynamic identification of other viewers of a television program to an online viewer
US7567653B1 (en) 2005-03-22 2009-07-28 Avaya Inc. Method by which call centers can vector inbound TTY calls automatically to TTY-enabled resources
US7809127B2 (en) 2005-05-26 2010-10-05 Avaya Inc. Method for discovering problem agent behaviors
US7779042B1 (en) 2005-08-08 2010-08-17 Avaya Inc. Deferred control of surrogate key generation in a distributed processing architecture
US8843481B1 (en) * 2005-09-30 2014-09-23 Yongyong Xu System and method of forming action based virtual communities and related search mechanisms
US7822587B1 (en) 2005-10-03 2010-10-26 Avaya Inc. Hybrid database architecture for both maintaining and relaxing type 2 data entity behavior
US7787609B1 (en) 2005-10-06 2010-08-31 Avaya Inc. Prioritized service delivery based on presence and availability of interruptible enterprise resources with skills
US7752230B2 (en) * 2005-10-06 2010-07-06 Avaya Inc. Data extensibility using external database tables
US7406222B2 (en) * 2006-02-16 2008-07-29 Pavel Kornilovich Composite evanescent waveguides and associated methods
US8737173B2 (en) * 2006-02-24 2014-05-27 Avaya Inc. Date and time dimensions for contact center reporting in arbitrary international time zones
US20070203998A1 (en) * 2006-02-24 2007-08-30 International Business Machines Corporation Persistent instant messaging status indicators for disconnected communicators
US8842818B2 (en) * 2006-06-30 2014-09-23 Avaya Inc. IP telephony architecture including information storage and retrieval system to track fluency
US7936867B1 (en) 2006-08-15 2011-05-03 Avaya Inc. Multi-service request within a contact center
US8391463B1 (en) 2006-09-01 2013-03-05 Avaya Inc. Method and apparatus for identifying related contacts
US8938063B1 (en) 2006-09-07 2015-01-20 Avaya Inc. Contact center service monitoring and correcting
US8811597B1 (en) 2006-09-07 2014-08-19 Avaya Inc. Contact center performance prediction
US7573996B1 (en) 2006-10-03 2009-08-11 Avaya Inc. Presence based callback
US20080086490A1 (en) * 2006-10-04 2008-04-10 Sap Ag Discovery of services matching a service request
US7805406B2 (en) 2006-10-27 2010-09-28 Xystar Technologies, Inc. Cross-population of virtual communities
US8504926B2 (en) * 2007-01-17 2013-08-06 Lupus Labs Ug Model based avatars for virtual presence
US8700759B2 (en) * 2007-01-19 2014-04-15 International Business Machines Corporation Autonomic optimization of presence server performance
US8150003B1 (en) 2007-01-23 2012-04-03 Avaya Inc. Caller initiated undivert from voicemail
US10671600B1 (en) 2007-07-24 2020-06-02 Avaya Inc. Communications-enabled dynamic social network routing utilizing presence
US8504534B1 (en) 2007-09-26 2013-08-06 Avaya Inc. Database structures and administration techniques for generalized localization of database items
US8856182B2 (en) 2008-01-25 2014-10-07 Avaya Inc. Report database dependency tracing through business intelligence metadata
US8806354B1 (en) * 2008-12-26 2014-08-12 Avaya Inc. Method and apparatus for implementing an electronic white board
US8301581B2 (en) * 2009-09-24 2012-10-30 Avaya Inc. Group compositing algorithms for presence
US8565386B2 (en) * 2009-09-29 2013-10-22 Avaya Inc. Automatic configuration of soft phones that are usable in conjunction with special-purpose endpoints
US9516069B2 (en) * 2009-11-17 2016-12-06 Avaya Inc. Packet headers as a trigger for automatic activation of special-purpose softphone applications
WO2011149558A2 (en) 2010-05-28 2011-12-01 Abelow Daniel H Reality alternate
WO2012094330A1 (en) 2011-01-03 2012-07-12 Planetary Data LLC Community internet drive
US11949636B1 (en) 2021-04-22 2024-04-02 Meta Platforms, Inc. Systems and methods for availability-based streaming
US11516171B1 (en) * 2021-04-22 2022-11-29 Meta Platforms, Inc. Systems and methods for co-present digital messaging
USD974404S1 (en) 2021-04-22 2023-01-03 Meta Platforms, Inc. Display screen with a graphical user interface
USD975731S1 (en) 2021-04-22 2023-01-17 Meta Platforms, Inc. Display screen with a graphical user interface
USD973100S1 (en) 2021-04-22 2022-12-20 Meta Platforms, Inc. Display screen with a graphical user interface
USD973097S1 (en) 2021-04-22 2022-12-20 Meta Platforms, Inc. Display screen with an animated graphical user interface
US11388125B1 (en) 2021-04-22 2022-07-12 Meta Platforms, Inc. Systems and methods for unidirectional video streaming

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5222221A (en) * 1986-06-17 1993-06-22 Yeda Research And Development Co., Ltd. Method and apparatus for implementing a concurrent logic program
US4775934A (en) * 1986-06-17 1988-10-04 Yeda Research And Development Co. Method for concurrent logic program
US5008853A (en) * 1987-12-02 1991-04-16 Xerox Corporation Representation of collaborative multi-user activities relative to shared structured data objects in a networked workstation environment
US5220657A (en) * 1987-12-02 1993-06-15 Xerox Corporation Updating local copy of shared data in a collaborative system
US5159669A (en) * 1988-12-15 1992-10-27 Xerox Corporation Automatically creating a second workspace operation record including history data and a unit ID based on a first workspace operation
JP2511245B2 (ja) * 1993-12-22 1996-06-26 財団法人韓国科学技術研究院 ビスシリルアルカン類とその製造方法
GB2289149B (en) * 1994-05-02 1998-11-18 Ubique Ltd A co-presence data retrieval system

Also Published As

Publication number Publication date
JPH1173430A (ja) 1999-03-16
EP0841622A2 (de) 1998-05-13
IL122171A0 (en) 1998-04-05
US5864874A (en) 1999-01-26
EP0841622B1 (de) 2004-09-29
JP4070159B2 (ja) 2008-04-02
EP0841622A3 (de) 2000-07-26
JP4596550B2 (ja) 2010-12-08
ATE278219T1 (de) 2004-10-15
JP2008077672A (ja) 2008-04-03
IL122171A (en) 2002-05-23
DE69730929D1 (de) 2004-11-04

Similar Documents

Publication Publication Date Title
DE69730929T2 (de) System zur Verwaltung der Mitanwesenheit innerhalb Gemeinschaften
DE19511770B4 (de) Datensuchsystem sowie Verfahren zum Nachrüsten eines solchen
DE60015423T2 (de) Verfahren und Vorrichtung zur Objektwiedergabe in einem Netzwerk
DE19842673B4 (de) Verfahren und Vorrichtung zur Vermittlung bei der Datenkommunikation
DE69916928T2 (de) Zugriffsverfahren und Server für Netzwerkverzeichnis
DE60006845T2 (de) Verfahren und vorrichtung zur zusammenarbeit bei multimediaerzeugung über einem netzwerk
DE60317925T2 (de) Steuerung von netzwerkverkehr in einer peer-to-peer umgebung
DE60127078T2 (de) Vorrichtung für anhaltende Chatsitzungen
DE69838314T2 (de) Verfahren und Vorrichtung zum dynamischen Laden eines Transportmechanismus in einem Mehrpunktdatenübermittlungssystem
DE60306186T2 (de) Verfahren und system zur anordnung von dienste in einer webdienstarchitektur
DE69921455T2 (de) System und verfahren zur zugriffssteuerung auf gespeicherte dokumente
DE69832406T2 (de) Kombiniertes internet-und datenzugangssystem
DE60109709T2 (de) Datenverwaltungsrahmenwerk für Verfahrensverwaltung
DE60125705T2 (de) Vorrichtung und Verfahren zur Implementierung eines HTTP Programmstacks auf einem Client
DE602004010807T2 (de) Techniken zur bereitstellung eines virtuellen arbeitsraums, bestehend aus einer vielzahl elektronischer einrichtungen
DE69736422T2 (de) Verfahren und Vorrichtung für eine hybride Serverkommunikationsstruktur zwischen gleichen Schichten
DE69636869T2 (de) Server mit automatischer Menüladefunktion
DE10003907A1 (de) Browser für die Anwendung beim Zugriff auf Hypertext-Dokumente in einer Mehrnutzer-Computerumgebung
DE10205108A1 (de) System und Verfahren zum Zugreifen auf Softwarekomponenten in einer verteilten Netzwerkumgebung
DE60132360T2 (de) Verwaltung von netzwerk-verkehr durch anwendung einer hashfunktion
DE10034694A1 (de) Verfahren zum Vergleichen von Suchprofilen
EP1977583B1 (de) Verfahren zur Übermittlung einer Nachricht und Netzwerk
DE60300787T2 (de) Bereitstellung von Diensten entfernten Terminal mit einem entfernten Endgerät
EP1800458B1 (de) Verfahren zur initialisierung eines datennetzes
DE69636028T2 (de) Gruppenverwaltungsgerät für Dateneinheiten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8328 Change in the person/name/address of the agent

Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7