DE202010018482U1 - Bereitstellung eines Zugangs zu einer Unterhaltung in einem gehosteten Unterhaltungssystem - Google Patents

Bereitstellung eines Zugangs zu einer Unterhaltung in einem gehosteten Unterhaltungssystem Download PDF

Info

Publication number
DE202010018482U1
DE202010018482U1 DE202010018482.7U DE202010018482U DE202010018482U1 DE 202010018482 U1 DE202010018482 U1 DE 202010018482U1 DE 202010018482 U DE202010018482 U DE 202010018482U DE 202010018482 U1 DE202010018482 U1 DE 202010018482U1
Authority
DE
Germany
Prior art keywords
conversation
content
entertainment
participants
server
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
DE202010018482.7U
Other languages
English (en)
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of DE202010018482U1 publication Critical patent/DE202010018482U1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/043Real-time or near real-time messaging, e.g. instant messaging [IM] using or handling presence information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1822Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1831Tracking arrangements for later retrieval, e.g. recording contents, participants activities or behavior, network status
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Theoretical Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Operations Research (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)

Abstract

Ein gehostetes Unterhaltungssystem beinhaltet:
Ein Serversystem, das Serversystem beinhaltet:
einen Prozessor oder mehrere Prozessoren; Speicher; und
Ein oder mehrere Programme, die im Speicher abgelegt sind, zur Ausführung durch einen oder mehrere Prozessoren, das/die eine oder mehrere Programm/e beinhalten:
Anweisungen für das Hosten einer Vielzahl an Unterhaltungen, jede davon hat eine identifizierte Gruppe von Teilnehmern, die Anweisungen für das Hosten eingeschlossen, für die jeweiligen Unterhaltungen:
Anweisung zur Bereitstellungen von Inhalt einer Unterhaltung an die Teilnehmer der Unterhaltung, einschließlich:
Anweisungen für das Empfangen von Inhalt von jedem einer Vielzahl der Teilnehmer der Unterhaltung und Übertragung des erhaltenen Inhalts an die anderen Teilnehmer einer identifizierten Gruppe an Teilnehmern; und
Anweisungen für die Bereitstellung, wenn ein zusätzlicher Teilnehmer der Unterhaltung hinzugefügt wird, von Inhalt der Unterhaltung an den hinzugefügten Teilnehmer, der den gesamten Inhalt einschließt, der der identifizierten Gruppe an Teilnehmern zur Verfügung steht und fügt den zusätzlichen Teilnehmer der identifizierten Gruppe an Teilnehmern hinzu.

