DE202012013447U1 - Inline-Benutzeradressierung in Chat- und Dokumentbearbeitungssitzungen - Google Patents

Inline-Benutzeradressierung in Chat- und Dokumentbearbeitungssitzungen Download PDF

Info

Publication number
DE202012013447U1
DE202012013447U1 DE202012013447.7U DE202012013447U DE202012013447U1 DE 202012013447 U1 DE202012013447 U1 DE 202012013447U1 DE 202012013447 U DE202012013447 U DE 202012013447U DE 202012013447 U1 DE202012013447 U1 DE 202012013447U1
Authority
DE
Germany
Prior art keywords
document
chat
particular user
user
invitation
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
DE202012013447.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 DE202012013447U1 publication Critical patent/DE202012013447U1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • 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/1818Conference organisation arrangements, e.g. handling schedules, setting up parameters needed by nodes to attend a conference, booking network resources, notifying involved parties
    • 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/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/18Commands or executable codes
    • 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]
    • 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/48Message addressing, e.g. address format or anonymous messages, aliases

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Nicht-flüchtiges computerlesbares Speichermedium, das ein oder mehrere Programm(e) speichert, die für die Ausführung durch einen oder mehrere Prozessor(en) eines Serversystems konfiguriert sind, wobei das eine oder die mehreren Programm umfassen:
Anweisungen zum Empfang von Chatinhalt von Teilnehmern an einer Chatsitzung;
Anweisungen zum Entdecken, innerhalb des Chatinhalts, einer eingebetteten Anforderung zur Einladung eines bestimmten Benutzers zum Beitritt zur Chatsitzung; und
Anweisungen für die Reaktion auf die Entdeckung der eingebetteten Anforderung durch Senden einer Einladung an den bestimmten Benutzer.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung bezieht sich allgemein auf Kommunikationen innerhalb von Computernetzwerksystemen und insbesondere auf ein System zur Einladung von Benutzern zu Chatsitzungen und Dokumentbearbeitungssitzungen.
  • HINTERGRUND
  • Online-Collaboration-Tools ermöglichen es Benutzern zusammen an Projekten zu arbeiten, Informationen zu teilen, sich zu treffen und Fragen zu besprechen und Inhalte zu erstellen, alles online. Tools, wie etwa Online-Dokumentbearbeitungsanwendungen und Online-Chatanwendungen sind unter Internet-Benutzern populär.
  • Bei der Einführung eines neuen Benutzers in den Konversationsfluss einer Chatsitzung sind mehrere Schritte erforderlich. Ein oder mehrere Benutzer der Chatsitzung muss bzw. müssen beispielsweise Menüoptionen navigieren, um den neuen Benutzer einzuladen und sie müssen möglicherweise relevante Teile der Chatunterhaltung, die der neue Benutzer kennen muss, wiederholen oder zusammenfassen.
  • Ebenso sind mehrere Schritte erforderlich, um einen neuen Benutzer zu einer Dokumentbearbeitungssitzung einzuladen. Ein oder mehrere Benutzer der Dokumentbearbeitungssitzung muss bzw. müssen beispielsweise Menüoptionen navigieren, um den neuen Benutzer einzuladen, um dem neuen Benutzer Zugriffsrechte zuzuweisen, um dem neuen Benutzer zu erklären, warum um seine Anwesenheit ersucht wurde, und dann den neuen Benutzer zu einem Teil des Dokuments leiten, das der Aufmerksamkeit des neuen Benutzers bedarf.
  • Dementsprechend wäre es wünschenswert, ein System und ein Verfahren zur leichteren Einladung eines Benutzers zu einer Chatsitzung oder Dokumentbearbeitungssitzung bereitzustellen.
  • ZUSAMMENFASSUNG
  • Die vorstehend genannten Defizite und anderen Probleme im Zusammenhang mit Online-Collaboration-Tools werden durch die offenbarten Vorrichtungen vermindert oder eliminiert.
  • Gemäß mancher Ausführungsformen wird ein Computer-implementiertes Verfahren auf einem Server mit einem oder mehreren Prozessoren und Speicher, der ein oder mehrere Programme speichert, die von dem einen oder den mehreren Prozessor(en) ausgeführt werden, ausgeführt. Das Verfahren umfasst den Empfang von Chatinhalten von Teilnehmern an einer Chatsitzung. Das Verfahren umfasst weiterhin das Entdecken, innerhalb des Chatinhalts, einer eingebetteten Anforderung zur Einladung eines bestimmten Benutzers zum Beitritt zur Chatsitzung. Das Verfahren umfasst weiterhin das Senden einer Einladung an den bestimmten Benutzer als Reaktion auf das Entdecken der eingebetteten Anforderung.
  • In manchen Ausführungsformen umfasst das Entdecken das Entdecken eines vordefinierten Symbols in dem Chatinhalt gefolgt von einem oder mehreren Zeichen, die nach dem vordefinierten Symbol eingegeben werden, und auf Grundlage des einen oder der mehreren Zeichen, die nach dem vordefinierten Symbol eingegeben werden, das Identifizieren eines oder mehrerer Kontaktvorschläge, und das Senden der einen oder mehreren Kontaktvorschläge an den Client. Die Kontaktvorschläge stammen aus einem Adressbuch des jeweiligen Teilnehmers. In manchen Ausführungsformen wird das Identifizieren der einen oder der mehreren Kontaktvorschläge und das Senden der Kontaktvorschläge bei Erhalt jedes darauffolgenden Zeichens des einen oder der mehreren Zeichen, die auf das vordefinierte Symbol folgen, wiederholt. Optional werden die Kontaktvorschläge, nach Erhalt eines neuen Zeichens, erst gesendet, wenn der Satz identifizierter Kontaktvorschläge sich in Reaktion auf das neue Symbol verändert.
  • In manchen Ausführungsformen umfasst die eingebettete Anforderung ein vordefiniertes Symbol gefolgt von einer Benutzerkennung des bestimmten Benutzers. In manchen Ausführungsformen umfasst die Einladung einen Link, der dem bestimmten Benutzer bei Aktivierung Zugriff auf die Chatsitzung in einer Anwendung, in dem dem bestimmten Benutzer zugeordneten Client, bereitstellt. In manchen Ausführungsformen umfasst die Einladung weiterhin Chattext aus der Chatsitzung.
  • In manchen Ausführungsformen umfasst das Senden der Einladung an den bestimmten Benutzer, wenn der bestimmte Benutzer online ist, das Senden der Einladung über einen Onlinekanal, der einem der folgenden entspricht: ein aktives Fenster einer Anwendung, die der Chatsitzung entspricht, ein inaktives Fenster der Anwendung und eine andere Online-Applikation als die Applikation, die der Chatsitzung entspricht.
  • In manchen Ausführungsformen umfasst das Verfahren weiterhin, als Reaktion auf den Erhalt der Annahme der Einladung von dem bestimmten Benutzer, das Senden von mindestens einem Teil des Chatinhalts der Chatsitzung an einen dem bestimmten Benutzer zugeordneten Client.
  • In manchen Ausführungsformen umfasst das Verfahren weiterhin das Empfangen neuen Chatinhalts von dem bestimmten Benutzer und das Senden des neuen Chatinhalts an die Teilnehmer der Chatsitzung.
  • In manchen Ausführungsformen umfasst das Verfahren weiterhin das Bearbeiten eines Dokuments entsprechend der Chatsitzung gemäß den Befehlen, die von den Teilnehmern empfangen werden, und als Reaktion auf die Entdeckung der eingebetteten Anforderung, das Hinzufügen des bestimmten Benutzers zu einer Zugriffskontrollliste des Dokuments, was es dem bestimmten Benutzer möglich macht, auf das Dokument zuzugreifen. In manchen Ausführungsformen wird das Dokument aus der Gruppe ausgewählt, die aus einem Textverarbeitungsdokument, einem Kalkulationsblattdokument, einem Präsentationsdokument, einer Zeichnung und einer Webseite besteht. In manchen Ausführungsformen enthält die Einladung einen Link zu dem zu bearbeitenden Dokument. Der Link umfasst einen Befehl oder Positionsparameter, die einen Teil des Dokuments festlegen, der anfangs von dem Client des bestimmten Benutzers dargestellt oder präsentiert wird, wenn der Link von dem bestimmten Benutzer ausgewählt oder aktiviert wird. In manchen Ausführungsformen wird die Zugriffskontrollliste des Dokuments nur modifiziert, wenn der bestimmte Benutzer nicht mit mindestens dem Zugriffsgrad, der der Einladung zugeordnet ist, bereits in der Zugriffskontrollliste aufgeführt ist.
  • Gemäß mancher Ausführungsformen speichert ein computerlesbares Speichermedium ein oder mehrere Programm(e), das bzw. die für die Ausführung durch einen oder mehrere Prozessor(en) eines Serversystems konfiguriert ist bzw. sind, wobei das eine oder die mehreren Programm(e) Anweisungen umfassen, die von dem einen oder den mehreren Prozessor(en) ausgeführt werden, um jedwede der vorstehend beschriebenen Verfahren durchzuführen.
  • Gemäß mancher Ausführungsformen umfasst ein Serversystem einen oder mehrere Prozessor(en) und Speicher, das bzw. die ein oder mehrere Programm(e) zur Ausführung durch den einen oder die mehreren Prozessor(en) speichert bzw. speichern, um jedwede der vorstehend beschriebenen Verfahren durchzuführen.
  • Gemäß mancher Ausführungsformen wird ein Verfahren zur Verwaltung kooperativer Dokumentbearbeitung an einem Server mit einem oder mehreren Prozessor(en) und Speicher, der bzw. die einen oder mehrere Programm(e) speichert bzw. speichern, das bzw. die von dem einem oder den mehreren Prozessor(en) ausgeführt wird bzw. werden, durchgeführt, um das offenbarte Verfahren durchzuführen. Das Verfahren umfasst, für die Bearbeitung eines entsprechenden Dokuments, das Empfangen von Dokumentbearbeitungsbefehlen von einem oder mehreren Benutzern in einer Dokumentbearbeitungssitzung. Der eine oder die mehreren Benutzer ist bzw. sind zur Bearbeitung des jeweiligen Dokuments autorisiert. Das Verfahren beinhaltet außerdem das Bearbeiten des jeweiligen Dokuments gemäß den von den Benutzern empfangenen Befehlen. Die empfangenen Befehle beinhalten Dokumenttext für das Dokument. Das Verfahren beinhaltet weiterhin das Entdecken, innerhalb des jeweiligen Dokumenttexts, einer eingebetteten Anforderung zur Einladung eines bestimmten Benutzers zum Zugriff auf das jeweilige Dokument. Das Verfahren beinhaltet weiterhin eine Reaktion auf die Entdeckung der eingebetteten Anforderung durch Senden einer Einladung an den bestimmten Benutzer und, sofern erforderlich, das Hinzufügen des bestimmten Benutzers zu einer Zugriffskontrollliste des jeweiligen Dokuments, um es dem bestimmten Benutzer zu ermöglichen als Reaktion auf die eingebettete Anforderung auf das Dokument zuzugreifen.
  • In manchen Ausführungsformen wird das Dokument aus der Gruppe ausgewählt, die aus einem Textverarbeitungsdokument, einem Kalkulationsblattdokument, einem Präsentationsdokument, einer Zeichnung und einer Webseite besteht.
  • In manchen Ausführungsformen beinhaltet die eingebettete Aufforderung ein vordefiniertes Symbol gefolgt von einer Benutzerkennung des bestimmten Benutzers. In manchen Ausführungsformen beinhaltet das Entdecken das Entdecken eines vordefinierten Symbols in dem Dokumenttext gefolgt von einem oder mehreren Zeichen, die nach dem vordefinierten Symbol eingegeben werden, und auf Grundlage des einen oder der mehreren Zeichen, die nach dem vordefinierten Symbol eingegeben werden, das Identifizieren eines oder mehrerer Kontaktvorschläge, und das Senden der einen oder mehreren Kontaktvorschläge an den Client. Die Kontaktvorschläge stammen aus einem Adressbuch des jeweiligen Teilnehmers. In manchen Ausführungsformen wiederholt das Verfahren die Vorgänge des Identifizierens der einen oder der mehreren Kontaktvorschläge und das Senden der Kontaktvorschläge bei Erhalt jedes darauffolgenden Zeichens des einen oder der mehreren Zeichen, die auf das vordefinierte Symbol folgen.
  • In manchen Ausführungsformen enthält die Einladung einen Link zu dem zu bearbeitenden Dokument. Der Link beinhaltet einen Befehl oder Positionsparameter, die einen Teil des Dokuments festlegen, der anfangs von dem Client des bestimmten Benutzers dargestellt oder präsentiert wird, wenn der Link von dem bestimmten Benutzer ausgewählt oder aktiviert wird.
  • In manchen Ausführungsformen umfasst das Senden der Einladung an den bestimmten Benutzer, wenn der bestimmte Benutzer online ist, das Senden der Einladung über einen Onlinekanal, der einem der folgenden entspricht: ein aktives Fenster einer Anwendung, die der Chatsitzung entspricht, ein aktives Fenster einer Anwendung, die der Dokumentbearbeitungssitzung entspricht, ein inaktives Fenster der Anwendung, die der Dokumentbearbeitungssitzung entspricht, und eine andere Online-Applikation als die Applikation, die der Dokumentbearbeitungssitzung entspricht.
  • In manchen Ausführungsformen umfasst das Verfahren weiterhin den Empfang von Chatinhalt von einem oder mehreren der Benutzer, die autorisiert sind auf das Dokument zuzugreifen, für eine Chatunterhaltung in Verbindung mit dem Dokument, das Hinzufügen der eingebetteten Anforderung zu der Chatunterhaltung und das Senden von mindestens einem Teil der Chatunterhaltung, die die eingebettete Unterhaltung enthält, an einen oder mehrere Benutzer, die für den Zugriff auf das Dokument autorisiert sind. In manchen Ausführungsformen umfasst das Verfahren das Hinzufügen eines Links zu einem Teil des Dokuments, das der eingebetteten Anforderung entspricht, zu der Chatunterhaltung.
  • Gemäß mancher Ausführungsformen ein computerlesbares Speichermedium, das ein oder mehrere Programm(e) speichert, die für die Ausführung durch einen oder mehrere Prozessor(en) eines Serversystems konfiguriert sind, wobei das eine oder die mehreren Programm(e) Anweisungen umfassen, die von dem einen oder den mehreren Prozessor(en) ausgeführt werden, um jedwede der hierin beschriebenen Verfahren durchzuführen.
  • Gemäß mancher Ausführungsformen ein Serversystem, das einen oder mehrere Prozessor(en) und Speicher, die ein oder mehrere Programm(e) zur Ausführung durch den einen oder die mehreren Prozessor(en) speichert bzw. speichern, beinhaltet, um jedwede der hierin beschriebenen Verfahren durchzuführen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm, das ein verteiltes Client-Server-System gemäß mancher Ausführungsformen veranschaulicht.
  • 2 ist ein Blockdiagramm einer Client-Vorrichtung gemäß mancher Ausführungsformen.
  • 3 ist ein Blockdiagramm eines beispielhaften Serversystems gemäß mancher Ausführungsformen.
  • 4A und 4B veranschaulichen beispielhafte Datenstrukturen gemäß mancher Ausführungsformen.
  • 5 ist ein Flussdiagramm, das ein Verfahren zur Einladung eines Benutzers zu einer Chatsitzung gemäß mancher Ausführungsformen veranschaulicht.
  • 6 ist ein Flussdiagramm, das ein Verfahren zur Einladung eines Benutzers zu einer Dokumentbearbeitungssitzung gemäß mancher Ausführungsformen veranschaulicht.
  • 7A, 7B, 7C und 7D sind beispielhafte schematische Screenshots der Einladung eines Benutzers zu einer Chatsitzung, einer Dokumentbearbeitungssitzung und einer Chat/Dokumentbearbeitungssitzung gemäß mancher Ausführungsformen.
  • 8A, 8B, 8C und 8D sind beispielhafte schematische Screenshots des Empfangs einer Einladung gemäß mancher Ausführungsformen.
  • 9A, 9B und 9C sind Flussdiagramme, die das Verfahren des Einladens eines Benutzers zu einer Chatsitzung gemäß mancher Ausführungsformen veranschaulicht.
  • 10A und 10B sind Flussdiagramme, die das Verfahren des Einladens eines Benutzers zu einer Dokumentbearbeitungssitzung gemäß mancher Ausführungsformen veranschaulicht.
  • Gleiche Referenzziffern beziehen sich in allen Zeichnungen auf die dazugehörigen Teile.
  • BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Es werden Verfahren und Systeme zur Inline-Benutzeradressierung in Chat- und Dokumentbearbeitungssitzungen beschrieben. Es wird auf bestimmte Ausführungsformen verwiesen, von denen Beispiele in den beigefügten Zeichnungen dargestellt sind. Obwohl spezifische Ausführungsformen beschrieben werden, versteht es sich, dass es nicht beabsichtigt ist, die Ansprüche auf diese bestimmten Ausführungsformen allein zu beschränken. Im Gegenteil sollen die Ansprüche Alternativen, Modifikationen und Äquivalente der offenbarten Ausführungsformen abdecken.
  • Es versteht sich weiterhin, dass, obwohl hierin die Begriffe "erste", "zweite" usw. verwendet werden können, um verschiedene Elemente zu beschreiben, diese Elemente nicht auf diese Begriffe beschränkt werden sollten. Diese Begriffe werden nur verwendet, um ein Element vom anderen zu unterscheiden. Ein erster Kontakt könnte beispielsweise als zweiter Kontakt bezeichnet werden und ebenso könnte ein zweiter Kontakt als erster Kontakt bezeichnet werden, was die Bedeutung der Beschreibung verändert, solange alle Instanzen des "ersten Kontakts" durchweg umbenannt werden und alle Instanzen des zweiten Kontakts durchweg umbenannt werden. Der erste Kontakt und der zweite Kontakt sind beides Kontakte, aber sie sind nicht die gleichen Kontakte.
  • Die hierin verwendete Terminologie dient ausschließlich dem Zweck der Beschreibung bestimmter Ausführungsformen und ist nicht gedacht, die Ansprüche einzuschränken. Wie in der Beschreibung der Ausführungsformen und den beigefügten Ansprüchen verwendet, sollen die Singularformen "ein", "einer", "eine" und "der", "die", "das" auch die Pluralformen beinhalten, sofern der Zusammenhang nicht eindeutig etwas Anderes andeutet. Es versteht sich außerdem, dass der Begriff "und/oder", wie hierin verwendet, sich sämtliche mögliche Kombinationen der einen oder mehrerer dazugehöriger aufgeführter Objekte bezieht und diese mit umfasst. Es versteht sich weiterhin, dass die Begriffe "umfasst" und/oder "umfassend", bei Verwendung in dieser Beschreibung, das Vorhandensein von angegebenen Merkmalen, Ganzzahlen, Schritten, Operationen, Elementen und/oder Komponenten angeben, aber nicht das Vorhandensein oder die Hinzufügung von einem oder mehreren anderen Merkmalen, Ganzzahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen davon ausschließen.
  • Wie hierin verwendet kann der Begriff "wenn" oder "falls" in Abhängigkeit vom Zusammenhang so ausgelegt werden, als bedeute er "wenn" oder "bei" oder "als Reaktion auf Feststellung" oder "in Übereinstimmung mit einer Feststellung" oder "als Reaktion auf die Entdeckung", dass eine angegebene Vorbedingung wahr ist. Ebenso kann die Formulierung "falls festgestellt wird, dass [eine angegebene Vorbedingung wahr ist]" oder "falls [eine angegebene Vorbedingung wahr ist]" oder "wenn [eine angegebene Vorbedingung wahr ist]" je nach Zusammenhang so ausgelegt werden, als bedeute sie "bei Feststellung" oder "als Reaktion auf die Feststellung" oder "in Übereinstimmung mit einer Feststellung" oder "bei Entdeckung" oder "als Reaktion auf eine Feststellung", dass die angegebene Vorbedingung wahr ist.
  • Es wird nun im Detail auf verschiedene Ausführungsformen eingegangen, von denen Beispiele in den beigefügten Zeichnungen dargestellt sind. In der folgenden detaillierten Beschreibung werden zahlreiche spezifische Details dargelegt, um ein gründliches Verständnis zu schaffen. Die Erfindung kann jedoch ohne diese spezifischen Details ausgeführt werden. In anderen Fällen wurden bekannte Verfahren, Vorgänge, Komponenten und Schaltkreise nicht im Detail beschrieben, um die Beschreibung der Aspekte der Ausführungsbeispiele nicht unnötig unklar zu gestalten.
  • Wie hierin verwendet ist Instant Messaging (IM) eine Kommunikation in Echtzeit zwischen zwei Benutzern, die Vorrichtungen verwenden, die Softwareapplikationen ausführen, die eine IM-Sitzung zwischen den beiden Benutzern herstellen. Wie hierin verwendet ist ein Chat eine Kommunikation in Echtzeit zwischen zwei oder mehreren Benutzer(n), die Vorrichtungen verwenden, die Softwareapplikationen verwenden, die eine Verbindung mit einer Vorrichtung herstellen, die eine Chatsitzung oder einen Chatroom für die beiden oder mehrere Benutzer hostet. Zur Kommunikation per IM oder Chat erhalten die Teilnehmer eine ständige Verbindung zur IM-Sitzung oder der Chatsitzung aufrecht. Anders ausgedrückt unterhalten die Vorrichtungen und Chatanwendungen der Teilnehmer zur Kommunikation über IM oder Chat eine ständige Verbindung mit der Vorrichtung aufrecht, die eine Software, die die Chatsitzungen und/oder IM-Sitzungen herstellt, aufrecht. Die Kommunikationen erfolgen in Echtzeit, da die Kommunikationen sofort oder mit vernachlässigbarer Latenz ausgetauscht werden. In manchen Ausführungsformen können die Kommunikationen zwischen den beiden oder mehreren Benutzern Text, Stimmkommunikationen, Video und Bilder beinhalten. In manchen Ausführungsformen werden die IM-Sitzungen oder Chatsitzungen von einem Server gehostet und die jeweiligen Teilnehmer verbinden sich mit dem Server, um an der jeweiligen IM-/Chatsitzung teilzunehmen. Des Weiteren können Chatnachrichten oder Sofortnachrichten zwischen den Benutzern über ein Netzwerk übertragen werden, wie das, das hierin ausführlicher beschrieben wird.
  • 1 ist ein Blockdiagramm, das ein verteiltes System 100 veranschaulicht, das zwei oder mehr Clientvorrichtungen 102, ein Kommunikationsnetzwerk 104 und ein Serversystem 106 beinhaltet. Das Serversystem 106 ist über das Kommunikationsnetzwerk 104 mit dem einen oder den mehreren Clientvorrichtungen 102 verbunden.
  • In manchen Ausführungsformen kann das Serversystem 106 als einzelner Server implementiert sein, während es in anderen Ausführungsformen als ein verteiltes System multipler Server implementiert ist. Nur zur Vereinfachung der Erläuterung wird das Serversystem 106 nachfolgend als auf einem einzigen Serversystem implementiert beschrieben.
  • Das bzw. die Kommunikationsnetzwerk(e) 104 kann bzw. können ein beliebiges drahtgebundenes oder drahtloses lokales Netzwerk (LAN) und/oder ein Weitverkehrsnetz (WAN), wie etwa ein Intranet, ein Extranet oder das Internet sein. Es ist ausreichend, dass das Kommunikationsnetzwerk 104 eine Kommunikationsfähigkeit zwischen den Clientvorrichtungen 102 und dem Serversystem 106 bereitstellt. In manchen Ausführungsformen verwendet das Kommunikationsnetzwerk 104 HyperText Transport Protocol (HTTP) und das Transmission Control Protocol/Internet Protocol (TCP/IP) zur Übertragung von Informationen zwischen Vorrichtungen oder Systemen. HTTP erlaubt es den Clientvorrichtungen 102 auf verschiedene Ressourcen, die über das Kommunikationsnetzwerk 104 zur Verfügung stehen, zuzugreifen. Die verschiedenen Ausführungsformen sind jedoch nicht auf die Verwendung eines bestimmten Protokolls beschränkt.
  • In manchen Ausführungsformen beinhaltet das Serversystem 106 einen Frontend-Server 110, der die Kommunikation zwischen dem Serversystem 106 und den Clients 102 ermöglicht. In manchen Ausführungsformen ist der Frontend-Server 110 für den Empfang und/oder das Senden von Chatinhalt, Dokumentbearbeitungsbefehlen, Dokumenten, Dokumenteninhalt, Chats, Kontaktinformationen, Anwendungen, Einladungen zu Chatsitzungen, Einladungen zu Dokumentbearbeitungssitzungen und Einladungen zu "Chat + Dokument" Bearbeitungssitzungen konfiguriert. Wie hierin verwendet ist eine "Chat + Dokument" Sitzung oder Chat/Dokument Sitzung eine Chatsitzung im Zusammenhang mit einer Dokumentbearbeitungssitzung oder umgekehrt.
  • In manchen Ausführungsformen beinhaltet das Serversystem 106 eine SMTP/SMS Schnittstelle 116, die die Übertragung von E-Mail-Mitteilungen und SMS-Mitteilungen zwischen dem Serversystem 106 und dem Netzwerk 104 ermöglicht. Die SMTP/SMS Schnittstelle 116 sendet Einladungen (beispielsweise Chateinladungen, Dokumentbearbeitungseinladungen oder Chat + Dokument Bearbeitungseinladungen), die von einem Inline-Adressierungsmodul 114 erzeugt werden, über das Netzwerk 104 an die jeweilige Clientvorrichtung 102. In manchen Ausführungsformen empfängt die SMTP/SMS Schnittstelle 116 außerdem Einladungen zu Chats, Einladungen zu Dokumentbearbeitungssitzungen und Einladungen zu Chat + Dokument Sitzungen, die von der jeweiligen Clientvorrichtung 102 über das Netzwerk 104 gesendet werden.
  • In manchen Ausführungsformen beinhaltet das Serversystem 106 eine Chat-/Dokumentdatenbank 120, die Chatinhalte und/oder kollaborative Dokumente speichert. In manchen Ausführungsformen speichert die Chat-/Dokumentdatenbank 120 außerdem auch SMS-Mitteilungen und E-Mail-Mitteilungen. Chatinhalte und kollaborative Dokumente werden hierin detaillierter beschrieben. In manchen Ausführungsformen ist die Chat-/Dokumentdatenbank 120 eine verteilte Datenbank, die über mehrere Server innerhalb des Serversystems 106 verteilt ist.
  • In manchen Ausführungsformen beinhaltet das Serversystem 106 eine Adressbuchdatenbank 118, die Adressbücher (auch Kontaktlisten oder Kontaktdatenbanken genannt) für Benutzer des Serversystems 106 speichert. In manchen Ausführungsformen ist die Adressbuchdatenbank 118 eine verteilte Datenbank, die über mehrere Server innerhalb des Serversystems 106 verteilt ist. Adressbücher werden hierin ausführlicher beschrieben.
  • In manchen Ausführungsformen beinhaltet das Serversystem 106 Onlineanwendungen 112, einschließlich Applikationen, die auf dem Serversystem 106 ausgeführt werden oder zur Ausführung an die Clientvorrichtungen 102 gesendet werden. In manchen Ausführungsformen werden eine oder mehrere Onlineanwendung(en) 112 als Reaktion auf eine Clientanforderung an einen jeweiligen Client 102 gesendet. Onlineapplikationen 112 speichern Informationen in der Adressbuchdatenbank 118 und der Chat-/Dokumentdatenbank 120 und greifen auf Informationen darin zu. Onlineanwendungen 112 werden hierin ausführlicher besprochen.
  • In manchen Ausführungsformen beinhaltet das Serversystem 106 ein Inline-Adressierungsmodul 114, das bei Zugriff auf, Aktualisierung und Modifikation von Daten in der Adressbuchdatenbank 118 und der Chat-/Dokumentdatenbank 120 unterstützt. In manchen Ausführungsformen verwendet das Inline-Adressierungsmodul 114 Informationen aus der Chat-/Dokumentdatenbank 120, der Adressbuchdatenbank 118 und/oder Chat/Dokument Inhalte, die von dem Frontend-Server 110 empfangen werden, um Kontaktvorschläge, Einladungen zu Dokumentbearbeitungssitzungen, Einladungen zu Chatsitzungen und Einladungen zu Chat + Dokument Bearbeitungssitzungen zu generieren. Das Inline-Adressierungsmodul 114 wird hierin ausführlicher besprochen.
  • In manchen Ausführungsformen beinhaltet das Serversystem 106 ein Chat-/Dokumentmodul 130, das Chatsitzungen, Dokumentbearbeitungssitzungen und Chat + Dokument Bearbeitungssitzungen erzeugt und aufrechterhält. In manchen Ausführungsformen speichert das Chat-/Dokumentmodul 130 Informationen in der Chat-/Dokumentdatenbank 120 und ruft diese daraus ab. Das Chat-/Dokumentmodul 130 wird hierin ausführlicher besprochen.
  • In manchen Ausführungsformen verfügt ein Benutzer an einer Clientvorrichtung 102 über eine Schnittstelle mit dem Serversystem 106. Clientvorrichtungen 102 können jedwede geeignete Computervorrichtungen sein, die über die Fähigkeit verfügen, sich über ein Kommunikationsnetzwerk 104 mit einem Serversystem 106 zu verbinden, wie etwa Desktop Computer, Laptop Computer, Tabletgeräte, Netbooks, Internet-Kioske, persönliche, digitale Assistenten, Mobiltelefone, Spielgeräte oder jedes andere Gerät, das dazu in der Lage ist mit dem Serversystem 106 zu kommunizieren. Clientvorrichtungen 102 beinhalten typischerweise einen oder mehrere Prozessor(en), nichtflüchtige(n) Speicher, wie etwa Flash-Speicher oder ein Festplattenlaufwerk, und eine Anzeige. Die Clientvorrichtungen 102 können auch über Eingabegeräte, wie eine Tastatur und eine Maus (wie in 2 gezeigt) verfügen.
  • In manchen Ausführungsformen beinhaltet eine entsprechende Clientvorrichtung 102 eine Chatanwendung 122, die es einem jeweiligen Benutzer ermöglicht, mit anderen Benutzern an anderen Clientvorrichtungen 102 zu chatten. Optional beinhaltet die jeweilige Clientvorrichtung 102 eine Dokumentbearbeitungsapplikation 122, die es einem jeweiligen Benutzer ermöglicht, Dokumente, die auf der Clientvorrichtung 102 oder dem Serversystem 106 gespeichert sind, zu bearbeiten. In manchen Ausführungsformen beinhaltet die jeweilige Clientvorrichtung 102 eine Chat + Dokument Bearbeitungsanwendung 122 für gleichzeitiges Chatten und Bearbeiten von Dokumenten. Die Chatanwendung 112, die Dokumentbearbeitungsanwendung 124 und die Chat + Dokument Bearbeitungsanwendung werden hierin ausführlicher besprochen.
  • In manchen Ausführungsformen beinhaltet die jeweilige Clientvorrichtung 102 eine Browseranwendung 128 für die Anforderung, Analyse, Darstellung und Ausführung von Webseiten und die Ausführung von in Webseiten enthaltenen Anwendungen. Die Browseranwendung 128 kann jede Anwendung sein, die es einem Benutzer erlaubt, nach Ressourcen zu suchen, Ressourcen zu browsen und/oder Ressourcen zu nutzen (beispielsweise Webseiten und Webdienste), die von einer URL (Uniform Resource Locator) oder URI (Uniform Resource Identifier) identifiziert werden. Der Begriff "URL", wie er hierin verwendet wird, bezeichnet eine Netzwerkadresse oder einen Netzwerkort eines Dokuments. In diesem Zusammenhang bezeichnet der Begriff "Dokument" jedwedes Dokument oder Inhalte jedweden Formats, einschließlich, aber nicht beschränkt auf Textverarbeitungsdokumente, Tabellenkalkulationsdokumente, Präsentationsdokumente, Zeichnungen, Webseiten, Text, Bilder, Audio, Video usw., die von einem Webbrowser oder anderen Applikationen verwendet werden können.
  • 2 ist ein Blockdiagramm, das eine Clientvorrichtung 102 gemäß mancher Ausführungsformen veranschaulicht. Die Clientvorrichtung 102 beinhaltet eine oder mehrere Verarbeitungseinheit(en) (CPUs) 202, eine oder mehrere Netzwerk- oder andere Kommunikationsschnittstelle(n) 214, Speicher 206 und einen oder mehrere Kommunikationsbus(se) 204, um diese Komponenten miteinander zu verbinden. Die Kommunikationsbusse 204 beinhalten optional eine Schaltungsanordnung (manchmal als Chipset bezeichnet), die Verbindungen zwischen den Systemkomponenten herstellt und Kommunikationen zwischen den Systemkomponenten steuert. Die Clientvorrichtung 102 beinhaltet typischerweise eine Benutzerschnittstelle, die beispielsweise ein Anzeigegerät 210 und optional eine Tastatur und/oder eine Maus (oder ein anderes Zeigegerät) 212 umfasst. Der Speicher 206 beinhaltet einen High-Speed-Speicher mit wahlfreiem Zugriff, wie etwa DRAM, SRAM, DDR RAM oder andere Speicherzellen mit wahlfreiem Zugriff; und kann einen nichtflüchtigen Speicher beinhalten, wie etwa eine oder mehrere Magnetplattenvorrichtungen, Speicherplatten für optische Platten, Flashspeichervorrichtungen oder andere nichtflüchtige Festkörperspeichereinrichtungen. Der Speicher 206 beinhaltet optional eine oder mehrere Speichervorrichtung(en), die sich dezentral von dem/den CPU(s) 202 befindet. Der Speicher 206 oder alternativ die nichtflüchtigen Speichervorrichtung(en) im Speicher 206 umfassen ein computerlesbares Speichermedium. In manchen Ausführungsformen speichert der Speicher 206 oder das computerlesbare Speichermedium des Speichers 206 die folgenden Programme, Module und Datenstrukturen oder eine Untermenge davon:
    • • Betriebssystem 216, das Verfahren zur Handhabung verschiedener grundsätzlicher Systemdienste und zur Durchführung Hardware-abhängiger Aufgaben beinhaltet;
    • • Netzwerkkommunikationsmodul 218, das für das Verbinden der Clientvorrichtung 102 mit dem Serversystem 106 und/oder anderen Vorrichtungen und Computern über die eine oder die mehreren Kommunikationsnetzwerkschnittstelle(n) 214 (verdrahtet oder drahtlos) und einem oder mehreren Kommunikationsnetzwerk(en), wie etwa das Internet, andere Wide Area Netzwerke, lokale Netzwerke, Metropolitan Area Netzwerke usw., verwendet wird;
    • • optional eine oder mehrere Anwendung(en) 220, die von dem einen oder den mehreren Prozessoren 202 der Clientvorrichtung ausgeführt werden; Anwendungen 220 beinhalten typischerweise eines oder mehrere von: einer Chatanwendung 122, einer Dokumentbearbeitungsanwendung 124, einer Chat + Dokument Bearbeitungsanwendung 126 und/oder eine Browseranwendung 128; und
    • • optional eine oder mehrere Webseiten, wie etwa eine Webseite mit einer eingebetteten Chatanwendung 230, eine Webseite mit einer eingebetteten Dokumentbearbeitungsanwendung 232 und/oder eine Webseite mit einer eingebetteten Chat + Dokument Bearbeitungsanwendung 234.
  • Die Chatanwendung 122, sofern in der Clientvorrichtung 102 enthalten, befähigt einen Benutzer der Clientvorrichtung 102 an Echtzeit-Kommunikationen in einer Chatsitzung mit Benutzern an einer oder mehreren anderen Clientvorrichtung(en) teilzunehmen. In manchen Ausführungsformen verbindet sich die Chatanwendung 122 mit einem Server (beispielsweise Serversystem 106), um eine Chatsitzung zu erzeugen oder ihr beizutreten.
  • Die Dokumentbearbeitungsanwendung 124, sofern in der Clientvorrichtung 102 enthalten, befähigt einen Benutzer der Clientvorrichtung 102 Dokumente, die sich auf der Clientvorrichtung 102 oder auf dem Serversystem 106 befinden (beispielsweise in der Chat-/Dokumentdatenbank 118) dezentral von der Clientvorrichtung 102 befinden, zu bearbeiten. In manchen Ausführungsformen arbeitet die Dokumentbearbeitungsanwendung 124 mit einem Online-Dokumentbearbeitungsdienst (beispielsweise das Chat-/Dokumentmodul 130 des Serversystems 102) zusammen, was es mehreren Benutzern ermöglicht, gleichzeitig ein Dokument zu bearbeiten. In manchen Ausführungsformen verbindet sich die Dokumentbearbeitungsanwendung 124 mit einem Server (beispielsweise Serversystem 106), um eine Dokumentbearbeitungssitzung zu erzeugen oder ihr beizutreten.
  • Die Chat + Dokument Bearbeitungsanwendung 126, sofern sie in der Clientvorrichtung 102 enthalten ist, befähigt einen Benutzer der Clientvorrichtung 102 ein Dokument zu bearbeiten und Chatkommunikationen mit anderen Benutzern anderer Clientvorrichtungen zu haben, die gemeinsam mit dem Benutzer der Clientvorrichtung 102 das Dokument bearbeiten. Anders ausgedrückt, die Chat + Dokument Bearbeitungsanwendung 126 befähigt einen Benutzer der Clientvorrichtung 102 gleichzeitig mit den Benutzern anderer Clientvorrichtungen an einer Dokumentbearbeitungssitzung, die in Verbindung mit einer Chatsitzung steht, teilzunehmen. Die Dokumentbearbeitung unter Verwendung der Chat + Dokument Bearbeitungsanwendung 126 kann sich auf der Clientvorrichtung 102 oder auf dem Serversystem 106 (beispielsweise in der Chat-/Dokumentdatenbank 120) befinden. In manchen Ausführungsformen arbeitet die Chat + Dokument Bearbeitungsanwendung 126 mit einem Online-Dokumentbearbeitungsdienst (beispielsweise das Chat-/Dokumentmodul 130 des Serversystems 102) zusammen, was es mehreren Benutzern ermöglicht, gleichzeitig ein Dokument zu bearbeiten und gleichzeitig auch eine Chatsitzung durchzuführen. In manchen Ausführungsformen verbindet sich die Chat + Dokument Bearbeitungsanwendung 126 mit einem Server (beispielsweise Serversystem 106), um eine Chat + Dokument Bearbeitungssitzung zu erzeugen oder ihr beizutreten.
  • Die Browsweranwendung 128 (beispielsweise Googles Chrome, Mozillas Firefox, Apples Safari oder Microsofts Internet Explorer) kann eine beliebige Anwendung sein, die es einem Benutzer erlaubt, Ressourcen (beispielsweise Webseiten und Webdienste), die von einer URL oder URI identifiziert werden, zu browsen oder darauf zuzugreifen.
  • Webseiten mit Anwendungen 230, 232 und 234 führen ähnliche Operationen durch, wie die, die in Hinblick auf die Anwendungen 122, 124 bzw. 126 beschrieben wurden. In manchen Ausführungsformen werden Webseiten mit Anwendungen 230, 232 und 234 von einem Server (beispielsweise Serversystem 106) empfangen, der sich dezentral von der Clientvorrichtung 102 befindet, und von einem oder mehreren Prozessor(en) 202 der Clientvorrichtung 102 ausgeführt werden. Die in Webseiten 230, 232 und 234 eingebetteten Anwendungen können in JavaScriptTM (ein Warenzeichen von Sun Microsystems, Inc.), ECMAScript (für das die Spezifikation von der European Computer Manufacturers Association International veröffentlicht wird), VBScriptTM (ein Warenzeichen von Microsoft, Inc.), C/C++, Java Vorrichtung 102 und/oder einer anderen Programmier-/Scriptingsprache geschrieben sein. In manchen Ausführungsformen werden die in den Webseiten 230, 232 und 234 eingebetteten Applikationen zum Teil auf der Clientvorrichtung 102 und zum Teil auf einem Server (beispielsweise Serversystem 106), der sich dezentral von der Clientvorrichtung 102 befindet, ausgeführt.
  • In manchen Ausführungsformen beinhaltet eine entsprechende Anwendung (beispielsweise Anwendung 122, 124, 126 oder 128, oder eine entsprechende, in eine Webseite eingebettete Anwendung, Anweisungen zur Feststellung, ob die entsprechende Applikation aktiv oder inaktiv ist. In manchen Implementierungen ist eine Anwendung aktiv, wenn ein der Anwendung entsprechendes Fenster aktuell ausgewählt ist und auf der Anzeige 210 der Clientvorrichtung 102 mindestens teilweise sichtbar ist. Eine Anwendung ist typischerweise inaktiv, wenn ein Fenster, das einer anderen Anwendung entspricht, aktiv ist.
  • Jedes der vorstehend identifizierten Elemente wird, sofern es in einer entsprechenden Ausführungsform der Clientvorrichtung 102 enthalten ist, in einem oder mehreren der vorstehend erwähnten Speichervorrichtungen gespeichert, und jedes der Module oder Programme entspricht einem Satz von Anweisungen zur Durchführung einer vorstehend beschriebenen Funktion, wenn es von einem oder mehreren der Prozessoren (beispielsweise den CPUs 202) der Clientvorrichtung 102 ausgeführt wird. Die vorstehend angegebenen Module oder Programme (d. h. Menge von Anweisungen) brauchen nicht als separate Softwareprogramme, Verfahren oder Module implementiert zu werden, und somit können verschiedene Teilmengen dieser Module in verschiedenen Ausführungsformen kombiniert oder anderweitig anders angeordnet werden. In einigen Ausführungsformen kann Speicher 206 eine Untermenge der oben beschriebenen Module und Datenstrukturen speichern. Außerdem kann Speicher 206 zusätzliche, oben nicht beschriebene Module und Datenstrukturen speichern.
  • 2 soll mehr als funktionale Beschreibung der jeweiligen Ausführungsformen einer Clientvorrichtung dienen, denn als eine strukturelle Schematik der hierin beschriebenen Ausführungsformen. In der Praxis und wie von den Fachleuten auf dem Gebiet erkannt, können Einzelteile, die gesondert gezeigt sind, kombiniert werden, und einige Gegenstände könnten in mehrere Teile getrennt oder anders organisiert werden, als in 2 gezeigt.
  • 3 ist ein Blockdiagramm, das ein Serversystem 106 gemäß mancher Ausführungsformen veranschaulicht. Das Serversystem 106 beinhaltet eine oder mehrere Recheneinheit(en) (CPUs) 302, ein oder mehrere Netzwerk- oder andere Kommunikationsschnittstelle(n) 308, einen Speicher 306 und einen oder mehrere Kommunikationsbus(se) 304, um diese Komponenten miteinander zu verbinden. Die Kommunikationsbusse 304 beinhalten optional eine Schaltungsanordnung (manchmal als Chipset bezeichnet), die Verbindungen zwischen den Systemkomponenten herstellt und Kommunikationen zwischen den Systemkomponenten steuert. Der Speicher 306 beinhaltet einen High-Speed-Speicher mit wahlfreiem Zugriff, wie etwa DRAM, SRAM, DDR RAM oder andere Speicherzellen mit wahlfreiem Zugriff; und kann einen nichtflüchtigen Speicher beinhalten, wie etwa eine oder mehrere Magnetplattenvorrichtungen, Speicherplatten für optische Platten, Flashspeichervorrichtungen oder andere nichtflüchtige Festkörperspeichereinrichtungen. Der Speicher 306 beinhaltet optional eine oder mehrere Speichervorrichtung(en), die sich dezentral von dem/den CPU(s) 302 befindet bzw. befinden. Der Speicher 306 oder alternativ die nichtflüchtige(n) Speichereinrichtung(en) im Speicher 306 umfasst bzw. umfassen ein nicht-transitorisches computerlesbares Speichermedium. In manchen Ausführungsformen speichert der Speicher 306 oder das computerlesbare Speichermedium des Speichers 306 die folgenden Programme, Module und Datenstrukturen oder eine Untermenge davon:
    • • Betriebssystem 310, das Verfahren zur Handhabung verschiedener grundsätzlicher Systemdienste und zur Durchführung Hardware-abhängiger Aufgaben beinhaltet;
    • • Netzwerkkommunikationsmodul 312, das für das Verbinden des Serversystems 106 mit der Clientvorrichtung 102 und/oder anderer Vorrichtungen und Computer über die eine oder die mehreren Kommunikationsnetzwerkschnittstelle(n) 308 (verdrahtet oder drahtlos) und ein oder mehrere Kommunikationsnetzwerk(e), wie etwa das Internet, andere Wide Area Netzwerke, lokale Netzwerke, Metropolitan Area Netzwerke usw., verwendet wird;
    • • Inline-Adressierungsmodul 114, nachfolgend besprochen;
    • • Chat-/Dokumentmodul 130, das Dokumente 322 und Chats 324 speichert, wie hierin ausführlicher besprochen;
    • • Chat-/Dokumentdatenbank 120 speichert Dokumente 322 und Chats 324; Dokumente 322 und Chats 324 werden hierin ausführlicher besprochen;
    • • Adressbuchdatenbank 118, die Adressbücher 340 für Benutzer des Serversystems 106 enthält. Ein entsprechendes Adressbuch 340 enthält einen oder mehrere Kontakt(e) 336. Die Kontakte 336 enthalten Kontaktinformationen, wie Namen, Anschrift, E-Mail-Adresse, Telefonnummer, Spitznamen und Chat-Namen.
    • • Anwendungen 112, die eines oder mehrere beinhalten von: Webseite mit einer Chatanwendung 330, Webseite mit einer Dokumentbearbeitungsanwendung 332 und Webseite mit einer Chat + Dokumentbearbeitungsanwendung 334.
  • In manchen Ausführungsformen wird eine entsprechende Webseite 330, 332 oder 334 mit einer eingebetteten Anwendung in Reaktion auf eine Clientanforderung nach der entsprechenden Anwendung oder eine Anforderung nach dem entsprechenden Dokument an eine Clientvorrichtung 102 gesendet. Die auf dem Serversystem 106 gespeicherten Webseiten 330, 332 und 334 entsprechen den auf der Clientvorrichtung 102 gespeicherten Webseiten 230, 232 und 234. In manchen Ausführungsformen wird die in einer entsprechenden Webseite 330, 332 oder 334 eingebettete Anwendung von der Clientvorrichtung 102, an die die Webseite gesendet wird, ausgeführt. In manchen Ausführungsformen arbeitet die in einer entsprechenden Webseite 330, 332, 334 eingebettete Anwendung während sie von einer Clientvorrichtung 102, an die die Webseite gesendet wurde (beispielsweise in Reaktion auf eine http Anforderung), ausgeführt wird, zusammen mit einem Online-Dokumentbearbeitungsdienst (beispielsweise dem Chat-/Dokumentmodul 130), der vom Serversystem 106 bereitgestellt wird. Wie vorstehend erwähnt ermöglichen diese Anwendungen es mehreren Benutzern gleichzeitig ein Dokument zu bearbeiten, eine Chatsitzung durchzuführen oder beides.
  • Wie nachfolgend detaillierter besprochen, entdeckt das Inline-Adressierungsmodul 114 eingebettete Anforderungen, erzeugt Kontaktvorschläge, erzeugt Einladungen, ermittelt, wie Einladungen an einen Benutzer gesendet werden, und modifiziert Zugriffskontrolllisten für Chats 324 und Dokumente 322, die in der Chat-/Dokumentdatenbank 118 gespeichert sind.
  • In manchen Ausführungsformen entdeckt das Inline-Adressierungsmodul 114 eingebettete Anforderungen im Chatinhalt und im Dokumentinhalt, die in der Chat-/Dokumentdatenbank 118 gespeichert sind. In manchen Ausführungsformen entdeckt das Inline-Adressierungsmodul 114 eingebettete Anforderungen in Chatinhalt und Dokumentinhalt, wie er vom Serversystem 106 empfangen wird. Wie hierin ausführlicher besprochen, ist eine eingebettete Anforderung eine Einladung, die in eine Chatsitzung oder ein Dokument eingegeben wird, um einen bestimmten Benutzer zu einer Chatsitzung, einer Dokumentbearbeitungssitzung oder einer Chat + Dokumentbearbeitung Sitzung einzuladen.
  • In manchen Implementierungen verwendet das Inline-Adressierungsmodul 114 in der Adressbuchdatenbank 118 gespeicherte Kontaktinformationen sowie Chat-/Dokumentinhalt, der vom Serversystem 106 empfangen wird oder in der Chat-/Dokumentdatenbank 120 gespeichert ist, um Kontaktvorschläge zu erzeugen. In manchen Ausführungsformen werden die Kontaktvorschläge als Reaktion auf die Entdeckung einer im Chatinhalt oder dem Dokumentinhalt teilweise eingebetteten Anforderung erzeugt, wenn der Inhalt vom Serversystem 106 empfangen wird.
  • In manchen Implementierungen verwendet das Inline-Adressierungsmodul 114 Chatinhalt und Dokumentinhalt, der vom Serversystem 106 empfangen wird oder in der Chat-/Dokumentdatenbank 118 gespeichert ist, zur Erzeugung von Einladungen zu Chatsitzungen, Einladungen zu einer Dokumentbearbeitungssitzung und Einladungen zu einer Chat + Dokumentbearbeitungssitzung. In manchen Ausführungsformen werden Einladungen als Reaktion auf die Entdeckung einer eingebetteten Anforderung im Chatinhalt oder dem Dokumentinhalt erzeugt.
  • In manchen Implementierungen modifiziert das Inline-Adressierungsmodul 114 die Zugriffsrechte eines Chats 324 oder Dokuments 322, die in der Chat-/Dokumentdatenbank 120 gespeichert sind, um es einem entsprechenden Benutzer zu erlauben, auf den entsprechenden Chat und/oder das entsprechende Dokument zuzugreifen. In manchen Ausführungsformen werden die einem Benutzer für einen Chat 324 oder ein Dokument 322 zugewiesenen Zugriffsrechte von dem Serversystem 106 gemäß den in einer eingebetteten Anforderung enthaltenen Informationen festgelegt. Zugriffsrechte für Chats und Dokumente werden hierin ausführlicher besprochen.
  • In manchen Implementierungen legt das Inline-Adressierungsmodul 114 fest, wie eine Einladung an einen Benutzer gesendet wird. Wie hierin ausführlicher besprochen sendet das Inline-Adressierungsmodul 114 in verschiedenen Ausführungsformen die Einladung über ein aktives Fenster einer Anwendung, ein inaktives Fenster einer Anwendung oder per E-Mail/SMS.
  • Die vom Inline-Adressierungsmodul 114 durchgeführten Operationen werden hierin weiter besprochen.
  • In manchen Ausführungsformen unterstützt das Chat-/Dokumentmodul 130 die Erzeugung und Aufrechterhaltung von Chatsitzungen, Dokumentbearbeitungssitzungen und Chat + Dokument Bearbeitungssitzungen. Das Chat-/Dokumentmodul 130 stellt Chatsitzungen (oder Chatrooms) für zwei oder mehr Benutzer her, empfängt und überträgt Mitteilungen zwischen den Benutzern und speichert den Chatinhalt der Chatsitzung in der Chat-/Dokumentdatenbank 120. Das Chat-/Dokumentmodul 130 stellt Dokumentbearbeitungssitzungen her, erzeugt Dokumente, modifiziert Dokumente, überträgt zumindest Teile von Dokumenten an Benutzer der Dokumentbearbeitungssitzung und speichert Dokumente in der Chat-/Dokumentdatenbank 120. In manchen Ausführungsformen modifiziert das Chat-/Dokumentmodul 130 im Chat/Dokument 120 gespeicherte Informationen, um ein Dokument 322 einem Chat 324 zuzuordnen.
  • Jedes der vorstehend identifizierten Elemente kann in einem oder mehreren der vorstehend erwähnten Speichervorrichtungen des Serversystems 106 gespeichert werden und jedes der Module oder Programme entspricht einem Satz von Anweisungen zur Durchführung einer vorstehend beschriebenen Funktion. Der Satz von Anweisungen kann von einem oder mehreren Prozessor(en) (beispielsweise den CPUs 302) ausgeführt werden. Die vorstehend angegebenen Module oder Programme (d. h. Menge von Anweisungen) brauchen nicht als separate Softwareprogramme, Verfahren oder Module implementiert zu werden, und somit können verschiedene Teilmengen dieser Module in verschiedenen Ausführungsformen kombiniert oder anderweitig anders angeordnet werden. In manchen Ausführungsformen kann der Speicher 306 eine Teilmenge der vorstehend identifizierten Module und Datenstrukturen speichern. Außerdem kann der Speicher 306 zusätzliche Module und Datenstrukturen, die vorstehend nicht beschrieben sind, speichern.
  • Obwohl 3 ein Serversystem zeigt, ist 3 mehr als funktionale Beschreibung der verschiedenen Funktionen gedacht, die in einem Satz von Servern vorliegen können, als eine strukturelle Schematik der hierin beschriebenen Ausführungsformen. In der Praxis und wie unter Fachleuten auf dem Gebiet bekannt, könnten gesondert dargestellte Elemente kombiniert und einige getrennt werden. Manche Objekte (beispielsweise Betriebssystem 310 und Netzwerkkommunikationsmodul 312) zum Beispiel, die in 3 separat gezeigt werden, könnten auf einzelnen Servern implementiert sein und einzelne Objekte könnten auf einem oder mehreren Servern implementiert sein. Die tatsächliche Anzahl der Server, die für die Implementierung des Serversystems 106 verwendet wird, und wie die Funktionen unter ihnen zugewiesen werden, kann sich von einer Implementierung zur anderen unterscheiden und kann zum Teil von der Menge des Datenverkehrs, den das System während Spitzenzeiten sowie während Phasen einer durchschnittlichen Nutzung handhaben muss, abhängen.
  • 4A und 4B veranschaulichen Datenstrukturen, die gemäß mancher Ausführungsformen in der Chat-/Dokumentdatenbank 120 gespeichert sind. Die in 4A gezeigten Datenstrukturen speichern gemäß mancher Ausführungsformen kollaborative Dokumente, die von Benutzern der Clientvorrichtungen 102 bearbeitet werden können. Die in 4B gezeigten Datenstrukturen speichern gemäß mancher Ausführungsformen Chatinhalt entsprechend einer Chatsitzung zwischen zwei oder mehr Benutzern der Clientvorrichtungen 102. In manchen Implementierungen werden die in diesen Datenstrukturen gespeicherten Informationen zur Erzeugung von Einladungen zu Chatsitzungen, Dokumentbearbeitungssitzungen und Chat + Dokumentbearbeitungssitzungen verwendet.
  • 4A veranschaulicht Dokumentdatenstrukturen 402 gemäß mancher Ausführungsformen, die in einer Chat-/Dokumentdatenbank 120 zur Speicherung von Dokumenten gespeichert sind. Ein entsprechendes Dokument 402-2 enthält Metadaten 404 und Dokumentinhalt 414. Metadaten 404 für ein entsprechendes Dokument 402 beinhalten in manchen Ausführungsformen eine Dokumentkennung (Dokument-ID) 406, eine Zugriffskontrollliste 408, eine Dokumentart 410 und optional zusätzliche Informationen. In manchen Ausführungsformen identifiziert die Dokument-ID 406 eindeutig ein entsprechendes Dokument 402. In anderen Ausführungsformen identifiziert eine Dokument-ID 406 eindeutig ein entsprechendes Dokument 402 in einem Verzeichnis (beispielsweise einem Dateiverzeichnis) oder einer anderen Dokumentensammlung innerhalb der Datenbank 120. Die Dokumentart 410 identifiziert die Art des Dokuments 402-2. In einem nicht einschränkenden Beispiel gibt die Dokumentart 410 für ein entsprechendes Dokument 402 in Datenbank 120 an, dass das entsprechende Dokument 402 ein Textverarbeitungsdokument, ein Kalkulationsblattdokument, ein Präsentationsdokument, eine Zeichnung oder eine Webseite ist.
  • Mindestens eine Vielzahl der Dokumente 402 in einer Chat-/Dokumentdatenbank 120 sind kollaborative Dokumente, die von mehreren Benutzern bearbeitet wurden, oder über Zugriffsrechte verfügen, die eine Bearbeitung durch mehrere Benutzer ermöglichen. In manchen Implementierungen ist ein entsprechendes Dokument 402 in einer Datenbank 120 ein Dokument aus einem vordefiniertem Satz von Dokumentarten, wie etwa Textverarbeitungsdokumente, Kalkulationsblattdokumente, Präsentationsdokumente, Zeichnungen oder Webseiten. In anderen Implementierungen beinhaltet der Satz von Dokumentarten andere Dokumentarten (beispielsweise C++ Programme) und optional keine der vorgenannten Dokumentarten (beispielsweise Webseiten). Der Dokumentinhalt 414 für ein bestimmtes Dokument 402 entspricht der Dokumentart 410 des Dokuments.
  • Die Zugriffskontrollliste 408 beinhaltet eine Liste von Benutzern und deren jeweilige Zugriffsrechte für ein entsprechendes Dokument 402-2. Die Zugriffsrechte eines Benutzers in Hinblick auf ein Dokument 402 legt fest, welche Handlungen der Benutzer in Hinblick auf das Dokument 402 ausführen kann. Dokumentzugriffsrechte umfassen Lesezugriff, Lese-/Schreibzugriff und Freigaberechte. Ein Benutzer mit Lesezugriff auf ein Dokument 402 kann das Dokument 402 einsehen, aber keine Modifikationen an dem Dokument 402 vornehmen. Ein Benutzer mit Lese-/Schreibzugriff auf ein Dokument 402 kann das Dokument 402 sowohl einsehen, als auch bearbeiten. Freigaberechte legen fest, ob ein Benutzer andere Benutzer zum Zugriff auf das Dokument 402 einladen kann und welche Zugriffsrechte dem eingeladenen Benutzer zugewiesen werden können. In einem nicht einschränkenden Beispiel kann ein Benutzer mit Freigaberechten einen anderen Benutzer zu einem Dokument einladen und diesem Benutzer Lesezugriffrechte gewähren. Ein Benutzer, der in der Zugriffskontrollliste 408 für ein jeweiliges Dokument 402 nicht aufgeführt ist, kann nicht auf das Dokument 402 zugreifen. In manchen Ausführungsformen werden Benutzer vom Inline-Adressierungsmodul 114 oder dem Chat-/Dokumentmodul 130 der Zugriffskontrollliste 408 hinzugefügt.
  • In manchen Ausführungsformen umfassen Metadaten 404 zugeordnete Chat-ID(s) 412 für einen oder mehrere Chats 422, die dem jeweiligen Dokument 402-2 zugeordnet sind. Das Dokument 402-2 könnte beispielsweise zumindest teilweise in einer Chat + Dokumentbearbeitung Sitzung bearbeitet worden sein.
  • Es wird nun auf 4B verwiesen, die die Chat-Datenstrukturen 422 gemäß mancher Ausführungsformen veranschaulicht, die hierin manchmal als Chateinträge 422 bezeichnet und in der Chat-/Dokumentdatenbank 120 zur Speicherung von Informationen im Zusammenhang mit Chat/IM Sitzungen gespeichert werden. Jeder Chateintrag 422 speichert Informationen im Zusammenhang mit einer Chatsitzung oder einer IM-Sitzung zwischen zwei oder mehreren Benutzern. Jeder Chateintrag 422 umfasst eine Chat-ID 424, eine Zugriffskontrollliste 426 und Chatinhalt 430. Die Chat-ID 424 eines entsprechenden Chateintrags 422 identifiziert eindeutig eine Chatsitzung. Der Chatinhalt 430 umfasst die Kommunikationen/den Chatverlauf (beispielsweise Text, Stimmkommunikationen, Video und Bilder) zwischen den Teilnehmern an dem Chat entsprechend dem Chateintrag 422. Ein entsprechender Chateintrag 422 speichert Informationen für eine aktive oder inaktive Chatsitzung. In manchen Ausführungsformen ist eine inaktive Chatsitzung eine Chatsitzung, die beendet wurde oder bei der es zu einer Zeitüberschreitung kam (beispielsweise keine Kommunikationen für 30 Minuten). In manchen Ausführungsformen ist eine aktive Chatsitzung eine Chatsitzung, die nicht beendet wurde oder bei der es zu keiner Zeitüberschreitung kam. Eine inaktive Chatsitzung kann zu einer aktiven Chatsitzung werden und umgekehrt.
  • Die Zugriffskontrollliste 426 beinhaltet eine Liste von Benutzern und deren Zugriffsrechte in Hinblick auf einen Chateintrag 422. Falls der Chateintrag 422 einer inaktiven Chatsitzung entspricht, legen die Zugriffsrechte eines entsprechenden Benutzers fest, ob der entsprechende Benutzer auf den Chatinhalt 430, der den Chatverlauf einer Chatsitzung enthält, zugreifen kann. Falls der Chateintrag 422 einer aktiven Chatsitzung entspricht, legen die Zugriffsrechte eines entsprechenden Benutzers fest, ob der entsprechende Benutzer der Chatsitzung beitreten und an ihr teilnehmen kann. Typischerweise kann ein Benutzer, der nicht auf der Zugriffskontrollliste 426 aufgeführt ist, der entsprechenden Chatsitzung nicht beitreten. Ebenso kann ein Benutzer, der nicht auf der Zugriffskontrollliste 426 für einen entsprechenden inaktiven Chat aufgeführt ist, typischerweise nicht auf den entsprechenden Chatinhalt 430 im Chateintrag 422 für den inaktiven Chat zugreifen. In beiden Situationen erhält ein Benutzer Zugriff auf die Chatsitzung oder den Chatverlauf, wenn und sofern der Benutzer der entsprechenden Zugriffskontrollliste 426 hinzugefügt wird. In manchen Ausführungsformen werden Benutzer vom Inline-Adressierungsmodul 114 oder dem Chat-/Dokumentmodul 130 der Zugriffskontrollliste 408 hinzugefügt und ihnen werden von diesen Zugriffsrechte zugewiesen.
  • In manchen Ausführungsformen enthält ein entsprechender Chateintrag 422-2 eine oder mehrere zugeordnete Dokument-IDs 428 für ein oder mehrere Dokument(e), die dem Chateintrag 422-2 zugeordnet sind. Chateintrag 422-2 kann beispielsweise einer Chat + Dokumentbearbeitungssitzung entsprechen.
  • Es wird nun auf das Flussdiagramm in 5 verwiesen, das einen Prozess 500 zur Einladung eines Benutzers zu einer Chatsitzung unter Verwendung von Inline-Benutzeradressierung gemäß manchen Ausführungsformen veranschaulicht. An einem Client 102-1 eines Chatteilnehmers wird in einer Chatsitzung Chatinhalt von dem Chatteilnehmer empfangen. (502) Der Chatinhalt kann eine beliebige Kombination aus Text, Stimmkommunikationen, Video und Bildern umfassen. In manchen Ausführungsformen findet die Chatsitzung 704, wie in 7B gezeigt, zusammen mit einer Dokumentbearbeitungssitzung 712 statt. Chatinhalt wird beispielsweise vom Client 102-1 eines Chatteilnehmers an das Serversystem 106 gesendet. (504) Am Serversystem 106 wird der Chatinhalt von einem Chatteilnehmer von dem Client 102-1 des Chatteilnehmers empfangen. (506) In diesem Beispiel nehmen wir an, dass der Chatinhalt von dem Chatteilnehmer eine eingebettete Anforderung, die im Chatinhalt eingebettet ist, zur Einladung eines bestimmten Benutzers zum Beitritt zur Chatsitzung enthält. Die eingebettete Anforderung wird innerhalb des Chatinhalts entdeckt. (508) 7A zeigt ein Beispiel einer eingebetteten Anforderung 702 innerhalb des Chatinhalts 708. Das Serversystem 106 sendet als Reaktion auf die Entdeckung der eingebetteten Anforderung eine Chateinladung an den Client 102-2 des bestimmten Benutzers. (510) Der Client 102-2 des bestimmten Benutzers empfängt die Einladung. (512)
  • Die Einladung wird, je nachdem, ob der Benutzer eine Anwendung verwendet, die mit dem Serversystem 106 verbunden ist und welche Anwendungsfenster auf dem Bildschirm des Benutzers aktiv oder inaktiv sind, auf mehrere verschiedene Weisen an den bestimmten Benutzer gesendet. Wenn zum Beispiel, wie in 8A gezeigt, der eingeladene Benutzer in einer Chatanwendung, die mit dem Serversystem 106 verbunden ist, angemeldet ist, empfängt der eingeladene Benutzer eine Chatmitteilung 800 oder es wird automatisch ein Chatfenster 802 auf dem Bildschirm des Benutzers geöffnet. In manchen Ausführungsformen empfängt der bestimmte Benutzer die Einladung über ein aktives Fenster einer Anwendung, die mit dem Serversystem 106 verbunden ist. In einem nicht einschränkendem Beispiel, wie in 8B und 8C gezeigt, empfängt der eingeladene Benutzer die Einladung 810 über ein aktives Fenster 812 einer E-Mail-Anwendung. In manchen Ausführungsformen wird der bestimmte Benutzer über ein inaktives Fenster einer Anwendung, die mit dem Serversystem 106 verbunden ist, über die Einladung benachrichtigt oder er erhält die Einladung darüber. Der bestimmte Benutzer empfängt beispielsweise, wie in 8D gezeigt, die Einladung 810 über ein inaktives Webbrowser-Tab 811. In manchen Ausführungsformen zeigt das inaktive Webbrowser-Tab 811 eine Benachrichtigung über die Einladung an und wenn der Benutzer das inaktive Fenster auswählt (beispielsweise das inaktive Webbrowser-Tab 811 der 8D), wird die Einladung in dem jetzt aktiven Fenster angezeigt, wie in den in 8A, 8B und 8C gezeigten Beispielen.
  • In manchen Ausführungsformen wird die Einladung in einer E-Mail-Nachricht oder SMS-Nachricht an den bestimmten Benutzer gesendet. Falls es beispielsweise für den bestimmten Benutzer, an den eine Einladung gerichtet ist, kein(e) aktive(s) oder inaktive(s) Anwendung oder Fenster, das bzw. die mit dem Serversystem 106 verbunden ist, gibt, wird die Einladung in einer E-Mail-Nachricht oder SMS-Nachricht gesendet.
  • Es wird nun auf 6 verwiesen, die ein Flussdiagramm ist, das einen Prozess 600 der Einladung eines Benutzers zu einer Dokumentbearbeitungssitzung durch die Verwendung der Inline-Benutzeradressierung gemäß manchen Ausführungsformen veranschaulicht. An der Clientvorrichtung 102-1 eines Dokumentbearbeitungsteilnehmers (der der Prozess der Erzeugung und/oder Bearbeitung eines Dokuments ist) werden Dokumentbearbeitungsbefehle von dem Teilnehmer an einer Dokumentbearbeitungssitzung an das Serversystem 106 gesendet. In manchen Ausführungsformen beinhalten die Dokumentbearbeitungsbefehle eines oder mehrere von: Text, Zeichnungen, Bildern, Video und Töne und Änderungen von Text, Zeichnungen, Tönen und Bildern. Optional beinhalten die Dokumentbearbeitungsbefehle zwei oder mehrere von: Text, Zeichnungen, Bildern, Video und Töne und Änderungen von Text, Zeichnungen, Tönen und Bildern.
  • In manchen Ausführungsformen wird Chatinhalt einer Chatsitzung in Verbindung mit der Dokumentbearbeitungssitzung an das Serversystem 106 gesendet. Am Serversystem 106 werden die Dokumentbearbeitungsbefehle von einem oder mehreren Benutzern einer Dokumentbearbeitungssitzung empfangen. (604) Der eine oder die mehreren Benutzer, von denen die Bearbeitungsbefehle empfangen werden, ist bzw. sind Benutzer, die autorisiert sind, ein entsprechendes Dokument der Dokumentbearbeitungssitzung zu bearbeiten. (604) Das Serversystem 106 führt Befehle aus, die von dem einen oder den mehreren Benutzern empfangen werden und aktualisiert das entsprechende Dokument. (606) Die empfangenen Bearbeitungsbefehle beinhalten Dokumententext, wie etwa Dokumententext, der zum Dokument hinzugefügt wurde, Dokumententext, der aus dem Dokument entfernt wurde, und/oder Dokumententext, der durch die Bearbeitungsbefehle überarbeitet wird. (606) Das Serversystem 106 entdeckt, innerhalb des jeweiligen Dokumenttexts, eine eingebettete Anforderung zur Einladung eines bestimmten Benutzers zum Zugriff auf das jeweilige Dokument. (608) Die eingebettete Anforderung 714 befindet sich beispielsweise, wie in 7C gezeigt, innerhalb des Dokumentinhalts 716. Genauer gesagt befindet sich die eingebettete Anforderung 714 in diesem Beispiel in dem Kommentartext (im Dokumentinhalt), der dem Dokument durch Bearbeitungsbefehle (beispielsweise ein „Kommentar hinzufügen“ oder „Kommentar bearbeiten“ Befehl) hinzugefügt wurde. Anders ausgedrückt, der Dokumenttext in den empfangenen Befehlen beinhaltet Kommentartext, der einem Kommentar in dem Dokument hinzugefügt wird, und der Kommentartext beinhaltet die eingebettete Anforderung. Das Serversystem 106 fügt als Reaktion auf die Entdeckung der eingebetteten Anforderung den bestimmten Benutzer der Zugriffskontrollliste des jeweiligen Dokuments hinzu. (610) Das Serversystem 106 sendet als Reaktion auf die Entdeckung der eingebetteten Anforderung außerdem eine Einladung an den bestimmten Benutzer. (612) Der Client 102-2 des bestimmten Benutzers empfängt die Einladung vom Serversystem 106. (614) Die Einladung wird dem bestimmten Benutzer auf ähnliche Weise gesendet, wie im Zusammenhang mit 5 besprochen.
  • Inline-Benutzeradressierung in einer Chatsitzung
  • Wie vorstehend besprochen, bedarf es bei der Einführung eines neuen Benutzers in den Konversationsfluss einer Chatsitzung typischerweise mehrerer Schritte. Die hierin beschriebenen Verfahren unter Verwendung von Inline-Benutzeradressierung machen es einfacher, einen neuen Benutzer in den Konversationsfluss einer Chatsitzung einzuführen. Um einen bestimmten Benutzer unter Verwendung von Inline-Benutzeradressierung zu einer Chatsitzung einzuladen gibt der einladende Benutzer eine eingebettete Anforderung in den Inhalt der Chatsitzung ein. Das Einladen eines Benutzers zu einer Chatsitzung durch Eingabe einer eingebetteten Anforderung in den Chatinhalt ist für den einladenden Benutzer komfortabel, da der einladende Benutzer die Chatsitzung nicht verlassen und auch keine Menüs oder Menüoptionen, die der Chatsitzung zugeordnet sind, verwenden muss. Da sich die eingebettete Anforderung innerhalb des Chatinhalts befindet, werden außerdem die anderen Chatteilnehmer darüber benachrichtigt, dass der Benutzer zu der Chatsitzung eingeladen wurde. Die eingebettete Anforderung unterscheidet außerdem für den eingeladenen Benutzer den Teil des Chatinhalts, der für den eingeladenen Benutzer relevant ist. Nach Beitritt zur Chatsitzung kann der eingeladene Benutzer den Teil des Chatinhalts lesen, der die eingebettete Anforderung enthält, um ein Verständnis dafür zu gewinnen, warum der Benutzer zu der Chatsitzung eingeladen wurde. Weiterhin kann die an den eingeladenen Benutzer gesendete Chateinladung Teile des Chatinhalts enthalten, die dem eingeladenen Benutzer helfen zu verstehen, warum er oder sie zu der Chatsitzung eingeladen wurde. Als Folge dessen müssen Chatteilnehmer keine Zeit darauf aufwenden, Teile der Chatunterhaltung dem eingeladenen Benutzer gegenüber zu wiederholen oder zusammenzufassen bevor sie den eingeladenen Benutzer das fragen können, für was auch immer der eingeladene Benutzer eingeladen wurde.
  • 9A, 9B und 9C sind Flussdiagramme, die ein Verfahren 900 zur Einladung eines Benutzers zu einer Chatsitzung unter Verwendung von Inline-Adressierung gemäß mancher Ausführungsformen veranschaulichen. Verfahren 900 wird am Serversystem 106 durchgeführt.
  • Es wird nun auf 9A verwiesen, die das Verfahren 900 der Einladung eines Benutzers zu einem Chat unter Verwendung von Inline-Adressierung gemäß mancher Ausführungsformen veranschaulicht. Chatinhalt von Teilnehmern in einer Chatsitzung wird empfangen. (902) Der Chatinhalt beinhaltet eine beliebige Kombination aus Text, Audioinhalt, Videoinhalt, Zeichnungen und Bildern. Der Chatinhalt wird von einer oder mehreren Clientvorrichtung(en) 102, die mit dem Serversystem 106 verbunden ist bzw. sind, empfangen. Der Chatinhalt wird in einer Chat-Datenstruktur 422 in der Chat-/Dokumentdatenbank 120 gespeichert.
  • Eine eingebettete Anforderung zur Einladung eines bestimmten Benutzers zum Beitritt zu der Chatsitzung wird innerhalb des Chatinhalts entdeckt. (904) In manchen Ausführungsformen wird die eingebettete Anforderung von dem Inline-Adressierungsmodul 114 im Serversystem 106 entdeckt. In manchen Ausführungsformen beinhaltet die eingebettete Anforderung ein vordefiniertes Symbol gefolgt von einer Benutzerkennung des bestimmten Benutzers. (912) In einem nicht einschränkenden Beispiel beinhaltet die eingebettete Anforderung 702, wie in 7A gezeigt, ein vordefiniertes Symbol 701 (beispielsweise „@“) gefolgt von einer Benutzerkennung 703 (beispielsweise „Manny“). Das vordefinierte Symbol kann ein oder mehrere Symbol(e), ein oder mehrere Buchstabe(n), eine oder mehrere Zahl(en), ein oder mehrere Icons oder eine Kombination davon sein. Die Benutzerkennung des bestimmten Benutzers können beliebige Kontaktdaten sein, die für den bestimmten Benutzer in dem Adressbuch eines jeweiligen Chatteilnehmers gespeichert sind. Die Adressbücher sind in der Adressbuchdatenbank 118 gespeichert. In manchen Ausführungsformen wird die Benutzerkennung aus einer Gruppe, die aus Namen, Chat-Benutzernamen, Spitznamen, E-Mail-Adressen, E-Mail-Benutzernamen (ein E-Mail-Benutzername ist der Teil einer E-Mail-Adresse, der dem At-Zeichen vorausgeht) und Telefonnummern besteht. Wie vorstehend erwähnt ist die Einladung eines Benutzers zu einer Chatsitzung durch Eingabe einer eingebetteten Anforderung in die Chatsitzung für die Einladung des Benutzers komfortabel, da der einladende Benutzer das Chatfenster der Chatsitzung nicht verlassen muss und keine Sequenz von Menüs oder Menüoptionen, die der Chatsitzung zugeordnet sind, verwenden muss. Da sich die eingebettete Anforderung innerhalb des Chatinhalts befindet, werden außerdem die anderen Chatteilnehmer darüber benachrichtigt, dass der bestimmte Benutzer zu der Chatsitzung eingeladen wurde.
  • In manchen Ausführungsformen umfasst das Entdecken der eingebetteten Anforderung (904) das Entdecken eines vordefinierten Symbols in dem Chatinhalt gefolgt von einem oder mehreren Zeichen, die nach dem vordefinierten Symbol eingegeben werden, und auf Grundlage des einen oder der mehreren Zeichen, die nach dem vordefinierten Symbol eingegeben werden, das Identifizieren eines oder mehrerer Kontaktvorschläge, und das Senden der einen oder mehreren Kontaktvorschläge an den Client. (906) In manchen Ausführungsformen werden die Kontaktvorschläge von einem Adressbuch des jeweiligen Teilnehmers erhalten. (906) In manchen Implementierungen ist jeder Kontaktvorschlag das Resultat des Abgleichs eines oder mehrerer Zeichen, die nach dem vordefinierten Symbol eingegeben wurden, mit Kontaktinformationen für einen jeweiligen Kontakt, die in dem Adressbuch des jeweiligen Chatteilnehmers gespeichert sind. Optional werden das eine oder die mehreren Zeichen nach dem vordefinierten Symbol mit Informationen in einem beliebigen Feld (beispielsweise Vorname, Nachname, Benutzername, Postanschrift oder einen Teil der Postanschrift (beispielsweise Hausnummer, Straße, Stadt, Staat, Postleitzahl usw.), Telefonnummer, Firmenname, Positionsbezeichnung, Textinhalten in anderen Feldern) eines entsprechenden Kontakteintrags in dem Adressbuch des jeweiligen Chatteilnehmers abgeglichen.
  • In manchen Ausführungsformen werden bei Empfang jedes aufeinanderfolgenden Zeichens des einen oder der mehreren Zeichen nach dem vordefinierten Symbol die Vorgänge des Identifizierens von einem oder mehreren Kontaktvorschlägen und das Senden von Kontaktvorschlägen an den Client wiederholt. (908) Anders ausgedrückt, nachdem das vordefinierte Symbol vom Inline-Adressierungsmodul 114 empfangen wird, sendet das Inline-Adressierungsmodul 114 wiederholt neue Benutzerkennungsvorschläge an den Client 102 des Chatteilnehmers nachdem jedes aufeinander folgende Zeichen empfangen wurde bis der Chatteilnehmer entweder einen Vorschlag auswählt oder die Benutzerkennungsdaten vollständig eingegeben hat. Kontaktvorschläge werden an den Client 102 des Chatteilnehmers gesendet, um den Chatteilnehmer bei der Eingabe einer eingebetteten Anforderung zu unterstützen. In manchen Ausführungsformen ermittelt das Inline-Adressierungsmodul 114 die Kontaktvorschläge als Reaktion auf die Entdeckung des vordefinierten Symbols und eines oder mehrerer Zeichen, die nach dem vordefinierten Symbol eingegeben wurden.
  • In manchen Ausführungsformen wird die eingebettete Anforderung in der Chatsitzung visuell unterschieden. In manchen Ausführungsformen fügt das Inline-Adressierungsmodul 114 als Reaktion auf die Entdeckung der eingebetteten Anforderung im Chatinhalt, der von einem jeweiligen Teilnehmer eingegeben wurde, dem Chatinhalt Darstellungsanweisungen hinzu, die die eingebettete Anforderung visuell unterscheiden, und es sendet dann den Chatinhalt an die anderen Chatteilnehmer der Chatsitzung zur Darstellung. In manchen Ausführungsformen lässt sich die eingebettete Anforderung und eine vordefinierte Menge des Chatinhalts vor und/oder nach der eingebetteten Anforderung visuell unterscheiden. In manchen Ausführungsformen wird die eingebettete Anforderung und/oder die vordefinierte Menge des Chatinhalts vor und/oder nach der eingebetteten Anforderung visuell durch Halten, Unterstreichen, Kursivstellung, Änderung des Fontstils, Hinzufügen eines grafischen Indikators, Blinken/Aufleuchten, Fonteffekte (beispielsweise Schatten, Umrisse, Relief, Gravur), Markierung oder eine Kombination davon unterschieden. Das vordefinierte Symbol, die Benutzerkennung und eine vordefinierte Menge Text vor und/oder nach dem vordefinierten Symbol können jeweils individuell unterschieden werden. Mit anderen Worten, das vordefinierte Symbol, die Benutzerkennung und die vordefinierte Menge Text können jeweils auf unterschiedliche Weisen visuell unterschieden werden. In einem nicht einschränkendem Beispiel in 7A wird die eingebettete Anforderung 702 „Lassen Sie uns @Manny nach Pizzerien fragen.“ visuell durch Fettschrift unterschieden. In einem nicht einschränkendem Beispiel kann dem vordefinierten Symbol die Farbe Rot zugewiesen werden, die Benutzerkennung kann unterstrichen werden und eine vordefinierte Menge Chatinhalt vor und/oder nach dem vordefinierten Symbol wird gelb markiert. Das visuelle Unterscheiden der eingebetteten Anforderung macht die anderen Teilnehmer an der Chatsitzung darauf aufmerksam, dass ein bestimmter Benutzer in die Chatsitzung eingeladen wurde. In manchen Ausführungsformen wird die eingebettete Anforderung nur für den einladenden Benutzer visuell unterschieden. In manchen anderen Ausführungsformen wird die eingebettete Anforderung für alle Chatteilnehmer visuell unterschieden. Optional werden Anweisungen zum visuellen Unterscheiden der eingebetteten Anforderung und/oder von zusätzlichem Chatinhalt mit dem Chatinhalt in der Chat-/Dokumentdatenbank 120 gespeichert. Als Folge dessen sieht ein Benutzer, der den Chatinhalt einer aktiven oder inaktiven Chatsitzung betrachtet, dass die eingebettete Anforderung visuell unterschieden ist.
  • In manchen Ausführungsformen fügt das Inline-Adressierungsmodul 114 als Reaktion auf die Entdeckung der eingebetteten Anforderung den von der eingebetteten Anforderung festgelegten Benutzer der Zugriffskontrollliste (beispielsweise der Zugriffskontrollliste 426) der jeweiligen Chatsitzung (beispielsweise Chat 422), zu der der bestimmte Benutzer eingeladen ist, hinzu. Der bestimmte Benutzer hat jetzt zumindest Zugriffsrechte zum Beitritt zur Chatsitzung. In manchen Ausführungsformen wird der bestimmte Benutzer der Zugriffskontrollliste der jeweiligen Chatsitzung hinzugefügt bevor die der eingebetteten Anforderung entsprechende Einladung erzeugt wird. Alternativ wird der bestimmte Benutzer der Zugriffskontrollliste der jeweiligen Chatsitzung als Reaktion auf die Annahme der Einladung durch den bestimmten Benutzer hinzugefügt.
  • In manchen Ausführungsformen wird der bestimmte Benutzer der Zugriffskontrollliste eines Dokuments oder mehrerer Dokumente, das bzw. die der Chatsitzung zugeordnet ist bzw. sind, zu der bzw. denen der bestimmte Benutzer eingeladen ist, hinzugefügt. Typischerweise sind die dem bestimmten Benutzer zugewiesenen Zugriffsrechte nicht weitreichender als das Zugriffsrecht des Benutzers, der die Einladung anfordert. Wenn also der Benutzer, der die Einladung anfordert, nur Lesezugriff auf das Dokument, das einer Chatsitzung zugeordnet ist, hat, wird dem Benutzer, der in der Anforderung festgelegt ist, ebenfalls Lesezugriff zugewiesen und ihm wird nicht Lese-/Schreibzugriff auf das Dokument gewährt, sofern der bestimmte Benutzer vor Erhalt der Einladung nicht bereits über Lese-/Schreibzugriff für das Dokument verfügt.
  • In manchen Implementierungen kann die ACL eines Dokuments so konfiguriert werden, dass Nichtverantwortliche, wie Bearbeiter oder Betrachter, davon abgehalten werden, andere Personen zu der ACL des Dokuments hinzuzufügen. In solchen Implementierungen ergreift das Dokumentverwaltungssystem oder der Dokumentbearbeiter Abhilfemaßnahmen, wenn ein Nichtverantwortlicher versucht eine Anforderung zur Einladung zu einem Dokument oder in eine dem Dokument zugeordnete Chatsitzung einzubetten. In einem Beispiel besteht die Abhilfemaßnahme daraus, dem Nichtverantwortlichen eine Warnung anzuzeigen, dass er nicht über ausreichende Rechte verfügt, um eine Einladung zur Bearbeitung oder zum Einsehen des Dokuments zu senden. In einem anderen Beispiel ist das automatische Eintragen der Benutzerkennung (siehe Vorgang 1012, 10A), die auf das vordefinierte Symbol folgt, deaktiviert, wodurch der Nichtverantwortliche davon abgehalten wird, zu versuchen, eine vollständige Anforderung einzugeben. Alternativ wird, in noch einem weiteren Beispiel, eine Anforderung von einem Nichtverantwortlichem an einen Verantwortlichen für das Dokument weitergeleitet, um festzustellen, ob dieser dem bestimmten Benutzer eine Einladung senden möchte.
  • Optional kann in manchen Implementierungen ein Benutzer (beispielsweise ein Dokumentverantwortlicher oder Mitverantwortlicher) mit dem Recht, anderen Benutzern Lese- oder Schreibzugriff auf ein Dokument zu gewähren, eine Ebene von Zugriffsrechten in der eingebetteten Anforderung zur Einladung festlegen, indem er ein vordefiniertes Zugriffsparameter, wie etwa RW (Gewährung von Lese-/Schreibzugriff) oder RO (Gewährung von Lesezugriff), in die eingebettete Anforderung mit aufnimmt. In noch einer weiteren Implementierung (siehe schematischen Screenshot in 7D) wird, wenn die Funktion zum automatischen Ausfüllen des Inline-Adressierungsmoduls 114 eine Liste 722 der Benutzerkennungen oder Benutzernamen, die einer teilweise eingegebenen Benutzerkennung oder einem teilweise eingegebenen Benutzernamen entsprechen, zur Vorlage in einer Benutzerschnittstelle der Clientvorrichtung an die Clientvorrichtung des Benutzers sendet, neben jedem Namen in der Liste 722 eine Gewährung 724 präsentiert werden, die, wenn sie ausgewählt wird, einen Dialog (nicht gezeigt) präsentiert, der es dem Benutzer erlaubt, den Grad des Dokumentzugriffs (beispielsweise Lese- oder Lese-/Schreibzugriff), der dem bestimmten Benutzer gewährt werden soll, auszuwählen. Alternativ wird die Gewährung 724 nur angezeigt, wenn der Benutzer eine entsprechende Benutzerkennung oder einen entsprechenden Benutzernamen in der List 722 auswählt oder alternativ hierzu einen Cursor (nicht gezeigt) darüber schweben lässt oder „rechtsklickt“ oder anderweitig Bezug darauf nimmt.
  • Es wird nun auf 9B verwiesen. In manchen Ausführungsformen wird eine der eingebetteten Anforderung entsprechende Einladung von dem Inline-Adressierungsmodul 114 als Reaktion auf die Entdeckung der eingebetteten Anforderung erzeugt. Eine Einladung wird dem bestimmten Benutzer als Reaktion auf die Entdeckung der eingebetteten Anforderung gesendet. (910) In manchen Ausführungsformen beinhaltet die Einladung einen Link mit einem Befehl oder Positionsparameter, der bzw. das einen Teil der Chatsitzung festlegt, der anfänglich durch den Client des bestimmten Benutzers angezeigt oder von diesem präsentiert wird (beispielsweise in einer Anwendung am Client, die dem bestimmten Benutzer zugeordnet ist), wenn der Link von dem bestimmten Benutzer ausgewählt oder aktiviert wird. (916) In manchen Ausführungsformen öffnet sich, wenn der Link von dem bestimmten Benutzer ausgewählt wird, ein neues Chatfenster am Client 102, der von dem bestimmten Benutzer verwendet wird, und der bestimmte Benutzer tritt der Chatsitzung bei. Optional enthält das neue Chatfenster eine vordefinierte Menge Chatinhalt/Chatverlauf. In manchen Ausführungsformen enthält die vordefinierte Menge Chatinhalt/Chatgeschichte die eingebettete Anforderung. Der in dem neuen Chatfenster am Client des bestimmten Benutzers dargestellte Chatinhalt/Chatverlauf entspricht dem Inhalt des Chats, der stattgefunden hat bevor der bestimmte Benutzer der Chatsitzung beigetreten ist. In manchen Ausführungsformen enthält der Link Anweisungen zur Navigation der Chatanwendung des bestimmten Benutzers zu dem Teil des Chatinhalts, der die eingebettete Anforderung enthält.
  • Ein Beispiel für einen Einladungslink ist
    <a href=www.docserver123.com/inline?ci=ChatID&loc=CLocID>Invite Text</a> Wobei www.docserver123.com/inline den Server und Dienst identifiziert, „ChatID“ den Chat identifiziert, zu dem der bestimmte Benutzer eingeladen wird, „CLocID“ eine Position innerhalb des Chatinhalts des ChatID Chats identifiziert, der bei Benutzeraktivierung des Links angezeigt wird, und „Invite Text“ der Text der Einladung ist, beispielsweise einschließlich des Teils der Chatsitzung, die dem bestimmten Benutzer angezeigt werden soll. Optional enthält der Einladungslink, in Implementierungen, in denen die Chatsitzung einer Dokumentbearbeitungssitzung zugeordnet ist, eine Dokumentkennung und ein Dokumentpositionsparameter oder einen Befehl, durch den ein Dokument festgelegt wird, das dem bestimmten Benutzer bei Aktivierung des Einladungslinks angezeigt wird, und eine Position innerhalb des Dokuments oder einen Teil des Dokuments, die bzw. der anfangs nach Aktivierung des Einladungslinks angezeigt wird.
  • In manchen Implementierungen enthält die Einladung weiterhin Chattext. (917) In einem nicht einschränkendem Beispiel, wie in 7A gezeigt, ist der Chattext „Lassen Sie uns“ und „nach Pizzerien fragen“ in der Einladung enthalten. In manchen Ausführungsformen ist eine vordefinierte Menge des Chatinhalts vor und/oder nach der eingebetteten Anforderung in der Einladung enthalten. Es sind beispielsweise einige Absätze/Sätze/Wörter vor und/oder nach der eingebetteten Anforderung in der Einladung enthalten. Es ist anzumerken, dass Chatinhalt nach der eingebetteten Anforderung in einer Einladung enthalten sein kann, wenn die Einladung beispielsweise nach einer anfänglichen Übertragung der Einladung, die nicht zur Annahme der Einladung führt, erneut gesendet wird. In einem anderen Beispiel wird die Übertragung der Einladung, wenn Inhalt unmittelbar vor und während der Erstellung der eingebetteten Anforderung sehr schnell zum Chat beigetragen wird (beispielsweise mit einer Geschwindigkeit, die eine vordefinierte Schwelle T überschreitet), verzögert, bis es in der Chatsitzung entweder zu einer Pause für mindestens einen vordefinierten Zeitraum kommt (beispielsweise eine Pause, die länger als 5 Sekunden dauert) oder die Menge des Chatinhalts nach der eingebetteten Anforderung eine vordefinierte Schwelle überschreitet (beispielsweise 50 oder 100 Zeichen). Der Chattext, wenn er in einer Einladung an den bestimmten Benutzer enthalten ist, hilft dem bestimmten Benutzer/eingeladenen Benutzer zu verstehen, warum er oder sie zu der Chatsitzung eingeladen wurde.
  • In manchen Ausführungsformen umfasst die Einladung an den bestimmten Benutzer, wenn der bestimmte Benutzer online ist, das Senden der Einladung über einen Onlinekanal, der einem der folgenden entspricht: ein aktives Fenster einer Anwendung, die der Chatsitzung entspricht, ein inaktives Fenster der Chatanwendung und eine andere Online-Applikation als die Applikation, die der Chatsitzung entspricht. (918) Wie in 8A gezeigt, erhält der bestimmte Benutzer, wenn der bestimmte/eingeladene Benutzer in einer Chatmitteilung angemeldet ist (beispielsweise Chatanwendung 122 oder Webseite mit Chatanwendung 230), die mit dem Serversystem 106 verbunden ist, eine Chatmitteilung 800 oder es erscheint automatisch ein Chatfenster 802 auf der Chatanwendung des Benutzers. In manchen Ausführungsformen ist die Chatanwendung (beispielsweise Chatanwendung 122 oder Webseite mit Chatanwendung 230) in eine andere Anwendung integriert, wie etwa einer Dokumentbearbeitungsanwendung (beispielsweise Dokumentbearbeitungsanwendung 124 oder Webseite mit Dokumentbearbeitungsanwendung 232) oder E-Mail-Anwendung.
  • Falls der bestimmte Benutzer nicht in einer Chatanmeldung angemeldet ist, kann der bestimmte Benutzer die Einladung über ein aktives oder inaktives Fenster einer anderen Anwendung (beispielsweise Browser 128), die mit dem Serversystem 106 verbunden ist, erhalten. In einem nicht einschränkendem Beispiel, wie in 8B und 8C gezeigt, empfängt der bestimmte Benutzer die Einladung 810 über ein aktives Fenster 812 einer E-Mail-Anwendung. In einem anderen Beispiel empfängt der bestimmte Benutzer, wie in 8D gezeigt, die Einladung 810 über ein inaktives Webbrowser-Tab 811. In manchen Ausführungsformen zeigt das inaktive Webbrowser-Tab 811 eine Benachrichtigung über die Einladung an und wenn der bestimmte Benutzer das inaktive Fenster auswählt (beispielsweise das inaktive Webbrowser-Tab 811 der 8D), wird die Einladung irgendwo in dem jetzt aktiven Fenster angezeigt.
  • In manchen Ausführungsformen wird die Einladung in einer E-Mail-Nachricht oder SMS-Nachricht an den bestimmten Benutzer gesendet. In manchen Implementierungen wird die Einladung nur in einer E-Mail-Nachricht oder SMS gesendet, wenn der bestimmte Benutzer derzeit keine Anwendung, die mit dem Serversystem 106 verbunden ist, verwendet (d. h. keine ständige Verbindung oder Verbindung in Echtzeit besteht). Mit anderen Worten, wie der bestimmte Benutzer die Einladung erhält hängt davon ab, ob der bestimmte Benutzer eine oder mehrere Anwendung(en) (beispielsweise 122, 124, 126, 128, 230, 232 und 234), die mit dem Serversystem 106 verbunden sind, verwendet, und welche Anwendungsfenster dieser einen oder dieser mehreren Anwendung(en) am Client des bestimmten Benutzers 102 aktiv oder inaktiv sind.
  • Als Reaktion auf die Annahme der Einladung wird mindestens ein Teil des Chatinhalts der Chatsitzung an einen dem bestimmten Benutzer zugeordneten Client gesendet. (920) In manchen Ausführungsformen wird eine vordefinierte Menge des Chatinhalts vor und/oder nach der eingebetteten Anforderung an den Client 102 gesendet. Der Chatinhalt wird typischerweise in einem Chatfenster oder einer anderen Chatbenutzerschnittstelle dargestellt oder dem bestimmten Benutzer über den Client 102 präsentiert (beispielsweise über Text-zu-Sprach-Übersetzung). Es werden beispielsweise einige Absätze/Sätze/Wörter vor und/oder nach der eingebetteten Anforderung an den Client 102 des bestimmten Benutzers gesendet. Der an den Client 102 des bestimmten Benutzers gesendete und vom Client 102 des bestimmten Benutzers dargestellte Chatinhalt hilft dem bestimmten Benutzer zu verstehen, worüber die Chatteilnehmer derzeit chatten.
  • Es wird nun auf 9C verwiesen. In manchen Ausführungsformen wird neuer Chatinhalt vom bestimmten Benutzer empfangen und der neue Chatinhalt wird an die Teilnehmer der Chatsitzung gesendet. (922) Mit anderen Worten, der bestimmte Benutzer ist ein Teilnehmer der Chatsitzung und verfügt über ausreichende Zugriffsrechte, um Chatinhalt an die anderen Teilnehmer an der Chatsitzung zu senden.
  • In manchen Ausführungsformen wird ein Dokument, das der Chatsitzung entspricht, gemäß Befehlen, die von den Teilnehmern empfangen werden, bearbeitet. (924) Mit anderen Worten, die Chatsitzung steht mit einer Dokumentbearbeitungssitzung in Verbindung, was ansonsten eine Chat + Dokument Bearbeitungssitzung genannt wird. In manchen Ausführungsformen wird die eingebettete Anforderung zum Einladen eines bestimmten Benutzers zur Chat + Dokument Bearbeitungssitzung innerhalb der Dokumentbearbeitungssitzung entdeckt. In manchen Ausführungsformen wird der bestimmte Benutzer einer Zugriffskontrollliste des Dokuments hinzugefügt, um es dem bestimmten Benutzer zu ermöglichen, auf das Dokument in Reaktion auf die Entdeckung der eingebetteten Anforderung zuzugreifen. (924) In manchen Ausführungsformen wird der bestimmte Benutzer der Zugriffskontrollliste des Dokuments und dem Chat hinzugefügt bevor die Einladung erzeugt und an den bestimmten Benutzer gesendet wird. In manchen Ausführungsformen wird die Zugriffskontrollliste des Dokuments jedoch nur modifiziert, wenn der bestimmte Benutzer nicht mit mindestens dem Zugriffsgrad, der der Einladung zugeordnet ist, bereits in der Zugriffskontrollliste aufgeführt ist. Alternativ wird der bestimmte Benutzer, falls der bestimmte Benutzer noch nicht bereits mit mindestens dem Zugriffsgrad, der der Einladung zugewiesen ist, in der Zugriffskontrollliste aufgeführt ist, der Zugriffskontrollliste des Dokuments als Reaktion auf die Annahme der Einladung durch den bestimmten Benutzer hinzugefügt. Optional werden die Vorgänge des Entdeckens der eingebetteten Anforderung, der Modifikation der Zugriffskontrollliste des Dokuments und der Erzeugung der Einladung von dem Inline-Adressierungsmodul 114 des Serversystems 106 durchgeführt.
  • In manchen Ausführungsformen ist das Dokument ein Textverarbeitungsdokument, ein Kalkulationsblattdokument, ein Präsentationsdokument, eine Zeichnung oder eine Webseite. (926) In manchen Ausführungsformen enthält die Einladung einen Link zu dem zu bearbeitenden Dokument. (930) Der Link beinhaltet einen Befehl oder Positionsparameter, die einen Teil des Dokuments festlegen, der anfangs von dem Client des bestimmten Benutzers dargestellt oder präsentiert wird, wenn der Link von dem bestimmten Benutzer ausgewählt oder aktiviert wird. (930) In manchen Ausführungsformen beinhaltet der Link eine oder mehrere Anweisung(en) zum Öffnen des Dokuments an einer Position, die dem Teil des Dokuments entspricht, der die eingebettete Anforderung enthält. Als Folge dessen, dass der bestimmte Benutzer unter Verwendung des Links auf das Dokument zugreift, sieht der bestimmte Benutzer anfänglich den Teil des Dokuments, der die eingebettete Anforderung enthält.
  • Optional sind die Anweisungen in dem Link Anweisungen, die an das Serversystem 106 gesendet werden, wenn der Link vom Benutzer ausgewählt oder anderweitig aktiviert wird. Optional sind die Anweisungen in dem Link Anweisungen, die die Dokumentbearbeitungsanwendung des bestimmten Benutzers (beispielsweise Dokumentbearbeitungsanwendung 124 oder Webseite mit Dokumentbearbeitungsanwendung 232) anweisen, das Dokument zu öffnen und darzustellen oder dem bestimmten Benutzer den Teil des Dokuments, der die eingebettete Anforderung enthält, anderweitig zu präsentieren.
  • Inline-Benutzeradressierung in einer Dokumentbearbeitungssitzung
  • Wie vorstehend besprochen, bedarf es bei der Einführung eines neuen Benutzers in eine Dokumentbearbeitungssitzung typischerweise mehrerer Schritte. Die hierin beschriebenen Verfahren unter Verwendung von Inline-Benutzeradressierung machen es einfacher, einen neuen Benutzer in eine Dokumentbearbeitungssitzung einzuführen. Um einen bestimmten Benutzer unter Verwendung von Inline-Benutzeradressierung zu einer Dokumentbearbeitungssitzung einzuladen gibt der einladende Benutzer eine eingebettete Anforderung in den Inhalt eines der Dokumentbearbeitungssitzung zugeordneten Dokuments ein. Das Einladen eines Benutzers zu einer Dokumentbearbeitungssitzung durch Eingabe einer eingebetteten Anforderung in den Dokumentinhalt ist für den einladenden Benutzer komfortabel, da der einladende Benutzer keine Menüoptionen, die der zugeordneten Dokumentbearbeitungssitzung zugeordnet sind, verwenden muss. Da sich die eingebettete Anforderung innerhalb des Dokumentinhalts befindet, werden die anderen Dokumentbearbeitungsteilnehmer außerdem darüber informiert, dass der bestimmte Benutzer zu der Dokumentbearbeitungssitzung eingeladen wurde. Die Position der eingebetteten Anforderung innerhalb des Dokuments dient außerdem als Markierung, die dafür nützlich sein kann, den bestimmten Benutzer zu dem Teil des Dokuments zu leiten, der die eingebettete Anforderung enthält. Nach dem Beitreten zu der Dokumentbearbeitungssitzung kann der bestimmte Benutzer den Teil des Dokumentinhalts lesen, der die eingebettete Anforderung enthält, um zu verstehen, warum der Benutzer zu der Dokumentbearbeitungssitzung eingeladen wurde.
  • Alternativ beinhaltet, in einer Chat + Dokument Bearbeitungssitzung, wenn die Anforderung in dem einer Dokumentbearbeitungssitzung zugeordneten Anforderung eingebettet ist, die resultierende Einladung einen Navigationsbefehl zur Präsentation des gleichen Teils des Dokuments gegenüber dem Benutzer, der von dem Benutzer, der die eingebettete Anforderung erzeugt hat, betrachtet wurde, während er die eingebettete Anforderung erzeugt hat. Falls es beispielsweise eine Cursorposition in dem Dokument gibt, die dem Benutzer, der die eingebettete Anforderung erzeugt hat, zugeordnet ist, wird die Cursorposition zusammen mit der eingebetteten Anforderung an das Serversystem 106 übertragen, was den vorstehend erwähnten entsprechenden Navigationsbefehl in der Einladung beinhaltet.
  • Optional beinhaltet die Dokumenteinladung, die an den bestimmten Benutzer gesendet wird, einen Teil des Dokumentinhalts, um dem bestimmten Benutzer zu helfen zu verstehen, warum er zu der Dokumentbearbeitungssitzung eingeladen wurde. Optional beinhaltet die Einladung einen Befehl (beispielsweise einen Navigationsbefehl) zur Positionierung oder dem Rendering des Dokuments in einer Anwendung an dem dem bestimmten Benutzer zugeordneten Client, um dem bestimmten Benutzer anfänglich den Teil des Dokuments zu präsentieren, der die eingebettete Anforderung enthält oder ihr zugeordnet ist. Als Folge dessen müssen die Dokumentbearbeitungsteilnehmer keine Zeit darauf aufwenden, den bestimmten Benutzer zum relevanten Teil des Dokuments zu leiten.
  • 10A und 10B zeigen ein Flussdiagramm eines Verfahrens 1000 zum Einladen eines Benutzers zum Beitreten zu einer Dokumentbearbeitungssitzung unter Verwendung von Inline-Adressierung gemäß manchen Ausführungsformen. Verfahren 1000 wird vom Serversystem 106 durchgeführt.
  • Es werden Dokumentbearbeitungsbefehle von einem oder mehreren Benutzer(n), die sich in einer Dokumentbearbeitungssitzung befinden, empfangen. (1002) Der eine oder die mehreren Benutzer, von denen die Bearbeitungsbefehle empfangen werden, sind befugt, ein entsprechendes Dokument der Dokumentbearbeitungssitzung zu bearbeiten. (1002) Typischerweise verfügt das Dokument über eine Zugriffskontrollliste (engl. Access Control List; ACL), die die Benutzer aufführt, die autorisiert sind, auf das Dokument zuzugreifen. Die vorgenannten Benutzer werden als „auf“ der ACL des Dokuments bezeichnet. Die Dokumentbearbeitungsbefehle werden von einer oder mehreren Clientvorrichtung(en) 102, die mit dem Serversystem 106 verbunden ist bzw. sind, empfangen. Die empfangenen Bearbeitungsbefehle beinhalten Dokumentinhalt für das Dokument, wie etwa Dokumententext, der zum Dokument hinzugefügt wurde, Dokumententext, der aus dem Dokument entfernt wurde, und/oder Dokumententext, der durch die Bearbeitungsbefehle überarbeitet wird. (1006)
  • In manchen Ausführungsformen ist das zu bearbeitende Dokument ein Textverarbeitungsdokument, ein Kalkulationsblattdokument, ein Präsentationsdokument, ein Zeichnungsdokument oder eine Webseite. (1004) Die Dokumentbearbeitungsbefehle können beliebige Befehle im Zusammenhang mit der Bearbeitung von Textverarbeitungsdokumenten, Kalkulationsblattdokumenten, Präsentationsdokumenten, Zeichnungsdokumenten oder Webseiten sein.
  • In manchen Ausführungsformen beinhaltet der Dokumentinhalt im Dokument Bearbeitungsbefehle eine beliebige Kombination aus Text, Audioinhalten, Videoinhalten, Zeichnungen und Bildern. In manchen Ausführungsformen beinhalten die Dokumentbearbeitungsbefehle eine beliebige Kombination aus Befehlen zum Hinzufügen, Bearbeiten und/oder Löschen von Text, Formatieren, Töne, Animationen, Zeichnungen, Video und Bilder. In einem nicht einschränkenden Beispiel können die Dokumentbearbeitungsbefehle Text und einen oder mehrere Befehl(e) zur Fettschrift oder zum Einrücken des Texts enthalten. In einem anderen nicht einschränkenden Beispiel können die Dokumentbearbeitungsbefehle Befehle zur Modifikation einer Zeichnung (beispielsweise Änderung der Farbe, Hinzufügen neuer Elemente, Löschen von Elementen und Modifikation der Position der Elemente der Zeichnung) in dem Dokument enthalten. In manchen Ausführungsformen wird das Dokument gemäß den von den Benutzern erhaltenen Befehlen bearbeitet. (1006) In manchen Ausführungsformen wird das Dokument in der Chat-/Dokumentdatenbank 120 gespeichert. In manchen Ausführungsformen empfängt das Inline-Adressierungsmodul 114 die Dokumentbearbeitungsbefehle und bearbeitet als Reaktion auf den Empfang der Dokumentbearbeitungsbefehle das entsprechende Dokument in der Chat-/Dokumentdatenbank 120.
  • Eine eingebettete Anforderung zum Einladen eines bestimmten Benutzers zum Zugriff auf das entsprechende Dokument wird im Dokumenttexts in den empfangenen Dokumentbearbeitungsbefehlen entdeckt. (1008) In manchen Ausführungsformen wird die eingebettete Anforderung von dem Inline-Adressierungsmodul 114 entdeckt. In manchen Ausführungsformen beinhaltet die eingebettete Anforderung ein vordefiniertes Symbol gefolgt von einer Benutzerkennung des bestimmten Benutzers. (1010) In einem nicht einschränkendem Beispiel befindet sich die eingebettete Anforderung 714, wie in 7C gezeigt, innerhalb eines Benutzer-erzeugten Kommentars 715 (in 7C durch ein gestricheltes Rechteck und die Kennzeichnung „Kommentar:“ markiert) und enthält ein vordefiniertes Symbol 718 (beispielsweise „@“), gefolgt von einer Benutzerkennung 720 (beispielsweise „Manny“). Anders ausgedrückt, die eingebettete Anforderung wird innerhalb empfangener Dokumentbearbeitungsbefehle entdeckt, die in einem Kommentartext, der in einem Benutzer-erzeugten Kommentar aufzunehmen ist, enthalten sind.
  • Das vordefinierte Symbol, das in manchen Implementierungen den Anfang einer eingebetteten Anforderung markiert, kann ein oder mehrere Symbol(e), ein oder mehrere Buchstabe(n), eine oder mehrere Zahlen, ein oder mehrere Icon(s) oder eine Kombination davon sein. Die Benutzerkennung kann eine beliebige Kennung (typischerweise ein Benutzername genannt) sein, die für den bestimmten Benutzer in dem Adressbuch des jeweiligen Dokumentbearbeitungsteilnehmers gespeichert ist. In manchen Implementierungen werden Adressbücher in der Adressbuchdatenbank 118 gespeichert. In manchen Ausführungsformen wird die Benutzerkennung aus einer Gruppe ausgewählt, die aus Namen, Chat-Benutzernamen, Spitznamen, E-Mail-Adressen, E-Mail-Benutzernamen und Telefonnummern besteht. Das Einladen eines Benutzers zu einem Dokument durch Eingabe einer eingebetteten Anforderung in den Dokumentinhalt ist für den einladenden Benutzer komfortabel, da der einladende Benutzer keine Menüs oder Menüoptionen, die der zugeordneten Dokumentbearbeitungssitzung zugeordnet sind, verwenden muss. Die Darstellung der eingebetteten Anforderung innerhalb des Dokuments dient auch als Benachrichtigung anderer Dokumentbearbeitungsteilnehmer, sofern zutreffend, dass der bestimmte Benutzer zu dem Dokument eingeladen wurde. Typischerweise entspricht die Position der eingebetteten Anforderung in dem Dokument einem Teil des Dokuments, von dem der einladende Benutzer möchte, dass der bestimmte Benutzer es anfänglich bei Annahme einer Einladung zum Beitritt zur Dokumentbearbeitungssitzung sieht.
  • In manchen Ausführungsformen umfasst das Entdecken der eingebetteten Anforderung (1008) das Entdecken eines vordefinierten Symbols in dem Dokumenttextinhalt gefolgt von einem oder mehreren Zeichen, die nach dem vordefinierten Symbol eingegeben werden, und auf Grundlage des einen oder der mehreren Zeichen, die nach dem vordefinierten Symbol eingegeben werden, das Identifizieren eines oder mehrerer Kontaktvorschläge, und das Senden der einen oder mehreren Kontaktvorschläge an den Client. (1012) Siehe beispielsweise 7D, die eine Liste 722 von Kontaktvorschlägen auf Grundlage der Benutzereingabe in einem Kommentar 715 in einem Dokument eines vordefinierten Symbols 718 (beispielsweise das Zeichen @) gefolgt vom Buchstaben „M“, zeigt. 7D ist 7C ähnlich, außer dass der schematische Screenshot in 7D eine nur teilweise eingegebene Benutzerkennung („M“) zeigt und eine Liste 722 der entsprechenden Kontaktvorschläge, anstatt der Benutzerkennung 720, die in 7C gezeigt wird. Die Identifikation eines Kontaktvorschlags oder mehrerer Kontaktvorschläge wird bisweilen automatisches Ausfüllen genannt oder automatisches Ausfüllen einer Benutzerkennung. In manchen Ausführungsformen stammen die Kontaktvorschläge aus einem Adressbuch des jeweiligen Teilnehmers. (1012) In manchen Implementierungen ist jeder Kontaktvorschlag das Resultat des Abgleichs eines oder mehrerer Zeichen, die nach dem vordefinierten Symbol eingegeben wurden, mit Kontaktinformationen für einen jeweiligen Kontakt, die in dem Adressbuch des jeweiligen Chatteilnehmers gespeichert sind. Optional werden das eine oder die mehreren Zeichen nach dem vordefinierten Symbol mit Informationen in einem beliebigen Feld (beispielsweise Vorname, Nachname, Benutzername, Postanschrift oder einen Teil der Postanschrift (beispielsweise Hausnummer, Straße, Stadt, Staat, Postleitzahl usw.), Telefonnummer, Firmenname, Positionsbezeichnung, Textinhalten in anderen Feldern) eines entsprechenden Kontakteintrags in dem Adressbuch des jeweiligen Chatteilnehmers abgeglichen.
  • In manchen Ausführungsformen wird bei Empfang jedes aufeinanderfolgenden Zeichens des einen oder der mehreren Zeichen nach dem vordefinierten Symbol das Identifizieren von einem oder mehreren Kontaktvorschlägen und das Senden der Kontaktvorschläge an den Client wiederholt. (1013) Anders ausgedrückt, nachdem das vordefinierte Symbol vom Inline-Adressierungsmodul 114 empfangen wird, sendet das Inline-Adressierungsmodul 114 wiederholt neue Benutzerkennungsvorschläge an den Client 102 des Chatteilnehmers nachdem jedes aufeinander folgende Zeichen empfangen wurde bis der Chatteilnehmer entweder einen Vorschlag auswählt oder die Benutzerkennungsdaten vollständig eingegeben hat. In den in 7C und 7D gezeigten Beispielen wandelt sich die Benutzerschnittstelle, bei Benutzerauswahl einer vorgeschlagenen Benutzerkennung oder vollständigen Eingabe einer Benutzerkennung, von dem in 7D gezeigten Beispiel zurück zu dem in 7C gezeigtem Beispiel. Kontaktvorschläge werden an den Client 102 des Dokumentbearbeitungsteilnehmers gesendet, um den Teilnehmer bei der Eingabe einer eingebetteten Anforderung zu unterstützen. In manchen Ausführungsformen ermittelt das Inline-Adressierungsmodul 114 die Kontaktvorschläge als Reaktion auf den Erhalt des vordefinierten Symbols und eines oder mehrerer Zeichen, die nach dem vordefinierten Symbol eingegeben wurden.
  • In manchen Ausführungsformen wird die eingebettete Anforderung als Reaktion auf die Entdeckung der eingebetteten Anforderung in dem Dokument visuell unterschieden. Das Inline-Adressierungsmodul 114 fügt beispielsweise, als Reaktion auf die Entdeckung der eingebetteten Anforderung in dem von einem entsprechenden Dokumentbearbeitungsteilnehmer eingegebenen Dokumentinhalt, Darstellungsanweisungen zu dem Dokumentinhalt hinzu, um die eingebettete Anforderung visuell zu unterscheiden. In manchen Ausführungsformen lässt sich die eingebettete Anforderung und eine vordefinierte Menge des Dokumentinhalts vor und/oder nach der eingebetteten Anforderung visuell unterscheiden. Die Art und Weise, auf die die eingebettete Anforderung und optional die vordefinierte Menge des Dokumentinhalts visuell unterschieden wird, ist der vorstehend in Hinblick auf die visuelle Unterscheidung eingebetteter Anforderungen im Chatinhalt beschriebenen Art und Weise ähnlich. In manchen Ausführungsformen werden die Anweisungen zur visuellen Unterscheidung der eingebetteten Anforderung und/oder zusätzlicher Dokumentinhalt in oder mit dem jeweiligen Dokument gespeichert. Als Folge dessen sieht ein jeweiliger Benutzer, der das Dokument nach Eingabe der eingebetteten Anforderung betrachtet, in manchen Ausführungsformen, dass die eingebettete Anforderung visuell unterschieden wird. Die visuelle Unterscheidung der eingebetteten Anforderung hilft dabei andere Benutzer des Dokuments, sofern zutreffend, darauf hinzuweisen, dass ein neuer Benutzer zu dem Dokument eingeladen wurde. Die visuell unterschiedene eingebettete Anforderung hilft dem bestimmten Benutzer außerdem, einen Teil des Dokuments zu identifizieren, der wahrscheinlich für die Einladung relevant ist.
  • Es wird nun auf 10B verwiesen. In manchen Ausführungsformen wird eine der eingebetteten Anforderung entsprechende Einladung von dem Inline-Adressierungsmodul 114 als Reaktion auf die Entdeckung der eingebetteten Anforderung in den Befehlen zur Bearbeitung eines entsprechenden Dokuments erzeugt. (1014) In manchen Ausführungsformen fügt das Inline-Adressierungsmodul 114 darüber hinaus den Benutzer, der von der eingebetteten Anforderung angegeben wird, der Zugriffskontrollliste (beispielsweise der Zugriffskontrollliste 408) des jeweiligen Dokuments (beispielsweise 402) hinzu, wodurch dem bestimmten Benutzer Zugriff auf das entsprechende Dokument gewährt wird. In manchen Ausführungsformen werden die Zugriffsrechte des bestimmten Benutzers gemäß einem oder mehreren Befehl(en) in der eingebetteten Anforderung zugewiesen. In manchen Ausführungsformen wird der bestimmte Benutzer, wenn die Dokumentbearbeitungssitzungen einer Chatsitzung zugeordnet sind, der Zugriffskontrollliste der zugeordneten Chatsitzung hinzugefügt. In manchen Ausführungsformen wird der bestimmte Benutzer der Zugriffskontrollliste des jeweiligen Dokuments hinzugefügt bevor die der eingebetteten Anforderung entsprechende Einladung erzeugt und/oder gesendet wird. Alternativ wird der bestimmte Benutzer der Zugriffskontrollliste des jeweiligen Dokuments (und optional der Zugriffskontrollliste einer zugeordneten Chatsitzung, sofern zutreffend) als Reaktion auf die Annahme der Einladung durch den bestimmten Benutzer zugeordnet. Allerdings wird der bestimmte Benutzer in mindestens manchen dieser Ausführungsformen nur der Zugriffskontrollliste des jeweiligen Dokuments (und optional der Zugriffskontrollliste einer zugeordneten Chatsitzung, sofern zutreffend) hinzugefügt, wenn der bestimmte Benutzer nicht bereits in der Zugriffskontrollliste mit mindestens dem Zugriffsgrad, der der Einladung zugeordnet ist, aufgeführt ist.
  • In manchen Ausführungsformen enthält die Einladung einen Link zu dem zu bearbeitenden Dokument. (1016) Der Link beinhaltet einen Befehl oder Positionsparameter, die einen Teil des Dokuments festlegen, der anfangs von dem Client des bestimmten Benutzers dargestellt oder präsentiert wird, wenn der Link von dem bestimmten Benutzer ausgewählt oder aktiviert wird. (1017) In manchen Ausführungsformen wird, wenn der Link von dem bestimmten Benutzer ausgewählt wird, ein neues Dokumentfenster geöffnet und das Dokument dargestellt. In manchen Ausführungsformen enthält der Link einen oder mehrere Befehl(e), der bzw. die für die Dokumentbearbeitungsanwendung (beispielsweise Dokumentbearbeitungsanwendung 124 oder Webseite mit Dokumentbearbeitungsanwendung 232) des bestimmten Benutzers festlegt bzw. festlegen, welcher Teil des Dokuments anfänglich darzustellen ist, wenn das Dokument geöffnet wird. Als Folge dessen wird, wenn ein Benutzer den Link auswählt, ein neues Dokumentfenster geöffnet und der Teil des Dokuments, der die eingebettete Anforderung enthält, angezeigt.
  • Ein Beispiel für einen Dokumentbearbeitungs-Einladungslink ist
    <a href=www.docserver123.com/docs?di=DocID&loc=LocID>Invite Text</a> Wobei www.docserver123.com/docs ein Serversystem und einen Dokumentbearbeitungsdienst identifiziert, „DocID“ das Dokument identifiziert, zu dessen Bearbeitung, Betrachtung oder Mitverfassung der bestimmte Benutzer eingeladen wird, „LocID“ ein Parameter oder Befehl ist, der eine Position innerhalb des Dokuments des DocID Dokuments identifiziert, die bei Aktivierung des Links durch den Benutzer anzuzeigen ist, und „Invite Text“ der Text der Einladung ist. Optional enthält der Einladungstext einen Teil des Dokuments zu dessen Bearbeitung, Betrachtung oder Mitverfassen der bestimmte Benutzer eingeladen wird. In manchen Implementierungen identifiziert LocID einen Kommentar innerhalb des Dokumentinhalts, wobei der identifizierte Kommentar der Kommentar ist, der die eingebettete Anforderung zur Einladung des bestimmten Benutzers enthält. In manchen anderen Implementierungen identifiziert LocID eine Position in dem Dokument, die an, neben oder im Wesentlichen neben (beispielsweise innerhalb einer vordefinierten Bearbeitungsdistanz) der eingebetteten Anforderung zur Einladung des bestimmten Benutzers liegt.
  • In manchen Ausführungsformen umfasst das Senden der Einladung an den bestimmten Benutzer, wenn der bestimmte Benutzer online ist, das Senden der Einladung über einen Onlinekanal, der einem der folgenden entspricht: ein aktives Fenster einer Anwendung, die der Chatsitzung entspricht, ein aktives Fenster einer Anwendung, die der Dokumentbearbeitungssitzung entspricht, ein inaktives Fenster der Dokumentbearbeitungsanwendung und eine andere Online-Applikation als die Applikation, die der Dokumentbearbeitungssitzung entspricht. (1018) In manchen Ausführungsformen legt das Inline-Adressierungsmodul 114 fest, wo der bestimmte Benutzer die Einladung empfängt. Wie in 8A gezeigt erhält der eingeladene Benutzer, falls der Benutzer eine Chatanwendung (beispielsweise Chatanwendung 122 oder Webseite mit Chatanwendung 230), die mit Serversystem 106 verbunden ist, verwendet, eine Chatmitteilung 800 oder es wird automatisch ein Chatfenster 802 auf der Anwendung des Benutzers geöffnet. In manchen Ausführungsformen ist die Chatanwendung in eine andere Anwendung integriert, wie etwa in eine Dokumentbearbeitungsanwendung (beispielsweise Dokumentbearbeitungsanwendung 126 oder Webseite mit Chat + Dokumentbearbeitung Anwendung 234) oder E-Mail-Anwendung. Falls der bestimmte Benutzer nicht in der Chatanwendung angemeldet ist, kann der bestimmte Benutzer die Einladung über ein aktives oder inaktives Fenster einer anderen Anwendung (beispielsweise Browser 128), die mit dem Serversystem 106 verbunden ist, erhalten. In einem nicht einschränkendem Beispiel, wie in 8B und 8C gezeigt, empfängt der bestimmte Benutzer die Einladung 810 über ein aktives Fenster 812 einer E-Mail-Anwendung. In einem anderen Beispiel empfängt der bestimmte Benutzer, wie in 8D gezeigt, die Einladung 810 über ein inaktives Webbrowser-Tab 811. In manchen Ausführungsformen zeigt das inaktive Webbrowser-Tab 811 eine Benachrichtigung über die Einladung an und wenn der bestimmte Benutzer das inaktive Fenster auswählt (beispielsweise das inaktive Webbrowser-Tab 811 der 8D), wird die Einladung irgendwo in dem jetzt aktiven Fenster angezeigt.
  • Wie vorstehend unter Bezugnahme auf Verfahren 900 beschrieben, wird in manchen Ausführungsformen die Einladung in einer E-Mail-Nachricht oder SMS-Nachricht an den bestimmten Benutzer gesendet. In manchen Implementierungen wird die Einladung nur in einer E-Mail-Nachricht oder SMS gesendet, wenn der bestimmte Benutzer derzeit keine Anwendung, die mit dem Serversystem 106 verbunden ist, verwendet (d. h. keine ständige Verbindung oder Verbindung in Echtzeit besteht). Mit anderen Worten, wie der bestimmte Benutzer die Einladung erhält hängt davon ab, ob der bestimmte Benutzer eine oder mehrere Anwendung(en) (beispielsweise 122, 124, 126, 128, 230, 232 und 234), die mit dem Serversystem 106 verbunden sind, verwendet, und welche Anwendungsfenster dieser einen oder dieser mehreren Anwendung(en) am Client des bestimmten Benutzers 102 aktiv oder inaktiv sind.
  • In manchen Ausführungsformen enthält die Einladung Dokumentinhalt. Genauer gesagt, in manchen Ausführungsformen ist eine vordefinierte Menge des Dokumentinhalts vor und/oder nach der eingebetteten Anforderung in der Einladung enthalten. Es sind beispielsweise einige Absätze/Sätze/Wörter vor und/oder nach der eingebetteten Anforderung in der Einladung enthalten. In einem nicht einschränkendem Beispiel in 7C kann der Dokumenttext (beispielsweise „sehen diese Daten für Sie korrekt aus?“) in der Einladung enthalten sein. Der Dokumentinhalt, wenn er in einer Einladung an den bestimmten Benutzer enthalten ist, hilft dem bestimmten Benutzer/eingeladenen Benutzer zu verstehen, warum er oder sie zu der Dokumentbearbeitungssitzung eingeladen wurde.
  • In manchen Ausführungsformen wird der Chatinhalt für eine dem Dokument zugeordnete Chatunterhaltung von einem oder mehreren Benutzer(n), der bzw. die zum Zugriff auf das Dokument autorisiert sind, erhalten. (1020) Mit anderen Worten, die Chatunterhaltung ist einer Dokumentbearbeitungssitzung zugeordnet, was ansonsten eine Chat + Dokument Bearbeitungssitzung genannt wird. Der Chatinhalt und/oder der Dokumentinhalt wird von einer oder mehreren Clientvorrichtung(en) 102, die mit dem Serversystem 106 verbunden ist bzw. sind, empfangen. In manchen Ausführungsformen wird eine eingebettete Anforderung zum Einladen eines bestimmten Benutzers zur Dokumentbearbeitungssitzung innerhalb der Dokumentbearbeitungssitzung entdeckt. Optional wird die eingebettete Anforderung der Chatunterhaltung hinzugefügt und mindestens ein Teil der Chatunterhaltung, der die eingebettete Anforderung enthält, wird an einen oder mehrere der Benutzer, die zum Zugriff auf das Dokument autorisiert sind, gesendet. (1020) In manchen Ausführungsformen wird auch ein Link zu einem Teil des Dokuments, das der eingebetteten Anforderung entspricht, zu der Chatunterhaltung hinzugefügt. (1022)
  • In manchen Ausführungsformen sendet das Serversystem als Reaktion auf den Erhalt der Annahme der Einladung durch den bestimmten Benutzer mindestens einen Teil des jeweiligen Dokuments an einen dem bestimmten Benutzer zugeordneten Client. (1024)
  • In manchen Ausführungsformen werden von dem bestimmten Benutzer neue Dokumentbearbeitungsbefehle empfangen und das Dokument wird gemäß den neuen Dokumentbearbeitungsbefehlen bearbeitet. Mit anderen Worten, nach Annahme der Einladung wird der bestimmte Benutzer ein Teilnehmer der Dokumentbearbeitungssitzung und hat ausreichend Zugriffsrechte für die Bearbeitung des Dokuments.
  • Jedes der hierin beschriebenen Verfahren kann von Anweisungen gesteuert werden, die in einem nicht-transitorischem computerlesbarem Speichermedium gespeichert sind und von einem oder mehreren Prozessor(en) eines Servers oder mehrerer Server (beispielsweise Serversystem 106) ausgeführt werden. Jeder der in 9A, 9B, 9C, 10A und 10B gezeigten Vorgänge kann Anweisungen entsprechen, die in einem Computerspeicher oder einem nicht-transitorischen computerlesbaren Speichermedium gespeichert sind.
  • Die vorstehende Beschreibung wurde zum Zweck der Erklärung unter Bezugnahme auf spezifische Ausführungsformen beschrieben. Die obigen veranschaulichenden Erörterungen sollen jedoch nicht allumfassend sein oder die Ansprüche genau auf die offenbarten Formen beschränken. Angesichts der obigen Lehren sind viele Modifikationen und Variationen im Rahmen des Möglichen. Die Ausführungsformen wurden gewählt und beschrieben, um die Prinzipien der Erfindung und ihre praktischen Anwendungen optimal zu beschreiben, um es dadurch anderen Fachleuten zu ermöglichen, die Erfindung und ihre verschiedenen Ausführungsformen mit verschiedenen Modifizierungen optimal zu nutzen, die für die besondere, erwägte Nutzung geeignet sind.

Claims (30)

  1. Nicht-flüchtiges computerlesbares Speichermedium, das ein oder mehrere Programm(e) speichert, die für die Ausführung durch einen oder mehrere Prozessor(en) eines Serversystems konfiguriert sind, wobei das eine oder die mehreren Programm umfassen: Anweisungen zum Empfang von Chatinhalt von Teilnehmern an einer Chatsitzung; Anweisungen zum Entdecken, innerhalb des Chatinhalts, einer eingebetteten Anforderung zur Einladung eines bestimmten Benutzers zum Beitritt zur Chatsitzung; und Anweisungen für die Reaktion auf die Entdeckung der eingebetteten Anforderung durch Senden einer Einladung an den bestimmten Benutzer.
  2. Computerlesbares Speichermedium nach Anspruch 1, worin das eine oder die mehreren Programm(e) weiterhin Anweisungen beinhalten für das Senden, als Reaktion auf den Erhalt der Annahme der Einladung von dem bestimmten Benutzer, von mindestens einem Teil des Chatinhalts der Chatsitzung an einen dem bestimmten Benutzer zugeordneten Client.
  3. Computerlesbares Speichermedium nach Anspruch 1 oder 2, worin die eingebettete Anforderung ein vordefiniertes Symbol beinhaltet, auf das eine Benutzerkennung des bestimmten Benutzers folgt.
  4. Computerlesbares Speichermedium nach Anspruch 1, 2 oder 3, worin die Anweisungen für das Entdecken das Entdecken eines vordefinierten Symbols in dem Chatinhalt gefolgt von einem oder mehreren Zeichen, die nach dem vordefinierten Symbol eingegeben werden, das Identifizieren auf Grundlage des einen oder der mehreren Zeichen, die nach dem vordefinierten Symbol eingegeben werden, eines oder mehrerer Kontaktvorschläge, und das Senden der einen oder mehreren Kontaktvorschläge an den Client beinhaltet.
  5. Computerlesbares Speichermedium nach Anspruch 4, worin das eine oder die mehreren Programm(e) Anweisungen für das Identifizieren der einen oder der mehreren Kontaktvorschläge und das Senden der Kontaktvorschläge bei Erhalt jedes darauffolgenden Zeichens des einen oder der mehreren Zeichen, die auf das vordefinierte Symbol folgen, beinhaltet.
  6. Computerlesbares Speichermedium nach jedweden der Ansprüche 1–5, wobei das eine oder die mehreren Programm(e) weiterhin Anweisungen für den Empfang neuen Chatinhalts von dem bestimmten Benutzer und das Senden des neuen Chatinhalts an die Teilnehmer der Chatsitzung beinhaltet.
  7. Computerlesbares Speichermedium nach jedweden der Ansprüche 1–6, worin die Einladung einen Link beinhaltet, der dem bestimmten Benutzer bei Aktivierung durch den bestimmten Benutzer Zugriff auf die Chatsitzung in einer Anwendung, an einem dem bestimmten Benutzer zugeordneten Client, bereitstellt.
  8. Computerlesbares Speichermedium nach Anspruch 7, worin die Einladung an den bestimmten Benutzer Chattext aus der Chatsitzung beinhaltet.
  9. Computerlesbares Speichermedium nach Anspruch 7, worin das Senden der Einladung an den bestimmten Benutzer, wenn der bestimmte Benutzer online ist, das Senden der Einladung über einen Onlinekanal beinhaltet, der einem der folgenden entspricht: ein aktives Fenster einer Anwendung, die der Chatsitzung entspricht, ein inaktives Fenster der Anwendung und eine andere Online-Applikation als die Applikation, die der Chatsitzung entspricht.
  10. Computerlesbares Speichermedium nach jedweden der Ansprüche 1–9, beinhaltend: Bearbeitung eines der Chatsitzung entsprechenden Dokuments gemäß Befehlen, die von den Teilnehmern erhalten wurden; und als Reaktion auf das Entdecken der eingebetteten Anforderung, Hinzufügen des bestimmten Benutzers zu einer Zugriffskontrollliste des Dokuments, um es dem bestimmten Benutzer zu ermöglichen, auf das Dokument zuzugreifen.
  11. Computerlesbares Speichermedium nach Anspruch 10, worin das Dokument aus der Gruppe ausgewählt wird, die aus einem Textverarbeitungsdokument, einem Kalkulationsblattdokument, einem Präsentationsdokument, einer Zeichnung und einer Webseite besteht.
  12. Computerlesbares Speichermedium nach Anspruch 10, worin die Einladung einen Link zu dem zu bearbeitenden Dokument beinhaltet, wobei der Link einen Befehl oder ein Positionsparameter enthält, das einen Teil des Dokuments festlegt, der anfänglich angezeigt oder präsentiert werden soll, wenn der Link von dem bestimmten Benutzer ausgewählt oder aktiviert wird.
  13. Serversystem, das Folgendes umfasst: einen oder mehrere Prozessor(en); und Speicher, der ein oder mehrere Programm(e) zur Ausführung durch einen oder mehrere Prozessoren speichert, wobei das eine oder die mehreren Programm(e) beinhalten: Anweisungen zum Empfang von Chatinhalt von Teilnehmern an einer Chatsitzung; Anweisungen zum Entdecken, innerhalb des Chatinhalts, einer eingebetteten Anforderung zur Einladung eines bestimmten Benutzers zum Beitritt zur Chatsitzung; und Anweisungen für die Reaktion auf die Entdeckung der eingebetteten Anforderung durch Senden einer Einladung an den bestimmten Benutzer.
  14. System nach Anspruch 13, worin das eine oder die mehreren Programm(e) weiterhin Anweisungen beinhalten für das Senden, als Reaktion auf den Erhalt der Annahme der Einladung von dem bestimmten Benutzer, von mindestens einem Teil des Chatinhalts der Chatsitzung an einen dem bestimmten Benutzer zugeordneten Client.
  15. System nach Anspruch 13 oder 14, worin die eingebettete Anforderung ein vordefiniertes Symbol beinhaltet, auf das eine Benutzerkennung des bestimmten Benutzers folgt.
  16. System nach jedweden der Ansprüche 13–15, worin die Anweisungen für das Entdecken das Entdecken eines vordefinierten Symbols in dem Chatinhalt gefolgt von einem oder mehreren Zeichen, die nach dem vordefinierten Symbol eingegeben werden, das Identifizieren auf Grundlage des einen oder der mehreren Zeichen, die nach dem vordefinierten Symbol eingegeben werden, eines oder mehrerer Kontaktvorschläge, und das Senden der einen oder mehreren Kontaktvorschläge an den Client beinhaltet.
  17. System nach Anspruch 13, worin das eine oder die mehreren Programm(e) Anweisungen für das Identifizieren der einen oder der mehreren Kontaktvorschläge und das Senden der Kontaktvorschläge bei Erhalt jedes darauffolgenden Zeichens des einen oder der mehreren Zeichen, die auf das vordefinierte Symbol folgen, beinhaltet.
  18. System nach jedweden der Ansprüche 13–17, wobei das eine oder die mehreren Programm(e) weiterhin Anweisungen für den Empfang neuen Chatinhalts von dem bestimmten Benutzer und das Senden des neuen Chatinhalts an die Teilnehmer der Chatsitzung beinhaltet.
  19. System nach jedweden der Ansprüche 13–18, worin die Einladung einen Link beinhaltet, der dem bestimmten Benutzer bei Aktivierung durch den bestimmten Benutzer Zugriff auf die Chatsitzung in einer Anwendung, an einem dem bestimmten Benutzer zugeordneten Client, bereitstellt.
  20. System nach Anspruch 19, worin die Einladung an den bestimmten Benutzer Chattext aus der Chatsitzung umfasst.
  21. System nach Anspruch 19, worin das Senden der Einladung an den bestimmten Benutzer, wenn der bestimmte Benutzer online ist, das Senden der Einladung über einen Onlinekanal beinhaltet, der einem der folgenden entspricht: ein aktives Fenster einer Anwendung, die der Chatsitzung entspricht, ein inaktives Fenster der Anwendung und eine andere Online-Applikation als die Applikation, die der Chatsitzung entspricht.
  22. System nach jedweden der Ansprüche 13–21, beinhaltend: Bearbeitung eines der Chatsitzung entsprechenden Dokuments gemäß Befehlen, die von den Teilnehmern erhalten wurden; und als Reaktion auf das Entdecken der eingebetteten Anforderung, Hinzufügen des bestimmten Benutzers zu einer Zugriffskontrollliste des Dokuments, um es dem bestimmten Benutzer zu ermöglichen, auf das Dokument zuzugreifen.
  23. System nach Anspruch 22, worin das Dokument aus der Gruppe ausgewählt wird, die aus einem Textverarbeitungsdokument, einem Kalkulationsblattdokument, einem Präsentationsdokument, einer Zeichnung und einer Webseite besteht.
  24. System nach Anspruch 22, worin die Einladung einen Link zu dem zu bearbeitenden Dokument beinhaltet, wobei der Link einen Befehl oder ein Positionsparameter enthält, das einen Teil des Dokuments festlegt, der anfänglich angezeigt oder präsentiert werden soll, wenn der Link von dem bestimmten Benutzer ausgewählt oder aktiviert wird.
  25. Nicht-flüchtiges computerlesbares Speichermedium, das ein oder mehrere Programm(e) speichert, die für die Ausführung durch einen oder mehrere Prozessor(en) eines Serversystems konfiguriert sind, wobei das eine oder die mehreren Programm(e) umfassen: Anweisungen zum Empfang von Dokumentbearbeitungsbefehlen von einem oder mehreren Benutzer(n) in einer Dokumentbearbeitungssitzung, worin der eine oder die mehreren Benutzer autorisiert sind, ein der Dokumentbearbeitungssitzung entsprechendes Dokument zu bearbeiten; Anweisungen zum Bearbeiten des entsprechenden Dokuments gemäß den von den Benutzern empfangenen Befehlen, wobei die empfangenen Befehle Dokumenttext für das Dokument beinhalten; Anweisungen zum Entdecken, innerhalb des jeweiligen Dokumenttexts, einer eingebetteten Anforderung zur Einladung eines bestimmten Benutzers zum Zugriff auf das jeweilige Dokument; und Anweisungen für eine Reaktion auf die Entdeckung der eingebetteten Anforderung durch Senden einer Einladung an den bestimmten Benutzer und zum Hinzufügen des bestimmten Benutzers zu einer Zugriffskontrollliste des jeweiligen Dokuments, um es dem bestimmten Benutzer zu ermöglichen, auf das Dokument zuzugreifen.
  26. Computerlesbares Speichermedium nach Anspruch 25, worin das Dokument aus der Gruppe ausgewählt wird, die aus einem Textverarbeitungsdokument, einem Kalkulationsblattdokument, einem Präsentationsdokument, einer Zeichnung und einer Webseite besteht.
  27. Computerlesbares Speichermedium nach Anspruch 25 oder 26, worin die eingebettete Anforderung ein vordefiniertes Symbol beinhaltet, auf das eine Benutzerkennung des bestimmten Benutzers folgt.
  28. Computerlesbares Speichermedium nach Anspruch 25 oder 26, wobei der Dokumenttext in den empfangenen Befehlen Kommentartext umfasst, der einem Kommentar in dem Dokument hinzugefügt wird, und der Kommentartext die eingebettete Anforderung beinhaltet.
  29. Computerlesbares Speichermedium nach jedweden der Ansprüche 25, 26 und 28, worin die Anweisungen für das Entdecken Anweisungen für das Entdecken eines vordefinierten Symbols in dem Dokumenttext in den empfangenen Befehlen gefolgt von einem oder mehreren Zeichen, die nach dem vordefinierten Symbol eingegeben werden, das Identifizieren auf Grundlage des einen oder der mehreren Zeichen, die nach dem vordefinierten Symbol eingegeben werden, eines oder mehrerer Kontaktvorschläge, und das Senden der einen oder mehreren Kontaktvorschläge an den Client beinhaltet.
  30. Serversystem, das Folgendes umfasst: einen oder mehrere Prozessor(en); und Speicher, der ein oder mehrere Programm(e) zur Ausführung durch einen oder mehrere Prozessoren speichert, wobei das eine oder die mehreren Programm(e) beinhalten: Anweisungen zum Empfang von Dokumentbearbeitungsbefehlen von einem oder mehreren Benutzer(n) in einer Dokumentbearbeitungssitzung, worin der eine oder die mehreren Benutzer autorisiert sind, ein der Dokumentbearbeitungssitzung entsprechendes Dokument zu bearbeiten; Anweisungen zum Bearbeiten des entsprechenden Dokuments gemäß den von den Benutzern empfangenen Befehlen, wobei die empfangenen Befehle Dokumenttext für das Dokument beinhalten; Anweisungen zum Entdecken, innerhalb des jeweiligen Dokumenttexts, einer eingebetteten Anforderung zur Einladung eines bestimmten Benutzers zum Zugriff auf das jeweilige Dokument; und Anweisungen für eine Reaktion auf die Entdeckung der eingebetteten Anforderung durch Senden einer Einladung an den bestimmten Benutzer und zum Hinzufügen des bestimmten Benutzers zu einer Zugriffskontrollliste des jeweiligen Dokuments, um es dem bestimmten Benutzer zu ermöglichen, auf das Dokument zuzugreifen.
DE202012013447.7U 2011-03-15 2012-03-06 Inline-Benutzeradressierung in Chat- und Dokumentbearbeitungssitzungen Expired - Lifetime DE202012013447U1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201161453072P 2011-03-15 2011-03-15
US61/453,072 2011-03-15
US13/166,748 US20130262574A1 (en) 2011-03-15 2011-06-22 Inline User Addressing in Chat Sessions
US13/166,748 2011-06-22

Publications (1)

Publication Number Publication Date
DE202012013447U1 true DE202012013447U1 (de) 2017-01-20

Family

ID=45819289

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202012013447.7U Expired - Lifetime DE202012013447U1 (de) 2011-03-15 2012-03-06 Inline-Benutzeradressierung in Chat- und Dokumentbearbeitungssitzungen

Country Status (7)

Country Link
US (1) US20130262574A1 (de)
EP (1) EP2686775A4 (de)
CN (1) CN103493035B (de)
AU (1) AU2012229422A1 (de)
CA (1) CA2828011C (de)
DE (1) DE202012013447U1 (de)
WO (1) WO2012125338A1 (de)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021220058A1 (en) 2020-05-01 2021-11-04 Monday.com Ltd. Digital processing systems and methods for enhanced collaborative workflow and networking systems, methods, and devices
US8996985B1 (en) 2011-03-16 2015-03-31 Google Inc. Online document processing service for displaying comments
US9495661B2 (en) * 2011-09-26 2016-11-15 Sparxo, Inc Embeddable context sensitive chat system
JP5209101B2 (ja) * 2011-09-27 2013-06-12 株式会社 ディー・エヌ・エー メッセージ送受信システム、メッセージ送受信方法、及びプログラム
US20130159849A1 (en) * 2011-12-20 2013-06-20 Keng Fai Lee Jump to Collaborator Cursor
TW201407384A (zh) * 2012-08-14 2014-02-16 Hon Hai Prec Ind Co Ltd 網頁流程圖編輯方法及系統
US20150193492A1 (en) * 2012-11-08 2015-07-09 Google Inc. Editing sub-section of an electronic document via notification message
FR2998995A1 (fr) * 2012-12-03 2014-06-06 France Telecom Procede de communication entre plusieurs utilisateurs munis de terminaux de communication, par l'intermediaire d'une espace virtuel de communication
US9430133B2 (en) 2012-12-17 2016-08-30 Sap Se Career history exercise with stage card visualization
US8848026B2 (en) * 2013-02-01 2014-09-30 Maitland M. DeLand Video conference call conversation topic sharing system
JP6084486B2 (ja) * 2013-03-08 2017-02-22 サイボウズ株式会社 情報共有システム、情報共有方法、及びプログラム
EP2849402A1 (de) 2013-09-17 2015-03-18 Cloudfogger GmbH Dokumentenbasierte Erleichterung der Kommunikation
US10148710B2 (en) 2013-11-27 2018-12-04 At&T Intellectual Property I, L.P. Method, computer-readable storage device and apparatus for establishing persistent messaging sessions
WO2015160349A2 (en) 2014-04-17 2015-10-22 Longsand Limited Generation of document editors having functions specified by role policies
US9584454B2 (en) 2014-04-30 2017-02-28 Linkedin Corporation Executing commands embedded in messages
CN104503752A (zh) * 2014-12-17 2015-04-08 青岛海信电器股份有限公司 一种智能设备中控制网页调用系统功能的方法及装置
CN104809101B (zh) * 2015-05-12 2019-02-12 浙江翼信科技有限公司 通信对象的查找方法和设备
US10146873B2 (en) 2015-06-29 2018-12-04 Microsoft Technology Licensing, Llc Cloud-native documents integrated with legacy tools
CN108476164B (zh) 2015-12-21 2021-10-08 谷歌有限责任公司 在消息传送应用中自动地提供机器人服务的方法
CN108781175B (zh) 2015-12-21 2021-09-21 谷歌有限责任公司 用于消息交换题绪的自动建议的方法、介质及系统
TWI599201B (zh) * 2016-02-05 2017-09-11 物聯智慧科技(深圳)有限公司 網路系統及建立資料連線的方法
US10489028B2 (en) * 2016-03-08 2019-11-26 International Business Machines Corporation Drawing a user's attention in a group chat environment
US10230731B2 (en) * 2016-06-02 2019-03-12 Microsoft Technology Licensing, Llc. Automatically sharing a document with user access permissions
US10387461B2 (en) 2016-08-16 2019-08-20 Google Llc Techniques for suggesting electronic messages based on user activity and other context
US10511450B2 (en) 2016-09-20 2019-12-17 Google Llc Bot permissions
US10015124B2 (en) 2016-09-20 2018-07-03 Google Llc Automatic response suggestions based on images received in messaging applications
US10547574B2 (en) 2016-09-20 2020-01-28 Google Llc Suggested responses based on message stickers
US10416846B2 (en) 2016-11-12 2019-09-17 Google Llc Determining graphical element(s) for inclusion in an electronic communication
US11188710B2 (en) * 2016-12-30 2021-11-30 Dropbox, Inc. Inline content item editor commands
US11196835B2 (en) * 2017-01-09 2021-12-07 International Business Machines Corporation Displaying context in group chats using member tagging
WO2018212822A1 (en) 2017-05-16 2018-11-22 Google Inc. Suggested actions for images
US10812539B2 (en) * 2017-06-09 2020-10-20 International Business Machines Corporation Enhanced group communications with external participants
US10404636B2 (en) * 2017-06-15 2019-09-03 Google Llc Embedded programs and interfaces for chat conversations
US10348658B2 (en) * 2017-06-15 2019-07-09 Google Llc Suggested items for use with embedded applications in chat conversations
US10530718B2 (en) * 2017-07-31 2020-01-07 Fuji Xerox Co., Ltd. Conversational enterprise document editing
EP3451259A1 (de) * 2017-09-01 2019-03-06 Unify Patente GmbH & Co. KG Computer-implementierte verfahren zur durchführung einer real-zeit-zusammenarbeits-sitzung, collaborative plattform zur durchführung von real-zeit-zusammenarbeits-sitzungen und kollaborativen chat-post-objekt
US10891526B2 (en) 2017-12-22 2021-01-12 Google Llc Functional image archiving
US11698890B2 (en) 2018-07-04 2023-07-11 Monday.com Ltd. System and method for generating a column-oriented data structure repository for columns of single data types
CN110209952B (zh) * 2018-12-18 2023-03-24 腾讯科技(深圳)有限公司 信息推荐方法、装置、设备及存储介质
JP7279443B2 (ja) * 2019-03-20 2023-05-23 富士フイルムビジネスイノベーション株式会社 制御装置、制御システム、及び制御プログラム
CN110162758A (zh) * 2019-05-21 2019-08-23 北京字节跳动网络技术有限公司 在线文档插入信息方法及装置
CN110602081A (zh) * 2019-09-08 2019-12-20 北京智明星通科技股份有限公司 一种手机游戏新用户邀请方法、装置和服务器
CN110752984B (zh) * 2019-10-24 2021-10-15 北京字节跳动网络技术有限公司 一种显示在线文档的方法、装置、电子设备及存储介质
US11361156B2 (en) 2019-11-18 2022-06-14 Monday.Com Digital processing systems and methods for real-time status aggregation in collaborative work systems
CN111078655B (zh) * 2019-12-23 2023-12-26 腾讯科技(深圳)有限公司 文档内容分享方法、装置、终端及存储介质
US11829953B1 (en) 2020-05-01 2023-11-28 Monday.com Ltd. Digital processing systems and methods for managing sprints using linked electronic boards
US11349848B2 (en) * 2020-06-30 2022-05-31 Microsoft Technology Licensing, Llc Experience for sharing computer resources and modifying access control rules using mentions
US11481288B2 (en) 2021-01-14 2022-10-25 Monday.com Ltd. Digital processing systems and methods for historical review of specific document edits in collaborative work systems
US11361338B1 (en) 2021-04-01 2022-06-14 The Toronto-Dominion Bank System and method for generating a notification to offset a purchase price
US20230099324A1 (en) * 2021-09-24 2023-03-30 Slack Technologies, Llc Establishing new connections in a communication platform
US11875311B2 (en) * 2021-12-30 2024-01-16 Salesforce, Inc. Communication platform document as a communication channel
KR20240037589A (ko) * 2022-09-15 2024-03-22 삼성에스디에스 주식회사 대화방의 이전 대화 내역을 조회하기 위한 디바이스 및 방법
US11741071B1 (en) 2022-12-28 2023-08-29 Monday.com Ltd. Digital processing systems and methods for navigating and viewing displayed content
US11886683B1 (en) 2022-12-30 2024-01-30 Monday.com Ltd Digital processing systems and methods for presenting board graphics
US11893381B1 (en) 2023-02-21 2024-02-06 Monday.com Ltd Digital processing systems and methods for reducing file bundle sizes

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6513069B1 (en) * 1996-03-08 2003-01-28 Actv, Inc. Enhanced video programming system and method for providing a distributed community network
US6594693B1 (en) * 1998-02-10 2003-07-15 Nitin A. Borwankar Method and apparatus for a structured, synchronized conversation using electronic messages over a computer network
WO2002017115A2 (en) * 2000-08-21 2002-02-28 Thoughtslinger Corporation Simultaneous multi-user document editing system
US7418663B2 (en) * 2002-12-19 2008-08-26 Microsoft Corporation Contact picker interface
US7383308B1 (en) * 2004-02-11 2008-06-03 Aol Llc, A Delaware Limited Liability Company Buddy list-based sharing of electronic content
US7610287B1 (en) * 2005-06-28 2009-10-27 Google Inc. System and method for impromptu shared communication spaces
US8332760B2 (en) * 2006-01-18 2012-12-11 International Business Machines Corporation Dynamically mapping chat session invitation history
US7882194B2 (en) * 2006-02-23 2011-02-01 International Business Machines Corporation System, method and program for managing chat sessions
US7933952B2 (en) * 2007-06-29 2011-04-26 Microsoft Corporation Collaborative document authoring
US20090158163A1 (en) * 2007-12-17 2009-06-18 Slingpage, Inc. System and method to facilitate social browsing
US8694031B2 (en) * 2008-08-05 2014-04-08 Media Friends, Inc. SMS technology for computerized devices
US8464326B2 (en) * 2009-03-16 2013-06-11 International Business Machines Corporation Accessing materials via voice and a menu

Also Published As

Publication number Publication date
CA2828011C (en) 2016-12-20
CN103493035A (zh) 2014-01-01
EP2686775A1 (de) 2014-01-22
AU2012229422A1 (en) 2013-10-17
CA2828011A1 (en) 2012-09-20
US20130262574A1 (en) 2013-10-03
CN103493035B (zh) 2016-11-16
WO2012125338A1 (en) 2012-09-20
EP2686775A4 (de) 2015-01-28

Similar Documents

Publication Publication Date Title
DE202012013447U1 (de) Inline-Benutzeradressierung in Chat- und Dokumentbearbeitungssitzungen
DE602004006798T2 (de) Nachrichtenübertragung über transiente Verbindungen in einer peer-to-peer Netzwerkumgebung
DE10003907B4 (de) Verfahren, Vorrichtung und Datenverarbeitungsprogramm für die Anwendung beim Zugriff auf Hypertext-Dokumente
DE60127078T2 (de) Vorrichtung für anhaltende Chatsitzungen
DE202010018483U1 (de) System zum Zusammenführen von Bearbeitungen für eine Konversation in einem gehosteten Konversationssystem
DE202011110866U1 (de) Identifizierung von Nachrichtenempfängern
DE202011110894U1 (de) Serverbasierte gemeinsame Datennutzung in Computeranwendungen
DE202011110895U1 (de) Echtzeitsynchronisierte Bearbeitung von Dokumenten durch mehrere Benutzer für das Bloggen
US9047584B2 (en) Web-based user interface tool for social network group collaboration
EP2198589B1 (de) Verfahren zum ausführen einer auf einem netzwerkprotokoll, insbesondere tcp/ip und/oder udp, aufbauenden multimedialen kommunikation.
DE602005002156T2 (de) Befehlsgesteuertes System zum Rundsenden von Gruppen-Kurznachrichten (SMS) mit mobilem Nachrichtenempfänger und Kommunikations-Server
DE69830457T2 (de) Netzwerkbasiertes Werkzeug zum Begutachten von Dokumenten
DE202016008241U1 (de) Bereitstellen von Vorschlägen für die Interaktion mit einem automatisierten Assistenten in einem Multi-User Nachrichtenaustausch-Thread
US20050102358A1 (en) Web page monitoring and collaboration system
DE202011110879U1 (de) Rich-Content in einem Textverarbeitungssystem auf Browserbasis
DE202011110867U1 (de) Rich-Text- und browserbasiertes Textverarbeitungsprogramm
DE202015009885U1 (de) Priorisierung von Nachrichten
DE102013222290A1 (de) System und Verfahren zur gemeinsamen Nutzung von Ermittlungsergebnisdaten
DE202012013445U1 (de) System, um Offline Zugriff in einem gehosteten Dokument-Service zur Verfügung zu stellen
DE202016008173U1 (de) Einbindung von auswählbaren Anwendungsverknüpfungen in Nachrichtenaustausch-Threads
DE202014011541U1 (de) System zum Herstellen einer Vertrauensverknüpfung
DE202011110893U1 (de) Verwaltung mehrfacher Anmeldungen über einen Einzelbrowser
DE202020005670U1 (de) Abfassen von Mitteilungen sozialer Medien, die sich auf mehrere Mitteilungen beziehen
DE202019106796U1 (de) Elektronisches Ereignismanagementsystem
DE112020000927T5 (de) Verwalten sensibler daten

Legal Events

Date Code Title Description
R150 Utility model maintained after payment of first maintenance fee after three 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: MAIKOWSKI & NINNEMANN PATENTANWAELTE PARTNERSC, DE

R081 Change of applicant/patentee

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

Free format text: FORMER OWNER: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUNTAIN VIEW, CALIF., US

R082 Change of representative

Representative=s name: MAIKOWSKI & NINNEMANN PATENTANWAELTE PARTNERSC, DE

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