Description

  • TECHNISCHES GEBIET
  • Die dargelegten Ausführungsformen beziehen sich im Allgemeinen auf Kommunikationssysteme. Im Besonderen beziehen sich die dargelegten Ausführungsformen auf Methoden, Systeme und Benutzeroberflächen zur Übertragung, Empfang und Wiedergabe von elektronischen Nachrichten. Unter Schutz gestellt werden und Gegenstand des Gebrauchsmusters sind dabei, entsprechend den Vorschriften des Gebrauchsmustergesetzes, lediglich Vorrichtungen wie in den beigefügten Schutzansprüchen definiert, jedoch keine Verfahren. Soweit nachfolgend in der Beschreibung gegebenenfalls auf Verfahren Bezug genommen wird, dienen diese Bezugnahmen lediglich der beispielhaften Erläuterung der in den beigefügten Schutzansprüchen unter Schutz gestellten Vorrichtung oder Vorrichtungen.
  • HINTERGRUND
  • Eine Vielzahl von elektronischen Kommunikationssystemen, einschließlich der elektronischen Emailsysteme („Email”) und Instant Messaging Systeme (IM), sind bekannt. In beiden Systemen, Email und IM, können einzelne Nachrichten weitergeleitet und beantwortet werden. Jedoch ist es in beiden Systemen, Email und IM, relativ schwierig oder umständlich lediglich auf einzelne Passagen von Nachrichten zu antworten oder nur einzelne Passagen weiterzuleiten. Außerdem ist es schwierig bei Nachrichten mit mehreren Leveln (z. B. eine Unterhaltung, die verschiedene Nachrichten und Antworten zu unterschiedlichen Themen oder Unterthemen enthält) dem logischen Kontext zumindest einiger der enthalten Nachrichten der Unterhaltung zu folgen. In gleicher Weise kann der logische Kontext verloren gehen, wenn ein Teilnehmer mittendrin in die Unterhaltung einsteigt.
  • Instant Messaging wird auch als elektronischer Chat bezeichnet. Ein beliebtes elektronisches Chatprogramm ist zum Beispiel Instant Messenger, eine eingetragene Marke von America Online. Ein elektronischer Chat ist, in Bezug auf die Funktion und die Struktur, mit einem Telefongespräch vergleichbar. Es gibt im Allgemeinen keine logische Struktur in einer Unterhaltung innerhalb eines elektronischen Chats. Es gibt lediglich eine Zeitachse.
  • Da die Nutzer von einer Vielzahl an Geräten (z. B. Laptop, Mobiltelefon, elektronischer Pager, Set Top Box, etc.) auf die elektronischen Nachrichten zugreifen, wäre es hilfreich von jedem dieser Geräte einen uneingeschränkten Zugang auf die gesamte Unterhaltung zu haben und damit in der Lage zu sein, den logischen Kontext der Beiträge jedes Nutzers innerhalb der Unterhaltung nachzuverfolgen.
  • ZUSAMMENFASSUNG DER DARGELEGTEN AUSFÜHRUNGSFORMEN
  • In einem Punkt der Erfindung hostet ein Serversystem eine Vielzahl an Unterhaltungen, wobei jede eine festgelegte Teilnehmergruppe hat. Für die jeweilige Unterhaltung stellt das Serversystem den Inhalt der Unterhaltung den Teilnehmern der Unterhaltung zur Verfügung. Das Serversystem erhält den Inhalt von jedem der vielzähligen Nutzer der Unterhaltung und überträgt den erhaltenen Inhalt an die anderen Teilnehmer aus der Gruppe der vielzähligen Teilnehmer. Wird ein weiterer Teilnehmer der Unterhaltung hinzugefügt, stellt das Serversystem dem hinzugefügten Teilnehmer den Inhalt der Unterhaltung zur Verfügung (z. B. einschließlich der Teile der Unterhaltung, die in der Vergangenheit liegen). Das beinhaltet den gesamten Inhalt, der der festgelegten Gruppe an Teilnehmern zur Verfügung gestellt wurde und fügt den weiteren Teilnehmer der festgelegten Gruppe an Teilnehmern hinzu. Bei einigen Ausführungsformen werden die Anweisungen zur Ausführung der Abläufe, die obenstehend beschrieben wurden, in einem geeigneten Speichermedium des Serversystems gespeichert, um von einem oder mehreren Prozessoren innerhalb des Serversystems verarbeitet zu werden. In einigen Ausführungsformen hat das Serversystem einen oder mehrere Prozessor/en, Speicher und ein oder mehrere Programm/e, die die obenstehend beschriebenen Abläufe durchführen. Dabei werden ein oder mehrere Programme in dem Speicher gespeichert und konfiguriert, um von einem oder mehreren Prozessor/en ausgeführt zu werden, um die Anweisungen durchzuführen.
  • In einem anderen Punkt der Erfindung hostet das Serversystem eine Vielzahl an Unterhaltungen. Für die jeweilige Unterhaltung stellt das Serversystem den Inhalt der Unterhaltung einer Vielzahl an Clients, die mit den Teilnehmern der Unterhaltung in Verbindung stehen, zur Verfügung. Das Serversystem stellt den Inhalt der Unterhaltung einer Vielzahl an Clients, die mit den Teilnehmern der Unterhaltung in Verbindung stehen, zur Verfügung. Dabei stellt es jedem Client die Teile der Unterhaltung zur Verfügung, die der Client laut Konfiguration erhalten soll. Das Serversystem erhält Inhalte von den jeweiligen Teilnehmern der Unterhaltung und überträgt den Clients, die mit den anderen Teilnehmern verbunden sind, zumindest einen Teil des erhaltenen Inhalts. Wird ein weiterer Teilnehmer der Unterhaltung hinzugefügt, stellt das Serversystem einem Client, der mit dem weiteren Teilnehmer verbunden ist, den gesamten Inhalt der Unterhaltung zur Verfügung, den der Client laut Konfiguration erhalten soll. Bei einigen Ausführungsformen werden die Anweisungen zur Ausführung der Abläufe, die obenstehend beschrieben wurden, in einem geeigneten Speichermedium des Serversystems gespeichert, um von einem oder mehreren Prozessoren innerhalb des Serversystems verarbeitet zu werden. In einigen Ausführungsformen hat das Serversystem einen oder mehrere Prozessor/en, Speicher und ein oder mehrere Programm/e, die die obenstehend beschriebenen Abläufe durchführen. Dabei werden ein oder mehrere Programm/e in dem Speicher gespeichert und konfiguriert, um von einem oder mehreren Prozessor/en ausgeführt zu werden, um die Anweisungen durchzuführen.
  • In einem anderen Punkt der Erfindung hostet zumindest ein Serversystem aus einer Vielzahl an Serversystemen, wovon jedes mit einer unterschiedlichen Untergruppe an Nutzern verbunden ist, in jedem der jeweiligen Serversysteme Unterhaltungen, die durch die Untergruppen an Nutzern initialisiert werden. Das jeweilige Serversystem erhält Inhalte von den jeweiligen Teilnehmern einer Unterhaltung und überträgt zumindest einen Teil des erhaltenen Inhalts an die Clients, die mit den anderen Teilnehmern der Unterhaltung verbunden sind. Wird ein weiterer Teilnehmer der Unterhaltung hinzugefügt, stellt das Serversystem einem Client, der mit dem weiteren Teilnehmer verbunden ist, den gesamten Inhalt der Unterhaltung zur Verfügung, den der Client laut Konfiguration erhalten soll. In einigen Ausführungsformen schließt die Bereitstellung von Inhalten auch die Bereitstellung von einheitlichen Darstellungen der Unterhaltung für eine Vielzahl an Teilnehmern ein. Bei einigen Ausführungsformen werden die Anweisungen zur Ausführung der Abläufe, die obenstehend beschrieben wurden, in einem geeigneten Speichermedium des Serversystems gespeichert, um von einem oder mehreren Prozessoren innerhalb des Serversystems verarbeitet zu werden. In einigen Ausführungsformen hat das Serversystem einen oder mehrere Prozessor/en, Speicher und ein oder mehrere Programm/e, die die obenstehend beschriebenen Abläufe durchführen. Dabei werden ein oder mehrere Programme in dem Speicher gespeichert und konfiguriert, um von einem oder mehreren Prozessor/en ausgeführt zu werden, um die Anweisungen durchzuführen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Unterschiedliche Ausführungsformen der Erfindung sind in der folgenden Beschreibung der Ausführungsformen dargestellt, in Verbindung mit dem folgenden Zeichnungen, in denen die Referenznummern sich auf die entsprechenden Teile in allen Abbildungen beziehen.
  • ist ein Blockschaltbild, das ein beispielhaft dezentrales Computersystem, gemäß bestimmter Ausführungsformen der Erfindung darstellt.
  • ist ein Blockschaltbild eines dezentralen Systems einschließlich der Unterhaltungsserver und Clients, die durch ein oder mehrere Kommunikationsnetzwerke verbunden sind, gemäß bestimmter Ausführungsformen der Erfindung.
  • Die sind Blockschaltbildbilder von Datenstrukturen für eine je Unterhaltungsdatenbank, eine Teilnehmerliste und ein Unterhaltungsprotokoll, gemäß bestimmter Ausführungsformen der Erfindung.
  • ist ein Blockschaltbild, das die Datenstruktur für eine Nutzerdatenbank darstellt, gemäß bestimmter Ausführungsformen der Erfindung.
  • Die sind Flussdiagramme, die eine Methode für das Hosten von Unterhaltungen auf einem Server darstellen, gemäß bestimmter Ausführungsformen der Erfindung.
  • ist ein Blockschaltbild einer Vielzahl an verbundenen Konversationsserversysteme mit Mechanismen, die Informationen über Nutzer Onlinepräsenz sammeln und verteilen, gemäß bestimmter Ausführungsformen der Erfindung.
  • ist ein Blockschaltbild für einen Konversationsserver für ein gehostetes Unterhaltungssystem, gemäß bestimmter Ausführungsformen der Erfindung.
  • ist ein Blockschaltbild eines Clients mit einem Nutzer, der an einer oder mehreren Unterhaltungen in einem gehosteten Unterhaltungssystemen teilnimmt, gemäß bestimmter Ausführungsformen der Erfindung.
  • Die illustrieren eine Serie an Fenstern, die aufeinanderfolgende Bearbeitungen von einer Unterhaltung durch eine Vielzahl an Teilnehmern zeigen, sowie die Wiedergabe dieser Bearbeitungen.
  • illustriert eine Serie an Fenstern, die einen Entwurf einer Unterhaltung durch einen Einzelnen oder ein Team zeigen.
  • Die –B sind Flussdiagramme, die eine Methode für die Bearbeitung, Wiedergabe und den Entwurf von Unterhaltungen zeigen, die von einem Server gehostet werden, gemäß bestimmter Ausführungsformen der Erfindung.
  • zeigt ein Ablaufdiagramm, das die Steuerung der Parallelität zwischen einer Vielzahl an potentiell konkurrierenden Bearbeitungen, die von einer Vielzahl an Teilnehmern erhalten werden, illustriert.
  • illustriert zwei Sequenzen von separaten Bearbeitungsvorgängen, die beide am gleichen Inhalt ausgeführt und umgesetzt werden, wobei eine Sequenz vom ersten Teilnehmer und die zweite Sequenz vom zweiten Teilnehmer der Unterhaltung erhalten werden.
  • illustriert die erste und zweite Sequenz von Bearbeitungsabläufen, die auf eine Inhaltseinheit einer elektronischen Unterhaltung angewendet werden, jeweils erhalten von einem ersten und einem zweiten Teilnehmer und die umgesetzten Sequenzen der zusammengefügten Bearbeitungsabläufe im Einklang mit der erhaltenen ersten und zweiten Sequenz der Bearbeitungsabläufe.
  • ist ein Flussdiagramm, das eine Methode zur Steuerung der Parallelität auf einem Server, und bei einem Client zeigt, wenn einer Vielzahl an Teilnehmer in Unterhaltung potentiell konkurrierenden Bearbeitungen der Unterhaltung vornimmt.
  • Gleiche Referenzziffern beziehen sich in allen Zeichnungen auf die dazugehörigen Teile.
  • BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Methoden, Systeme, Benutzeroberflächen und andere Aspekte der Erfindung sind beschrieben. Auf die Ausführungsformen der Erfindung wird verwiesen, diese Beispiele können in den begleitenden Figuren dargestellt sein. Auch wenn die Erfindung in Verbindung mit den Ausführungsformen beschrieben wird, wird die Erfindung nicht auf diese speziellen Ausführungsformen beschränkt sein. Ganz im Gegenteil, die Erfindung beinhaltet Alternativen, Abänderungen und Entsprechungen, welche die Reichweite und den Geist der beigefügten Ansprüche respektieren. Die Spezifikationen und Zeichnungen sind dementsprechend als erläuternd und nicht als einschränkend anzusehen.
  • In der folgenden ausführlichen Beschreibung werden zum vollständigen Verständnis der vorliegenden Offenbarung zahlreiche spezifische Einzelheiten dargelegt. Es wird jedoch für jede fachkundige Person ersichtlich sein, dass nicht alle spezifische Einzelheiten für den Einsatz der Technologie des Gegenstands notwendig sind. An anderen Stellen werden Methoden, Prozeduren, Komponenten und Netzwerke, die auch einem durchschnittlichen Vertreter der Kunst hinreichend bekannt sind nicht näher erläutert, um die Aspekte der dargestellten Erfindung nicht zu verschleiern.
  • ist ein Blockschaltbild, das ein beispielhaft dezentrales Computersystem 100, gemäß bestimmter Ausführungsformen der Erfindung darstellt Das Computersystem 100 beinhaltet eine Vielzahl an Clients 110. Nutzer der Clients 110 (nachfolgend auch als Client Geräte oder Client Systeme bezeichnet) sind Teilnehmer 112 in Unterhaltungen, die von einer Gruppe an Unterhaltung Serversystemen 130 gehostet werden (man dies auch Unterhaltung Serversystem). Die Clients 100 können aus einer beliebigen Anzahl von Geräten bestehen (z. B. Internetkiosk, persönliche digitale Assistenten, Mobiltelefone, Spielvorrichtungen, Desktop PCs, Laptops, Handheld PCs, Tablet PCs oder einer Kombination der Genannten), die genutzt werden um die unten beschriebenen Aktivitäten zu ermöglichen. Jeder Client 110 ist mit einem Netzwerk 120 verbunden, welches aus jeder beliebigen Anzahl an Netzwerken bestehen kann (z. B. Internet, Intranet, lokales Netzwerk, Weitverkehrsnetzwerk, verdrahtetes Netz, optisches Netzwerk oder einer Kombination der Genannten). Allgemeiner formuliert, die Clients 100 und die Konversationsserver 130 sind miteinander verbunden mittels einem oder mehrerer Netzwerke 120.
  • Ein jeweiliger Client 110-B führt eine Client-Anwendung 114 aus, die den Zugang vom Client 110 zu einem jeweiligen gehosteten Unterhaltungsserver 130 erleichtert. Diese Client-Anwendung 114 kann sich einer graphischen Benutzeroberfläche bedienen. Die Client-Anwendung kann zum Beispiel ein Webbrowser oder eine Browseranwendung wie etwa Firefox (eingetragenes Markenzeichen der Mozilla Foundation), Internet Explorer (eingetragenes Markenzeichen der Microsoft Corporation), Safari (eingetragenes Markenzeichen von Apple Inc.) oder Chrome (eingetragenes Markenzeichen von Google Inc.).
  • Auch wenn ein System 100 einen einzelnen Unterhaltungsserver 130 beinhaltet, kann das System 100 in anderen Ausführungsformen mehrere Unterhaltungsserver 130 beinhalten. Zum Beispiel können mehrere Unterhaltungsserver 130-A und 130-B von unterschiedlichen Dienstleistern gehostet werden, wie etwa den jeweiligen Dienstleistern 116-A und 116-B. In manchen Ausführungen sind die Dienstleister Internet Service Provider (IPS), die einen Unterhaltungsservice anbieten. Wahlweise können einige oder alle dieser Dienstleister spezialisierte Unterhaltungs-Dienstleister sein. Wenn ein System 100 mehrere Unterhaltungsserver 130 beinhaltet, können die Unterhaltungsserver 130 entweder direkt, über ein lokales Netzwerk (LAN) oder über ein Netzwerk 120 miteinander verbunden sein.
  • Die Unterhaltungsserver 130 hosten Unterhaltungen zwischen Teilnehmern 112. Konkret hostet jeder Unterhaltungsserver 130 Unterhaltungen im Auftrag einer Gruppe an Nutzern. Zumindest einige dieser Nutzer sind Abonnenten des hostenden Unterhaltungssystems 100 und haben deshalb Nutzerkonten. Wie untenstehend ausführlicher erklärt, müssen einige der Teilnehmer einer Unterhaltung nicht zwingend auch Abonnenten des hostenden Unterhaltungssystems sein. Wenn ein neuer Inhalt durch einen der Teilnehmer zu der Unterhaltung hinzugefügt wird oder eine andere Änderung an der Unterhaltung durch einen der Teilnehmer vorgenommen wird, werden die Updates an alle Unterhaltungsserver 130, die die Unterhaltung für Teilnehmer hosten, gesendet. Diese Hostserver senden dann wiederum die Updates an die Clients 110, die von den Teilnehmern der Unterhaltung genutzt werden. Die Updates der Unterhaltung können sehr zeitnah an die Clients 110 der aktiven Teilnehmer der Unterhaltung gesendet werden (z. B. innerhalb einer oder zwei Sekunden). Optional erhalten die Clients 110 von passiven Teilnehmern 112, die online und in das Unterhaltungssystem 100 eingeloggt sind, die aber momentan der Unterhaltung nicht folgen oder nicht an der Unterhaltung teilnehmen, die Information, dass die Unterhaltung aktualisiert wurde, ohne dass sie die Updates der Unterhaltung erhalten. In zumindest einigen Ausführungsformen wird die aktualisierte Unterhaltung zum Client des Teilnehmers vom Unterhaltungsserver 130, der die Unterhaltung hostet, heruntergeladen, wenn der Teilnehmer die Unterhaltung „öffnet” (sie zum Ansehen auswählt).
  • ist ein Blockschaltbild des Systems 200, das beispielhafte Ausführungsformen eine Unterhaltungsservers 130 und der Clientsysteme 210 und 220 darstellt. Das System 200 beinhaltet ein Kommunikationsnetzwerk 120, wie oben beschrieben, verbunden mit einem Unterhaltungsserver 130 und einer Vielzahl an Clients, einschließlich des Clients 210. Client 210 entspricht einem jeweiligen Client 110 aus und wird nachfolgend unter anderem als Teilnehmer-Client bezeichnet, weil der Nutzer von Client 110/210 ein Teilnehmer in einer oder mehreren Unterhaltungen ist, die von dem Unterhaltungsserver 130 gehostet werden. Das System 200 beinhaltet zumindest einen Teilnehmer-Client 210. Der Teilnehmer-Client 210 beinhaltet optional einen Browser 212, wie etwa einen Webbrowser oder eine andere Browser-Anwendung, um die Teilnehmerinteraktion mit dem jeweiligen Unterhaltungsserver 130 zu erleichtern. Der Browser 212 beinhaltet (oder steuert) Üblicherweise eine virtuelle Maschine (z. B. Java Virtual Machine) zur Ausführung von Software, die in die Webseiten und andere Dokumente, die vom Browser 212 erstellt werden, eingebunden sind. In einigen Ausführungsformen führt der Browser 212 eine Unterhaltungsanwendung 214 aus, die zumindest zum Teil in die Webseite eingebunden ist. Die Webseite (die auch als „gehostete Unterhaltungs-Webseite bezeichnet wird”) wird von einem Server heruntergeladen, wie etwa einem Unterhaltungsserver 130, zum Client 210 und enthält ausführbare Anweisungen, die von der Virtual Machine des Browsers 212 beim Client 210 ausgeführt werden. Der Browser 212 und die Unterhaltungsanwendung 214 bilden zusammen die Client-Anwendung 114 der . Die Unterhaltungsanwendung 214 vereinfacht die Teilnehmerinteraktion mit dem Unterhaltungsserversystem 130.
  • In einigen anderen Ausführungsformen ist die Unterhaltungsanwendung 214 ein Plug-In oder eine Erweiterung des Browser-Anwendung 212.
  • Das System 200 beinhaltet optional Clients von Nicht-Abonnenten 220. Clients von Nicht-Abonnenten 220 erlauben Nutzern, die kein Konto beim Unterhaltungssystem haben zumindest auf eingeschränkte Weise an der gehosteten Unterhaltung teilzunehmen. Die Teilnahme an gehosteten Unterhaltungen kann auf verschiedene Art eingeschränkt werden. Zum Beispiel, könnte ein Nutzer, der kein Abonnent ist, die Erlaubnis haben eine Unterhaltung zu lesen und ihr neue Inhalte hinzuzufügen, aber keine Berechtigung haben bereits in der Unterhaltung vorhandene Inhalte zu ändern, auf bestimmte bereits in der Unterhaltung enthaltene Teile zu antworten oder die Unterhaltung erneut wiederzugeben.
  • Clients, die keine Abonnenten sind 220, greifen auf das Konversationsserversystem 130 auf eine Art zu, die sich von der Art, die Clients 210 nutzen unterscheidet. Letztere ist für Abonnenten des hostenden Konversationssystems. Ein Beispiel für einen Client eines Nicht-Abonnenten 220 ist ein Weblog („Blog”) Server 226, der einen Weblog Client 228 hat. Wie unten beschrieben kann eine gehostete Unterhaltung einen Weblog 228 (auch Weblog Client genannt) als Teilnehmer der Unterhaltung beinhalten. In diesem Fall wird der Inhalt der gehosteten Unterhaltung im Weblog veröffentlicht. Die veröffentlichte Unterhaltung ist sichtbar im Weblog 228, der vom Weblog Server 226 gehostet wird. Genauer gesagt, wenn ein Weblog 228 als Teilnehmer einer Unterhaltung hinzugefügt wird, wird der Inhalt der Unterhaltung an den Weblog 228 übertragen (auch als „posten” bezeichnet) vom Unterhaltungsserver 130, der die Unterhaltung hostet. Nachdem der Weblog 228 als Teilnehmer hinzugefügt wurde, wird neu zur Unterhaltung hinzugefügter Inhalt vom Unterhaltungsserver 130, die die Unterhaltung hostet, auch an den Weblog 228 übertragen. Ein Nutzer (z. B. ein Nutzer eines anderen Clients 110, ), der den Inhalt vom Weblog 228 sieht (z. B. weil er die URL, die mit dem Weblog 228 verbunden ist, gehostet vom Weblog Server 226, besucht), kann auch den Inhalt der auf dem Weblog veröffentlichten Unterhaltung sehen.
  • Ein weiteres Beispiel für einen Client eines Nicht-Abonnenten 220 ist ein Email-Server 224, der Email Clients 222 hat. Inhalt von gehosteten Unterhaltungen kann zu einem oder mehreren Email-Clients 222 von einem oder mehreren Email-Servern 224 gesendet werden. Insbesondere wenn ein Nutzer eines Email-Client 222 zu einer Unterhaltung hinzugefügt wird, wird der Inhalt der Unterhaltung (und der Inhalt der anschließend zu der Unterhaltung hinzugefügt wird) zum Email. Client 222 übertragen vom Unterhaltungsserver 130, der die Unterhaltung hostet.
  • Weblogs und Emailserver sind auch Beispiele für „automatisierte Clients”. Andere Beispiele für automatisierte Clients Schließen Services ein, wie etwa archivierende Services, Übersetzungsservice, Rechtschreibe- und Grammatik-Prüfung Services die genutzt werden könnten, um Dienstleistungen für andere Teilnehmer der gehosteten Unterhaltung anzubieten.
  • In einigen Ausführungsformen können Email-Clients 222 und Weblog-Clients 228 den Inhalt einer gehosteten Unterhaltung lesen, aber keinen Inhalt hinzufügen. Sie sind nur Beobachter. Jedoch können in einigen anderen Ausführungsformen, die Autorenberechtigungen (die Möglichkeit, Inhalt zu der Unterhaltung hinzuzufügen) an zumindest einige der „Email-Teilnehmer” (d. h. Nutzer von Email-Clients) oder „Weblog-Teilnehmer” (d. h. Weblog-Clients) erteilt werden.
  • In einigen Ausführungsformen beinhaltet ein Unterhaltungsserver 130 eine Front-End oder Unterhaltungsmaschine 246, um die Unterhaltungen und Kommunikationen mit Clients zu verwalten und einen oder mehrere Hilfsdienste (Module, Anwendungen oder Server) 250 für die Verwaltung von Services im Zusammenhang mit Unterhaltungen. In einigen Ausführungsformen beinhalten die Hilfsdienste 250 Rechtschreibeprüfungen 252, Sprachübersetzung oder Lokalisierungsservices 256 und verwalten Attachments 258 zu den Unterhaltungen. Unterhaltungsserver 130 beinhaltet außerdem Onlinepräsenz Services 248, die Nutzern erlaubt, den Onlinestatus von anderen Nutzern zu sehen (z. B. andere Abonnenten der hostenden Unterhaltungssystems), wie es ausführlicher untenstehend mit Referenz zu beschrieben wird. Der Server 130 beinhaltet eine Nutzer Datenbank 270, wie sie in untenstehend ausführlich beschrieben wird.
  • Die Front-End oder Unterhaltungsmaschine 246 nutzt (oder alternativ beinhaltet) eine Maschine für Updates, Zugang und Suche/Anfragen 260, um den Teilnehmern Zugang zu Konversationen zu bieten und Suchfunktionen in den Unterhaltungen anzubieten. In einigen Ausführungsformen ein oder mehrere Unterhaltungsindizes 264 sind inverse Indizes, die Wörter oder Begriffe in Unterhaltungen den Unterhaltungen zuordnen, in denen sie auftauchen. Der/die eine/mehrere Unterhaltungsindex/indizes 264 wird genutzt, um Unterhaltungen in einer gehosteten Unterhaltungsdatenbank 262, die exakt zu den spezifischen Suchanfragen passen. Wenn neuer Inhalt zu den Unterhaltungen in der Unterhaltungsdatenbank 262 hinzugefügt wird, werden der eine/die mehreren Unterhaltungsindex/indizes 264 aktualisiert, um den hinzugefügten Inhalt über die Ausführung von Suchanfragen zugänglich zu machen. Die Unterhaltungsdatenbank 262 wird ausführlicher untenstehend in beschrieben.
  • Optional beinhalten die Unterhaltungsserver 130 ein SMTP Gateway 242, um die Emailkommunikation mit einem oder mehreren Emailservers 224 zu erleichtern.
  • In der folgenden Erläuterung ein Abonnent ist ein Nutzer für den der Unterhaltungsserver 130 (z. B. jeder Unterhaltungsserver 130 in einer Gruppe von Unterhaltungsservern 130, die Unterhaltungsservices anbieten) einen Benutzerdatensatz oder ein Profil unterhält (siehe 402, , wie unten beschrieben).
  • Wie untenstehend näher beschrieben, unterhält der Unterhaltungsserver 130 in einigen Ausführungsformen für den jeweiligen Nutzer/Abonnenten eine Liste 414 ( ), in der der Nutzer/Abonnent ein Teilnehmer ist. Der Unterhaltungsserver 130 aktualisiert den Status (Unterhaltungsstatus 438-1, ) von jeder Unterhaltung in der Unterhaltungsliste 414 der Nutzers sobald sich der Status der jeweiligen Unterhaltung ändert. Wenn der Unterhaltungsserver 130 dem Nutzer eine angefragte Liste an Unterhaltungen (z. B. als Reaktion auf eine Suchanfrage des Nutzers) sendet (üblicherweise beinhaltet diese eine Untermenge der kompletten Gruppe an Unterhaltungen, in denen der Nutzer Teilnehmer ist), beinhaltet die Liste die Statusinformationen aller gelisteten Unterhaltungen. Die Statusinformation in der Liste ist normalerweise eine Untermenge des Unterhaltungsstatus 438, denn es wird lediglich ein Teil des Unterhaltungsstatus (z. B. ob ein Inhalt in der Unterhaltungen bis jetzt noch nicht gesehen wurde von einem Nutzer) benötigt, wenn die Liste der Unterhaltungen angezeigt wird.
  • ist ein Blockschaltbild, das beispielhafte Datenstrukturen für eine Unterhaltungsdatenbank 262 veranschaulicht. Auch wenn die meisten Unterhaltungen eine einzelne Gruppe an Teilnehmern haben, die den gesamten Inhalt der Unterhaltung teilen, gibt es manche Unterhaltungen (nachfolgend Unterhaltungscontainer genannt), die eine kompliziertere Struktur haben. Insbesondere geht es dabei um eine erste Unterhaltung, die sich in eine beliebige Zahl an „Nebenunterhaltungen” verzweigen kann, geführt von unterschiedlichen Untergruppen innerhalb der ersten Unterhaltung. Diese können sogar zusätzliche Teilnehmer beinhalten. Ein Unterhaltungscontainer kann z. B. von zwei oder mehr Teams an Teilnehmer (z. B. Team A und Team B) genutzt werden, um ein Abkommen zu verhandeln oder um ein Dokument, eine Präsentation oder ähnliches, gemeinsam zu bearbeiten. Um den Bedürfnissen aller Teilnehmer zu entsprechen, wird eine Anfangsunterhaltung mit allen Teilnehmern gestartet (auch primäre oder Master Unterhaltung genannt). Anschließend werden aus dieser Anfangsunterhaltung die „privaten Unterhaltungen” abgezweigt, um die Teilnehmer jedes Teams in die Lage zu versetzen, miteinander privat zu kommunizieren. Dabei haben alle Teilnehmer weiterhin Zugang zu allen Inhalten der Anfangsunterhaltung. Üblicherweise hat jede private Unterhaltung eine Gruppe an Teilnehmern, die zumindest einen Teilnehmer der primären Unterhaltung ausschließt. Optional kann eine private Unterhaltung einen oder mehrere zusätzliche Teilnehmer (z. B. einen Berater), der nicht an der primären Unterhaltung teilnimmt, Einschließen. Jeder Teilnehmer hat nur Zugang zu dem Inhalt der Unterhaltungen, an denen er teilnimmt. Üblicherweise haben die Teilnehmer des Teams A Zugang zum Inhalt von der privaten Unterhaltung des Teams A und zu der primären Unterhaltung. Wohingegen die Teilnehmer des Teams B Zugang zum Inhalt von der privaten Unterhaltung des Teams B und zu der primären Unterhaltung haben.
  • ist ein Blockschaltbild, das beispielhafte Datenstrukturen zeigt, die sowohl einfache Unterhaltungen (d. h. einfache Unterhaltungen ohne anhängende private Unterhaltungen) als auch Unterhaltungscontainer (auch primäre Unterhaltungen genannt und mit einer oder mehreren Unterhaltung/en), die mehrere Unterhaltungen beinhalten, unterstützt.
  • Die Unterhaltungsdatenbank 262 beinhaltet eine Vielzahl an Einträgen zu Unterhaltungscontainern 302-1 bis 302-N, wovon jeder die Daten eines Unterhaltungscontainers enthält. Wenn der jeweilige Unterhaltungscontainer nur eine Unterhaltung beinhaltet, ist der einzige Eintrag in dem entsprechenden Eintrag für den Unterhaltungscontainer 302, der für eine einfache Unterhaltung, wie er dargestellt durch den Unterhaltungseintrag 310 wird. Im Allgemeinen beinhaltet der Eintrag eines Unterhaltungscontainers 302 einen oder mehrere Unterhaltungseinträge 301-1 bis 310-C. Jeder Unterhaltungseintrag 310 enthält Daten der entsprechenden Unterhaltung, einschließlich:
    • • Identifikator des Unterhaltungscontainers 329, der eindeutig Unterhaltungscontainer im Unterhaltungssystem 110/200 identifiziert, das dem Eintrag für Unterhaltungscontainer 302, in dem das Unterhaltungsprotokoll 310 hinterlegt ist;
    • • Der Unterhaltungsidentifikator 330, der in Kombination mit dem Identifikator des Unterhaltungscontainers 329 eindeutig die Unterhaltung im Unterhaltungssystem 100/200 identifiziert, das dem Unterhaltungseintrag 310 entspricht (d. h. die Unterhaltung kann nur mit einem einzigen Unterhaltungscontainer in Verbindung gebracht werden);
    • • Metadaten der Unterhaltung 322
    • • Protokoll der Unterhaltung 324 (auch Protokollhistorie genannt); und
    • • einen oder mehrere Inhaltsbeiträge 326-1 bis 326-n; und
    • • eine Protokollhistorie 360.
  • Die Metadaten der Unterhaltung 322 sind Metadaten für die Unterhaltung entsprechend dem Unterhaltungsprotokoll 310 und identifiziert durch den Unterhaltungsidentifikator 310. In einigen Ausführungsformen beinhalten die Metadaten der Unterhaltung 322 einen Zeitstempel 331 der Erstellung der Unterhaltung (gibt Datum und Uhrzeit der Erstellung der Unterhaltung an) und eine Liste der Teilnehmer 332 (ausführlicher beschrieben in ) der Unterhaltung. Die Metadaten 322 können optional andere Metadaten enthalten, wie etwa die Identifikationszeichen 325 (z. B. System und/oder Nutzer spezifische Zeichen, die „öffentlich” sind und deshalb allen Teilnehmern der Unterhaltung zugänglich sind), die in Zusammenhang mit der Unterhaltung stehen und andere Eigenschaften der jeweiligen Unterhaltung, die in Verbindung mit dem Unterhaltungseintrag 310 stehen.
  • Enthält ein Unterhaltungscontainer mehr als eine Unterhaltung, enthält die Teilnehmerliste 332 der primären Unterhaltung des Unterhaltungscontainers üblicherweise alle Teilnehmer aus allen Unterhaltungen im Unterhaltungscontainer. In einigen Ausführungsformen jedoch, können private Unterhaltungen (d. h. Unterhaltungen, die nicht die primäre Unterhaltung sind) im Unterhaltungscontainer zusätzliche Teilnehmer haben, die nicht Teilnehmer der primären Unterhaltung sind. Dadurch haben üblicherweise die privaten Unterhaltungen im Unterhaltungscontainer eine Teilnehmerliste 332, die zumindest einen Teilnehmer enthält, der auch an der primären Unterhaltung teilnimmt und optional einen oder mehrere Teilnehmer einschließt, die nicht an der primären Unterhaltung desgleichen Unterhaltungscontainers teilnimmt.
  • Außerdem wird eine Parent ID/Insertion Position 333 für jede private Unterhaltung bereitgestellt, wenn ein Unterhaltungscontainer mehr als eine Unterhaltung enthält. Dies gilt jedoch nicht für die primäre Unterhaltung. Die Parent ID/Insertion Position 333 identifiziert den Ursprung der privaten Unterhaltung und auch die Position innerhalb der identifizierten Ursprungsunterhaltung, an der der Inhalt der privaten Unterhaltung angezeigt werden soll, wenn Teilnehmer der privaten Unterhaltung ihn ansehen. Üblicherweise ist die primäre Unterhaltung der Ursprung des Unterhaltungscontainers. Aber in einigen Fällen kann der Ursprung einer privaten Unterhaltung auch eine andere private Unterhaltung sein, die weiter oben in der Hierarchie (oder Grafik) der Unterhaltungen im Unterhaltungscontainer sein. Wenn ein Teilnehmer einer privaten Unterhaltung den Unterhaltungscontainer, der die private Unterhaltung enthält, ansieht, kann er sowohl den Inhalt dieser Unterhaltung als auch den der primären Unterhaltung sehen (ausgehend davon, dass er auch Teilnehmer der primären Unterhaltung ist). In einer weniger häufigen Kommunikationssituation, in der der Nutzer zwar an der privaten Unterhaltung teilnimmt, nicht aber an der primären Unterhaltung, wird der Nutzer nur den Inhalt der privaten Unterhaltung/en im Unterhaltungscontainer sehen, an der/denen er teilnimmt.
  • In einigen Ausführungsformen protokolliert das Unterhaltungsprotokoll 324/3C) alle Änderungen an der Unterhaltung, einschließlich der Änderungen am Inhalt und an der Teilnehmergruppe der Unterhaltung sowie anderen Eigenschaften der Unterhaltung. Auf das Unterhaltungsprotokoll 324 wird zugegriffen, wenn ein Teilnehmer einmalig oder mehrfach den Status einer Unterhaltung sehen will oder den Inhalt einer Einheit innerhalb der Unterhaltung. Das Unterhaltungsprotokoll 324 kann zum Beispiel die Abfolge von Inhaltsänderungen einer Unterhaltung rekonstruieren oder nachverfolgen. Das bezeichnet man auch die „Wiedergabe” oder „Rückverfolgung” einer Unterhaltung. Die Wiedergabe einer Unterhaltung kann auf verschiedene Weise ausgeführt werden, einschließlich des Vor- und Zurückspulens und der Funktion Updates wahlweise für einen Teil oder für die gesamte Unterhaltung anzuzeigen.
  • Ein Beitrag zu einer Unterhaltung 326 (auch Inhaltseinheit oder „Blip” genannt) kann eine Nachricht sein, ähnlich einer Emailnachricht oder einer Instant Message. Andere Beiträge zum Inhalt 326 einer Unterhaltung können Dokumente (z. B. ein Report, eine Meeting Agenda etc.), Bilder, Präsentationen, Audiodateien, Videodateien oder theoretisch jede Art von elektronischem Dokument oder Inhalt sein. In einigen Ausführungsformen gibt es kaum eine oder gar keine Unterscheidung zwischen Emailnachrichten und anderen Arten von Beiträgen zur Unterhaltung. In einigen Ausführungsformen enthalten die Daten in einem Unterhaltungsprotokoll 310 für jeden Beitrag zur Unterhaltung 326:
    • • einen Identifikator für den Inhalt 342 (z. B., einen Wert, der eindeutig den Beitrag zum Inhalt identifiziert, entweder global innerhalb des Unterhaltungssystem, oder lokal innerhalb der jeweiligen Unterhaltung);
    • • Metadaten der Inhaltseinheit 346, zur Identifikation von Eigenschaften des Beitrags zum Inhalt 326;
    • • optional einen oder mehrere Anhänge 344 (z. B., Bilder, Videos, Dokumente, Dateien, Archive, Audio, Animationen, Links, etc.); und
    • • den Inhalt 349 (z. B., Text, Bilder, Inhalte aus Dokumenten, etc.) des Beitrags zum Inhalt 326.
  • In einigen Ausführungsformen Schließen die Metadaten der Inhaltseinheit 346 für eine Inhaltseinheit 326 ein:
    • • einen ersten Zeitstempel 341-1, der Datum und Uhrzeit der ersten Erstellung des Inhalts enthält (hinzugefügt zur Unterhaltung), und eine entsprechende Sequenznummer 343-1 entsprechend dem Status der Unterhaltung zum Zeitpunkt der ersten Erstellung der Inhaltseinheit;
    • • ein letzter Zeitstempel 341-2 zeigt das letzte Datum und die letzte Uhrzeit, zu dem die Inhaltseinheit bearbeitet wurde und die entsprechende Sequenznummer 343-2 entsprechend dem, Status der Unterhaltung bei der letzten vorgenommenen Bearbeitung der Unterhaltung; beide, den ersten und letzten, Zeitstempel und die entsprechende Sequenznummer zu haben, ist hilfreich, bei (zum Beispiel) der Wiedergabe der Änderungen an einem Teil der Unterhaltung, der die Inhaltseinheit beinhaltet;
    • • Die Identifikatoren 352 (z. B., Teilnehmeradressen) der Autoren oder der zum Inhalt Beitragenden, optional geordnet nach Reihenfolge des ersten Beitrags jedes Autors zur Inhaltseinheit; auch wenn die meisten Inhaltseinheiten einen einzigen Autor besitzen, können Inhaltseinheiten auch gemeinsam geschrieben werden. In diesem Fall besitzen sie mehrere Autoren.
  • In einigen Ausführungsformen Schließen Metadaten 346 einer Inhaltseinheit 326 auch das Folgende mit ein:
    • • der Ursprungsidentifikator 354 bietet einen Identifikator der oder einen Hinweis ursprünglichen Inhaltseinheit, auf die dieser Inhaltsbeitrag Bezug nimmt oder antwortet;
    • • die Position 350 bietet einen Indikator der Position dieser Inhaltseinheit in einer Unterhaltung); die Position 350 kann genutzt werden, um zu bestimmen, wie die Inhaltseinheit dargestellt wird, wenn zwei oder mehr Inhaltseinheiten dieser Unterhaltung angezeigt werden; und
    • • optional gibt es Ableger 358 dieses Beitrags zum Inhalt (d. h., Identifikatoren oder Hinweise zu Ableger Inhaltseinheiten, welche Bezug nehmen oder auf die ursprüngliche Inhaltseinheit antworten).
  • Üblicherweise Schließen die Metadaten 346 einer Inhaltseinheit 326 zumindest einen Wert mit ein (z. B., die Position 350 oder den Ursprungsidentifikator 354), der die Position identifiziert oder die Position der Inhaltseinheit 326 innerhalb der Unterhaltung repräsentiert.
  • Ein Unterhaltungsindex 264 (siehe ) bietet schnellen Zugang zu Unterhaltungen in der Unterhaltungsdatenbank 262 durch eine Indexsuche.
  • ist ein Blockschaltbild, das die Datenstrukturen einer Teilnehmerliste 332 in den Metadaten einer Unterhaltung 322 ( ) innerhalb des Unterhaltungsprotokolls 310 anzeigt. Eine Teilnehmerliste 332 enthält eine Vielzahl an Teilnehmerprotokollen 362, eines für jeden der Teilnehmer einer jeweiligen Unterhaltung. In einigen Ausführungsformen beinhaltet jedes Teilnehmerprotokoll 362 die folgenden Informationen oder eine Untermenge der folgenden Informationen:
    • • einen Identifikator der Unterhaltung 371;
    • • eine Teilnehmeradresse 372, die auch als Teilnehmer-Identifikator bezeichnet werden kann; die Teilnehmeradresse identifiziert den Teilnehmer eindeutig innerhalb der Teilnehmergruppe einer Unterhaltung im Unterhaltungssystem 100 ( );
    • • ein nutzerabhängiger Unterhaltungsstatus 373; zum Beispiel kann der Unterhaltungsstatus 373 den Gelesen/Nicht gelesen Status 374 dieser Unterhaltung in Bezug auf den jeweiligen Teilnehmer entsprechend des Teilnehmerprotokolls 362 anzeigen; der Unterhaltungsstatus 372 kann Informationen darüber beinhalten, welche Beiträge zum Inhalt vom Teilnehmer angesehen wurden und welche noch nicht;
    • • der Unterhaltungsstatus 373 eines Unterhaltungsteilnehmers kann Markierungen 376 enthalten; optional können die Markierungen 376 eine Ignorieren-Markierung 377 enthalten (auch Stumm-Markierung genannt), welche bei Nutzung anzeigt, dass der Teilnehmer dem Unterhaltungssystem mitgeteilt hat, nicht über die Updates der Unterhaltung unterrichtet werden zu wollen;
    • • der Unterhaltungsstatus 373 eines Unterhaltungsteilnehmers kann private Kennzeichnungen (auch „Ordner” oder „Ordnerbezeichnungen” genannt) 378, die durch diesen Teilnehmer der Unterhaltung zugeordnet werden (z. B. kann der Teilnehmer auf der Suche nach Unterhaltungen eine private Markierung als einen der Suchbegriffe mitverwenden) Einschließen; private Markierungen können von Teilnehmern genutzt werden, um ihre Unterhaltungen zu organisieren und, basierend auf den zugeordneten Markierungen, das Auffinden der Unterhaltungen zu vereinfachen; es sei erwähnt, dass diese Markierungen 325 öffentliche Informationen sind, die allen Teilnehmern der Unterhaltungen zur Verfügung stehen, während die privaten Markierungen jedes Teilnehmers nur dem Teilnehmer selbst zur Verfügung stehen;
  • Der Unterhaltungsstatus 373 eines Unterhaltungsteilnehmers kann einen Viewpoint Pointer 379 beinhalten, der entweder den Abschnitt der Unterhaltung (und die Position des Cursors vom Nutzer innerhalb der jeweiligen Inhaltseinheit wenn der Nutzer die Inhaltseinheit bearbeitet oder ergänzt) anzeigt, der aktuell angesehen wird oder den zuletzt angesehenen Abschnitt der Unterhaltung anzeigt, falls der Teilnehmer aktuell die Unterhaltung nicht anzeigt oder ansieht.;
    • • optional, andere Metadaten in Bezug auf diesen jeweiligen Teilnehmer im Zusammenhang mit dieser Unterhaltung.
  • Eine weitere optionale Markierung 376 im nutzerabhängigen Unterhaltungsstatus 373 für den jeweiligen Teilnehmer als Erinnerungsmarkierung. Wenn er im nutzerabhängigen Unterhaltungsstatus 373 beinhaltet, enthält der nutzerabhängige 373 Unterhaltungsstatus auch einen entsprechenden Zeitstempel, der Datum und Uhrzeit (oder ein Zeitstempelpaar zur Anzeige von Daten-/Zeitenbereiche), warm der Teilnehmer aufgefordert werden soll, seine Aufmerksamkeit wieder auf die Unterhaltung oder einen Teil der Unterhaltung zu lenken. Optional kann eine Nutzer-ID des Nutzers gesendet werden, der die Erinnerung gesetzt hat (in einigen Ausführungsformen können Erinnerungen eines Nutzers nicht nur an sich selbst, sondern auch an andere Teilnehmer der Unterhaltung gesendet werden), und optional kann ein Indikator für einen bestimmten Inhaltsbereich der Unterhaltung als Betreff der Erinnerung gewählt werden.
  • Eine weitere optionale Markierung 376 im nutzerabhängigen Unterhaltungsstatus 373 eines Teilnehmers ist eine Alarm-Markierung. Eine Alarm-Markierung wird in den nutzerabhängigen Unterhaltungsstatus 373 eingefügt, wenn ein andere Teilnehmer einen Alarm (was der Form der Notiz oder Instant Message entspricht) an den Teilnehmer gesendet hat (üblicherweise ein Online Teilnehmer), oder wenn der Teilnehmer einen Alarm an einen anderen Teilnehmer gesendet hat. Die Alarm-Markierung, wenn sichtbar, zeigt der Client-Anwendung an, dass eine Alarm-Markierung (z. B. eine Pop-up Box) anzeigt werden soll.
  • Viele Informationen (z. B. der Unterhaltungsstatus 373) des Teilnehmerprotokolls 362 sind nur dem Teilnehmer zugänglich und werden nicht mit anderen Teilnehmern der Unterhaltung oder anderen Nutzern des Unterhaltungssystems geteilt. In einigen Ausführungsformen wird die Cursor-Position (siehe 379, ) jedes Teilnehmers, der aktiv eine Inhaltseinheit bearbeitet oder neuen Text zu einer Unterhaltung eingibt, veröffentlicht. Außer der jeweilige Teilnehmer hat die Veröffentlichung der Cursor-Position unterdrückt. In diesem Fall ist der Aspekt des Unterhaltungsstatus des Teilnehmers 373 nicht als privat für den Teilnehmer anzusehen. Wenn eines eine Vielzahl an aktiven Teilnehmern gibt, die die gleiche Unterhaltung bearbeiten, wird die Information über die Cursor-Positionsinformation für jeden aktiven Teilnehmer an die Clients der aktiven Teilnehmer übermittelt (über ihre hostenden Unterhaltungsserver). Beim jeweiligen Teilnehmer des Clients wird eine Vielzahl an Cursor-Positionen (entsprechend der Vielzahl der unterschiedlichen Teilnehmer) gleichzeitig angezeigt, wenn die Cursor-Positionen nahe genug beieinander liegen, dass eine gleichzeitige Anzeige möglich ist.
  • Wie oben beschrieben, stellt der Server 140 in einigen Ausführungsformen für jedes entsprechende Unterhaltungsprotokoll 310 für jeden entsprechenden Teilnehmer 362 einen Unterhaltungsstatus 373 der jeweiligen Unterhaltung in Bezug auf den jeweiligen Teilnehmerbereit. Der Server 130 bietet dem jeweiligen Teilnehmer (z. B., für den Client, der dem Teilnehmer die Unterhaltung anzeigt) den Status der jeweiligen Unterhaltung in Bezug auf den jeweiligen Teilnehmer an. In einigen Ausführungsformen beinhaltet das, dass dem Teilnehmer (z. B. für den Client, den der Teilnehmer nutzt) den Lesestatus der Inhaltseinheiten der jeweiligen Unterhaltung in Bezug auf den Teilnehmer (d. h., er zeigt an, welche Inhaltseinheiten durch welchen Teilnehmer bereits gelesen oder angesehen wurden (im aktuellen Status), und welche nicht) zur Verfügung zu stellen. In einigen Ausführungsformen beinhaltet die Bereitstellung des Unterhaltungsstatus 373 der jeweiligen Unterhaltung in Bezug auf den jeweiligen Teilnehmer auch das Anbieten von Markierungen 378, spezifiziert vom jeweiligen Teilnehmer für die jeweilige Unterhaltung.
  • In einigen Ausführungsformen beinhaltet die Bereitstellung des Status 373 der jeweiligen Unterhaltung in Bezug auf den jeweiligen Teilnehmer auch, im Einklang mit den Anweisungen des Teilnehmers, die Bereitstellung von Metadaten (z. B. Ignorieren-Markierung 377) die jeweilige Unterhaltung zu ignorieren. Dies bietet dem Teilnehmer die Option Unterhaltungen mit einer Regel zu verwalten, um Unterhaltungen zu archivieren und um eine Überlastung im Inhaltsdisplay zu vermeiden. Wenn ein Teilnehmer, zum Beispiel, eine Unterhaltung mit einem systemseitig als „Ignorieren” oder „Stummschalten” definierten Marker markiert, wird für den Teilnehmer die „ignorieren” Markierung 377 (für die markierte Unterhaltung) gesetzt und die Unterhaltung wird danach behandelt (bezogen auf diesen bestimmten Teilnehmer) wie eine archivierte Nachricht oder Unterhaltung. Andere Teilnehmer der Unterhaltung können die Unterhaltung weiterhin in ihrer Liste der aktiven Unterhaltungen sehen, solange sie selbst diese Unterhaltung nicht mit dem „Ignorieren” Marker markiert haben.
  • In einigen Ausführungsformen wird der nutzerabhängige Unterhaltungsstatus 373 für jeden Teilnehmer von jeder gehosteten Unterhaltung in der Unterhaltungsdatenbank 262 gespeichert, wie in beschrieben. In anderen Ausführungsformen wird der nutzerabhängige Unterhaltungsstatus 373 für jeden Teilnehmer von jeder gehosteten Unterhaltung in der Nutzerdatenbank 400 gespeichert, wie untenstehend ausgeführt. In wiederum anderen Ausführungsformen wird die nutzerabhängige Information zum Unterhaltungsstatus 373 (für jeden Teilnehmer von jeder gehosteten Unterhaltung) in einer separaten Datenbank oder auf einem separaten Server gespeichert (auch „Nutzer-Supplement” Datenbank oder Server genannt). Das geschieht separat von der Unterhaltungsdatenbank 262 und der Nutzerdatenbank 400. Optional können Hinweise zur nutzerabhängigen Information zum Unterhaltungsstatus 373 (z. B. Protokolle) in der Nutzer-Supplement Datenbank 400 und in der Unterhaltungsdatenbank 262 gespeichert werden. Alternativ dazu werden solche Hinweise nicht gespeichert und der nutzerabhängige Unterhaltungsstatus 373 eines bestimmten Nutzers von einer entsprechenden Unterhaltung wird abgerufen. Üblicherweise von der Nutzer-Supplement Datenbank für die Übermittlung zu einem Client, der an der Unterhaltung teilnimmt, auf einer Anfrage-Basis. Außerdem wird er im Einklang mit den Operationen (z. B.: Inhalte lesen, Endinhalte eingeben, Inhalte bearbeiten etc.), die vom Teilnehmer durchgeführt werden, aktualisiert.
  • Wie untenstehend detaillierter beschrieben, speichert der Unterhaltungsserver 130 in einigen Ausführungsformen, für den jeweiligen Abonnenten, eine Kontaktliste (416, beschrieben in ), die in Verbindung mit dem jeweiligen Abonnenten steht. In einigen Ausführungsformen wird die Kontaktliste in der Nutzerdatenbank 270 ( ) oder 400 ( ) gespeichert.
  • Wenn eine Unterhaltung zur Anzeige beim Nutzer an einen Client gesendet wird, erhält der Client nur einen Teil des Unterhaltungsprotokolls 310 ( ) der Unterhaltung. In einigen Ausführungsformen enthält der Teil des Unterhaltungsprotokolls 310, der an den Client gesendet und von ihm gespeichert wird nicht das Unterhaltungsprotokoll 324 und den Unterhaltungsstatus 373 anderer Teilnehmer (mit Ausnahme der Cursor-Position der anderen aktuell aktiven Teilnehmer der Unterhaltung, die diese Übertragung ihrer Cursor-Position nicht geblockt haben). In einigen Ausführungsformen wird das Unterhaltungsprotokoll 324 nur an den Client 110 gesandt, wenn der Teilnehmer beim Client eine Wiedergabe der Unterhaltung, einen nutzerspezifischen Teil der Unterhaltung oder eine Statusübersicht der Unterhaltung zu einem bestimmten Zeitpunkt oder Punkt in der Vergangenheit angefordert hat.
  • ist ein Blockschaltbild und zeigt Datenstrukturen für das Unterhaltungsprotokoll 324, bezogen auf einige Ausführungsformen. Das Unterhaltungsprotokoll 324 enthält eine zeitlich geordnete Sequenz der Protokolleinträge 385-1 bis 385-C (auch als Logeintrag bezeichnet). Ein jeweiliger Protokolleintrag 385 beinhaltet eine Inhalts-ID 386, die Inhaltseinheit (wenn es eine gibt), die durch die Änderungen des Inhalts aktualisiert wird, die im Protokolleintrag 385 hinterlegt sind, Metadaten 388, die in den Änderungen des Inhalts aufgezeichnet sind, Verlinkungen 394 (z. B. eine oder mehrere Hinweise oder Dateinamen) zu Attachments, die der Unterhaltung hinzugefügt wurden durch die Änderungen des Inhalts und eine Liste der Inhaltsbearbeitungen oder – änderungen 396, die in den Protokolleinträgen hinterlegt sind. Die Metadaten 388 beinhalten einen Zeitstempel 389 und/oder eine Sequenznummer, welche eindeutig die Reihenfolge der Änderungen an der Unterhaltung im Protokolleintrag identifiziert, relativ zu den Änderungen an der Unterhaltung in anderen Protokolleinträgen der gleichen Unterhaltung. Die Metadaten 388 identifizieren außerdem eine Liste an Autoren (auch als Beitragende bezeichnet) 390 der Änderungen an der Unterhaltung im Protokolleintrag und die Startposition 392 der Änderungen an der Unterhaltung, die im Protokolleintrag 385 hinterlegt sind. Während die Autorenliste 390 nur einen Autor für die meisten Protokolleinträge 385 nennen wird, kann ein einziger solcher Protokolleintrag 385 eine Liste 390 aller Autoren enthalten, die zur Änderung der Inhaltseinheit beigetragen haben und vom Protokolleintrag 385 aufgezeichnet wurden. Dies ist der Fall, wenn mehrere Autoren eine Inhaltseinheit innerhalb einer kurzen Zeit oder während sich überschneidender Zeiträume bearbeiten oder ändern. In einigen Ausführungsformen ist die Startposition 392 enthalten in den Änderungen der Unterhaltung 396 als ein Startpunkt oder eine Positionssetzung der ersten Änderung 396. In diesen Ausführungsformen haben die Protokolleinträge kein separates Feld für die Startposition 392.
  • ist ein Blockschaltbild und zeigt Datastrukturen für eine Nutzerdatenbank 400, bezogen auf bestimmte Ausführungsformen dieser Erfindung. Die Datenbank 400 beinhaltet eine Vielzahl von Nutzereinträgen 402. In einigen Ausführungsformen enthält jeder Nutzereintrag 402:
    • • einen Nutzeridentifikator 410 für einen Abonnenten des hostenden Unterhaltungssystems;
    • • Nutzermetadaten 412, die Informationen über oder für den Nutzer enthalten;
    • • eine Liste an Unterhaltungen 414, an welchen der Nutzer teilnimmt;
    • • die Kontaktliste des Nutzers 416 (üblicherweise eine Kontaktliste 416, die mit dem Nutzer entspricht und exklusiv für ihn ist);
    • • optional Markierungen 418, die vom Nutzer definiert wurden, um Unterhaltungen zu bezeichnen oder zu ordnen;
    • • optional, einen Identifikator für das Client Gerät und/oder den Client Typ 420 eines Client Gerätes, das vom Nutzer genutzt wird, um mit dem Unterhaltungsserver zu kommunizieren, oder alternativ, den Identifikator und Typ der Client Geräte, die der Nutzer in der Vergangenheit in Zusammenhang mit dem Unterhaltungsserver genutzt hat; in einigen Ausführungsformen kann der Typ des Clients (z. B., Desktop PC, Mobiltelefon, etc.) genutzt werden, um zu bestimmen, welcher Inhalt der Unterhaltung an den Nutzer gesendet wird;
    • • optional, Präferenzen 422 des Nutzers bei Teilnahme an einer Unterhaltung 422;
    • • optional, einen Inverse Index 424 in Verbindung mit dem User;
    • • einen aktuellen Onlinestatus 426 des Nutzers (z. B. Offline, Online, Beschäftigt, Abwesend, etc.);
    • • Information zur Authentifizierung 428 des Nutzers (e. g., Benutzername, Passwort und optional andere Werte zur Authentifizierung des Nutzers);
    • • optional, andere nutzerbezogene Daten, wie eine oder mehrere Blog URLs 430, Emailadressen 432, etc.
  • Die Liste der Unterhaltungen 414, mit denen der Nutzer assoziiert ist, beinhaltet eine Vielzahl an Einträgen zu Gesprächen des Nutzers 434, jeder Eintrag bezieht sich auf eine Unterhaltung, an der der Nutzer teilnimmt. Jeder Eintrag zu Gesprächen des Nutzers 434 enthält:
    • • einen Identifikator des Gesprächs 436, der das jeweilige Gespräch identifiziert, und
    • • nutzerabhängige Informationen zum Unterhaltungsstatus 438, die dieselben sein können (oder ein Hinweis auf) wie der Unterhaltungsstatus 373 im Nutzerprotokoll 362 des Unterhaltungsprotokolls 310. Wie obenstehend beschrieben, können nutzerabhängige Informationen zum Unterhaltungsstatus in einigen Ausführungsformen in einer separaten Datenbank oder einem separaten Server (auch Nutzer Supplement Datenbank oder Server genannt). In diesem Fall enthält der Eintrag zur Unterhaltung des Nutzers 434 einen Identifikator der Unterhaltung 436, aber keine Information zum nutzerabhängigen Unterhaltungsstatus 438.
  • Wie obenstehend beschrieben, enthält das System in einigen Ausführungsformen einen separaten nutzerabhängigen Inverse-Index 424 für jeden Nutzer des Systems; jeder Suchindex 424 ist ein Index, der Termini, Bezeichnungen, Markierungen etc. der Unterhaltungen, an der der Nutzer teilnimmt, abbildet (und, optional, zu den Inhaltseinheiten der Unterhaltungen oder den Punkten innerhalb der Unterhaltung), in denen diese Termini, Bezeichnungen, Markierungen etc. vorkommen Diese nutzerabhängigen Indizes ermöglichen ein schnelles Indexieren und ein schnelles Suchen in den Unterhaltungen, an denen der Nutzer teilnimmt. Zusätzliche Indizes (auch „big wave” Indizes genannt) werden in einigen Ausführungsformen genutzt, um das schnelle Indexieren bereitzustellen und Zugang zu „big wave” Unterhaltungen zu erhalten, die eine große Anzahl an Teilnehmern (z. B. mehr als eine Schwellenanzahl wie etwa 500–100) haben. In diesen Ausführungsformen wird der Inhalt der „big wave” Unterhaltungen nicht in nutzerabhängigen Inverse-Indizes 424 indexiert, sondern durch einen oder mehrere „big wave” Indizes. Auf gleiche Weise werden Indizes in einigen Ausführungsformen genutzt, in denen Nutzergruppe als Gruppe in einer Unterhaltung teilnehmen. Zusätzliche nutzergruppenabhängige Indizes werden genutzt, um diese Unterhaltungen zu indexieren und so schnelles Suchen dieser Unterhaltungen zu ermöglichen; und die Unterhaltungen, an denen der Nutzer nur als Gruppenmitglied teilnimmt (wenn es sie gibt) werden nicht im nutzerabhängigen Inverse-Index 424 aufgeführt. Deshalb können mehrere Indizes durchsucht werden, wenn der Nutzer eine nutzerspezifische Anfrage zur Suche nach Unterhaltungen ausführt. Die Suchergebnisse aus mehreren Indizes werden zusammengefasst bevor die Suchergebnisse dem anfragenden Nutzer mitgeteilt werden.
  • In einigen Ausführungsformen bietet der Server 130 allen Nutzern einer Unterhaltungen den gleichen Inhalt an und stellt für jeden Teilnehmer die Information über die Onlinepräsenz der anderen Teilnehmer bereit. In einigen Ausführungsformen erlaubt der Server dem Teilnehmer einer Unterhaltung die Veröffentlichung der Information zur Onlinepräsenz vor den anderen Teilnehmern zu verstecken. In einigen Ausführungsformen erlaubt der Server dem Teilnehmer einer Unterhaltung die Veröffentlichung der Information zu seiner Onlinepräsenz wahlweise den anderen Teilnehmern einer Unterhaltung anzuzeigen (z. B. kann er nur ausgewählten Teilnehmer seine Präsenzinformation zu sehen oder, alternativ, ausgewählten Teilnehmer diese Information verweigern.)
  • Der Server 130 bietet in einigen Ausführungsformen den gleichen Inhalt allen Teilnehmern an, formatiert den Inhalt, sodass er kompatibel mit einem oder mehreren Arten von Inhalten, die das Client Gerät 110, das mit dem jeweiligen Teilnehmer verknüpft ist, zu empfangen konfiguriert wurde und überträgt den formatierten Inhalt an das Client Gerät.
  • In einigen Ausführungsformen formatiert der Unterhaltungsserver 130 den Inhalt durch die Komprimierung von Multimediadaten, die mit dem Inhalt verknüpft sind (um z. B. Bandbreitenvoraussetzungen entgegen zu kommen), wenn der Inhalt einer Unterhaltung an bestimmte Clients (z. B., a Mobiltelefon oder PDA) geliefert wird. In einigen Ausführungsformen stellt der Server eine Untermenge an Multimediadaten, die mit dem Inhalt verknüpft sind (z. B., ein Thumbnail Bild oder kurze Audio/Video Clips) für den Client bereit. In einigen Ausführungsformen entfernt der Server Multimediadaten (z. B., Pufferstreifen aus Multimedia und bietet nur Text an), die mit dem Inhalt verknüpft sind und an den Client geliefert werden.
  • In einigen Ausführungsformen authentifiziert der Unterhaltungsserver 130 einen Nutzer durch Nutzung der Authentifizierungsinformationen 428 bevor der Inhalt von Unterhaltungen für den Nutzer bereitgestellt wird.
  • In einigen Ausführungsformen sendet der Unterhaltungsserver 130 Inhalte von Unterhaltungen, an denen der jeweilige Nutzer teilnimmt, an einen Weblog (z. B. einen Weblog Server 226 oder Weblog Client 228), der im Nutzerprotokoll 402 des Nutzers spezifiziert wird (z. B. durch Blog URL 430). Wenn der jeweilige Teilnehmer einer Unterhaltung ein automatisierter Client ist, wird der Inhalt der Unterhaltung an den automatisierten Client gesendet. Der automatisierte Client kann ein Weblog, ein Emailserver oder Account, oder ein Service Provider wie etwa ein Übersetzungsservice, eine Rechtschreibeprüfung oder ähnliches, sein.
  • 5E sind Flussdiagramme, die Methoden für das Hosten von Unterhaltungen auf einem Server zeigen, in Verbindung mit bestimmten Ausführungsformen der Erfindung. Diese Methoden werden von Anweisungen reguliert, die in einem kompatiblen Speichermedium abgelegt sind und von einem oder mehreren Prozessoren, die auf einem oder mehreren Servern liegen, ausgeführt werden. Jede der Operationen, die in den 5E aufgeführt ist, kann den Anweisungen entsprechen, die im kompatiblen Speichermedium abgelegt sind. Das kompatible Speichermedium kann eine magnetische oder optische Speicherplatte, Festkörperspeicher wie Flash Memory oder andere permanente Speichergeräte enthalten. Die kompatiblen Anweisungen, die im kompatiblen Speicher abgelegt sind, sind in Quellcode, Assembly Language Code, Objektcode oder einem anderen Anweisungsformat gefasst, das von einem Prozessor ausgeführt oder gelesen werden kann.
  • zeigt eine Methode 500 für das Hosten von Unterhaltungen auf einem Konversationsserver. Ein Server hostet (502) einen Vielzahl an Unterhaltungen, wobei jede eine identifizierte Gruppe an Nutzern besitzt. Der Server ist üblicherweise einer von einer Vielzahl Servern, die Unterhaltungen in einem gehosteten Unterhaltungssystem hosten.
  • Der Server stellt (506) den gleichen Inhalt einer Unterhaltung allen Teilnehmer der Unterhaltung zur Verfügung. In einigen Ausführungsformen stellt der Server auch (508) Informationen zur Onlinepräsenz von jedem der mehrheitlichen Unterhaltungsteilnehmer den anderen Teilnehmern der Unterhaltung zur Verfügung. Der Server empfängt (510) Inhalte von einer Vielzahl an Teilnehmern der Unterhaltung und übermittelt den erhaltenen Inhalt an die anderen Teilnehmer der Vielzahl an Teilnehmern.
  • The Server stellt (512), wenn ein zusätzlicher Teilnehmer der Unterhaltung hinzugefügt wird, den gleichen Inhalt der Unterhaltung dem zusätzlichen Teilnehmer zur Verfügung, den er auch der identifizierten Gruppe an Teilnehmern bietet und fügt den zusätzlichen Teilnehmer der identifizierten Gruppe an Teilnehmern hinzu. Wie obenstehend beschrieben, wenn ein Nutzer einen Client nutzt, der in der Lage ist den kompletten Inhalt der Unterhaltung zu empfangen, wird der komplette Inhalt der Unterhaltung an den Client, der aktuell vom zusätzlichen Teilnehmer genutzt wird, gesendet. In einigen Ausführungsformen beinhaltet der „komplette Inhalt der Unterhaltung” den gesamten Inhalt, der vor dem Beitritt durch die vorherigen Teilnehmer zur Unterhaltung hinzugefügt wurde, sowie auch den automatische generierten Inhalt (z. B. Inhalt, der vom Serversystem generiert wird), der zum Zeitpunkt des Beitritt in der Unterhaltung enthalten war. So erhält der Teilnehmer, auch wenn er später zur Unterhaltung hinzugefügt wurde, den Inhalt, der zur Unterhaltung beigetragen wurde, bevor der Teilnehmer der Unterhaltung hinzugefügt wurde. Es ist verständlich, dass die Teilnehmer sich um die Sicherheit ihrer persönlichen Daten, die mit einer Unterhaltung und/oder dem Inhalt, der von Ihnen beigetragen wird, verknüpft sind, sorgen. Dementsprechend werden diese Sorgen um die Datensicherheit in einigen Ausführungsformen in einer Vielzahl von Lösungsansätzen aufgegriffen, einschließlich eines Weges, aber nicht beschränkt darauf: die Möglichkeit an „privaten Unterhaltungen” teilzunehmen (wie es ausführlicher in beschrieben ist); die Möglichkeit eine Entwurfsnachricht im „Team Entwurfsmodus” zu erstellen (wie es ausführlicher in beschrieben ist); der Erlaubnis, dass Teilnehmer das Teilen ihre Inhalte blockieren (z. B. durch Einschränkung des Zugriffs auf vom jeweiligen Teilnehmer hinzugefügten Inhalt, sodass nur vom jeweiligen Teilnehmer explizit ausgewählte Teilnehmer berechtigt sind, darauf zuzugreifen); und der Einschränkung der Berechtigung der Teilnehmer zusätzliche Teilnehmer zu einer jeweiligen Unterhaltung hinzuzufügen ohne dass einer oder mehrere andere Teilnehmer der jeweiligen Unterhaltung dem zustimmen (z. B. durch die notwendige Zustimmung der Hälfte der anderen Teilnehmer oder durch alle Teilnehmer bevor ein weiterer Teilnehmer der jeweiligen Unterhaltung hinzugefügt wird.).
  • In einigen Ausführungsformen formatiert der Server (514) den Inhalt der Unterhaltung, damit er kompatibel mit einem oder mehreren Client basierten Geräten ist, die vom jeweiligen Teilnehmer konfiguriert wurden, diesen zu empfangen und überträgt den Inhalt an das Client Gerät. In einigen Ausführungsformen formatiert der Server den Inhalt einer Unterhaltung, in dem er zumindest eine der folgende Aktionen ausführt: Multimediadaten, die mit dem Inhalt verknüpft sind, komprimieren, eine Untermenge an Multimediadaten, die mit dem Inhalt verknüpft sind, anbieten, und Multimediadaten, die mit dem Inhalt verknüpft sind, entfernen (z. B. Video und Audio Daten entfernen, aber den textlichen Inhalt stehenlassen).
  • In einigen Ausführungsformen erhält der Server (518) eine Suchanfrage (auch als Anfrage bezeichnet) von einem Teilnehmer und stellt dem Teilnehmer ein Suchergebnis zur Verfügung, einschließlich des Inhalts zumindest einer der Vielzahl an Unterhaltungen, als Antwort auf die Suchanfrage. Alternativ oder ergänzend als Antwort auf die Suchanfrage stellt der Server (520) dem Teilnehmer ein Suchergebnis zur Verfügung, das eine Liste von einer oder mehreren Unterhaltungen enthält, die der Suchanfrage entsprechen. In einigen Ausführungsformen wird die Suchanfrage durch eine Suchmaschine 260 ( ) durchgeführt, unter Nutzung eines Inverse Index 264 des Inhalts der Unterhaltung, um die Unterhaltungen zu identifizieren, die der Suchanfrage entsprechen.
  • zeigt eine Weiterführung der Methode 500 aus . Ein Server verwaltet (530) für jeden der jeweiligen Teilnehmer und stellt dem jeweiligen Teilnehmer (z. B. an den Client, der aktuell vom Teilnehmer genutzt wird, um die Unterhaltung anzusehen) den Status der jeweiligen Unterhaltung in Bezug auf den jeweiligen Teilnehmer zur Verfügung. In einigen Ausführungsformen beinhaltet dies, dass dem Teilnehmer (z. B. dem Client, den der Teilnehmer nutzt) der Lesestatus der Inhaltseinheiten der jeweiligen Unterhaltung, bezogen auf den Teilnehmer, zur Verfügung gestellt wird (532) (d. h. anzuzeigen, welche Inhaltseinheiten bereits gelesen wurden und welche nicht). In einigen Ausführungsformen beinhaltet (534) der Status der jeweiligen Unterhaltung bezogen auf den Teilnehmer zur Verfügung gestellt wird die Bereitstellung von Bezeichnungen, wenn anwendbar, spezifiziert vom jeweiligen Teilnehmer der jeweiligen Unterhaltung.
  • In einigen Ausführungsformen beinhalten die Metadaten, die für die Unterhaltung in Bezug auf einen bestimmten Teilnehmer verwaltet werden (536) Metadaten, die anzeigen, die jeweilige Unterhaltung im Einklang mit den Anweisungen des Teilnehmers zu ignorieren. Zum Beispiel können die Ignorieren Metadaten der Suchmaschine 260 ( ) des Unterhaltungsservers zur Verfügung gestellt werden. In einigen Ausführungsformen stellt der Server (538) formatierte Informationen entsprechend dem Unterhaltungsstatus zur Verfügung. Die formatierte Information wird bei der Anzeige der Unterhaltung oder Teilen der Unterhaltung genutzt. In einigen Ausführungsformen enthalten die formatierten Informationen eine oder mehrere des Folgenden: Farbe (z. B. des Texts, Hintergrund, Rahmen), Schriftart, Einrückung, Position (z. B. hochgestellt oder tiefgestellt), etc.
  • In einigen Ausführungsformen speichert der Server (540) für jeden der jeweiligen Teilnehmer eine Kontaktliste, die mit dem jeweiligen Teilnehmer verknüpft ist.
  • In einigen Ausführungsformen verifiziert der Server (542) (unter Nutzung der Authentifizierungsinformation 428), dass der jeweilige Teilnehmer autorisiert ist, den Inhalt der Unterhaltung zu erhalten, bevor der Inhalt dem Teilnehmer zur Verfügung gestellt wird.
  • In einigen Ausführungsformen verwaltet der Server (544) eine Teilnehmergruppe einer jeweiligen Unterhaltung, einschließlich eines oder mehrerer Abonnenten der Serversystems und eines Emailteilnehmers, verifiziert durch die Emailadresse.
  • In einigen Ausführungsformen verwaltet der Server (546) eine Teilnehmergruppe einer jeweiligen Unterhaltung, einschließlich eines oder mehrerer Abonnenten des Unterhaltungssystems vom Server gehostet und einen Weblog, auf dem der Inhalt der Unterhaltung gepostet wird.
  • zeigt eine Weiterführung der Methode 500 von . In einigen Ausführungsformen verwaltet der Server (550) für einen jeweiligen Nutzer (des Unterhaltungssystems gehostet von einer Servergruppe, die diesen Server beinhaltet) eine Liste von Unterhaltungen, an denen der Nutzer teilnimmt. Der Server aktualisiert den Status von jeder Unterhaltung auf der Liste, wenn sich der Status der jeweiligen Unterhaltung ändert. Auf Anfrage des Nutzers (z. B. vom Client der vom Nutzer genutzt wird) sendet der Server dem Nutzer eine Liste, die zumindest einen Teil der Liste an Unterhaltungen, an denen der Nutzer teilnimmt, enthält. Die Liste enthält die Statusinformationen der gelisteten Unterhaltungen. In einigen Ausführungsformen ist jeder jeweilige Nutzer, für den der Server eine Liste an Unterhaltungen verwaltet (552), ein Abonnent des Unterhaltungssystems.
  • zeigt eine Methode 560 zum Hosten von elektronischen Nachrichten. Ein Server hostet (562) eine Vielzahl an Unterhaltungen. Der Server stellt den Inhalt einer Unterhaltung einer Vielzahl an Clients, die mit den Teilnehmer der Unterhaltung verknüpft sind, bereit (564), einschließlich der Bereitstellung aller Inhalte einer Unterhaltung, die der Client laut Konfiguration erhalten soll.
  • Der Server erhält (566) den Inhalt von den jeweiligen Teilnehmern der Unterhaltung und überträgt die Clients, die mit den anderen Teilnehmern der Unterhaltung verknüpft sind, zumindest einen Teil des erhaltenen Inhalts. Der Server stellt außerdem dem Client, der mit dem zusätzlichen Teilnehmer verknüpft ist, den gesamten Inhalt der Unterhaltung bereit (568), den der Client, der mit dem zusätzlichen Teilnehmer verknüpft ist, laut Konfiguration erhalten soll.
  • zeigt eine Methode 570 zum Hosten von elektronischen Nachrichten. Für zumindest einen aus einer Vielzahl an Servern, von denen jeder mit einer unterschiedlichen Untergruppe an Nutzern verknüpft ist, hostet ein Server (572) Unterhaltungen, die von der jeweiligen Untergruppe an Nutzern initialisiert werden. Der Server erhält (574) Inhalt von den jeweiligen Teilnehmern der Unterhaltung und stellt den Inhalt für die anderen Teilnehmer der Unterhaltung bereit. Für Teilnehmer, die mit anderen Unterhaltungsservern verknüpft sind, wird der Inhalt an diese anderen Unterhaltungsserver übertragen. Der Inhalt wird an die Teilnehmer übertragen, wenn sie sich einloggen und den Inhalt der Unterhaltung anfragen.
  • Der Server stellt außerdem (576), wenn ein zusätzlicher Teilnehmer der Unterhaltung hinzugefügt wird, den gesamten Inhalt dem Client, der mit dem zusätzlichen Teilnehmer verknüpft ist, bereit. Oder alternativ den gesamten Inhalt der Unterhaltung, den der Client, der mit dem zusätzlichen Teilnehmer verknüpft ist, laut Konfiguration erhalten soll. In einigen Ausführungsformen stellt der Server (578) eine einheitliche Ansicht der Unterhaltung für eine Vielzahl an Teilnehmern bereit.
  • ist ein Blockschaltbild eines Unterhaltungssystems 600, das eine Vielzahl an verknüpften Unterhaltungsservern 130 besitzt, bezogen auf bestimmte Ausführungsformen der Erfindung. Die zeigt die logische Verbindung der Unterhaltungsserver 130 miteinander und zu den Clients zwecks der Überwachung und Weitergabe des Onlinepräsenz-Status an die Nutzer des Systems. Das Netzwerk 600 beinhaltet Unterhaltungsserver 130-A, 130-B und 130-C. Das Unterhaltungssystem 600 kann mehr oder weniger Unterhaltungsserver beinhalten als in gezeigt. Jeder Unterhaltungsserver 130 hostet Unterhaltung für eine Gruppe an Nutzern 138. (Zum Beispiel kann jeder Unterhaltungsserver 130 Unterhaltungen hosten, die von Hunderten oder sogar Tausenden von Nutzern initialisiert werden.) Der Unterhaltungsserver 130-A wird den Nutzern 138-A zugeordnet; der Unterhaltungsserver 130-B wird den Nutzern 138-B zugeordnet; und der Unterhaltungsserver 130-N wird den Nutzern 138-N zugeordnet. Jeder Unterhaltungsserver 130 enthält einen entsprechende Statusmonitor 134 (134-A, 134-B, 134-N) und einen entsprechenden Statussammler 136 (136-A, 136-B, 136-N).
  • Wann immer ein Nutzer seinen Onlinestatus ändert (z. B. von Offline nach Online wechselt, durch Einloggen in das Unterhaltungssystem), wird die Änderung des Status vom jeweiligen Statusmonitor 134 registriert (z. B. einem Statusmonitor des Unterhaltungsservers 130, der dem Nutzer zugeordnet ist). Der Statusmonitor 134 des Unterhaltungsservers, dem der Nutzer zugeordnet ist, erhält eine Nachricht oder registriert auf andere Weise den Wechsel des Onlinestatus des Nutzers zu „Online” (oder „Aktiv”, „Beschäftigt” oder welcher Status zutreffend ist). Außerdem sammelt der Statussammler 136 des Unterhaltungsservers den Onlinestatus der Kontakte in der Kontaktliste 416 des Nutzers. Manche der Kontakte des Nutzers können demselben Unterhaltungsserver zugeordnet sein, wohingegen andere Kontakte aus der Kontaktliste des Nutzers anderen Unterhaltungen zugeordnet sind.
  • Der Statussammler 136 des Unterhaltungsserver, dem der Nutzer zugeordnet ist, sammelt den Onlinestatus der Kontakte des Nutzers, einschließlich derer, die anderen Unterhaltungsservern zugeordnet sind und leitet zumindest einen Teil der gesammelten Statusinformationen an den Nutzer weiter (d. h. an das Client Gerät oder das System, das der Nutzer aktuell nutzt). In einigen Ausführungsformen verteilt der Statussammler Anfragen nach Statusinformationen der Kontakte des Nutzers an andere Unterhaltungsserver, auf die die Unterhaltungsserver, denen die Kontakte zugeordnet sind, antworten. In einigen Ausführungsformen bestimmt der Statussammler die Unterhaltungsserver, denen die Kontakte zugeordnet sind und sendet eine Anfrage nach Statusinformationen an diese Unterhaltungsserver. In einigen Ausführungsformen kann die Zuordnung der Nutzer zu den Unterhaltungsservern einem Index aller Nutzer entnommen werden. Eine Kopie dieses Index und von Teilen dieses Index kann auf allen Unterhaltungsservern gespeichert sein.
  • Wenn, zum Beispiel, Nutzer A1 der Nutzer 138-A, zugeordnet dem Unterhaltungsserver 130-A, seinen Onlinestatus von Offline nach Online wechselt, sendet eine Clientanwendung des Clients, den der Nutz A1 er nutzt eine Nachricht an das Unterhaltungssystem 600, um mitzuteilen, dass Nutzer A1 Online ist. Der Statusmonitor 134-A des Unterhaltungsservers 130-A erhält eine Nachricht und aktualisiert den Status von Nutzer A1 auf Online. Der Statusmonitor 134 anderer Unterhaltungsserver erhält entweder keine Nachricht oder ignoriert die Nachricht, weil Nutzer A1 nicht den anderen Unterhaltungsservern zugeordnet ist. Der Statussammler 136-A des Unterhaltungsservers 130-A bezieht eine Kontaktliste für den Nutzer A1 (z. B. durch Zugriff auf die Kontaktliste 416 des Nutzers A1). Durch Nutzung dieser Kontaktliste sammelt der Statussammler 136-A Statusinformationen von den Unterhaltungsservern, denen die Kontakte zugeordnet sind. Auf diese Weise greift der Statussammler 136-A a auf die Statusinformationen der Kontakte, die auf dem Unterhaltungsserver 130-A gespeichert sind zu, wenn ein Kontakt dem Unterhaltungsserver 130-A zugeordnet wird. Wenn ein Kontakt dem Unterhaltungsserver 130-B zugeordnet wird, kommuniziert der Server 130-A mit dem Unterhaltungsserver 132-0, um die Statusinformation zu erhalten. Eine ähnliche Vorgehensweise wird angewandt, wenn ein jeweiliger Kontakt dem Unterhaltungsserver 130-C zugeordnet wird.
  • ist ein Blockschaltbild, das den Unterhaltungsserver 700 (auch als Unterhaltungssystem bezeichnet) zeigt, wie er sich in einer Ausführungsform dieser Erfindung darstellt. Der Unterhaltungsserver 700 beinhaltet eine oder mehrere Prozessoreinheiten (CPUs) 702, eine oder mehrere Netzwerke oder andere Kommunikationsschnittstellen 704, Speicher 706 und einen oder mehrere Übertragungswege für Kommunikation 708 um diese Komponenten miteinander zu verbinden. Die Übertragungswege 708 können Schaltkreise beinhalten (auch als Chipsätze bezeichnet), die die Kommunikation zwischen den Systemkomponenten miteinander verbinden und kontrollieren. Der Unterhaltungsserver 700 beinhaltet optional (aber nicht üblicherweise) eine Nutzerschnittstelle, die Anzeigegerät und eine Tastatur enthält.
  • Der Speicher 706 beinhaltet High-Speed Random Access Memory, wie DRAM, SRAM, DDR RAM oder andere Random Access Festkörperspeicher; und kann permanenten Speicher enthalten, wie etwa eine oder mehrere magnetische Plattenspeichergeräte, optische Plattenspeichergeräte, Flash Memory Geräte oder andere permanenten Festkörperspeicher. Der Speicher 706 kann wahlweise ein oder mehrere Speichergeräte beinhalten, die sich remote von der CPU/den CPUs 702 befinden. Speicher 706 oder alternativ der/die permanente/n Speichergeräte innerhalb des Speichers 706 bestehen aus einen kompatiblen Speicher. In einigen Ausführungsformen speichert der Speicher 706 oder das kompatible Speichermedium 706 die folgenden Programme, Module und Datastrukturen oder eine Untermenge dieser:
    • • ein Betriebssystem 710, das Verfahren zur Abwicklung von verschiedenen grundlegenden Systemdienstleistungen und zur Ausführung von Aufgaben, die von der Hardware abhängen;
    • • ein Netzwerks-Kommunikationsmodul 712, das zum Verbinden das Unterhaltungssystem 700 mit anderen Geräten über die Kommunikationsnetzwerk-Schnittstellen 704 und ein oder mehrere Kommunikationsnetzwerke verwendet wird, wie das Internet, andere Weitverkehrsnetzwerke, lokale Netzwerke, breitbandige Telekommunikationsnetze und so weiter; und
    • • eine Unterhaltungsmaschine 714, die gehostete Unterhaltungsservices auf dem Server 700 für eine Vielzahl an Nutzern anbietet; in einigen Ausführungsformen entspricht die Unterhaltungsmaschine 714, dem Element 246 aus .
  • Die Unterhaltungsmaschine 714 kann die folgenden Module oder eine Untermenge dieser beinhalten:
    • • ein Such/Zugangsmodul 716 (in einigen Ausführungsformen entspricht dies dem Element 260 in ) für die Ausführung von Suchen in der Unterhaltungsdatenbank 726; die Suche in der Unterhaltungsdatenbank 726 können sowohl nutzerspezifische Suchanfragen 718 als auch serverspezifische Suchanfragen 720 (z. B. eine Suche nach Unterhaltung im Postfach des Nutzers) beinhalten;
    • • eine Nutzerdatenbank 722 (in einigen Ausführungsformen entspricht das Element 270 und Element 400 in ) für Speicherinformationen die Nutzer des Systems betreffend; Verwaltungsmodule für die Nutzerdatenbank 724 für die Verwaltung der Nutzerdatenbank 722 (z. B. für die Erstellung neuer Nutzereinträge und für Aktualisierung bestehender Nutzereinträge);
    • • Unterhaltungsdatenbank 726 (in einigen Ausführungsformen entspricht dies Element 262 in und );
    • • Module zur Verwaltung von Unterhaltungen 728 für die Verwaltung der Unterhaltungsdatenbank 726; und
    • • Module für Hilfsservice(s) 250; wie obenstehend beschrieben, wird jeder jeweilige Hilfsservice in einem gehostetem Unterhaltungssystem durch Module innerhalb des Unterhaltungsservers 700 bereitgestellt, oder durch andere Services.
  • In einigen Ausführungsformen beinhalten die Verwaltungsmodule für Unterhaltungen 728 einschließlich die folgenden Module oder eine Teilmenge dieser:
    • • eine Gruppe von Aktualisierungsmodulen für Unterhaltungen 730 zur Aktualisierung von Unterhaltungen mit Änderungen durchgeführt von einem oder mehreren Nutzern, einschließlich eines oder mehreren: ein Modul Inhalt Hinzufügen/Löschen 732, für das Hinzufügen oder Entfernen von Inhalt in einer Unterhaltung; ein Modul zum Splitten von Inhaltsbeiträgen 734, für das Splitten von Inhaltsbeiträgen (326, ) in einer Unterhaltung in zwei oder mehr separate Inhaltsbeiträge; ein Modul für das gemeinsame Bearbeiten von Inhalt 736 zum Ermöglichen von simultaner Bearbeitung einer Unterhaltung oder eines Inhaltsbeitrags (Inhaltseinheit) durch eine Vielzahl an Teilnehmern; und ein Modul für das Hinzufügen eines neuen Teilnehmers zur Unterhaltung 738 für das Hinzufügen eines neuen Teilnehmers zur Unterhaltung;
    • • Modul zur Wiedergabe des Inhalts 740 für die Wiedergabe von Bearbeitungen an Unterhaltungen und Dokumenten (oder eines nutzerspezifischen Teils der Unterhaltung oder des Dokuments);
    • • Modul zur Formatierung von Inhalt 742, für die Formatierung von Inhalt um der Konfiguration des Clients zu entsprechen; (die Konfiguration des Clients für einen jeweiligen Nutzer kann durch Element 420, , des Nutzereintrags 402 für den jeweiligen Nutzer spezifiziert werden);
    • • Modul zur Publikation des Inhalts in einer Email 744 für die Publikation von Inhalt einer Unterhaltung an Emailadressen; die Emailadresse kann durch ein Element 432, , im Nutzereintrag 402 des jeweiligen Nutzers spezifiziert sein;
    • • Modul zur Publikation des Inhalts auf einem Weblog („Blog”) 746 für die Publikation von Inhalt einer Unterhaltung auf einem Weblog; die URL oder die Netzwerklocation des Weblogs kann durch ein Element 430, , im Nutzereintrag 402 des jeweiligen Nutzers spezifiziert sein)
    • • Modul zum Löschen/Archivieren von Unterhaltungen 748 zum Löschen oder Archivieren einer Unterhaltung aus dem Postfach oder der Unterhaltungsanzeige des Nutzers;
    • • Modul zum Kopieren von Anhängen in eine neue Unterhaltung 750 zum Kopieren von Anhängen aus einer Unterhaltung in eine andere Unterhaltung, ohne dass anderer Inhalt einer Unterhaltung mitkopiert wird;
    • • Modul zur Übertragung einer Unterhaltung 752 zum Übertragen des Inhalts einer Unterhaltung an einen Client oder einen anderen Unterhaltungsserver (z. B. zum Beispiel zur Lieferung an einen Nutzer/Client, der von einem anderen Unterhaltungsserver bedient wird; und
    • • Modul zur Übertragung einer Unterhaltungsliste 754 zum Übertragen des Inhalts einer Unterhaltungsliste an einen Client oder einen anderen Unterhaltungsserver (z. B. zum Beispiel zur Lieferung an einen Nutzer/Client, der von einem anderen Unterhaltungsserver bedient wird.
  • Jedes der obenstehend identifizierten Elemente kann in einem oder mehreren der zuvor genannten Speichergeräten gespeichert werden und entspricht einem Satz an Anweisungen für die Durchführung einer oben beschriebenen Funktion. Die obenstehend identifizierten Module oder Programme (d. h. Sätze an Anweisungen) müssen nicht als separate Softwareprogramme, Prozeduren oder Module eingebettet sein. Deshalb können verschieden Untergruppen dieser Module kombiniert oder in anderer Weise in verschiedenen Ausführungsformen umorganisiert werden. In einigen Ausführungsformen kann im Speicher 706 eine Teilmenge der vorstehend angegebenen Module und Datenstrukturen gespeichert sein. Weiterhin können im Speicher 706 zusätzliche vorstehend nicht beschriebene Module und Datenstrukturen gespeichert sein.
  • Auch wenn einen Unterhaltungsserver zeigt, ist die eher als eine funktionale Beschreibung der verschiedenen Eigenschaften, welche in einer Gruppe an Servern präsent sein können, gedacht als ein strukturelles Schema der Ausführungsformen, die darin enthalten sind. In der Praxis, und wie von Fachleuten anerkannt werden wird, könnten die getrennt dargestellten Elemente kombiniert und einzelne Elemente getrennt werden. So könnten beispielsweise einige Elemente, die in 7 getrennt gezeigt werden, auf einem einzigen Server implementiert sein, und einzelne Elemente könnten von einem oder mehreren Servern implementiert werden. Die wirkliche Anzahl der Server, die genutzt werden, um ein System an Unterhaltungsservern zu implementieren und wie die Eigenschaften unter ihnen aufgeteilt sind, wird sich von einer Implementation zur anderen unterscheiden und kann auch teilweise abhängen von der Höhe des Datenverkehrs, die in Stoßzeiten oder in den durchschnittlichen Nutzungszeiten vom System bewältigt.
  • ist ein Blockschaltbild eines Client, dessen Nutzer an einer oder mehreren Unterhaltungen teilnimmt, die von einem Unterhaltungssystem gehostet werden, bezogen auf bestimmte Ausführungsformen dieser Erfindung. Der Client 800 beinhaltet eine oder mehrere Prozessoreinheiten (CPU's) 802, ein oder mehrere Netzwerk/e oder andere Kommunikationsschnittstellen 804, Speicher 806 und einen oder mehrere Datenübertragungswege für Kommunikation 808 zur Verbindung dieser Komponenten. Die Datenübertragungswege für Kommunikation 808 können Schaltkreise (auch Chipsätze genannt) beinhalten, die die Systemkomponenten miteinander verbinden und kontrollieren. Der Client 800 beinhaltet üblicherweise eine Benutzeroberfläche 805. In einigen Ausführungsformen beinhalten die Benutzeroberfläche ein Anzeigegerät, eine Tastatur und ein Zeigegerät (nicht dargestellt), während in anderen Ausführungsformen (z. B. ein Mobiltelefon oder ein PDA) die Benutzeroberfläche einen Touchscreen beinhaltet.
  • Der Speicher 806 beinhaltet High-Speed Random Access Memory, wie DRAM, SRAM, DDR RAM oder andere Random Access Festkörperspeicher; und kann permanenten Speicher enthalten, wie etwa eine oder mehrere magnetische Plattenspeichergeräte, optische Plattenspeichergeräte, Flash Memory Geräte oder andere permanenten Festkörperspeicher. Der Speicher 806 kann optional ein oder mehrere Speichergeräte enthalten, die getrennt von der/n CPU(s) 802 sind. Speicher 806 oder alternativ der/die permanente/n Speichergeräte innerhalb des Speichers 806 bestehen aus einem kompatiblen Speicher. In einigen Ausführungsformen speichert der Speicher 806 oder das kompatible Speichermedium 806 die folgenden Programme, Module oder Datenstrukturen oder eine Untermenge dieser:
    • • ein Betriebssystem 810, das Verfahren zur Abwicklung von verschiedenen grundlegenden Systemdienstleistungen und zur Ausführung von Aufgaben, die von der Hardware abhängen;
    • • ein Netzwerk-Kommunikationsmodul 812, das zum Verbinden des Client 800 mit anderen Geräten über die Kommunikationsnetzwerk-Schnittstellen 804 und ein oder mehrere Kommunikationsnetzwerke (verdrahtet oder drahtlose) verwendet wird, wie das Internet, andere Weitverkehrsnetzwerke, lokale Netzwerke, Breitband-Telekommunikationsnetze und so weiter;
    • • einen Browser oder eine andere Clientanwendung 814 für die Anzeige und Interaktion mit Webseiten und anderen Inhalten, einschließlich Unterhaltungen in einem Unterhaltungssystem;
    • • Eine Webseite für Unterhaltungen 815, die vom Unterhaltungsserver empfangen wird (z. B. wie in ) und unter Nutzung des Browsers oder einer anderen Clientanwendung 814 angezeigt wird;
    • • ein Unterhaltungsprotokoll 820, welches den Inhalt der Unterhaltung von einem Unterhaltungsserver herunterlädt, einiges davon oder alles kann auf einer Webseite für Unterhaltungen dargestellt werden 815;
    • • eine Unterhaltungsliste 826, welche eine Liste an Unterhaltungen ist, die vom Unterhaltungsserver heruntergeladen wurden (z. B. als Antwort auf eine Suchanfrage eines Nutzers des Clients oder als Teil der Benutzeroberfläche, die auf der Webseite für Unterhaltungen angezeigt wird 815);
    • • eine Kontaktliste 828 oder einen Teil der Kontaktliste des Nutzers des Client; die Kontaktliste kann separat von oder in Verbindung mit dem Unterhaltungssystem verwaltet werden;
    • • optional, andere Datenstrukturen 830 (z. B. eine Liste mit vom Nutzer definierten Bezeichnungen); und
    • • optional, andere Anwendungen 832 zur Ausführung durch den Client 800.
  • In einigen Ausführungsformen beinhaltet die Webseite für Unterhaltungen 815 einen Modul für Client Unterhaltungen 818 oder einen anderen Client Assistenten, der in die Webseite 815 eingebunden ist. Das Modul für die Client Unterhaltung 818 umfasst ausführbare Anweisungen, die vom Client ausgeführt werden 800; zum Beispiel kann das Modul für die Client Unterhaltung 818 Anweisungen beinhalten, die von einer Virtual Machine (z. B. einer Java Virtual Machine) als Teil des Browser 814 durchgeführt werden. Die Webseite der Unterhaltung 815 beinhaltet eine Benutzeroberfläche für die Unterhaltung, die Icons enthält, die verschiedene Aufgaben ausführen kann, wenn sie vom Nutzer aktiviert werden. Sie erlauben dem Nutzer eine Unterhaltungsliste anzufordern, eine Unterhaltung zur Anzeige auszuwählen, verschiedene Teile einer Unterhaltung anzuzeigen, an einer Unterhaltung teilzunehmen (z. B. durch das Hinzufügen von Inhalt oder das Ändern von Inhalt der Unterhaltung), neue Unterhaltungen zu starten, Anhänge herunterzuladen und so weiter. Icons auf der Benutzeroberfläche der Unterhaltung können als Links fungieren, um Prozeduren oder Anweisungen im Client Modul für Unterhaltungen 818 auszuführen. Das zuvor erwähnte Unterhaltungsprotokoll 820 und die Unterhaltungsliste 826 können, in einigen Ausführungsformen, heruntergeladen werden als Antwort auf Anweisungen, die vom Client Modul für Unterhaltungen 818 oder von anderen Client Assistenten, die in die Webseite 815 eingebettet sind, an den Unterhaltungsserver gesendet wurden.
  • Das Unterhaltungsprotokoll 820 umfasst eine Clientversion oder Untermenge des Unterhaltungsprotokolls 310, wie in beschrieben, für die entsprechende Unterhaltung. Das Client Unterhaltungsprotokoll 820 beinhaltet Metadaten der Unterhaltung 822 (z. B. eine Liste der Teilnehmer und deren Onlinestatus) und Inhaltsbeiträge 824, die der Inhalt der Unterhaltung sind, die vom Client benötigt werden. Abhängig von der Implementation und den Möglichkeiten des Clients 800, kann das Unterhaltungsprotokoll 820 optional Anhänge, sofern vorhanden, der Unterhaltung enthalten. So können die Anhänge zu einigen Clients (z. B. Desktop PC und Laptop) heruntergeladen werden, wohingegen das bei anderen nicht möglich ist (z. B. Mobiltelefone und PDAs). In einigen Ausführungsformen werden die Anhänge der Unterhaltung nicht heruntergeladen, bis der Nutzer dies anfragt. Alternativ werden in einigen Ausführungsformen Thumbnail Bilder und/oder Bruchstücke (d. h. ausgewählter Text, sofern vorhanden) aus manchen oder allen Anhängen automatisch zum Client 800 heruntergeladen zusammen mit dem primären Inhalt der Unterhaltung und der gesamte Inhalt der Anhänge wird nur auf Anfrage des Nutzers zum Client 800 heruntergeladen.
  • Jedes der oben identifizierten Module entspricht einem Satz von Anweisungen zur Ausführung der oben beschriebenen Funktionen. Die obenstehend identifizierten Module oder Programme (d. h. Sätze an Anweisungen) müssen nicht als separate Softwareprogramme, Prozeduren oder Module eingebettet sein. Deshalb können verschieden Untergruppen dieser Module kombiniert oder in anderer Weise in verschiedenen Ausführungsformen umorganisiert werden. In einigen Ausführungsformen kann der Speicher 806 oder das kompatible Speichermedium 806 eine Untermenge der oben beschriebenen Module und Datenstrukturen speichern. Außerdem kann der Speicher 806 oder das kompatible Speichermedium 806 zusätzliche Module und Datenstrukturen speichern, die nicht oben beschrieben sind.
  • Die und zeigen eine Serie an Fenstern mit Änderungen an einer Unterhaltung durchgeführt von einer Vielzahl an Teilnehmern und die Wiedergabe dieser Änderungen.
  • zeigt Änderungen an einer Unterhaltung, die von einer Vielzahl an Teilnehmern der Unterhaltung durchgeführt wurden. Im folgenden Beispiel gibt es zumindest zwei Teilnehmer an der Unterhaltung, „Joe” und „Pat”.
  • Ein erster Zeitstempel/Schritt 920, ein erstes Unterhaltungsfenster 910 hat eine erste Inhaltseinheit 922 eingegeben vom ersten Teilnehmer (z. B. Joe), der der Ursprungsautor der Unterhaltung ist 922. In einigen Ausführungsformen beinhaltet das Unterhaltungsfenster 910 eine Zoomoption 912, um tiefer in die Unterhaltung reinzoomen zu können, eine Antwortoption 914, um auf den Inhalt 922 zu antworten, eine Entwurfsoption 916, um eine Nachricht zu entwerfen oder eine Einstellungsoption 918, um die Einstellungen der Unterhaltung zu ändern. Eine erste Einfügemarke 924 repräsentiert den Punkt (später auch als Cursor-Position bezeichnet), an dem der erste Teilnehmer tippt oder den Inhalt 922 bearbeitet. Während der erste Teilnehmer tippt, löscht oder sich innerhalb des Inhalts 922 bewegt, bewegt sich die Einfügemarke 924, um die Position oder den Abschnitt des Inhalts anzuzeigen, den der Nutzer bearbeitet.
  • In einigen Ausführungsformen kann die Einfügemarke als XML Tag oder Tag oder Begriff in einer anderen Markup Sprache definiert sein. In einigen Ausführungsformen können der Inhalt der Einfügemarke, der Stil etc. vom Teilnehmer, vom Systemadministrator etc. ausgewählt oder definiert werden.
  • An einem zweiten Zeitstempel/Schritt 930 stellt ein zweiter Teilnehmer (Pat) eine Sequenz an Änderungen am Inhalt 922 zur Verfügung. Eine zweite Einfügemarke 934 repräsentiert den Punkt, an dem der zweite Teilnehmer (auch als zweiter Nutzer bezeichnet) tippt oder den Inhalt 922 bearbeitet. Der zweite Nutzer fügt den Text „Building B” 932 zum Inhalt 922 hinzu. Der Originaltext (von Joe) und die Änderungen daran (von Pat) sind Änderungen, die von bestimmten ersten und zweiten Teilnehmern eingegeben wurden.
  • In einigen Ausführungsformen bereitet ein Server (z. B. der Host der Unterhaltung) die erste Einfügemarke an einer Position entsprechend den ersten Änderungen durch den ersten Teilnehmer (Joe) der Unterhaltung zur Anzeige vor, und bereitet die zweite Einfügemarke an einer Position entsprechend den zweiten Änderungen durch den zweiten Teilnehmer (Pat) der Unterhaltung zur Anzeige vor. Der Server stellt die ersten und zweiten Änderungen und die ersten und zweiten Einfügemarken einem oder mehreren Server zur Anzeige bereit.
  • In einigen Ausführungsformen können Zeitstempel oder Sequenznummern (z. B. #1, #2, #3, und #4, wie dargestellt) mit dem neuen Inhalt oder Bearbeitungen am bestehenden Inhalt verknüpft werden. In einigen Ausführungsformen, wenn ein Zeitstempel genutzt wird, nutzt der Zeitstempel eine einheitliche Basis wie die Zeitbasis des hostenden Servers.
  • Bei einem dritten Zeitstempel/Schritt 940 bearbeitet der zweite Nutzer nochmals den Inhalt 922 durch das Löschen des Wortes „zweiter” und ersetzt es durch das Wort „dritter” 942. Die zweite Einfügemarke 934 steht nun neben dem Wort „dritter” und zeigt die Position an, an der der zweite Nutzer die Bearbeitung vornimmt.
  • Bei einem vierten Zeitstempel/Schritt 950 erstellt der erste Nutzer Joe eine neue Nachricht in einem neuem Nachrichtenfenster 952 innerhalb des Unterhaltungsfensters 910 und unterhalb des ersten Nachrichtenfensters (welches den Inhalt 922 der ersten Nachricht enthält) und fügt neuen Inhalt 954 in dem neuen Nachrichtenfenster hinzu. Die Einfügemarke 956 repräsentiert einen neuen Punkt, an dem der erste Nutzer (Joe) tippt oder den Inhalt 954 in dem neuen Nachrichtenfenster 952 bearbeitet.
  • In einigen Ausführungsformen wird die Unterhaltung mit der revidierten Inhaltseinheit aktualisiert, wenn neuer Inhalt (z. B. Inhalt 922) oder eine Sequenz an Bearbeitungen (z. B. Bearbeitungen 932, 942) empfangen werden. In einigen Ausführungsformen wird der aktualisierte Inhalt bereitgestellt für einen oder mehrere Server, die eine Unterhaltung für die Teilnehmer (z. B. Joe, Pat, etc.) hosten.
  • In einigen Ausführungsformen hostet ein Server die Überprüfungen der Unterhaltungen auf Konflikte zwischen ersten und zweiten Bearbeitungen. Wenn ein solcher Konflikt auftritt, benachrichtigt der Server einen Teilnehmer, der mit dem Konflikt verknüpft ist. Zum Beispiel, wenn Pat versucht einen Teil des Textes zu bearbeiten, der aktuell in einer Weise von Joe bearbeitet wird, sodass die Bearbeitungen in Konflikt stehen (z. B. Pat löscht ein Wort während Joe es schreibt oder Joe löscht einen Paragraphen, den Pat bearbeitet), kommt es zu einem Konflikt und einer oder beide Teilnehmer wird/werden benachrichtigt. In einigen Ausführungsformen werden Konflikte automatisch aufgelöst mittels einer vordefinierten Kontrollprozedur für Gleichzeitigkeit, wie untenstehend ausführlicher beschrieben.
  • zeigt die Wiedergabe von Bearbeitungen der Unterhaltung aus . In einigen Ausführungsformen werden Bearbeitungen in chronologischer Reihenfolge wiedergegeben, in der Reihenfolge der Zeitstempel, die mit den Bearbeitungen verknüpft sind. In einigen Ausführungsformen werden die Bearbeitungen in Reihenfolge der Sequenznummern wiedergegeben, die mit ihnen verknüpft sind. Ein Teilnehmer der Unterhaltung kann die Bearbeitungen einer Unterhaltung ansehen, in dem er den Mechanismus zur Wiedergabe nutzt.
  • In einigen Ausführungsformen wird die Unterhaltung wiedergegeben, indem die Änderungen der nutzerspezifischen Teile der Unterhaltung (z. B. ein Textabschnitt, ein Paragraph, eine einzelne Unterhaltungseinheit (Blip), etc.) in chronologischer Reihenfolge angezeigt werden. In einigen Ausführungsformen wird dieser nutzerspezifische Teil einer Unterhaltung wiedergegeben ohne die Änderungen der anderen Teile der Unterhaltung anzusehen. In einem Beispiel ist der nutzerspezifische Teil eine einzelne Inhaltseinheit der Unterhaltung.
  • In einer ersten Wiedergabe Zeit/Schritt, wird der Inhalt 966 in einem Fenster 964 angezeigt. Eine Vorspuloption 962 wird angezeigt und ermöglicht dem Betrachter innerhalb der Wiedergabe der Unterhaltung vor zu spulen.
  • In einer zweiten Wiedergabe Zeit/Schritt, bezogen über die Auswahl der Vorspuloption 962 im Fenster 964, zeigt der Inhalt 970 die Bearbeitungen an der Unterhaltung durch den zweiten Teilnehmer (Pat), das Hinzufügen der Worte „Building B.” Eine Rückspuloption 972 wird angezeigt, die einem Teilnehmer erlaubt innerhalb der Wiedergabe der Unterhaltung zurückzugehen und die Vorspuloption 962 wird weiterhin angezeigt.
  • In einer dritten Wiedergabe Zeit/Schritt, bezogen über die Auswahl der Vorspuloption 962 im Fenster 964 während des Ansehens der zweite Wiedergabe Zeit/Schritt, zeigt der Inhalt 980 weitere Bearbeitungen an der Unterhaltung durch den zweiten Teilnehmer (Pat), das Ersetzen des Worts „zweiter” durch „dritter.”
  • In einer vierten Wiedergabe Zeit/Schritt, bezogen über die Auswahl der Vorspuloption 962 im Fenster 964 während des Ansehens der dritten Wiedergabe Zeit/Schritt, zeigt der Inhalt 990 weitere Bearbeitungen (neues Fenster 992 mit Text) an der Unterhaltung durch den ersten Teilnehmer (Joe). Eine Wiedergabeoption 994 erlaubt dem Teilnehmer die Abfolge der Aktualisierungen der Unterhaltungen wiederzugeben. In einigen Ausführungsformen erlaubt eine oder mehrere Wiedergabe/n dem Teilnehmer eine oder mehrere der folgenden Operationen durchzuführen: Wiedergabe der kürzlich erfolgten Bearbeitungen (z. B. neueste nach Zeit oder Nummer), Bearbeitungen durch bestimmte Teilnehmer, Bearbeitungen an einer bestimmten Stelle der Unterhaltung, etc.)
  • In einigen Ausführungsformen kann eine Wiedergabe nur die Änderungen, die ein bestimmter Teilnehmer vorgenommen hat, anzeigen. Das kann dem Teilnehmer ermöglichen, seine Änderungen nachzuverfolgen oder Änderungen anderer Teilnehmer zu sehen.
  • In einigen Ausführungsformen beinhalten die Bearbeitungen der Reihenfolge von Bearbeitungen einzelne Tastaturberührungen in einer Reihe von Tastaturberührungen von einem bestimmten Teilnehmer der Unterhaltungen. In einigen Ausführungsformen sind eine Vielzahl an bestimmten Bearbeitungen in der Reihenfolge der Bearbeitungen ausgeprägte Tastaturberührungen. In einigen Ausführungsformen sind eine Vielzahl an bestimmten Änderungen in der Reihenfolge von Änderungen bestimmte Wörter. Zum Beispiel enthalten 932 die Bearbeitungen durch den Teilnehmer Pat ein bestimmtes Wort (Building) und einen bestimmten Buchstaben (B) und die Bearbeitungen 942 beinhalten eine Löschoperation (Löschen des Wortes „zweiter”) und eine Hinzufügeoperation (Hinzufügen des Wortes „dritter”). In einigen Ausführungsformen wird die Unterhaltung entsprechend aktualisiert, sobald der hostende Server jede dieser bestimmten Bearbeitungen der Unterhaltung empfängt.
  • zeigt Teilnehmer, die eine Nachricht im Entwurfsmodus vorbereiten. Im Entwurfsmodus kann ein Teilnehmer Bearbeitungen, wie das Hinzufügen oder Löschen von Inhalt in einer Unterhaltung, vornehmen und die Bearbeitungen werden von dem hostenden Server der Unterhaltung empfangen. Sie werden aber nicht an die anderen Teilnehmer der Unterhaltung gesendet. Erst wenn der Teilnehmer den Entwurfsmodus verlässt, z. B. durch die Anzeige, dass er mit der Bearbeitung fertig ist, werden die Bearbeitungen vom Server freigegeben (d. h. an die Clients der anderen Teilnehmer gesendet), sodass die anderen Teilnehmer sie sehen können. Der Autor (d. h. der Teilnehmer, der im Entwurfsmodus arbeitet) kann den Inhalt vorbereiten im Wissen, dass die zwischenzeitlichen Änderungen oder Gedanken für die anderen Teilnehmer nicht sichtbar sind, bis der Autor fertig ist.
  • In einigen Ausführungsformen ist die Funktion der Bearbeitung der Inhaltseinheit durch andere Teilnehmer gesperrt, sobald ein Teilnehmer die Inhaltseinheit (einer Unterhaltung) bearbeitet. Die Bearbeitung von anderen Inhaltseinheiten der gleichen Unterhaltung durch andere Teilnehmer, ist nicht gesperrt.
  • In einigen Ausführungsformen erlaubt ein „Team Entwurfsmodus” einer Vielzahl an Teilnehmern (z. B. Mitglieder von Team A) bei der Vorbereitung oder Bearbeitung von Inhalten zusammenzuarbeiten und die Bearbeitungen der anderen zu sehen ist, während Nicht-Mitglieder den Inhalt oder die Bearbeitungen nicht sehen können, bevor der Entwurfsmodus beendet wurde. Die Nutzung des Team Entwurfsmodus schützt die Privatsphäre der Teammitglieder während sie zusammenarbeiten, um Inhalte für die Veröffentlichung gegenüber anderen Teilnehmern der Unterhaltung vorzubereiten.
  • Eine Anzahl verschiedener Mechanismen kann genutzt werden, wenn der Team-Entwurfsmodus beendet wird oder um den Inhalt zu veröffentlichen, der von einem Team an Teilnehmern vorbereitet wurde. Zum Beispiel kann man den Team-Entwurfsmodus beenden (oder den vom entsprechenden Team vorbereiteten Inhalt zur Veröffentlichung an die anderen Teilnehmer freigegeben), wenn ein Teammitglied zustimmt, dass die Bearbeitungen veröffentlicht werden sollen. In einigen Ausführungsformen müssen alle Teammitglieder der Veröffentlichung der Bearbeitungen oder Inhalte zustimmen, um den Team-Entwurfsmodus zu beenden, während in anderen Ausführungsformen die Mehrheit der Teammitglieder der Veröffentlichung der Bearbeitungen oder Inhalte zustimmen müssen. In wieder anderen Ausführungsformen müssen ein oder mehrere Senior Teammitglieder bestimmen, wann Bearbeitungen oder Inhalte veröffentlicht werden.
  • Im Team-Entwurfsmodus wird die aktualisierte Unterhaltung einem Server, der mit einem Teammitglied verknüpft ist, zur Verfügung gestellt, während der jeweilige Teilnehmer die Bearbeitungen an der Unterhaltung vornimmt. In einigen Ausführungsformen werden die Bearbeitungen der Unterhaltung den Server, die mit Nicht-Teammitgliedern verknüpft sind zur Verfügung gestellt, aber die Anzeige der Bearbeitungen ist verzögert. In einigen Ausführungsformen werden die Bearbeitungen einer Konversation den Servern, die mit Nicht-Mitgliedern verknüpft sind, nicht vor Beenden des Entwurfsmodus zur Verfügung gestellt.
  • Des Weiteren wird im 'Team' Entwurfsmodus die Unterhaltung aktualisiert, wenn die Bearbeitungen der Unterhaltung durch einen Teilnehmer (Autor) und einem oder mehreren Teilnehmern empfangen wird, und die aktualisierte Unterhaltung wird einem oder mehreren Servern zur Verfügung gestellt, die mit den jeweiligen Teilnehmern und anderen Teammitgliedern verknüpft sind.
  • In einem ersten Zeit/Schritt 1010, bereitet ein erster Autor/Teilnehmer (z. B. Joe, der Mitglied von Team A ist) eine Nachricht in Fenster 1012. Eine Zustimmungsoption 1014 (z. B. durch Nutzung eines Zustimmungshäkchens und einem Kreuz 1016 für nicht zugestimmt) zeigt, dass der erste Autor der Nachricht noch nicht zugestimmt hat. Wenn der erste Teilnehmer der Nachricht zustimmt, kann das durch ein Häkchen 1033 in Option 1014 angezeigt werden. Der erste Autor gibt den Inhalt 1011 ein und eine Einfügemarke 1018 zeigt die Position an, an der der erste Autor den aktuellen Texteintrag gemacht hat oder bearbeitet hat. In einigen Betriebsmodi wird der Inhalt den Mitgliedern des gleichen Teams wie der erste Autor angezeigt, während der erste Autor den Inhalt 1011 eingibt.
  • In einem zweiten Zeit/Schritt 1020, bearbeitet ein zweiter Teilnehmer (Pat, ebenfalls Mitglied von Team A) den Inhalt 1011 (in diesem Beispiel, ändert „$100” in „$110”), um aktualisierten Inhalt 1021 zu produzieren. Die zweite Einfügemarke 1026 zeigt den Texteintrag oder die Bearbeitungsposition des zweiten Teilnehmers im Inhalt. Eine Zustimmungsoption 1022 in Verbindung mit dem zweiten Teilnehmer wird im oberen Bereich des Fensters 1012 angezeigt, sowie auch die Funktionen der Zustimmungsoption 1014 in Verbindung mit dem ersten Teilnehmer, wie oben beschrieben. Während der zweite Teilnehmer den Inhalt bearbeitet, wird der aktualisierte Inhalt 1021 den Mitgliedern des gleichen Teams angezeigt.
  • In einem dritten Zeit/Schritt 1030, stimmen der erste (Joe) und der zweite (Pat) Teilnehmer der Veröffentlichung der Nachricht zu. Das wird angezeigt durch die Häkchen 1033 in Verbindung mit den Zustimmungsoptionen 1014 (für den ersten Teilnehmer Joe) und 1022 (für den zweiten Teilnehmer Pat). Der zugestimmte Inhalt (1031) wird dann für die anderen Teilnehmer der Unterhaltung veröffentlicht.
  • In einem vierten Zeit/Schritt 1040 werden die Bearbeitungen vom ersten und zweiten Teilnehmer veröffentlicht, sodass die Teilnehmer der Unterhaltung (z. B. Mitglieder von Team B) außerhalb von Team A den veröffentlichten Inhalt 1041 nun sehen können.
  • In dem Beispiel aus findet die gesamte teambasierte Entwurfsarbeit und Bearbeitung in einem Nachrichtenfenster 1012 für eine Inhaltseinheit statt. In anderen Ausführungsformen kann ein Entwurf solo oder teambasiert in mehr als einem Fenster oder mehr als einer Inhaltseinheit vorkommen und kann das Hinzufügen von neuen Nachrichten oder das Bearbeiten von bestehenden Nachrichten beinhalten.
  • Die –B sind Flussdiagramme, die Methoden zur Bearbeitung, Wiedergabe und den Entwurf von Unterhaltungen, die von einem Server gehostet werden, bezogen auf bestimmte Ausführungsformen dieser Erfindung. Die Methoden werden durch Anweisungen geregelt, die in einem kompatiblen Speichermedium hinterlegt sind und durch einen oder mehrere Prozessoren auf einem oder mehreren Servern ausgeführt werden.
  • zeigt eine Methode 1100 für das Hosten von Unterhaltungen auf einem Server (z. B. in einer Datenbank für gehostete Unterhaltungen 262, ). Ein Server hostet (1102) eine Vielzahl an Unterhaltungen, wobei jede davon eine identifizierte Gruppe an Teilnehmern hat.
  • Der Server erhält (1104) die Inhaltseinheiten (z. B. jede Inhaltseinheit, die als Inhaltsbeitrag 326, gespeichert wird) vom jeweiligen Teilnehmer der Unterhaltung und übermittelt zumindest einen Teil der erhaltenen Inhaltseinheiten an einen oder mehrere Server, die die Unterhaltungen für die Teilnehmer hosten. Optional werden einzelne Tastenberührungen vom Client, den der Autor der Inhaltseinheit nutzt, an die anderen Teilnehmer übermittelt, während der Autor den Inhalt der Inhaltseinheit (1106) schreibt.
  • Der Server erhält (1108) eine Sequenz von Bearbeitungen, einschließlich erster Bearbeitungen und zweiter Bearbeitungen an einer jeweiligen Inhaltseinheit der Unterhaltung von zumindest einem Teilnehmer, der nicht der ursprüngliche Autor der Inhaltseinheit ist, um eine revidierte Inhaltseinheit zu produzieren. Optional sind die ersten und zweiten Bearbeitungen der Inhaltseinheit Bearbeitungen von bestimmten ersten und zweiten Teilnehmern der Unterhaltung (1110).
  • Optional, oder in einigen Betriebsmodi, ist das Bearbeiten der jeweiligen Inhaltseinheit durch andere Teilnehmer der Unterhaltung gesperrt (1112), während des Empfangens der Bearbeitungen der Inhaltseinheit vom ersten Teilnehmer der Unterhaltung. Alternativ kann das gleichzeitige Bearbeiten durch mehr als einen Teilnehmer der Unterhaltung freigegeben sein (1113). Wie untenstehend ausführlich beschrieben, werden die Konflikte zwischen gleichzeitigen Bearbeitungen verschiedener Teilnehmer aufgelöst und der daraus resultierende einheitliche Inhalt wird veröffentlicht (oder freigegeben) an alle Teilnehmer der Unterhaltung.
  • In einigen Ausführungsformen wird eine erste Einfügemarke (z. B. Einfügemarke 924, die Joe in identifiziert) vorbereitet zur Anzeige (1114) an einer Position, die den ersten Bearbeitungen durch den ersten Teilnehmer der Unterhaltung entspricht und eine zweite Einfügemarke (z. B. eine Einfügemarke 934, die Pat identifiziert) wird zur Anzeige vorbereitet an einer Position, die den zweiten Bearbeitungen durch den zweiten Teilnehmer der Unterhaltung entspricht, und die ersten und zweiten Bearbeitungen und die ersten und zweiten Einfügemarken (oder Positionen der Einfügemarken) werden einem oder mehreren Servern zur Verfügung gestellt. Aktive Teilnehmer der Unterhaltung (z. B. Teilnehmer, deren Clients aktuell die Unterhaltung anzeigen) können die Einfügemarken, die mit den gleichzeitigen Autoren/Bearbeitern der Inhaltseinheit verknüpft sind.
  • In einigen Ausführungsformen schließt die Vielzahl an Bearbeitungen in einer Sequenz die bestimmten Tastaturberührungen ein (1116). In diesen Ausführungsformen zeigen die Clients, die von aktiven Teilnehmern der Unterhaltung genutzt werden, Aktualisierungen/Bearbeitungen der Unterhaltung nahezu zeitgleich zur Eingabe der Aktualisierungen/Bearbeitungen durch den Autor an.
  • In einigen Ausführungsformen schließt die Vielzahl an Bearbeitungen in einer Sequenz die bestimmten Wörter ein (1118). In diesen Ausführungsformen zeigen die Clients, die von aktiven Teilnehmern der Unterhaltung genutzt werden, Wort-für-Wort Aktualisierungen/Bearbeitungen der Unterhaltung nahezu zeitgleich zur Eingabe der Aktualisierungen/Bearbeitungen durch den Autor an.
  • Ein jeweiliger Zeitstempel oder eine Sequenznummer werden gespeichert (1120) für jede bestimmte Bearbeitung in der Sequenz an Bearbeitungen der Inhaltseinheit, einschließlich der bestimmten Zeitstempel oder Sequenznummern für zumindest erste und zweite Bearbeitungen der Inhaltseinheit.
  • Die Unterhaltung wird mit dem revidierten Inhaltseinheit aktualisiert (1222) und die aktualisierte Unterhaltung wird automatisch einem oder mehreren Servern, die die Unterhaltung für die Teilnehmer der Unterhaltung hosten, bereitgestellt.
  • führt die Methode 1100 für das Hosten von Unterhaltungen auf einem Server weiter aus, wie in aufgezeigt.
  • In einigen Ausführungsformen wird ein Zeitstempel (z. B. Zeitstempel 1, 2, 3, 4 angezeigt durch 920, 930, 940, 950 etc. in und gespeichert in Zeitstempeln 341 in ) (1130) für jede Inhaltseinheit der Unterhaltung gespeichert.
  • Daten werden übertragen (1132), die die Sequenzen der Bearbeitungen durch einen jeweiligen Teilnehmer der Unterhaltung repräsentieren. So kann der jeweilige Teilnehmer Änderungen an der Unterhaltung in der Reihenfolge der Sequenzen der Bearbeitungen sehen.
  • In einigen Ausführungsformen oder Betriebsmodi ist es dem jeweiligen Teilnehmer erlaubt, die Änderungen an der Unterhaltung (oder an einem nutzerdefinierten Teil der Unterhaltung) (1134) in einer chronologischen Reihenfolge, z. B. auch wenn die Änderungen an unterschiedlichen Stellen der Unterhaltung stattfinden, anzusehen. Anders ausgedrückt, in einigen Betriebsmodi zeigt die Wiedergabefunktion in einer Clientanwendung die Sequenz der Änderungen an der Unterhaltung in der chronologischen Reihenfolge. Zum Beispiel wird in eine Unterhaltung wiedergegeben, um die Änderungen an der Unterhaltung als Ergebnis des Hinzufügens und des Bearbeitens des Inhalts durch die Teilnehmer der Unterhaltung zu zeigen.
  • In einigen Ausführungsformen oder Modi der Ausführung ist es dem jeweiligen Teilnehmer erlaubt, eine Sequenz an Änderungen innerhalb eines logischen Teils der Unterhaltung in einer chronologischen Reihenfolge zu sehen (1136), z. B. durch Nutzung des Rückspul- 972 und Vorspul- 974 Buttons, um durch die Änderungen der Unterhaltung zu navigieren. Anders ausgedrückt, in einigen Betriebsmodi der Ausführung zeigt die Playback Funktion der Clientanwendung eine Sequenz an Änderungen innerhalb eines logischen Teils der Unterhaltung in einer chronologischen Reihenfolge an. Das erlaubt dem Teilnehmer die equenzen der Änderungen eines bestimmten für ihn relevanten Teils der Unterhaltung zu sehen, ohne die Änderungen an für ihn nicht relevanten Teilen zu sehen. Zum Beispiel kann der logische Teil der Unterhaltung, für den die Änderungen angezeigt werden, eine einzelne Inhaltseinheit der Unterhaltung (1138) sein. Alternativ kann der logische Teil der Unterhaltung, für den die Änderungen angezeigt werden (wenn die Playback Funktion genutzt wird), eine Vielzahl an nutzergewählten Inhaltseinheiten der Unterhaltung beinhalten.
  • In einigen Ausführungsformen ist es dem jeweiligen Teilnehmer der Unterhaltung erlaubt, Änderungen an der Unterhaltung von anderen Teilnehmern der Unterhaltung zu sehen (1140), z. B. alle Änderungen zu sehen, die der erste Teilnehmer Joe oder der zweite Teilnehmer Pat vorgenommen haben, wie in dargestellt.
  • In einigen Ausführungsformen verzögert der Server (1142) die Bereitstellung der Bearbeitungen einer Unterhaltung, eines Teilnehmers der im Entwurfsmodus arbeitet und stellt die aktualisierte Unterhaltung anderen Teilnehmern bereit (z. B. an den Server, der die Unterhaltung für andere Teilnehmer hostet und an die Clients, die von den anderen Teilnehmern genutzt werden) wenn der jeweilige Teilnehmer den Entwurfsmodus verlassen hat oder die Bearbeitungen/Aktualisierungen an der Unterhaltung, die er vorgenommen hat, freigegeben hat. Zum Beispiel werden die Bearbeitungen 1011 und 1021 in dem Team erst zur Verfügung gestellt, wenn die Mitglieder von Team A (Joe, Pat) den Bearbeitungen zustimmen und den Entwurfsmodus beenden. In einigen Ausführungsformen wird die Information des Entwurfsmodus oder die Information der Entwurfsannahme im Unterhaltungsstatus des Teilnehmers 372 ( ) der Unterhaltung gespeichert.
  • In einigen Ausführungsformen stellt der Server (1144) die aktualisierte Unterhaltung einem Server, der mit einem anderen Teammitglied verknüpft ist (z. B. Joe kann Pats Bearbeitungen sehen und umgekehrt) bereit und verzögert die Bereitstellung der Bearbeitungen der Unterhaltung durch den jeweiligen Teilnehmer an einen anderen Server, der mit einem Nicht-Mitglied verknüpft ist (z. B.: Team B kann die Bearbeitungen von Team A während des Entwurfsmodus nicht sehen), während der jeweilige Teilnehmer (der ein Teammitglied ist) die Bearbeitungen an der Unterhaltung im Team-Entwurfsmodus vornimmt. Nachdem der Entwurfsmodus beendet wurde, stellt der Server die aktualisierte Unterhaltung an den Server, der mit dem Nicht-Mitglied verknüpft ist, bereit, einschließlich der Bearbeitungen der Unterhaltung durch den jeweiligen Teilnehmer. Alternativ werden die Bearbeitungen, die im Entwurfsmodus erfolgen, zeitgleich den Server, die mit allen Teilnehmern der Unterhaltung verknüpft sind, bereitgestellt. Aber die gemachten Bearbeitungen werden als Änderungen im Entwurfsmodus markiert und deshalb nicht an Teilnehmer außerhalb des Teams des bearbeitenden Teilnehmers weitergeleitet, bis der Entwurfsmodus beendet wird oder die Unterhaltungsaktualisierungen verabschiedet oder freigegeben wurden (z. B. durch den Teilnehmer oder das Team des Teilnehmers).
  • In einigen Ausführungsformen wird eine separate Unterhaltung erstellt, wenn eine Gruppe oder ein Team von Teilnehmern in einer ersten Unterhaltung die Bearbeitung der Unterhaltung im Team Entwurfsmodus einleitet. Die Teammitglieder entwerfen Inhalt innerhalb der separaten Unterhaltung und wenn das Team mit dem Entwurf der separaten Unterhaltung fertig ist oder mit einem Teil dieser, wird sie in die erste Unterhaltung eingefügt. An diesem Punkt wird der neue oder bearbeitete Inhalt den anderen Teilnehmern der ersten Unterhaltung zugänglich gemacht.
  • Kontrolle der Gleichzeitigkeit
  • Das zuvor genannte kooperative Bearbeitungsmodul 736 ( ) erlaubt mehreren Teilnehmern (Clients) eine Unterhaltung simultan zu bearbeiten und bietet Konflikterkennung und -auflösung, um zu bestimmen, ob die Bearbeitungen der Teilnehmer in Konflikt stehen (d. h. zuvor definierte Kriterien erfüllen). Beim jeweiligen Client gibt ein Nutzer Inhalt der Unterhaltung ein oder ändert diesen unter Nutzung des „Optimistic User Interface”, welches annimmt, dass es keinen Konflikt gibt zwischen der Eingabe und den Änderungen, die der Nutzer der Clientanwendung und andere Teilnehmer an der gleichen Unterhaltung vornehmen, bis ihr etwas anderes mitgeteilt wird durch den Unterhaltungsserver, der den Hosting Service der Unterhaltung für den Client bereitstellt.
  • In Bezug auf , bearbeiten ein oder mehrere Teilnehmer einer Unterhaltung eine Unterhaltung in ihrem lokalen Client (1510), welcher die Bearbeitungen der Nutzer (1512) zum Unterhaltungsserver sendet, der dem Client die Unterhaltungsservices zur Verfügung stellt. Die Bearbeitungen der Nutzer, die von jedem Teilnehmer vorgenommen werden, werden vom Unterhaltungsserver System empfangen (1520).
  • Wenn in Konflikt stehende Änderungen (Bearbeitungen) von zwei (oder mehr) Teilnehmern der Unterhaltung (auch bezeichnet als „konkurrierende Teilnehmer” zur Erleichterung der Identifikation, im Gegensatz zu jedem anderen Teilnehmer, der aktuell keine in Konflikt stehende Bearbeitung an der Unterhaltung vornimmt) vorliegen, stimmen die in Konflikt stehenden Bearbeitungen mit vordefinierten Kriterien überein und Transformationsmaßnahmen werden an den Bearbeitungen der konkurrierenden Teilnehmer vorgenommen, sodass der Status der Unterhaltung bei allen Clients einheitlich ist. Anders ausgedrückt, die Transformationsmaßnahmen werden als Antwort auf die Feststellung, dass konkurrierende Teilnehmer in Konflikt stehende Bearbeitungen vorgenommen haben (d. h. Bearbeitungen, die auf vordefinierte Kriterien zutreffen), ausgeführt. Außerdem reduziert der Unterhaltungsserver die Anzahl an Transformationsmaßnahmen, die er ausführen muss, indem er Sequenzen an Bearbeitungen (1522), die bei jedem Client vorgenommen wurden zusammenfasst und dann de Transformationsmaßnahmen in den zusammengefassten Sequenzen, die von konkurrierenden Teilnehmern (1524) stammen, vornimmt. Zumindest eine der daraus resultierenden transformierten Sequenzen unterscheidet sich von der entsprechenden zusammengefassten Sequenz der Bearbeitungen, aus der sie stammt. Die jeweiligen transformierten Sequenzen der Bearbeitungen werden an die Clients der konkurrierenden Teilnehmer (und an jeden anderen aktiven Teilnehmer, zusammen mit der Sequenzinformation (1524, 1534) übertragen, um es jedem Client zu ermöglichen, sowohl die lokal vorgenommen als auch die erhaltenen transformierten Sequenzen der Bearbeitungen in der korrekten Reihenfolge anzuwenden, um einen korrekten aktuellen Status der Unterhaltung (1536) zu reproduzieren.
  • Wenn Änderungen (Bearbeitungen) von zwei (oder mehr) Unterhaltungsteilnehmern gemacht werden und nicht in Konflikt stehen, fasst der Unterhaltungsserver trotzdem bei jedem gemachte Client Änderungssequenzen in zusammengefasste Bearbeitungssequenzen (1522). Jede dieser zusammengefassten Bearbeitungssequenzen bekommt einen Zeitstempel und/oder eine Sequenznummer (siehe die Beschreibung des Unterhaltungsprotokolls 324, ) und wird an die Clients der Teilnehmer der Unterhaltung (1522, 1530) gesendet, sodass alle Teilnehmer ein einheitliches Protokoll des Unterhaltungsstatus haben. Die jeweiligen Clients wenden die erhaltenen zusammengefassten Änderungssequenzen an, um den lokal gespeicherten Unterhaltungsstatus (1532) zu aktualisieren. Jeder Client, bei dem die Unterhaltung angezeigt wird, aktualisiert die Anzeige der Unterhaltung (1538) im Einklang mit sowohl den lokal vorgenommenen Änderungen als auch den zusammengefassten Änderungssequenzen der anderen Teilnehmer, die er vom Unterhaltungsserver erhält.
  • Eine spezielle Situation, die eine spezielle Vorgehensweise beim Client benötigt, sieht folgendermaßen aus. Wenn zum Zeitpunkt des Empfangs einer transformierten Änderungssequenz beim Client ein Nutzer, der diesen Client nutzt, weitere in Konflikt stehende Änderungen vorgenommen hat oder potentiell in Konflikt stehen mit Änderungen in der erhaltenen transformierten Änderungssequenz, dann führt der Client eine zweite Transformation des erhaltenen Änderungssequenz durch, die Transformation vorausahnt, die beim Server erfolgen wird, wenn die zusätzliche Änderungen, die beim Client vorgenommen wurden, empfangen werden. Als Ergebnis der zweiten Transformation an der erhaltenen Änderungssequenz und der Transformation, die vom Server an den vom Client vorgenommenen Änderungen, wird der Unterhaltungsstatus bei allen Clients der teilnehmenden Nutzer und bei allen hostenden Servern einheitlich aktualisiert. Anders ausgedrückt, jeder der Clients beinhaltet Anweisungen für Transformationsmaßnahmen, die auf erhaltene Bearbeitungen bei anderen Clients angewandt werden und die Transformationen, die von den Servern an den Bearbeitungen, die bei diesen Clientmaßnahmen erfolgen, berücksichtigen. Der Unterhaltungsstatus wird bei jedem Schritt auf diesem Weg durch eine entsprechende Sequenznummer repräsentiert, die sowohl von den Clients als auch vom hostenden Server der Unterhaltung genutzt wird, um sicherzustellen, dass die Transformationen, die bei den Clients und den Servern gemacht werden, koordiniert oder synchronisiert werden und ein einheitlicher Unterhaltungsinhalt produziert wird. (1536).
  • Es ist zu beachten, dass lokal durchgeführte Bearbeitungen kontinuierlich an den Unterhaltungsserver (1512) gesendet werden und so die vorgenommenen Änderungen nach Erhalt der transformierten Änderungssequenz auch an den Unterhaltungsserver gesendet werden und der Prozess zusammengefasste Änderungssequenzen und transformierte Änderungssequenzen zu erstellen (wenn nötig), weiterläuft. Als Ergebnis reflektiert der Unterhaltungsstatus bei jedem Client eine verschachtelte Sequenz an Änderungen von den aktiven Teilnehmer, wobei einige dieser Änderungssequenzen, transformierte Sequenzen sind, die transformiert wurden, um einen einheitlichen Status der Clients, die von den Teilnehmern der Unterhaltung genutzt werden, zu erhalten.
  • Wie oben beschrieben, werden die Operationen zur Kontrolle der Gleichzeitigkeit einer Unterhaltung, in einigen Ausführungsformen, sowohl im Serversystem der Unterhaltung 130, das die Unterhaltung hostet als auch, sofern notwendig, bei den Clients, die die transformierten Bearbeitungen erhalten, die mit den Änderungen, die bei diesen Clients durchgeführt wurden im Konflikt stehen, durchgeführt.
  • Die Anzahl an Änderungen, die in einer Bearbeitungssequenz (1522) zusammengefasst werden, hängt, zumindest teilweise, von der Rate mit der der Teilnehmer Bearbeitungen eingibt, ab. Ein weiterer Faktor, der einen Einfluss auf die Bearbeitung, die zusammengefasst werden, hat, ist die Tatsache, ob die Teilnehmer die gleiche Texteinheit zur gleichen Zeit bearbeiten. Zum Beispiel werden relativ lange Sequenzen und Bearbeitungen zusammengefasst, wenn es keine konkurrierenden Bearbeitungen durch andere Teilnehmer gibt. Jedoch, wenn konkurrierende Bearbeitungen von anderen Teilnehmern vorgenommen werden, gibt es relativ kurze Änderungssequenzen (z. B. bezogen auf Bearbeitungen in einem Zeitraum von N Sekunden, wobei N üblicherweise kleiner oder gleich 0,5 ist). In anderen Ausführungsformen werden die Bearbeitungen (das schließt Inhaltseingabe und auch Revisionen von zuvor eingegeben Inhalt und auch Änderungen an geteilten Metadaten ein) eines Teilnehmers direkt an die anderen Teilnehmer der Unterhaltung gesendet, ohne dass eine Zusammenfassung erstellt wird. Wenn Konflikte festgestellt werden, wird eine Transformation (beim hostenden Unterhaltungsserver oder bei einem anderen Server) für jede individuelle Bearbeitungsaktion eingeleitet, bevor diese an die anderen aktiven Teilnehmer gesendet wird. Wie oben beschrieben, wird eine Second Level Transformation an der jeweiligen erhaltenen transformierten Bearbeitung vorgenommen beim empfangenden Client, wenn die erhaltene transformierende Bearbeitung in Konflikt steht mit einer Bearbeitung, die bei einem lokalen Client vorgenommen wurde und bei der die Zeit der Sequenznummer des Unterhaltungsstatus entspricht.
  • Um die Latenz, definiert als Verzögerung zwischen dem Bearbeitungseintrag und seinem Erscheinen beim Client der anderen Teilnehmer, gering zu halten, werden Bearbeitungen von Teilnehmern üblicherweise so schnell wie möglich an die anderen aktiven Teilnehme zu senden, ohne Berücksichtigung der Bearbeitung einer Sequenzzusammenfassung. Schnelle Transformation und Weiterleitung der Bearbeitung während „Live Konflikten” (wenn zwei oder mehr Teilnehmer denselben Teil der Unterhaltung revidieren) hält die Teilnehmer akkurat auf dem Laufenden über den sich entwickelnden Unterhaltungsstaus während der stattfindenden Konflikte. Weil das Zusammenfassen der Aktionen und deren Transformation für die aktiven Teilnehmer die Latenz erhöhen würde, wird das Zusammenfassen der Aktion entweder genutzt oder nicht, oder nur für sehr kleine Zeitfenster während aktuell stattfindender Konflikte. Auf der anderen Seite werden Sequenzen von Aktionen, die kurzen Zeitabständen stattfinden zusammengefasst, für die Protokollierung der Unterhaltungshistorie 324 ( ) zur Wiedergabe. Wie obenstehend angemerkt, kann der Protokolleintrag 385 eine Autorenliste 390 enthalten, die mehrere Autoren einer Änderung des Unterhaltungsstatus identifiziert, wenn mehr als ein Autor die gleiche Unterhaltung zur gleichen Zeit oder in überschneidender Zeitabfolge bearbeitet. Außerdem werden, wenn keine Konflikte mit anderen Teilnehmern bestehen, ganze Bearbeitungssequenzen eines Teilnehmers zu einer einzigen Änderungssequenz zusammengefasst für die Speicherung in einem einzigen Eintrag ins Unterhaltungsprotokoll 385 ( ) bis der Nutzer das/den „Done” Icon/Button betätigt.
  • zeigt ein Ablaufdiagram der Anwendung zur Gleichzeitigkeitskontrolle zwischen einer Vielzahl an potentiell Konflikt verursachenden Bearbeitungen, die von mehr als zwei Teilnehmern erhalten werden. Das Beispiel in zeigt die Transformationsaktionen von ASCII Text mit XML Tags und Inhalt. Aktionen werden beim ersten Teilnehmer (Client) und beim zweiten Teilnehmer (Client) durchgeführt.
  • Eine erste Änderungssequenz zu einer jeweiligen Inhaltseinheit der Unterhaltung wird erhalten vom ersten Teilnehmer der Unterhaltung und die erste Änderungssequenz wird konvertiert in die erste zusammengefasste Änderungssequenz (1212). Eine zweite Änderungssequenz zu einer jeweiligen Inhaltseinheit der Unterhaltung wird erhalten vom zweiten Teilnehmer der Unterhaltung und die zweite Änderungssequenz wird in die zweite zusammengefasste Änderungssequenz (1216) konvertiert.
  • Die erste zusammengefasste Änderungssequenz (1212) wird transformiert, um eine erste transformierte Änderungssequenz zu produzieren (1232) und die zweite zusammengefasste Änderungssequenz wird transformiert, um eine zweite transformierte Änderungssequenz zu produzieren (1222). Die erste transformierte Änderungssequenz (1232) wird an den zweiten Teilnehmer gesendet und die zweite transformierte Änderungssequenz (1222) wird an den ersten Teilnehmer gesendet. Beim ersten Client wird die erste zusammengefasste Änderungssequenz (1212) auf einen ursprünglichen Unterhaltungsstatus D1 angewandt, um einen zwischenzeitlichen Unterhaltungsstatus D2 zu produzieren und dann wird die zweite transformierte Änderungssequenz (1222) auf den Unterhaltungsstatus D2 angewandt, um einen neuen Unterhaltungsstatus D4 zu produzieren. Beim zweiten Client wird die zweite zusammengefasste Änderungssequenz (1216) auf einen ursprünglichen Unterhaltungsstatus D1 angewandt, um einen zwischenzeitlichen Unterhaltungsstatus D3 zu produzieren und dann wird die erste transformierte Änderungssequenz (1232) auf den zwischenzeitlichen Unterhaltungsstatus D3 angewandt, um einen neuen Unterhaltungsstatus D4 beim ersten Client zu produzieren. So werden die transformierten Änderungssequenzen, 1232 und 1222, erstellt, damit sie, wenn sie auf den Unterhaltungsstatus nach der Applikation der lokal ausgeführten Bearbeitungen (entsprechend der zusammengefassten Änderungssequenz für den Client), der Unterhaltungsstatus bei beiden Clients einen einheitlichen Status hat.
  • Im Beispiel auf hat jedes ASCII Textzeichen eine Größe von Eins und jedes startet und endet mit einem XML Tag, das die Größe Eins hat. Im Beispiel der bezieht „Text löschen” sich auf die Komponente Text Löschen in der Aktion und das „Element löschen” bezieht sich auf die Aktion, ein Element zu löschen. Die Nummer, die der Löschaktion eines Textes oder eines Elements zugeordnet ist, bezieht sich auf die Größe der Elementlöschung. „Hinzufügen eines Elements” wird genutzt, um XML Tags einer Inhaltseinheit hinzuzufügen und „Hinzufügen Text” wird genutzt, um Text hinzuzufügen. Die Transformationen von zusammengefassten Sequenzen der Aktionen zur Inhaltsaktualisierung (Bearbeitungen) berücksichtigen die Position von jeder Aktion in der Inhaltseinheit und auch gedoppelte Aktionen (z. B. ergänzende Aktionen, die den gleichen Text löschen) oder allgemeinere Aktionen, die andere konkurrierende Aktionen irrelevant machen.
  • Der ursprüngliche Unterhaltungsstatus D1 1210 enthält eine erste Zeile:
    D1=<example>abcdefg</example>
  • Der zweite (oder revidierte) Unterhaltungsstatus D4 1240 enthält die zweite Zeile:
    D4=<example>a<tagName attr1=”value1” attr2=”value2”>
    A<nested>B</nested>C</tagName>fg</example>
  • Der zwischenzeitliche Unterhaltungsstatus D2 1220 enthält die dritte Zeile:
    D2 = <example>ab<tagName attr1=”value1”
    attr2=”value2”>A<nested>B</nested>C</tagName> fg</example>
  • Der zwischenzeitliche Unterhaltungsstatus D3 1230 enthält die vierte Zeile:
    D3 = <example>aefg</example>
  • Die erste zusammengefasste Änderungssequenz 1212 stellt die folgenden Bearbeitungen bereit:
    3 überspringen
    Startelement mit Tagnamen ”tagName” und Attributen eingeben [attr1=”value1”, attr2=”value2”]
    Text ”A” eingeben
    Einfügen Element beginnend mit Tagname ”nested” und Eigenschaften
    Einfügen Text „B”
    Einfügen Elementende
    Einfügen Text „C”
    Einfügen Elementende
    Löschen Text 3 (z. B. Text cde)
  • Wenn die erste zusammengefasste Änderungssequenz 1212 auf den ursprünglichen Unterhaltungsstatus D1 1210 angewandt wird, ist das Ergebnis der zwischenzeitliche Unterhaltungsstatus D2 1220, wie oben beschrieben. Eine gestrichelte Box 1214 zeigt den Teil des Status an D2, an dem Änderungen an D1 durch die erste zusammengefasste Änderungssequenz vorgenommen wurden 1212.
  • Die zweite transformierte Änderungssequenz 1222 stellt die folgenden Bearbeitungen bereit:
    Überspringen 2
    Löschen Text 1
  • Die zweite transformierte Änderungssequenz 1222 löscht den Buchstaben „b” 1224 aus dem zwischenzeitlichen Unterhaltungsstatus D2. Das Ergebnis dieser Aktion ist der zweite (oder revidierte) Unterhaltungsstatus D4 1240.
  • Die zweite zusammengefasste Änderungssequenz 1216 stellt die folgenden Bearbeitungen bereit:
    Überspringen 2
    Löschen Text 3 (z. B. Löschen „bcd”)
  • Die zweite zusammengefasste Änderungssequenz 1216 löscht die Buchstaben „bcd” aus dem ersten Unterhaltungsstatus D1. Das Ergebnis der Anwendung der zweiten Änderungssequenz 1216 auf den ersten Unterhaltungsstatus D1 ist der zwischenzeitliche Unterhaltungsstatus D3 1230.
  • Die erste transformierte Änderungssequenz 1232 stellt die folgenden Bearbeitungen bereit:
    Überspringen 2
    Startelement mit Tagnamen ”tagName” und Attributen eingeben [attr1=”value1”, attr2=”value2”]
    Text ”A” eingeben
    Einfügen Element beginnend mit Tagname ”nested” und Eigenschaften
    Einfügen Text „B”
    Einfügen Elementende
    Einfügen Text „C”
    Einfügen Elementende
    Löschen Text 1
  • Die erste transformierte Änderungssequenz 1232 ändert den zwischenzeitlichen Unterhaltungsstatus D3 durch Hinzufügen des Materials, das durch die gestrichelte Linie 1234 in angezeigt wird. Das Ergebnis der Aktion ist der zweite Unterhaltungsstatus D4.
  • Es wird darauf hingewiesen, dass die Zusammenfassung der Änderungssequenzen die Feststellung von konkurrierenden Bearbeitung (durch unterschiedliche Nutzer) erleichtert und dadurch die Menge an Rechnerressourcen, die für die Kontrolle der Gleichzeitigkeit genutzt werden, reduziert. Konkurrierende Bearbeitungen werden, zum Beispiel, festgestellt, wenn eine Transformation der zusammengefassten Änderungssequenzen zumindest die Position von einer Bearbeitungsaktion ändern würde. Zum Beispiel werden konkurrierende Bearbeitungen festgestellt, wenn die Durchführung einer zusammengefassten ersten Änderungssequenz die Position von zumindest einer Bearbeitungsaktion in der zweiten zusammengefassten Änderungssequenz ändern würde. Ein weiteres Beispiel ist, dass konkurrierende Bearbeitungen festgestellt werden, wenn die zweite zusammengefasste Änderungssequenz die Position von zumindest einer Bearbeitungsaktion in der ersten zusammengefassten Änderungssequenz ändern würde. Konkurrierende Bearbeitungen werden auch festgestellt, wenn die erste und zweite zusammengefasste Änderungssequenz (von zwei unterschiedlichen Teilnehmern) überschneidende Löschaktionen enthalten. Die Transformation einer zusammengefassten Änderungssequenz, für die eine überschneidende Löschaktion (d. h. eine Überschneidung mit einer Bearbeitungsaktion eines anderen Teilnehmers) vorhanden ist, produziert eine transformierte Löschaktion, die weniger Elemente der jeweiligen Inhaltseinheit löscht, als die jeweilige Löschaktion in der zusammengefassten Änderungssequenz.
  • In einigen Ausführungsformen enthält die erste transformierte Änderungssequenz nicht die redundante Aktion, wenn die erste und zweite zusammengefasste Änderungssequenz überschneidende Aktionen enthalten.
  • In einigen Ausführungsformen werden bestimmte Versionsnummer von Unterhaltungen (oder Inhalteinheiten) verknüpft mit dem Status der jeweiligen Unterhaltung (oder Inhaltseinheit), bevor und nach jeder zusammengefassten Änderungssequenz der Aktionen. Auf ähnliche Weise sind Versionsnummern mit dem Status der jeweiligen Unterhaltung (oder Inhaltseinheit) vor und nach den transformierten Änderungssequenzen der Aktionen verknüpft. In einigen Ausführungsformen werden bestimmte Zeitstempel mit jeder bestimmten Versionsnummer der Unterhaltung (oder Inhaltseinheit) verknüpft.
  • zeigt eine Sequenz einer separaten Änderungsaktion an der Inhaltseinheit, empfangen vom ersten Teilnehmer und eine Sequenz einer separaten Änderungsaktion an der Inhaltseinheit, empfangen vom zweiten Teilnehmer.
  • Ein Startpunkt für diese Sequenz ist ein erster Status der Inhaltseinheit 1310, der den Text „ABCDEFG” enthält. Eine erste Änderungssequenz wird empfangen vom ersten Teilnehmer und beinhaltet:
    1316: Einfügen „X” bei 6, mit dem Ergebnis Text ABCDEFXG
    1318: Einfügen „Y” bei 1, mit dem Ergebnis Text AYBCDEFXG
    1350: Löschen 3–5, mit dem Ergebnis Text AYBEFXG
  • Eine zweite transformierte Änderungssequenz wird vom zweiten Teilnehmer empfangen und beim ersten Teilnehmer angewandt und beinhaltet:
    1352: Löschen 3–4, mit dem Ergebnis Text AYBFXG
    1354: Einfügen „M” at 5, mit dem Ergebnis Text AYBFXMG
    1356: Einfügen „N” at 3, mit dem Ergebnis Text AYBNFXMG.
    Dies ist der finale Status der Inhaltseinheit 1370.
  • Nochmal mit Bezug auf den Startstatus 1310 mit dem Inhalt Text ”ABCDEFG”, wird eine zweite Änderungssequenz vom zweiten Teilnehmer empfangen und enthält:
    1312: Löschen 3–5, mit dem Ergebnis Text ABCFG
    1314: Einfügen „M” bei 4, mit dem Ergebnis Text ABCFMG
    1330: Einfügen „N” at 3, mit dem Ergebnis Text ABCNFMG
  • Eine erste transformierte Änderungssequenz wird empfangen vom ersten Teilnehmer und beim zweiten Teilnehmer angewandt und beinhaltet:
    1332: Einfügen „X” bei 5, mit dem Ergebnis Text ABCNFXMG
    1334: Einfügen „Y” bei 1, mit dem Ergebnis Text AYBCNFXMG
    1336: Löschen 3–5, mit dem Ergebnis Text AYBNFXMG.
  • Die ist der finale Status der Inhaltseinheit 1370 und der gleiche Status der Inhaltseinheit, der unter Nutzung der ersten Änderungssequenz und der zweiten transformierten Änderungssequenz erreicht wird.
  • Da es eine Vielzahl an separaten Bearbeitungen gibt, gibt es auch eine Vielzahl an Transformationen (angezeigt durch die Vielzahl an Pfeilen/Pfaden vom Status der Inhaltseinheit 1310 zum Status der Inhaltseinheit 1370). In dieser Ausführungsform wird jeder Transformation für jeden Pfad kalkuliert, was Prozessorressourcen und Zeit braucht.
  • zeigt 1400 eine Sequenz von transformierten Bearbeitungsaktionen an einer Inhaltseinheit, die vom ersten Teilnehmer und einer Sequenz zusammengefasster Änderungsaktionen vom zweiten Teilnehmer und deren Transformationen.
  • Ein Startpunkt für die Sequenz ist ein erster Status der Inhaltseinheit 1410, der den Text „ABCDEFG” enthält und dem ursprünglichen Status der Inhaltseinheit 1310 in entspricht.
  • Eine erste zusammengefasste Änderungssequenz wird vom ersten Teilnehmer empfangen und beinhaltet:
    1416: Überspringen 1, Einfügen „Y”, Überspringen 1, Löschen 2, Überspringen 2, Einfügen X, mit dem Ergebnis Text AYBEFXG, Status der Inhaltseinheit 1450.
  • Eine zweite zusammengefasste Änderungssequenz wird vom zweiten Teilnehmer empfangen und beim ersten Teilnehmer angewandt und beinhaltet:
    1452: Überspringen 3, Löschen 1, Einfügen „N”, Überspringen 2, Einfügen M, mit dem Ergebnis Text AYBNFXMG, Endpunkt 1470.
  • Nochmal bezogen auf den ursprünglichen Status der Inhaltseinheit 1410, mit Inhalt Text „ABCDEFG”, wird eine zweite zusammengefasste Änderungssequenz vom zweiten Teilnehmer empfangen und beinhaltet:
    1412: Überspringen 3, Löschen 2, Einfügen „N”, Überspringen 1, Einfügen „M”, mit dem Ergebnis Text ABCNFMG, Status der Inhaltseinheit 1430.
  • Eine erste transformierte zusammengefasste Änderungssequenz wird vom ersten Teilnehmer empfangen und beim zweiten Teilnehmer angewandt und beinhaltet:
    1432: Überspringen 1, Einfügen „Y”, Überspringen 1, Löschen 1, Überspringen 2, Einfügen „X”, mit dem Ergebnis Text AYBNFXMG, welcher der finale Status der Inhaltseinheit 1470 ist.
  • Dies ist der finale Status der Inhaltseinheit 1470, wie er durch die Anwendung der ersten zusammengefassten Änderungseinheit und der zweiten transformierten zusammengefassten Änderungseinheit erreicht wird.
  • Da die individuellen Bearbeitungen (z. B. wie in ) in eine Änderungssequenz in zusammengefasst werden, benötigt man weniger Transformationen bei Anwendungen der Ausführungsform in , als bei der in (anzeigt durch das Paar an Pfeilen/Pfaden von Punkt 1310 nach Punkt 1370). In dieser Ausführungsform muss für jeden Pfad eine Transformation kalkuliert werden, was eine geringe Prozessorauslastung bedeutet, als bei der Ausführungsform in . Die Ausführungsform in stellt so die Vorteile eines reduzierten Kalkulationsaufwands dar, der durch die Nutzung von zusammengefassten Änderungssequenzen entsteht.
  • Andere Anwendungen
  • Eine andere Anwendungsmöglichkeit kann in Verbindung mit dem hostenden Server eine kontextabhängige Rechtschreibeprüfung und -korrektur enthalten. Solch eine Anwendung kann genutzt werden, um gängige Rechtschreibfehler zu finden und absichtlich definierte Wörter zu unterscheiden. Solch eine Anwendung kann ein Fehlermodell nutzen, um zu bestimmen, ob ein Wort richtig geschrieben oder verwendet wurde. Das Modell kann häufige Fehler finden auf Basis der Buchstabenverwechslung, phonetischer Ähnlichkeit, Position in der Unterhaltung oder der Buchstaben und der Nutzung anderer Hilfsmittel. Die Anwendung kann während der Eingabe und Kontextbasiert die Texte prüfen. In einigen Ausführungsformen bietet die Anwendung nutzerspezifische Vergleiche von Wörtern, die der Nutzer häufig verwendet oder die er definiert hat. In einigen Ausführungsformen kann die Anwendung ein Tag mit einem Vorschlag für ein Wort einfügen, dass sie als falsch geschrieben einschätzt, sodass jeder Teilnehmer (nicht nur der Autor) das Wort korrigieren kann, falls notwendig.
  • Eine andere Anwendungsmöglichkeit in Verbindung mit dem hostenden Server der Unterhaltung beinhaltet die kontextabhängige Eigennamenanzeige unter Nutzung der kontextabhängigen Begriffserklärung. In einigen Ausführungsformen kann die Begriffserklärung bei der Anzeige von Eigennamen Platzeffizienz anbieten. Zum Beispiel kann ein guter Freund oder Arbeitskollege nur mit dem Vornamen oder einem Bild angezeigt werden, wohingegen ein Fremder mit vollem Namen, Titel etc. angezeigt wird. Ein Satz an Regeln (definiert vom System oder dem Nutzer oder beiden) kann genutzt werden, um zu bestimmen, wer und wie er angezeigt wird.
  • Eine andere Anwendungsmöglichkeit in Verbindung mit dem hostenden Server der Unterhaltung beinhaltet eine Anwendung zur Sprachübersetzung (Maschinenübersetzung). Die Anwendung zur Maschinenübersetzung kann eine Rechtschreibprüfung und/oder ein kontextsensitives Wörterbuch nutzen, um zwischen den Sprachen zu übersetzen.
  • In einigen Ausführungsformen nutzen diese (oder andere) Anwendungen eine Oberfläche für ein Anwendungsprotokoll (API), um mit dem Server, der die Unterhaltung hostet, zu kommunizieren. In einigen Ausführungsformen erlaubt die Anwendung dem Teilnehmer Platz für einen Namen für die persönlichen Anwendungen des Teilnehmers zu reservieren, welche die Teilnehmer mit anderen Teilnehmern teilen.
  • Die vorstehende Beschreibung wurde zum Zweck der Erklärung unter Bezugnahme auf spezifische Ausführungsformen beschrieben. Jedoch sollen die oben stehenden veranschaulichenden Erörterungen nicht erschöpfend sein oder die Erfindung auf die genauen offenbarten Formen beschränken. Angesichts der oben stehenden Lehren sind viele Modifikationen und Abwandlungen möglich. Die Ausführungsformen wurden gewählt und beschrieben, um die Prinzipien der Erfindung und ihre praktischen Anwendungen zu beschreiben, um es dadurch anderen Fachleuten zu ermöglichen, die Erfindung und ihre verschiedenen Ausführungsformen mit verschiedenen Modifizierungen zu nutzen, die für die besondere, erwägte Nutzung geeignet sind.

Claims (9)

  1. Ein gehostetes Unterhaltungssystem beinhaltet: Ein Serversystem, das Serversystem beinhaltet: einen Prozessor oder mehrere Prozessoren; Speicher; und Ein oder mehrere Programme, die im Speicher abgelegt sind, zur Ausführung durch einen oder mehrere Prozessoren, das/die eine oder mehrere Programm/e beinhalten: Anweisungen für das Hosten einer Vielzahl an Unterhaltungen, jede davon hat eine identifizierte Gruppe von Teilnehmern, die Anweisungen für das Hosten eingeschlossen, für die jeweiligen Unterhaltungen: Anweisung zur Bereitstellungen von Inhalt einer Unterhaltung an die Teilnehmer der Unterhaltung, einschließlich: Anweisungen für das Empfangen von Inhalt von jedem einer Vielzahl der Teilnehmer der Unterhaltung und Übertragung des erhaltenen Inhalts an die anderen Teilnehmer einer identifizierten Gruppe an Teilnehmern; und Anweisungen für die Bereitstellung, wenn ein zusätzlicher Teilnehmer der Unterhaltung hinzugefügt wird, von Inhalt der Unterhaltung an den hinzugefügten Teilnehmer, der den gesamten Inhalt einschließt, der der identifizierten Gruppe an Teilnehmern zur Verfügung steht und fügt den zusätzlichen Teilnehmer der identifizierten Gruppe an Teilnehmern hinzu.
  2. Das gehostete Serversystem aus Anspruch 1, worin das Serversystem eine Gruppe der Serversysteme ist, die Unterhaltungen hostet, jedes jeweilige Serversystem ist verknüpft mit einer anderen Untergruppe an Nutzern und das Serversystem enthält Anweisungen, welche wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, das Serversystem.
  3. Das hostende Unterhaltungssystem von jedem der Ansprüche 1–2, worin die Bereitstellung von Anweisung zur Bereitstellung von Inhalten der Unterhaltung an die Teilnehmer der Unterhaltung eingeschlossen ist, um eine einheitliche Anzeige der Unterhaltung bei einer Vielzahl an Teilnehmern zu bieten.
  4. Ein gehostetes Unterhaltungssystem beinhaltet: einen oder mehrere Prozessor(en); und Speicher, der eines oder mehrere Programme zur Ausführung durch einen oder mehrere Prozessor/en speichert; das System beinhaltet Mittel zur Durchführung der Methode von jedem der Claims 1–17.
  5. Ein kompatibles Speichermedium mit hinterlegten Anweisungen, die bei Ausführung durch einen oder mehrere Prozessor/en in einem Serversystem, im Serversystem folgendes verursachen: Hosten einer Vielzahl an Unterhaltungen, wovon jede eine identifizierte Gruppe an Teilnehmern hat für jede der jeweiligen Unterhaltungen: Inhalte der Unterhaltung den Teilnehmern der Unterhaltung bereitstellen, einschließlich: Dem Empfangen von jedem Teilnehmer aus einer Vielzahl an Teilnehmern der Unterhaltung und Übertragung des erhaltenen Inhalts an die anderen Teilnehmer einer Vielzahl an Teilnehmern; und Das Bereitstellen des Inhalts der Unterhaltung an einen zusätzlichen Teilnehmer, wenn ein zusätzlicher Teilnehmer hinzugefügt wird. Der Inhalt schließt alle Inhalte ein, die der identifizierten Gruppe an Teilnehmer zur Verfügung steht und der zusätzliche Teilnehmer wird der identifizierten Gruppe an Teilnehmern hinzugefügt.
  6. Ein kompatibles Speichermedium, auf dem eines oder mehrere Programme hinterlegt ist/sind zur Durchführung durch einen oder mehrere Prozessor/en des Serversystems. Das/die eine/mehreren Programm/e enthalten Anweisungen zur Ausführung durch einen oder mehrere Prozessor/en, um eine der Methode von jedem der Claims 1–17 auszuführen.
  7. Ein gehostetes Unterhaltungssystem beinhaltet: Ein Serversystem, das Serversystem beinhaltet: einen Prozessor oder mehrere Prozessoren; Speicher; und Ein oder mehrere Programme, die im Speicher abgelegt sind, zur Ausführung durch einen oder mehrere Prozessoren, das/Die eine oder mehrere Programme beinhalten Anweisungen für das Hosten einer Vielzahl an Unterhaltungen, einschließlich der jeweiligen Unterhaltung: Anweisungen für die Bereitstellung von Inhalt der Unterhaltung an eine Vielzahl an Clients, die mit den Teilnehmern der Unterhaltung verknüpft sind, einschließlich der Bereitstellung des gesamten Inhalts der Unterhaltung, den der Client laut Konfiguration erhalten soll, an jeden Client; Anweisungen für das Empfangen von Inhalt von den jeweiligen Teilnehmern der Unterhaltung und das Übertragen von zumindest einem Teil der empfangenen Inhalts an die Clients, die mit den anderen Teilnehmern verknüpft sind; und Anweisungen für das Bereitstellen von Inhalt, wenn ein zusätzlicher Teilnehmer der Unterhaltung hinzugefügt wird, an einen Client, der mit dem zusätzlichen Teilnehmer verknüpft ist. Er erhält den gesamten Inhalt der Unterhaltung, den er laut Konfiguration empfangen soll.
  8. Ein kompatibles Speichermedium mit hinterlegten Anweisungen, die bei Ausführung durch einen oder mehrere Prozessor/en in einem Serversystem, im Serversystem folgendes verursachen: Das Hosten einer Vielzahl an Unterhaltungen, einschließlich der jeweiligen Unterhaltung: die Bereitstellung von Inhalt der Unterhaltung an eine Vielzahl an Clients, die mit den Teilnehmern der Unterhaltung verknüpft sind, einschließlich der Bereitstellung des gesamten Inhalts der Unterhaltung, den der Client laut Konfiguration erhalten soll, an jeden Client; das Empfangen von Inhalt von den jeweiligen Teilnehmern der Unterhaltung und das Übertragen von zumindest einem Teil der empfangenen Inhalts an die Clients, die mit den anderen Teilnehmern verknüpft sind; und das Bereitstellen von Inhalt, wenn ein zusätzlicher Teilnehmer der Unterhaltung hinzugefügt wird, an einen Client, der mit dem zusätzlichen Teilnehmer verknüpft ist. Er erhält den gesamten Inhalt der Unterhaltung, den er laut Konfiguration empfangen soll.
  9. Der kompatible Speicher von Anspruch 8, worin das Serversystem eines von einer Gruppe an Serversystemen ist, die Unterhaltungen hosten, wobei jedes Serversystem mit einer unterschiedlichen Gruppe an Nutzern verknüpft ist und das Serversystem enthalten Anweisungen, die, wenn sie durch einen oder mehrere Prozessor/en im Serversystem ausgeführt werden, verursachen, dass beim Serversystem Unterhaltungen gehostet werden, die durch eine jeweilige Gruppe an Nutzern, die mit dem Serversystem verknüpft sind, gestartet wurden.
DE202010018482.7U 2009-03-23 2010-03-23 Bereitstellung eines Zugangs zu einer Unterhaltung in einem gehosteten Unterhaltungssystem Expired - Lifetime DE202010018482U1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US16264209P 2009-03-23 2009-03-23
US162642P 2009-03-23
US729095 2010-03-22
US12/729,095 US8639762B2 (en) 2009-03-23 2010-03-22 Providing access to a conversation in a hosted conversation system

Publications (1)

Publication Number Publication Date
DE202010018482U1 true DE202010018482U1 (de) 2017-01-19

Family

ID=42738566

Family Applications (3)

Application Number Title Priority Date Filing Date
DE202010018484.3U Expired - Lifetime DE202010018484U1 (de) 2009-03-23 2010-03-23 System für die Bearbeitung eines Gesprächs in einem gehosteten Gesprächssystem
DE202010018482.7U Expired - Lifetime DE202010018482U1 (de) 2009-03-23 2010-03-23 Bereitstellung eines Zugangs zu einer Unterhaltung in einem gehosteten Unterhaltungssystem
DE202010018483.5U Expired - Lifetime DE202010018483U1 (de) 2009-03-23 2010-03-23 System zum Zusammenführen von Bearbeitungen für eine Konversation in einem gehosteten Konversationssystem

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE202010018484.3U Expired - Lifetime DE202010018484U1 (de) 2009-03-23 2010-03-23 System für die Bearbeitung eines Gesprächs in einem gehosteten Gesprächssystem

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE202010018483.5U Expired - Lifetime DE202010018483U1 (de) 2009-03-23 2010-03-23 System zum Zusammenführen von Bearbeitungen für eine Konversation in einem gehosteten Konversationssystem

Country Status (6)

Country Link
US (5) US8700776B2 (de)
EP (3) EP2414947B1 (de)
KR (3) KR20120039514A (de)
CN (3) CN102362271B (de)
DE (3) DE202010018484U1 (de)
WO (3) WO2010111248A2 (de)

Families Citing this family (117)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7912904B2 (en) 2004-03-31 2011-03-22 Google Inc. Email system with conversation-centric user interface
US7814155B2 (en) 2004-03-31 2010-10-12 Google Inc. Email conversation management system
US7269621B2 (en) 2004-03-31 2007-09-11 Google Inc. Method system and graphical user interface for dynamically updating transmission characteristics in a web mail reply
US9819624B2 (en) 2004-03-31 2017-11-14 Google Inc. Displaying conversations in a conversation-based email system
US7979501B1 (en) 2004-08-06 2011-07-12 Google Inc. Enhanced message display
US8102973B2 (en) * 2005-02-22 2012-01-24 Raytheon Bbn Technologies Corp. Systems and methods for presenting end to end calls and associated information
US8434093B2 (en) 2008-08-07 2013-04-30 Code Systems Corporation Method and system for virtualization of software applications
US8776038B2 (en) 2008-08-07 2014-07-08 Code Systems Corporation Method and system for configuration of virtualized software applications
US8812961B2 (en) * 2009-05-27 2014-08-19 Novell, Inc. Dynamic collaborative techniques
US8793319B2 (en) 2009-07-13 2014-07-29 Microsoft Corporation Electronic message organization via social groups
US9117203B2 (en) * 2009-09-01 2015-08-25 Nokia Technologies Oy Method and apparatus for augmented social networking messaging
US8521823B1 (en) * 2009-09-04 2013-08-27 Google Inc. System and method for targeting information based on message content in a reply
US8954958B2 (en) 2010-01-11 2015-02-10 Code Systems Corporation Method of configuring a virtual application
US8959183B2 (en) 2010-01-27 2015-02-17 Code Systems Corporation System for downloading and executing a virtual application
US9104517B2 (en) * 2010-01-27 2015-08-11 Code Systems Corporation System for downloading and executing a virtual application
US9229748B2 (en) 2010-01-29 2016-01-05 Code Systems Corporation Method and system for improving startup performance and interoperability of a virtual application
AU2011240695A1 (en) 2010-04-12 2012-11-01 Google Inc. Real-time collaboration in a hosted word processor
EP2558959A1 (de) 2010-04-12 2013-02-20 Google, Inc. Kollaborative cursoren be einem gehosteten textverarbeitungssystem
US9390188B2 (en) * 2010-04-12 2016-07-12 Flow Search Corp. Methods and devices for information exchange and routing
US8763009B2 (en) 2010-04-17 2014-06-24 Code Systems Corporation Method of hosting a first application in a second application
US20130298040A1 (en) * 2010-04-30 2013-11-07 American Teleconferencing Services, Ltd. Systems, Methods, and Computer Programs for Providing Simultaneous Online Conferences
KR20110126421A (ko) * 2010-05-17 2011-11-23 삼성전자주식회사 메시징 서비스에서 그룹별 메시지 대화 제공 방법 및 장치
US9380011B2 (en) 2010-05-28 2016-06-28 Google Inc. Participant-specific markup
US9542091B2 (en) 2010-06-04 2017-01-10 Apple Inc. Device, method, and graphical user interface for navigating through a user interface using a dynamic object selection indicator
US8782106B2 (en) 2010-07-02 2014-07-15 Code Systems Corporation Method and system for managing execution of virtual applications
US8402041B2 (en) * 2010-07-07 2013-03-19 International Business Machines Corporation Analytics of historical conversations in relation to present communication
US9047584B2 (en) * 2010-09-16 2015-06-02 Facebook, Inc. Web-based user interface tool for social network group collaboration
US9021015B2 (en) 2010-10-18 2015-04-28 Code Systems Corporation Method and system for publishing virtual applications to a web server
US9209976B2 (en) 2010-10-29 2015-12-08 Code Systems Corporation Method and system for restricting execution of virtual applications to a managed process environment
US8566708B1 (en) 2011-01-13 2013-10-22 Google Inc. Merging electronic document redraws
US8700986B1 (en) 2011-03-18 2014-04-15 Google Inc. System and method for displaying a document containing footnotes
US20120197971A1 (en) * 2011-02-01 2012-08-02 Shiarng Llc Enhanced web-browsing system and method
US8510266B1 (en) 2011-03-03 2013-08-13 Google Inc. System and method for providing online data management services
WO2012129336A1 (en) * 2011-03-21 2012-09-27 Vincita Networks, Inc. Methods, systems, and media for managing conversations relating to content
US10402485B2 (en) 2011-05-06 2019-09-03 David H. Sitrick Systems and methodologies providing controlled collaboration among a plurality of users
US11611595B2 (en) 2011-05-06 2023-03-21 David H. Sitrick Systems and methodologies providing collaboration among a plurality of computing appliances, utilizing a plurality of areas of memory to store user input as associated with an associated computing appliance providing the input
US8583654B2 (en) 2011-07-27 2013-11-12 Google Inc. Indexing quoted text in messages in conversations to support advanced conversation-based searching
WO2013016047A2 (en) * 2011-07-27 2013-01-31 Google Inc. Enabling search for conversation with two messages each having a query term
KR20130015472A (ko) * 2011-08-03 2013-02-14 삼성전자주식회사 디스플레이장치, 그 제어방법 및 서버
US9401884B2 (en) * 2011-08-26 2016-07-26 Sap Se Conversation explorer with split navigation user interface
US9336137B2 (en) 2011-09-02 2016-05-10 Google Inc. System and method for performing data management in a collaborative development environment
US8484561B1 (en) * 2011-09-02 2013-07-09 Google Inc. System and method for updating an object instance based on instructions received from multiple devices
CN103078781A (zh) * 2011-10-25 2013-05-01 国际商业机器公司 用于即时消息系统的方法和即时消息系统
US8949357B2 (en) * 2011-10-28 2015-02-03 Blether Labs LLC Ad hoc group chat using a social networking service
US8738706B1 (en) 2011-11-16 2014-05-27 Google Inc. Systems and methods for collaborative document editing
US8793389B2 (en) * 2011-12-20 2014-07-29 Qualcomm Incorporated Exchanging a compressed version of previously communicated session information in a communications system
US8825778B2 (en) 2012-01-18 2014-09-02 International Business Machines Corporation Selective display of past instant messages
US20140310365A1 (en) * 2012-01-31 2014-10-16 Global Relay Communications Inc. System and Method for Tracking Messages in a Messaging Service
JP6064367B2 (ja) 2012-05-18 2017-01-25 株式会社リコー 伝送管理システム、伝送システム、及び伝送管理システム用プログラム
US10210480B2 (en) 2012-05-31 2019-02-19 Apple Inc. Avoiding a redundant display of a notification on multiple user devices
US9286276B2 (en) * 2012-06-11 2016-03-15 Google Inc. System and method of document embedding in collaborative editors
US20140082472A1 (en) * 2012-09-14 2014-03-20 David H. Sitrick Systems And Methodologies For Event Processing Of Events For Edits Made Relative To A Presentation, Selecting A Selected Set Of Events; And Generating A Modified Presentation Of The Events In The Selected Set
US20140082473A1 (en) * 2012-09-14 2014-03-20 David H. Sitrick Systems And Methodologies Of Event Content Based Document Editing, Generating Of Respective Events Comprising Event Content, Then Defining A Selected Set Of Events, And Generating Of A Display Presentation Responsive To Processing Said Selected Set Of Events, For One To Multiple Users
US9372833B2 (en) 2012-09-14 2016-06-21 David H. Sitrick Systems and methodologies for document processing and interacting with a user, providing storing of events representative of document edits relative to a document; selection of a selected set of document edits; generating presentation data responsive to said selected set of documents edits and the stored events; and providing a display presentation responsive to the presentation data
US10956667B2 (en) 2013-01-07 2021-03-23 Google Llc Operational transformations proxy for thin clients
US9462037B2 (en) 2013-01-07 2016-10-04 Google Inc. Dynamically sizing chunks in a partially loaded spreadsheet model
US9311622B2 (en) 2013-01-15 2016-04-12 Google Inc. Resolving mutations in a partially-loaded spreadsheet model
TW201430593A (zh) * 2013-01-25 2014-08-01 Hon Hai Prec Ind Co Ltd 多國語言網頁轉換系統及方法
US9020120B2 (en) * 2013-02-06 2015-04-28 Avaya Inc. Timeline interface for multi-modal collaboration
US20140244618A1 (en) * 2013-02-26 2014-08-28 Dropbox, Inc. Search interface for an online content management system
US9460073B2 (en) 2013-02-27 2016-10-04 Google Inc. Systems and methods for mutations and operational transforms in a collaborative spreadsheet environment
US9727544B2 (en) * 2013-05-06 2017-08-08 Dropbox, Inc. Animating edits to documents
US20150088690A1 (en) * 2013-09-23 2015-03-26 MobilePoint Corporation Distributing and using bookmark menus to present information
CN110086704B (zh) * 2014-02-11 2022-03-22 阿里巴巴集团控股有限公司 一种即时通讯未读消息的同步方法和系统
CN104935450B (zh) 2014-03-19 2018-12-25 新华三技术有限公司 一种访问会话管理方法及其装置
US10503374B1 (en) * 2014-04-05 2019-12-10 Twitter, Inc. Providing content for broadcast by a messaging platform
TWI528269B (zh) * 2014-04-30 2016-04-01 拓集科技股份有限公司 具有組織化之資訊呈現之通訊管理方法及系統,及其電腦程式產品
US9898162B2 (en) 2014-05-30 2018-02-20 Apple Inc. Swiping functions for messaging applications
US9971500B2 (en) 2014-06-01 2018-05-15 Apple Inc. Displaying options, assigning notification, ignoring messages, and simultaneous user interface displays in a messaging application
CN104142784B (zh) * 2014-06-20 2017-07-07 腾讯科技(深圳)有限公司 输入内容的临时存储方法和装置
US11095627B2 (en) * 2014-11-04 2021-08-17 Huawei Technologies Co., Ltd. Message display method, apparatus, and device
US10044662B1 (en) 2014-11-18 2018-08-07 Amazon Technologies, Inc. Email conversation linking
US11902232B1 (en) 2014-11-18 2024-02-13 Amazon Technologies, Inc. Email conversation linking
US11093125B1 (en) 2014-12-09 2021-08-17 Amazon Technologies, Inc. Email conversation linking
KR101622871B1 (ko) * 2015-02-03 2016-05-19 라인 가부시키가이샤 메신저의 대화내용을 관리하는 방법과 시스템 및 기록 매체
US10027615B2 (en) 2015-02-13 2018-07-17 International Business Machines Corporation Personal communication data management in multilingual mobile device
US10057202B2 (en) 2015-02-13 2018-08-21 International Business Machines Corporation Personal communication data management in multilingual mobile device
EP3065190A1 (de) 2015-03-02 2016-09-07 Ecole Polytechnique Fédérale de Lausanne (EPFL) Kleinmoleküliges Lochtransportmaterial für optoelektronische und photoelektrochemische Vorrichtungen
US9912618B2 (en) 2015-03-10 2018-03-06 International Business Machines Corporation Allow hidden and silent observers in a group conversation
US9998416B2 (en) 2015-03-25 2018-06-12 International Business Machines Corporation Selecting subsets of participants in electronic message threads
KR20160136837A (ko) * 2015-05-21 2016-11-30 라인 가부시키가이샤 메신저를 통한 컨텐츠 제공 방법과 시스템 및 기록 매체
US20160344677A1 (en) * 2015-05-22 2016-11-24 Microsoft Technology Licensing, Llc Unified messaging platform for providing interactive semantic objects
US10216709B2 (en) 2015-05-22 2019-02-26 Microsoft Technology Licensing, Llc Unified messaging platform and interface for providing inline replies
US20170109351A1 (en) * 2015-10-16 2017-04-20 Avaya Inc. Stateful tags
US10489506B2 (en) 2016-05-20 2019-11-26 Blackberry Limited Message correction and updating system and method, and associated user interface operation
US10620812B2 (en) 2016-06-10 2020-04-14 Apple Inc. Device, method, and graphical user interface for managing electronic communications
KR101882685B1 (ko) * 2016-07-29 2018-08-24 주식회사 스패로우 클라우드 기반의 서비스 제공 방법
WO2018026033A1 (ko) * 2016-08-04 2018-02-08 주식회사 한글과컴퓨터 문서의 동시 편집을 지원하는 문서 협업 지원 장치 및 그 동작 방법
US9979823B2 (en) 2016-08-29 2018-05-22 Genesys Telecommunications Laboratories, Inc. Contact center system and method for advanced outbound communications to a contact group
CN109478206B (zh) * 2017-01-17 2020-10-20 乐夫兰度株式会社 多语言沟通系统及多语言沟通提供方法
US10467509B2 (en) 2017-02-14 2019-11-05 Microsoft Technology Licensing, Llc Computationally-efficient human-identifying smart assistant computer
US11100384B2 (en) 2017-02-14 2021-08-24 Microsoft Technology Licensing, Llc Intelligent device user interactions
US11010601B2 (en) 2017-02-14 2021-05-18 Microsoft Technology Licensing, Llc Intelligent assistant device communicating non-verbal cues
CN108628702B (zh) * 2017-03-24 2021-10-15 北京京东尚科信息技术有限公司 聊天记录的备忘方法、装置、电子设备和存储介质
TWI647609B (zh) * 2017-04-14 2019-01-11 緯創資通股份有限公司 即時通訊方法、系統及電子裝置與伺服器
KR101880507B1 (ko) * 2017-04-21 2018-07-20 주식회사 한글과컴퓨터 웹 문서에 삽입된 도형의 크기 조정을 지원하는 클라이언트 단말 장치 및 그 동작 방법
KR101880508B1 (ko) * 2017-04-27 2018-07-20 주식회사 한글과컴퓨터 웹 문서에서 목록 생성을 지원하는 웹 문서 편집 지원 장치 및 방법
CA3069506A1 (en) * 2017-07-26 2019-01-31 Rovi Guides, Inc. Methods and systems for playing back indexed conversations based on the presence of other people
US10691733B2 (en) 2017-07-26 2020-06-23 Rovi Guides, Inc. Methods and systems for replying to queries based on indexed conversations and context
US10817553B2 (en) 2017-07-26 2020-10-27 Rovi Guides, Inc. Methods and systems for playing back indexed conversations based on the presence of other people
EP3612949A1 (de) * 2017-10-20 2020-02-26 Google LLC Beileigung von konflikten zwischen repliken von baumstrukturierten daten
US20190207899A1 (en) * 2017-12-28 2019-07-04 Facebook, Inc. Techniques for messaging conversation indexing
US11431662B2 (en) 2017-12-28 2022-08-30 Meta Platforms, Inc. Techniques for message deduplication
US10728187B2 (en) 2018-04-05 2020-07-28 Global Relay Communications Inc. System and method for processing messages with organization and personal interaction controls
US11055426B2 (en) * 2018-07-16 2021-07-06 Faro Technologies, Inc. Securing data acquired by coordinate measurement devices
CN109828957A (zh) * 2019-01-28 2019-05-31 深圳市小满科技有限公司 信息显示方法、装置、电子设备及存储介质
US10944711B2 (en) * 2019-03-28 2021-03-09 Microsoft Technology Licensing, Llc Paginated method to create decision tree conversation
CA3140402A1 (en) * 2019-05-17 2020-11-26 Slice Legal Inc. Conversational user interface system and method of operation
CN110493122B (zh) * 2019-08-29 2022-01-28 北京拉勾网络技术有限公司 一种会话信息的同步方法、装置、计算设备及存储介质
JP2021043719A (ja) * 2019-09-11 2021-03-18 富士ゼロックス株式会社 情報処理装置及びプログラム
CN110752984B (zh) * 2019-10-24 2021-10-15 北京字节跳动网络技术有限公司 一种显示在线文档的方法、装置、电子设备及存储介质
US11316806B1 (en) * 2020-01-28 2022-04-26 Snap Inc. Bulk message deletion
US12015655B2 (en) * 2021-01-18 2024-06-18 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for handling a teleconference
US11316818B1 (en) 2021-08-26 2022-04-26 International Business Machines Corporation Context-based consolidation of communications across different communication platforms
US11968160B2 (en) 2022-06-09 2024-04-23 Microsoft Technology Licensing, Llc Sidebar communication threads within pre-existing threads
US11943190B2 (en) * 2022-06-09 2024-03-26 Microsoft Technology Licensing, Llc Fork and return point selection for sidebar communication threads
US11991136B1 (en) 2022-06-09 2024-05-21 Microsoft Technology Licensing, Llc Final message composition for sidebar communication threads

Family Cites Families (148)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US233811A (en) * 1880-10-26 Half to a
US250506A (en) * 1881-12-06 John w
US228555A (en) * 1880-06-08 f pike
US306185A (en) * 1884-10-07 simonson
US169269A (en) * 1875-10-26 Improvement in rotary steam-engines
US108402A (en) * 1870-10-18 Improvement in railway-chairs and clamps
US271806A (en) * 1883-02-06 Baker s oven
US277210A (en) * 1883-05-08 Fastener
US177744A (en) * 1876-05-23 Improvement in concrete pavements
US5671428A (en) 1991-08-28 1997-09-23 Kabushiki Kaisha Toshiba Collaborative document processing system with version and comment management
US5532715A (en) 1991-10-16 1996-07-02 International Business Machines Corporation Visually aging scroll bar
US5900872A (en) 1995-05-05 1999-05-04 Apple Computer, Inc. Method and apparatus for controlling the tracking of movable control elements in a graphical user interface
US5867995A (en) * 1995-07-14 1999-02-09 Energy Controls International, Inc. Electronic control of refrigeration systems
US5712995A (en) 1995-09-20 1998-01-27 Galileo Frames, Inc. Non-overlapping tiling apparatus and method for multiple window displays
US6006239A (en) 1996-03-15 1999-12-21 Microsoft Corporation Method and system for allowing multiple users to simultaneously edit a spreadsheet
US5867678A (en) 1996-12-16 1999-02-02 International Business Machines Corporation Method and system for searching and retrieving specific types of objects contained within a compound document
US6181736B1 (en) 1997-03-25 2001-01-30 Nxi Communications, Inc. Network communication system
US6915336B1 (en) 1998-06-05 2005-07-05 Instant Services.Com, Inc. Real time internet communication system
US6212548B1 (en) 1998-07-30 2001-04-03 At & T Corp System and method for multiple asynchronous text chat conversations
US6253202B1 (en) 1998-09-18 2001-06-26 Tacit Knowledge Systems, Inc. Method, system and apparatus for authorizing access by a first user to a knowledge profile of a second user responsive to an access request from the first user
US6590594B2 (en) 1999-03-25 2003-07-08 International Business Machines Corporation Window scroll-bar
US6624826B1 (en) 1999-09-28 2003-09-23 Ricoh Co., Ltd. Method and apparatus for generating visual representations for audio documents
US6957395B1 (en) 2000-01-04 2005-10-18 Apple Computer, Inc. Computer interface having a single window mode of operation
US6754677B1 (en) * 2000-05-30 2004-06-22 Outlooksoft Corporation Method and system for facilitating information exchange
US7346848B1 (en) 2000-06-21 2008-03-18 Microsoft Corporation Single window navigation methods and systems
US6988241B1 (en) * 2000-10-16 2006-01-17 International Business Machines Corporation Client side, web-based spreadsheet
US6898760B2 (en) * 2001-01-05 2005-05-24 Microsoft Corporation Reporting status of external references in a spreadsheet without updating
US7222156B2 (en) 2001-01-25 2007-05-22 Microsoft Corporation Integrating collaborative messaging into an electronic mail program
US6778192B2 (en) 2001-04-05 2004-08-17 International Business Machines Corporation System and method for creating markers on scroll bars of a graphical user interface
US20020163545A1 (en) 2001-05-01 2002-11-07 Hii Samuel S. Method of previewing web page content while interacting with multiple web page controls
JP2003018523A (ja) 2001-07-03 2003-01-17 Canon Inc 情報管理システム、情報管理方法、撮像装置、撮像装置の制御方法、プログラム、及び記憶媒体
EP1280053B1 (de) * 2001-07-27 2010-02-24 Sap Ag Verfahren und Rechnersystem zum Bereitstellen und Verarbeiten einer Beschreibung einer Menschschnittstelle
US7770130B1 (en) 2002-02-07 2010-08-03 Viktor Kaptelinin Non-distracting temporary visual clues for scrolling
US7478170B2 (en) * 2002-03-05 2009-01-13 Sun Microsystems, Inc. Generic infrastructure for converting documents between formats with merge capabilities
US7188140B1 (en) 2002-03-13 2007-03-06 At&T Corp. System and method for providing enhanced persistent communications
US7228317B1 (en) 2002-06-18 2007-06-05 Yahoo! Inc. Method and apparatus for accelerating and improving access to network files
US7111044B2 (en) 2002-07-17 2006-09-19 Fastmobile, Inc. Method and system for displaying group chat sessions on wireless mobile terminals
US7058682B2 (en) 2002-07-25 2006-06-06 International Business Machines Corporation Instant messaging blind join
TW594573B (en) 2002-12-02 2004-06-21 Tatung Corp Method for building up customized desktop of web page
US7185285B2 (en) * 2003-02-19 2007-02-27 Microsoft Corporation User interface and content enhancements for real-time communication
US7380218B2 (en) 2003-03-27 2008-05-27 International Business Machines Corporation Method and apparatus for managing windows
AU2004241582B2 (en) 2003-05-16 2009-08-13 Google Llc Methods and systems for image sharing over a network
AU2004241581B2 (en) 2003-05-16 2010-12-16 Google Llc Networked chat and media sharing systems and methods
US7299450B2 (en) 2003-06-17 2007-11-20 Microsoft Corporation Undoing changes in a software configuration management system
US20050033811A1 (en) 2003-08-07 2005-02-10 International Business Machines Corporation Collaborative email
US7280776B2 (en) * 2003-08-25 2007-10-09 Lexmark International, Inc. Method and apparatus to control waste toner collection in an image forming apparatus
US20050076068A1 (en) 2003-09-22 2005-04-07 Fowler Paul C. System and method of synchronizing data in multi-user computer network
US7461151B2 (en) 2003-11-13 2008-12-02 International Business Machines Corporation System and method enabling future messaging directives based on past participation via a history monitor
GB2409541A (en) 2003-12-23 2005-06-29 Mandorla Technology Ltd Editable information management system and method
US20050166154A1 (en) 2004-01-22 2005-07-28 Wilson Richard M. Enhanced instant message status message area containing time/date stamped entries and editable by others
US7233951B1 (en) 2004-02-18 2007-06-19 Microsoft Corporation Spreadsheet grid-like control for a web-based collaboration system
KR20070012468A (ko) 2004-05-14 2007-01-25 코닌클리케 필립스 일렉트로닉스 엔.브이. 송신자로부터 수신자로 메시지를 전송하는 방법, 메시징시스템 및 메시지 변환 수단
US7213199B2 (en) * 2004-07-16 2007-05-01 Cognos Incorporated Spreadsheet user-interface for an enterprise planning system having multi-dimensional data store
US20060026502A1 (en) * 2004-07-28 2006-02-02 Koushik Dutta Document collaboration system
US20060080432A1 (en) * 2004-09-03 2006-04-13 Spataro Jared M Systems and methods for collaboration
US20060053194A1 (en) * 2004-09-03 2006-03-09 Schneider Ronald E Systems and methods for collaboration
US20060075044A1 (en) 2004-09-30 2006-04-06 Fox Kevin D System and method for electronic contact list-based search and display
US20060117247A1 (en) 2004-11-30 2006-06-01 Fite William R Web based data collaboration tool
US7665031B2 (en) 2004-12-08 2010-02-16 Microsoft Corporation Method and system of taskbar button interfaces
US7140536B2 (en) 2004-12-20 2006-11-28 Microsoft Corporation Method and system for highlighting modified content in a shared document
US7908247B2 (en) 2004-12-21 2011-03-15 Nextpage, Inc. Storage-and transport-independent collaborative document-management system
US7593943B2 (en) 2005-01-14 2009-09-22 Microsoft Corporation Method and system for synchronizing multiple user revisions to a shared object
US7426697B2 (en) 2005-01-18 2008-09-16 Microsoft Corporation Multi-application tabbing system
US20060176831A1 (en) 2005-02-07 2006-08-10 Greenberg Joel K Methods and apparatuses for selecting users to join a dynamic network conversation
US20060212583A1 (en) * 2005-03-17 2006-09-21 Beadle Bruce A Distributing messaging session logs to users entering an already ongoing messaging session
KR100708135B1 (ko) 2005-05-25 2007-04-17 삼성전자주식회사 항목의 블록화를 이용한 스크롤 방법 및 장치
US7444328B2 (en) 2005-06-06 2008-10-28 Microsoft Corporation Keyword-driven assistance
US7587395B2 (en) 2005-07-27 2009-09-08 John Harney System and method for providing profile matching with an unstructured document
US7734589B1 (en) 2005-09-16 2010-06-08 Qurio Holdings, Inc. System and method for optimizing data uploading in a network based media sharing system
US8688673B2 (en) 2005-09-27 2014-04-01 Sarkar Pte Ltd System for communication and collaboration
US7870493B2 (en) * 2005-10-03 2011-01-11 Microsoft Corporation Distributed clipboard
US9454747B2 (en) 2005-10-11 2016-09-27 Aol Inc. Ordering of conversations based on monitored recipient user interaction with corresponding electronic messages
US7774421B2 (en) 2005-10-14 2010-08-10 International Business Machines Corporation Mitigating address book weaknesses that permit the sending of e-mail to wrong addresses
US20070124387A1 (en) 2005-11-22 2007-05-31 Yahoo! Inc. Previous communication updating in instant messaging
GB0523887D0 (en) 2005-11-24 2006-01-04 Ibm Methods, apparatuses and computer programs for achieving text summarization
US20070124737A1 (en) 2005-11-30 2007-05-31 Ava Mobile, Inc. System, method, and computer program product for concurrent collaboration of media
ITMI20052290A1 (it) 2005-11-30 2007-06-01 Pasqua Roberto Della Servizio di messaggistica istantanea con interfaccia utente minimizzata
US7774703B2 (en) 2006-02-09 2010-08-10 Microsoft Corporation Virtual shadow awareness for multi-user editors
US7509388B2 (en) 2006-02-23 2009-03-24 International Business Machines Corporation System and method for displaying IM session history as time-based calendar events
US7657523B2 (en) 2006-03-09 2010-02-02 Customerforce.Com Ranking search results presented to on-line users as a function of perspectives of relationships trusted by the users
US8307119B2 (en) 2006-03-31 2012-11-06 Google Inc. Collaborative online spreadsheet application
US8214395B2 (en) 2006-04-21 2012-07-03 Microsoft Corporation Tracking and editing a resource in a real-time collaborative session
US7503007B2 (en) 2006-05-16 2009-03-10 International Business Machines Corporation Context enhanced messaging and collaboration system
US20070294428A1 (en) 2006-06-19 2007-12-20 Ido Guy Method and System for Email Messaging
US20080005269A1 (en) 2006-06-29 2008-01-03 Knighton Mark S Method and apparatus to share high quality images in a teleconference
US8121263B2 (en) 2006-07-21 2012-02-21 Google Inc. Method and system for integrating voicemail and electronic messaging
US20080066106A1 (en) 2006-07-31 2008-03-13 Guideworks, Llc Systems and methods for providing media guidance planners
US20080046512A1 (en) * 2006-08-16 2008-02-21 International Business Machines Corporation Method and system for enhanced electronic communications
EP2069344A2 (de) * 2006-09-08 2009-06-17 Pfizer Products Inc. Synthese von 2-(pyridin-2-ylamino)pyrido[2,3-d]pyrimidin-7-onen
US8893038B2 (en) 2006-10-03 2014-11-18 International Business Machines Corporation Graphical association of task bar entries with corresponding desktop locations
US8954500B2 (en) 2008-01-04 2015-02-10 Yahoo! Inc. Identifying and employing social network relationships
CN101193070B (zh) 2006-12-13 2010-08-18 腾讯科技(深圳)有限公司 即时通信系统、即时通信客户端及即时通信方法
US7716263B2 (en) * 2006-12-15 2010-05-11 International Business Machines Corporation Scalable method and system for providing real time indications of currently open documents
US8554868B2 (en) 2007-01-05 2013-10-08 Yahoo! Inc. Simultaneous sharing communication interface
US7900142B2 (en) * 2007-01-15 2011-03-01 Microsoft Corporation Selective undo of editing operations performed on data objects
US8201086B2 (en) 2007-01-18 2012-06-12 International Business Machines Corporation Spellchecking electronic documents
US20090024953A1 (en) 2007-01-30 2009-01-22 Oracle International Corporation Web browser window preview
US20080215588A1 (en) 2007-03-02 2008-09-04 Toshiba Europe Gmbh Electronic object sharing system
US7761409B2 (en) 2007-04-05 2010-07-20 Palo Alto Research Center Incorporated Method and system for the collaborative analysis of information
US20080285588A1 (en) 2007-05-16 2008-11-20 Unison Technologies Llc Systems and methods for providing unified collaboration systems with combined communication log
US7933952B2 (en) 2007-06-29 2011-04-26 Microsoft Corporation Collaborative document authoring
US8244710B2 (en) 2007-08-03 2012-08-14 Oracle International Corporation Method and system for information retrieval using embedded links
US8910067B1 (en) 2007-08-10 2014-12-09 The Clic, Inc. Interactive information display through widgets
US20090043848A1 (en) * 2007-08-11 2009-02-12 Alexander Kordun Method and system for providing collaborative moderation and correction of message history in an instant mesaging session
US20090055483A1 (en) 2007-08-20 2009-02-26 Rooma Madan Enhanced Collaboration in Instant Messaging
AU2008295561A1 (en) 2007-08-28 2009-03-12 Lexisnexis Group Document search tool
US8286082B2 (en) 2007-09-12 2012-10-09 Citrix Systems, Inc. Methods and systems for providing, by a remote machine, access to a desk band associated with a resource executing on a local machine
US8139495B2 (en) 2007-09-13 2012-03-20 Microsoft Corporation Determining quality of communication
JP2009093355A (ja) 2007-10-05 2009-04-30 Sony Corp 情報処理装置、コンテンツ提供サーバ、通信仲介サーバ、情報処理方法、コンテンツ提供方法および通信仲介方法
WO2009046324A2 (en) 2007-10-05 2009-04-09 Flickbitz Corporation Online search, storage, manipulation, and delivery of video content
US8788589B2 (en) 2007-10-12 2014-07-22 Watchitoo, Inc. System and method for coordinating simultaneous edits of shared digital data
US8099512B2 (en) 2007-10-19 2012-01-17 Voxer Ip Llc Method and system for real-time synchronization across a distributed services communication network
US7756824B2 (en) 2007-10-26 2010-07-13 Microsoft Corporation Spreadsheet collaboration between rich and browser clients
US8825758B2 (en) * 2007-12-14 2014-09-02 Microsoft Corporation Collaborative authoring modes
US8214760B2 (en) 2008-01-16 2012-07-03 Microsoft Corporation Window minimization trigger
US20090192845A1 (en) 2008-01-30 2009-07-30 Microsoft Corporation Integrated real time collaboration experiences with online workspace
US20090199127A1 (en) 2008-01-31 2009-08-06 Microsoft Corporation Previewing target display areas
US9106630B2 (en) * 2008-02-01 2015-08-11 Mandiant, Llc Method and system for collaboration during an event
US20090228555A1 (en) 2008-03-08 2009-09-10 International Business Machines Corporation Automated contact list determination based on collaboration history
US20090234876A1 (en) 2008-03-14 2009-09-17 Timothy Schigel Systems and methods for content sharing
US9436927B2 (en) 2008-03-14 2016-09-06 Microsoft Technology Licensing, Llc Web-based multiuser collaboration
US8566256B2 (en) 2008-04-01 2013-10-22 Certona Corporation Universal system and method for representing and predicting human behavior
US9507651B2 (en) 2008-04-28 2016-11-29 Microsoft Technology Licensing, Llc Techniques to modify a document using a latent transfer surface
US8352870B2 (en) 2008-04-28 2013-01-08 Microsoft Corporation Conflict resolution
US8202166B2 (en) 2008-05-05 2012-06-19 Microsoft Corporation Multiple-player collaborative content editing
US7974948B2 (en) 2008-05-05 2011-07-05 Microsoft Corporation Automatically capturing and maintaining versions of documents
US7949633B1 (en) 2008-05-12 2011-05-24 Adobe Systems Incorporated Shared edit access of electronic content
US8307066B2 (en) 2008-06-06 2012-11-06 International Business Machines Corporation Automated digital media content filtration based on relationship monitoring
US7899883B2 (en) * 2008-06-13 2011-03-01 Microsoft Corporation Merging versions of documents using multiple masters
US20090319910A1 (en) 2008-06-22 2009-12-24 Microsoft Corporation Automatic content and author emphasis for shared data
US8285812B2 (en) 2008-06-27 2012-10-09 Microsoft Corporation Peer-to-peer synchronous content selection
US8255923B2 (en) 2008-07-08 2012-08-28 Avaya Inc. Shared persistent communication thread
US9245238B2 (en) 2008-07-16 2016-01-26 International Business Machines Corporation Dynamic grouping of email recipients
US8306809B2 (en) 2008-07-17 2012-11-06 International Business Machines Corporation System and method for suggesting recipients in electronic messages
US20100023557A1 (en) * 2008-07-28 2010-01-28 Novell, Inc. System and method to extend a file manager user interface
US8819585B2 (en) 2008-10-27 2014-08-26 Microsoft Corporation Child window surfacing and management
US20100125791A1 (en) 2008-11-14 2010-05-20 Rebelvox, Llc User interface for a telecommunication and multimedia management system and method
US8972506B2 (en) 2008-12-15 2015-03-03 Verizon Patent And Licensing Inc. Conversation mapping
US9152644B2 (en) 2008-12-30 2015-10-06 Novell, Inc. Systems and methods for providing collaborative editing
US20100180218A1 (en) 2009-01-15 2010-07-15 International Business Machines Corporation Editing metadata in a social network
US9935792B2 (en) 2009-02-24 2018-04-03 Blackberry Limited System and method for switching between conversations in instant messaging applications
US20100223345A1 (en) 2009-03-02 2010-09-02 Microsoft Corporation Communications application having conversation and meeting environments
US20100235354A1 (en) 2009-03-12 2010-09-16 International Business Machines Corporation Collaborative search engine system
US20100235216A1 (en) 2009-03-16 2010-09-16 Microsoft Corporation Integration of pre-meeting and post-meeting experience into a meeting lifecycle
EP2438571A4 (de) 2009-06-02 2014-04-30 Yahoo Inc Selbstfüllendes adressbuch
US8612883B2 (en) 2009-06-08 2013-12-17 Apple Inc. User interface for managing the display of multiple display regions
US20110010635A1 (en) 2009-07-10 2011-01-13 Novell, Inc. Unified editable inbox
US20110083079A1 (en) 2009-10-02 2011-04-07 International Business Machines Corporation Apparatus, system, and method for improved type-ahead functionality in a type-ahead field based on activity of a user within a user interface

Also Published As

Publication number Publication date
WO2010111243A3 (en) 2011-11-24
KR20120039512A (ko) 2012-04-25
US8984139B2 (en) 2015-03-17
US20140108576A1 (en) 2014-04-17
US8949359B2 (en) 2015-02-03
EP2414946A2 (de) 2012-02-08
DE202010018484U1 (de) 2017-01-19
EP2414947A4 (de) 2017-06-28
EP2414947A2 (de) 2012-02-08
US20100241700A1 (en) 2010-09-23
US20100241749A1 (en) 2010-09-23
WO2010111243A2 (en) 2010-09-30
US8700776B2 (en) 2014-04-15
EP2411924A2 (de) 2012-02-01
EP2414946A4 (de) 2017-06-28
CN102362271B (zh) 2014-04-16
WO2010111248A3 (en) 2011-05-26
EP2414946B1 (de) 2021-03-10
EP2411924A4 (de) 2017-06-21
EP2411924B1 (de) 2020-10-21
US20140222924A1 (en) 2014-08-07
CN102388377A (zh) 2012-03-21
CN102388377B (zh) 2014-12-03
US9294421B2 (en) 2016-03-22
WO2010111242A3 (en) 2011-03-17
DE202010018483U1 (de) 2017-01-19
WO2010111248A2 (en) 2010-09-30
CN102362270A (zh) 2012-02-22
EP2414947B1 (de) 2020-06-03
US8639762B2 (en) 2014-01-28
CN102362271A (zh) 2012-02-22
CN102362270B (zh) 2015-06-03
KR20120039514A (ko) 2012-04-25
KR20120039513A (ko) 2012-04-25
US20100241718A1 (en) 2010-09-23
WO2010111242A2 (en) 2010-09-30

Similar Documents

Publication Publication Date Title
DE202010018482U1 (de) Bereitstellung eines Zugangs zu einer Unterhaltung in einem gehosteten Unterhaltungssystem
US9166939B2 (en) Systems and methods for uploading media content in an instant messaging conversation
US8725818B1 (en) Automated participants with access to attachments in hosted conversations
US9380011B2 (en) Participant-specific markup
US9026935B1 (en) Application user interface with an interactive overlay
US20080005269A1 (en) Method and apparatus to share high quality images in a teleconference
DE202011110866U1 (de) Identifizierung von Nachrichtenempfängern
DE102011107994A1 (de) System und Verfahren für kontextbezogene Mehrmodell-Echtzeit-Zusammenarbeit
DE202019106796U1 (de) Elektronisches Ereignismanagementsystem
US12019775B2 (en) Managing permissions for collaborative shared documents
DE202020005670U1 (de) Abfassen von Mitteilungen sozialer Medien, die sich auf mehrere Mitteilungen beziehen
US11875081B2 (en) Shared screen tools for collaboration
DE202020005729U1 (de) Aufnahme und Präsentation von Medieninhalt
US11727190B1 (en) Previews for collaborative documents
US20240195847A1 (en) Real-time updates for document collaboration sessions in a group-based communication system

Legal Events

Date Code Title Description
R151 Utility model maintained after payment of second maintenance fee after six years
R207 Utility model specification
R081 Change of applicant/patentee

Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US

Free format text: FORMER OWNER: GOOGLE INC., MOUNTAIN VIEW, CALIF., US

R082 Change of representative

Representative=s name: BETTEN & RESCH PATENT- UND RECHTSANWAELTE PART, DE

R152 Utility model maintained after payment of third maintenance fee after eight years
R071 Expiry of right