DE202012013447U1 - Inline-Benutzeradressierung in Chat- und Dokumentbearbeitungssitzungen - Google Patents
Inline-Benutzeradressierung in Chat- und Dokumentbearbeitungssitzungen Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
- H04L12/1818—Conference organisation arrangements, e.g. handling schedules, setting up parameters needed by nodes to attend a conference, booking network resources, notifying involved parties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-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/18—Commands or executable codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/48—Message 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.
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 und4B 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 und7D sind beispielhafte schematische Screenshots der Einladung eines Benutzers zu einer Chatsitzung, einer Dokumentbearbeitungssitzung und einer Chat/Dokumentbearbeitungssitzung gemäß mancher Ausführungsformen. -
8A ,8B ,8C und8D sind beispielhafte schematische Screenshots des Empfangs einer Einladung gemäß mancher Ausführungsformen. -
9A ,9B und9C sind Flussdiagramme, die das Verfahren des Einladens eines Benutzers zu einer Chatsitzung gemäß mancher Ausführungsformen veranschaulicht. -
10A und10B 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 System100 veranschaulicht, das zwei oder mehr Clientvorrichtungen102 , ein Kommunikationsnetzwerk104 und ein Serversystem106 beinhaltet. Das Serversystem106 ist über das Kommunikationsnetzwerk104 mit dem einen oder den mehreren Clientvorrichtungen102 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 Serversystem106 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 Kommunikationsnetzwerk104 eine Kommunikationsfähigkeit zwischen den Clientvorrichtungen102 und dem Serversystem106 bereitstellt. In manchen Ausführungsformen verwendet das Kommunikationsnetzwerk104 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 Clientvorrichtungen102 auf verschiedene Ressourcen, die über das Kommunikationsnetzwerk104 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-Server110 , der die Kommunikation zwischen dem Serversystem106 und den Clients102 ermöglicht. In manchen Ausführungsformen ist der Frontend-Server110 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 Schnittstelle116 , die die Übertragung von E-Mail-Mitteilungen und SMS-Mitteilungen zwischen dem Serversystem106 und dem Netzwerk104 ermöglicht. Die SMTP/SMS Schnittstelle116 sendet Einladungen (beispielsweise Chateinladungen, Dokumentbearbeitungseinladungen oder Chat + Dokument Bearbeitungseinladungen), die von einem Inline-Adressierungsmodul114 erzeugt werden, über das Netzwerk104 an die jeweilige Clientvorrichtung102 . In manchen Ausführungsformen empfängt die SMTP/SMS Schnittstelle116 außerdem Einladungen zu Chats, Einladungen zu Dokumentbearbeitungssitzungen und Einladungen zu Chat + Dokument Sitzungen, die von der jeweiligen Clientvorrichtung102 über das Netzwerk104 gesendet werden. - In manchen Ausführungsformen beinhaltet das Serversystem
106 eine Chat-/Dokumentdatenbank120 , die Chatinhalte und/oder kollaborative Dokumente speichert. In manchen Ausführungsformen speichert die Chat-/Dokumentdatenbank120 außerdem auch SMS-Mitteilungen und E-Mail-Mitteilungen. Chatinhalte und kollaborative Dokumente werden hierin detaillierter beschrieben. In manchen Ausführungsformen ist die Chat-/Dokumentdatenbank120 eine verteilte Datenbank, die über mehrere Server innerhalb des Serversystems106 verteilt ist. - In manchen Ausführungsformen beinhaltet das Serversystem
106 eine Adressbuchdatenbank118 , die Adressbücher (auch Kontaktlisten oder Kontaktdatenbanken genannt) für Benutzer des Serversystems106 speichert. In manchen Ausführungsformen ist die Adressbuchdatenbank118 eine verteilte Datenbank, die über mehrere Server innerhalb des Serversystems106 verteilt ist. Adressbücher werden hierin ausführlicher beschrieben. - In manchen Ausführungsformen beinhaltet das Serversystem
106 Onlineanwendungen112 , einschließlich Applikationen, die auf dem Serversystem106 ausgeführt werden oder zur Ausführung an die Clientvorrichtungen102 gesendet werden. In manchen Ausführungsformen werden eine oder mehrere Onlineanwendung(en)112 als Reaktion auf eine Clientanforderung an einen jeweiligen Client102 gesendet. Onlineapplikationen112 speichern Informationen in der Adressbuchdatenbank118 und der Chat-/Dokumentdatenbank120 und greifen auf Informationen darin zu. Onlineanwendungen112 werden hierin ausführlicher besprochen. - In manchen Ausführungsformen beinhaltet das Serversystem
106 ein Inline-Adressierungsmodul114 , das bei Zugriff auf, Aktualisierung und Modifikation von Daten in der Adressbuchdatenbank118 und der Chat-/Dokumentdatenbank120 unterstützt. In manchen Ausführungsformen verwendet das Inline-Adressierungsmodul114 Informationen aus der Chat-/Dokumentdatenbank120 , der Adressbuchdatenbank118 und/oder Chat/Dokument Inhalte, die von dem Frontend-Server110 empfangen werden, um Kontaktvorschläge, Einladungen zu Dokumentbearbeitungssitzungen, Einladungen zu Chatsitzungen und Einladungen zu Chat + Dokument Bearbeitungssitzungen zu generieren. Das Inline-Adressierungsmodul114 wird hierin ausführlicher besprochen. - In manchen Ausführungsformen beinhaltet das Serversystem
106 ein Chat-/Dokumentmodul130 , das Chatsitzungen, Dokumentbearbeitungssitzungen und Chat + Dokument Bearbeitungssitzungen erzeugt und aufrechterhält. In manchen Ausführungsformen speichert das Chat-/Dokumentmodul130 Informationen in der Chat-/Dokumentdatenbank120 und ruft diese daraus ab. Das Chat-/Dokumentmodul130 wird hierin ausführlicher besprochen. - In manchen Ausführungsformen verfügt ein Benutzer an einer Clientvorrichtung
102 über eine Schnittstelle mit dem Serversystem106 . Clientvorrichtungen102 können jedwede geeignete Computervorrichtungen sein, die über die Fähigkeit verfügen, sich über ein Kommunikationsnetzwerk104 mit einem Serversystem106 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 Serversystem106 zu kommunizieren. Clientvorrichtungen102 beinhalten typischerweise einen oder mehrere Prozessor(en), nichtflüchtige(n) Speicher, wie etwa Flash-Speicher oder ein Festplattenlaufwerk, und eine Anzeige. Die Clientvorrichtungen102 können auch über Eingabegeräte, wie eine Tastatur und eine Maus (wie in2 gezeigt) verfügen. - In manchen Ausführungsformen beinhaltet eine entsprechende Clientvorrichtung
102 eine Chatanwendung122 , die es einem jeweiligen Benutzer ermöglicht, mit anderen Benutzern an anderen Clientvorrichtungen102 zu chatten. Optional beinhaltet die jeweilige Clientvorrichtung102 eine Dokumentbearbeitungsapplikation122 , die es einem jeweiligen Benutzer ermöglicht, Dokumente, die auf der Clientvorrichtung102 oder dem Serversystem106 gespeichert sind, zu bearbeiten. In manchen Ausführungsformen beinhaltet die jeweilige Clientvorrichtung102 eine Chat + Dokument Bearbeitungsanwendung122 für gleichzeitiges Chatten und Bearbeiten von Dokumenten. Die Chatanwendung112 , die Dokumentbearbeitungsanwendung124 und die Chat + Dokument Bearbeitungsanwendung werden hierin ausführlicher besprochen. - In manchen Ausführungsformen beinhaltet die jeweilige Clientvorrichtung
102 eine Browseranwendung128 für die Anforderung, Analyse, Darstellung und Ausführung von Webseiten und die Ausführung von in Webseiten enthaltenen Anwendungen. Die Browseranwendung128 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 Clientvorrichtung102 gemäß mancher Ausführungsformen veranschaulicht. Die Clientvorrichtung102 beinhaltet eine oder mehrere Verarbeitungseinheit(en) (CPUs)202 , eine oder mehrere Netzwerk- oder andere Kommunikationsschnittstelle(n)214 , Speicher206 und einen oder mehrere Kommunikationsbus(se)204 , um diese Komponenten miteinander zu verbinden. Die Kommunikationsbusse204 beinhalten optional eine Schaltungsanordnung (manchmal als Chipset bezeichnet), die Verbindungen zwischen den Systemkomponenten herstellt und Kommunikationen zwischen den Systemkomponenten steuert. Die Clientvorrichtung102 beinhaltet typischerweise eine Benutzerschnittstelle, die beispielsweise ein Anzeigegerät210 und optional eine Tastatur und/oder eine Maus (oder ein anderes Zeigegerät)212 umfasst. Der Speicher206 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 Speicher206 beinhaltet optional eine oder mehrere Speichervorrichtung(en), die sich dezentral von dem/den CPU(s)202 befindet. Der Speicher206 oder alternativ die nichtflüchtigen Speichervorrichtung(en) im Speicher206 umfassen ein computerlesbares Speichermedium. In manchen Ausführungsformen speichert der Speicher206 oder das computerlesbare Speichermedium des Speichers206 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 Clientvorrichtung102 mit dem Serversystem106 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 Prozessoren202 der Clientvorrichtung ausgeführt werden; Anwendungen220 beinhalten typischerweise eines oder mehrere von: einer Chatanwendung122 , einer Dokumentbearbeitungsanwendung124 , einer Chat + Dokument Bearbeitungsanwendung126 und/oder eine Browseranwendung128 ; und - • optional eine oder mehrere Webseiten, wie etwa eine Webseite mit einer eingebetteten Chatanwendung
230 , eine Webseite mit einer eingebetteten Dokumentbearbeitungsanwendung232 und/oder eine Webseite mit einer eingebetteten Chat + Dokument Bearbeitungsanwendung234 . - Die Chatanwendung
122 , sofern in der Clientvorrichtung102 enthalten, befähigt einen Benutzer der Clientvorrichtung102 an Echtzeit-Kommunikationen in einer Chatsitzung mit Benutzern an einer oder mehreren anderen Clientvorrichtung(en) teilzunehmen. In manchen Ausführungsformen verbindet sich die Chatanwendung122 mit einem Server (beispielsweise Serversystem106 ), um eine Chatsitzung zu erzeugen oder ihr beizutreten. - Die Dokumentbearbeitungsanwendung
124 , sofern in der Clientvorrichtung102 enthalten, befähigt einen Benutzer der Clientvorrichtung102 Dokumente, die sich auf der Clientvorrichtung102 oder auf dem Serversystem106 befinden (beispielsweise in der Chat-/Dokumentdatenbank118 ) dezentral von der Clientvorrichtung102 befinden, zu bearbeiten. In manchen Ausführungsformen arbeitet die Dokumentbearbeitungsanwendung124 mit einem Online-Dokumentbearbeitungsdienst (beispielsweise das Chat-/Dokumentmodul130 des Serversystems102 ) zusammen, was es mehreren Benutzern ermöglicht, gleichzeitig ein Dokument zu bearbeiten. In manchen Ausführungsformen verbindet sich die Dokumentbearbeitungsanwendung124 mit einem Server (beispielsweise Serversystem106 ), um eine Dokumentbearbeitungssitzung zu erzeugen oder ihr beizutreten. - Die Chat + Dokument Bearbeitungsanwendung
126 , sofern sie in der Clientvorrichtung102 enthalten ist, befähigt einen Benutzer der Clientvorrichtung102 ein Dokument zu bearbeiten und Chatkommunikationen mit anderen Benutzern anderer Clientvorrichtungen zu haben, die gemeinsam mit dem Benutzer der Clientvorrichtung102 das Dokument bearbeiten. Anders ausgedrückt, die Chat + Dokument Bearbeitungsanwendung126 befähigt einen Benutzer der Clientvorrichtung102 gleichzeitig mit den Benutzern anderer Clientvorrichtungen an einer Dokumentbearbeitungssitzung, die in Verbindung mit einer Chatsitzung steht, teilzunehmen. Die Dokumentbearbeitung unter Verwendung der Chat + Dokument Bearbeitungsanwendung126 kann sich auf der Clientvorrichtung102 oder auf dem Serversystem106 (beispielsweise in der Chat-/Dokumentdatenbank120 ) befinden. In manchen Ausführungsformen arbeitet die Chat + Dokument Bearbeitungsanwendung126 mit einem Online-Dokumentbearbeitungsdienst (beispielsweise das Chat-/Dokumentmodul130 des Serversystems102 ) 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 Bearbeitungsanwendung126 mit einem Server (beispielsweise Serversystem106 ), 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 und234 führen ähnliche Operationen durch, wie die, die in Hinblick auf die Anwendungen122 ,124 bzw.126 beschrieben wurden. In manchen Ausführungsformen werden Webseiten mit Anwendungen230 ,232 und234 von einem Server (beispielsweise Serversystem106 ) empfangen, der sich dezentral von der Clientvorrichtung102 befindet, und von einem oder mehreren Prozessor(en)202 der Clientvorrichtung102 ausgeführt werden. Die in Webseiten230 ,232 und234 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 Vorrichtung102 und/oder einer anderen Programmier-/Scriptingsprache geschrieben sein. In manchen Ausführungsformen werden die in den Webseiten230 ,232 und234 eingebetteten Applikationen zum Teil auf der Clientvorrichtung102 und zum Teil auf einem Server (beispielsweise Serversystem106 ), der sich dezentral von der Clientvorrichtung102 befindet, ausgeführt. - In manchen Ausführungsformen beinhaltet eine entsprechende Anwendung (beispielsweise Anwendung
122 ,124 ,126 oder128 , 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 Anzeige210 der Clientvorrichtung102 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 CPUs202 ) der Clientvorrichtung102 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 Speicher206 eine Untermenge der oben beschriebenen Module und Datenstrukturen speichern. Außerdem kann Speicher206 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 in2 gezeigt. -
3 ist ein Blockdiagramm, das ein Serversystem106 gemäß mancher Ausführungsformen veranschaulicht. Das Serversystem106 beinhaltet eine oder mehrere Recheneinheit(en) (CPUs)302 , ein oder mehrere Netzwerk- oder andere Kommunikationsschnittstelle(n)308 , einen Speicher306 und einen oder mehrere Kommunikationsbus(se)304 , um diese Komponenten miteinander zu verbinden. Die Kommunikationsbusse304 beinhalten optional eine Schaltungsanordnung (manchmal als Chipset bezeichnet), die Verbindungen zwischen den Systemkomponenten herstellt und Kommunikationen zwischen den Systemkomponenten steuert. Der Speicher306 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 Speicher306 beinhaltet optional eine oder mehrere Speichervorrichtung(en), die sich dezentral von dem/den CPU(s)302 befindet bzw. befinden. Der Speicher306 oder alternativ die nichtflüchtige(n) Speichereinrichtung(en) im Speicher306 umfasst bzw. umfassen ein nicht-transitorisches computerlesbares Speichermedium. In manchen Ausführungsformen speichert der Speicher306 oder das computerlesbare Speichermedium des Speichers306 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 Serversystems106 mit der Clientvorrichtung102 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 Dokumente322 und Chats324 speichert, wie hierin ausführlicher besprochen; - • Chat-/Dokumentdatenbank
120 speichert Dokumente322 und Chats324 ; Dokumente322 und Chats324 werden hierin ausführlicher besprochen; - • Adressbuchdatenbank
118 , die Adressbücher340 für Benutzer des Serversystems106 enthält. Ein entsprechendes Adressbuch340 enthält einen oder mehrere Kontakt(e)336 . Die Kontakte336 enthalten Kontaktinformationen, wie Namen, Anschrift, E-Mail-Adresse, Telefonnummer, Spitznamen und Chat-Namen. - • Anwendungen
112 , die eines oder mehrere beinhalten von: Webseite mit einer Chatanwendung330 , Webseite mit einer Dokumentbearbeitungsanwendung332 und Webseite mit einer Chat + Dokumentbearbeitungsanwendung334 . - In manchen Ausführungsformen wird eine entsprechende Webseite
330 ,332 oder334 mit einer eingebetteten Anwendung in Reaktion auf eine Clientanforderung nach der entsprechenden Anwendung oder eine Anforderung nach dem entsprechenden Dokument an eine Clientvorrichtung102 gesendet. Die auf dem Serversystem106 gespeicherten Webseiten330 ,332 und334 entsprechen den auf der Clientvorrichtung102 gespeicherten Webseiten230 ,232 und234 . In manchen Ausführungsformen wird die in einer entsprechenden Webseite330 ,332 oder334 eingebettete Anwendung von der Clientvorrichtung102 , an die die Webseite gesendet wird, ausgeführt. In manchen Ausführungsformen arbeitet die in einer entsprechenden Webseite330 ,332 ,334 eingebettete Anwendung während sie von einer Clientvorrichtung102 , an die die Webseite gesendet wurde (beispielsweise in Reaktion auf eine http Anforderung), ausgeführt wird, zusammen mit einem Online-Dokumentbearbeitungsdienst (beispielsweise dem Chat-/Dokumentmodul130 ), der vom Serversystem106 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 Chats324 und Dokumente322 , die in der Chat-/Dokumentdatenbank118 gespeichert sind. - In manchen Ausführungsformen entdeckt das Inline-Adressierungsmodul
114 eingebettete Anforderungen im Chatinhalt und im Dokumentinhalt, die in der Chat-/Dokumentdatenbank118 gespeichert sind. In manchen Ausführungsformen entdeckt das Inline-Adressierungsmodul114 eingebettete Anforderungen in Chatinhalt und Dokumentinhalt, wie er vom Serversystem106 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 Adressbuchdatenbank118 gespeicherte Kontaktinformationen sowie Chat-/Dokumentinhalt, der vom Serversystem106 empfangen wird oder in der Chat-/Dokumentdatenbank120 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 Serversystem106 empfangen wird. - In manchen Implementierungen verwendet das Inline-Adressierungsmodul
114 Chatinhalt und Dokumentinhalt, der vom Serversystem106 empfangen wird oder in der Chat-/Dokumentdatenbank118 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 Chats324 oder Dokuments322 , die in der Chat-/Dokumentdatenbank120 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 Chat324 oder ein Dokument322 zugewiesenen Zugriffsrechte von dem Serversystem106 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-Adressierungsmodul114 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-/Dokumentmodul130 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-/Dokumentdatenbank120 . Das Chat-/Dokumentmodul130 stellt Dokumentbearbeitungssitzungen her, erzeugt Dokumente, modifiziert Dokumente, überträgt zumindest Teile von Dokumenten an Benutzer der Dokumentbearbeitungssitzung und speichert Dokumente in der Chat-/Dokumentdatenbank120 . In manchen Ausführungsformen modifiziert das Chat-/Dokumentmodul130 im Chat/Dokument120 gespeicherte Informationen, um ein Dokument322 einem Chat324 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 CPUs302 ) 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 Speicher306 eine Teilmenge der vorstehend identifizierten Module und Datenstrukturen speichern. Außerdem kann der Speicher306 zusätzliche Module und Datenstrukturen, die vorstehend nicht beschrieben sind, speichern. - Obwohl
3 ein Serversystem zeigt, ist3 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 Betriebssystem310 und Netzwerkkommunikationsmodul312 ) zum Beispiel, die in3 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 Serversystems106 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 und4B veranschaulichen Datenstrukturen, die gemäß mancher Ausführungsformen in der Chat-/Dokumentdatenbank120 gespeichert sind. Die in4A gezeigten Datenstrukturen speichern gemäß mancher Ausführungsformen kollaborative Dokumente, die von Benutzern der Clientvorrichtungen102 bearbeitet werden können. Die in4B gezeigten Datenstrukturen speichern gemäß mancher Ausführungsformen Chatinhalt entsprechend einer Chatsitzung zwischen zwei oder mehr Benutzern der Clientvorrichtungen102 . In manchen Implementierungen werden die in diesen Datenstrukturen gespeicherten Informationen zur Erzeugung von Einladungen zu Chatsitzungen, Dokumentbearbeitungssitzungen und Chat + Dokumentbearbeitungssitzungen verwendet. -
4A veranschaulicht Dokumentdatenstrukturen402 gemäß mancher Ausführungsformen, die in einer Chat-/Dokumentdatenbank120 zur Speicherung von Dokumenten gespeichert sind. Ein entsprechendes Dokument402-2 enthält Metadaten404 und Dokumentinhalt414 . Metadaten404 für ein entsprechendes Dokument402 beinhalten in manchen Ausführungsformen eine Dokumentkennung (Dokument-ID)406 , eine Zugriffskontrollliste408 , eine Dokumentart410 und optional zusätzliche Informationen. In manchen Ausführungsformen identifiziert die Dokument-ID406 eindeutig ein entsprechendes Dokument402 . In anderen Ausführungsformen identifiziert eine Dokument-ID406 eindeutig ein entsprechendes Dokument402 in einem Verzeichnis (beispielsweise einem Dateiverzeichnis) oder einer anderen Dokumentensammlung innerhalb der Datenbank120 . Die Dokumentart410 identifiziert die Art des Dokuments402-2 . In einem nicht einschränkenden Beispiel gibt die Dokumentart410 für ein entsprechendes Dokument402 in Datenbank120 an, dass das entsprechende Dokument402 ein Textverarbeitungsdokument, ein Kalkulationsblattdokument, ein Präsentationsdokument, eine Zeichnung oder eine Webseite ist. - Mindestens eine Vielzahl der Dokumente
402 in einer Chat-/Dokumentdatenbank120 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 Dokument402 in einer Datenbank120 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 Dokumentinhalt414 für ein bestimmtes Dokument402 entspricht der Dokumentart410 des Dokuments. - Die Zugriffskontrollliste
408 beinhaltet eine Liste von Benutzern und deren jeweilige Zugriffsrechte für ein entsprechendes Dokument402-2 . Die Zugriffsrechte eines Benutzers in Hinblick auf ein Dokument402 legt fest, welche Handlungen der Benutzer in Hinblick auf das Dokument402 ausführen kann. Dokumentzugriffsrechte umfassen Lesezugriff, Lese-/Schreibzugriff und Freigaberechte. Ein Benutzer mit Lesezugriff auf ein Dokument402 kann das Dokument402 einsehen, aber keine Modifikationen an dem Dokument402 vornehmen. Ein Benutzer mit Lese-/Schreibzugriff auf ein Dokument402 kann das Dokument402 sowohl einsehen, als auch bearbeiten. Freigaberechte legen fest, ob ein Benutzer andere Benutzer zum Zugriff auf das Dokument402 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 Zugriffskontrollliste408 für ein jeweiliges Dokument402 nicht aufgeführt ist, kann nicht auf das Dokument402 zugreifen. In manchen Ausführungsformen werden Benutzer vom Inline-Adressierungsmodul114 oder dem Chat-/Dokumentmodul130 der Zugriffskontrollliste408 hinzugefügt. - In manchen Ausführungsformen umfassen Metadaten
404 zugeordnete Chat-ID(s)412 für einen oder mehrere Chats422 , die dem jeweiligen Dokument402-2 zugeordnet sind. Das Dokument402-2 könnte beispielsweise zumindest teilweise in einer Chat + Dokumentbearbeitung Sitzung bearbeitet worden sein. - Es wird nun auf
4B verwiesen, die die Chat-Datenstrukturen422 gemäß mancher Ausführungsformen veranschaulicht, die hierin manchmal als Chateinträge422 bezeichnet und in der Chat-/Dokumentdatenbank120 zur Speicherung von Informationen im Zusammenhang mit Chat/IM Sitzungen gespeichert werden. Jeder Chateintrag422 speichert Informationen im Zusammenhang mit einer Chatsitzung oder einer IM-Sitzung zwischen zwei oder mehreren Benutzern. Jeder Chateintrag422 umfasst eine Chat-ID424 , eine Zugriffskontrollliste426 und Chatinhalt430 . Die Chat-ID424 eines entsprechenden Chateintrags422 identifiziert eindeutig eine Chatsitzung. Der Chatinhalt430 umfasst die Kommunikationen/den Chatverlauf (beispielsweise Text, Stimmkommunikationen, Video und Bilder) zwischen den Teilnehmern an dem Chat entsprechend dem Chateintrag422 . Ein entsprechender Chateintrag422 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 Chateintrag422 . Falls der Chateintrag422 einer inaktiven Chatsitzung entspricht, legen die Zugriffsrechte eines entsprechenden Benutzers fest, ob der entsprechende Benutzer auf den Chatinhalt430 , der den Chatverlauf einer Chatsitzung enthält, zugreifen kann. Falls der Chateintrag422 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 Zugriffskontrollliste426 aufgeführt ist, der entsprechenden Chatsitzung nicht beitreten. Ebenso kann ein Benutzer, der nicht auf der Zugriffskontrollliste426 für einen entsprechenden inaktiven Chat aufgeführt ist, typischerweise nicht auf den entsprechenden Chatinhalt430 im Chateintrag422 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 Zugriffskontrollliste426 hinzugefügt wird. In manchen Ausführungsformen werden Benutzer vom Inline-Adressierungsmodul114 oder dem Chat-/Dokumentmodul130 der Zugriffskontrollliste408 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-IDs428 für ein oder mehrere Dokument(e), die dem Chateintrag422-2 zugeordnet sind. Chateintrag422-2 kann beispielsweise einer Chat + Dokumentbearbeitungssitzung entsprechen. - Es wird nun auf das Flussdiagramm in
5 verwiesen, das einen Prozess500 zur Einladung eines Benutzers zu einer Chatsitzung unter Verwendung von Inline-Benutzeradressierung gemäß manchen Ausführungsformen veranschaulicht. An einem Client102-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 Chatsitzung704 , wie in7B gezeigt, zusammen mit einer Dokumentbearbeitungssitzung712 statt. Chatinhalt wird beispielsweise vom Client102-1 eines Chatteilnehmers an das Serversystem106 gesendet. (504 ) Am Serversystem106 wird der Chatinhalt von einem Chatteilnehmer von dem Client102-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 Anforderung702 innerhalb des Chatinhalts708 . Das Serversystem106 sendet als Reaktion auf die Entdeckung der eingebetteten Anforderung eine Chateinladung an den Client102-2 des bestimmten Benutzers. (510 ) Der Client102-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 in8A gezeigt, der eingeladene Benutzer in einer Chatanwendung, die mit dem Serversystem106 verbunden ist, angemeldet ist, empfängt der eingeladene Benutzer eine Chatmitteilung800 oder es wird automatisch ein Chatfenster802 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 Serversystem106 verbunden ist. In einem nicht einschränkendem Beispiel, wie in8B und8C gezeigt, empfängt der eingeladene Benutzer die Einladung810 über ein aktives Fenster812 einer E-Mail-Anwendung. In manchen Ausführungsformen wird der bestimmte Benutzer über ein inaktives Fenster einer Anwendung, die mit dem Serversystem106 verbunden ist, über die Einladung benachrichtigt oder er erhält die Einladung darüber. Der bestimmte Benutzer empfängt beispielsweise, wie in8D gezeigt, die Einladung810 über ein inaktives Webbrowser-Tab811 . In manchen Ausführungsformen zeigt das inaktive Webbrowser-Tab811 eine Benachrichtigung über die Einladung an und wenn der Benutzer das inaktive Fenster auswählt (beispielsweise das inaktive Webbrowser-Tab811 der8D ), wird die Einladung in dem jetzt aktiven Fenster angezeigt, wie in den in8A ,8B und8C 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 Prozess600 der Einladung eines Benutzers zu einer Dokumentbearbeitungssitzung durch die Verwendung der Inline-Benutzeradressierung gemäß manchen Ausführungsformen veranschaulicht. An der Clientvorrichtung102-1 eines Dokumentbearbeitungsteilnehmers (der der Prozess der Erzeugung und/oder Bearbeitung eines Dokuments ist) werden Dokumentbearbeitungsbefehle von dem Teilnehmer an einer Dokumentbearbeitungssitzung an das Serversystem106 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 Serversystem106 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 Serversystem106 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 Serversystem106 entdeckt, innerhalb des jeweiligen Dokumenttexts, eine eingebettete Anforderung zur Einladung eines bestimmten Benutzers zum Zugriff auf das jeweilige Dokument. (608 ) Die eingebettete Anforderung714 befindet sich beispielsweise, wie in7C gezeigt, innerhalb des Dokumentinhalts716 . Genauer gesagt befindet sich die eingebettete Anforderung714 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 Serversystem106 fügt als Reaktion auf die Entdeckung der eingebetteten Anforderung den bestimmten Benutzer der Zugriffskontrollliste des jeweiligen Dokuments hinzu. (610 ) Das Serversystem106 sendet als Reaktion auf die Entdeckung der eingebetteten Anforderung außerdem eine Einladung an den bestimmten Benutzer. (612 ) Der Client102-2 des bestimmten Benutzers empfängt die Einladung vom Serversystem106 . (614 ) Die Einladung wird dem bestimmten Benutzer auf ähnliche Weise gesendet, wie im Zusammenhang mit5 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 und9C sind Flussdiagramme, die ein Verfahren900 zur Einladung eines Benutzers zu einer Chatsitzung unter Verwendung von Inline-Adressierung gemäß mancher Ausführungsformen veranschaulichen. Verfahren900 wird am Serversystem106 durchgeführt. - Es wird nun auf
9A verwiesen, die das Verfahren900 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 Serversystem106 verbunden ist bzw. sind, empfangen. Der Chatinhalt wird in einer Chat-Datenstruktur422 in der Chat-/Dokumentdatenbank120 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-Adressierungsmodul114 im Serversystem106 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 Anforderung702 , wie in7A gezeigt, ein vordefiniertes Symbol701 (beispielsweise „@“) gefolgt von einer Benutzerkennung703 (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 Adressbuchdatenbank118 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-Adressierungsmodul114 empfangen wird, sendet das Inline-Adressierungsmodul114 wiederholt neue Benutzerkennungsvorschläge an den Client102 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 Client102 des Chatteilnehmers gesendet, um den Chatteilnehmer bei der Eingabe einer eingebetteten Anforderung zu unterstützen. In manchen Ausführungsformen ermittelt das Inline-Adressierungsmodul114 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 in7A wird die eingebettete Anforderung702 „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-/Dokumentdatenbank120 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 Zugriffskontrollliste426 ) der jeweiligen Chatsitzung (beispielsweise Chat422 ), 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-Adressierungsmoduls114 eine Liste722 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 Liste722 eine Gewährung724 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ährung724 nur angezeigt, wenn der Benutzer eine entsprechende Benutzerkennung oder einen entsprechenden Benutzernamen in der List722 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-Adressierungsmodul114 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 Client102 , 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 in7A 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 in8A gezeigt, erhält der bestimmte Benutzer, wenn der bestimmte/eingeladene Benutzer in einer Chatmitteilung angemeldet ist (beispielsweise Chatanwendung122 oder Webseite mit Chatanwendung230 ), die mit dem Serversystem106 verbunden ist, eine Chatmitteilung800 oder es erscheint automatisch ein Chatfenster802 auf der Chatanwendung des Benutzers. In manchen Ausführungsformen ist die Chatanwendung (beispielsweise Chatanwendung122 oder Webseite mit Chatanwendung230 ) in eine andere Anwendung integriert, wie etwa einer Dokumentbearbeitungsanwendung (beispielsweise Dokumentbearbeitungsanwendung124 oder Webseite mit Dokumentbearbeitungsanwendung232 ) 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 Serversystem106 verbunden ist, erhalten. In einem nicht einschränkendem Beispiel, wie in8B und8C gezeigt, empfängt der bestimmte Benutzer die Einladung810 über ein aktives Fenster812 einer E-Mail-Anwendung. In einem anderen Beispiel empfängt der bestimmte Benutzer, wie in8D gezeigt, die Einladung810 über ein inaktives Webbrowser-Tab811 . In manchen Ausführungsformen zeigt das inaktive Webbrowser-Tab811 eine Benachrichtigung über die Einladung an und wenn der bestimmte Benutzer das inaktive Fenster auswählt (beispielsweise das inaktive Webbrowser-Tab811 der8D ), 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) (beispielsweise122 ,124 ,126 ,128 ,230 ,232 und234 ), die mit dem Serversystem106 verbunden sind, verwendet, und welche Anwendungsfenster dieser einen oder dieser mehreren Anwendung(en) am Client des bestimmten Benutzers102 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 Client102 gesendet. Der Chatinhalt wird typischerweise in einem Chatfenster oder einer anderen Chatbenutzerschnittstelle dargestellt oder dem bestimmten Benutzer über den Client102 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 Client102 des bestimmten Benutzers gesendet. Der an den Client102 des bestimmten Benutzers gesendete und vom Client102 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-Adressierungsmodul114 des Serversystems106 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 Dokumentbearbeitungsanwendung124 oder Webseite mit Dokumentbearbeitungsanwendung232 ) 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 und10B zeigen ein Flussdiagramm eines Verfahrens1000 zum Einladen eines Benutzers zum Beitreten zu einer Dokumentbearbeitungssitzung unter Verwendung von Inline-Adressierung gemäß manchen Ausführungsformen. Verfahren1000 wird vom Serversystem106 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 Serversystem106 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-/Dokumentdatenbank120 gespeichert. In manchen Ausführungsformen empfängt das Inline-Adressierungsmodul114 die Dokumentbearbeitungsbefehle und bearbeitet als Reaktion auf den Empfang der Dokumentbearbeitungsbefehle das entsprechende Dokument in der Chat-/Dokumentdatenbank120 . - 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-Adressierungsmodul114 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 Anforderung714 , wie in7C gezeigt, innerhalb eines Benutzer-erzeugten Kommentars715 (in7C durch ein gestricheltes Rechteck und die Kennzeichnung „Kommentar:“ markiert) und enthält ein vordefiniertes Symbol718 (beispielsweise „@“), gefolgt von einer Benutzerkennung720 (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 beispielsweise7D , die eine Liste722 von Kontaktvorschlägen auf Grundlage der Benutzereingabe in einem Kommentar715 in einem Dokument eines vordefinierten Symbols718 (beispielsweise das Zeichen @) gefolgt vom Buchstaben „M“, zeigt.7D ist7C ähnlich, außer dass der schematische Screenshot in7D eine nur teilweise eingegebene Benutzerkennung („M“) zeigt und eine Liste722 der entsprechenden Kontaktvorschläge, anstatt der Benutzerkennung720 , die in7C 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-Adressierungsmodul114 empfangen wird, sendet das Inline-Adressierungsmodul114 wiederholt neue Benutzerkennungsvorschläge an den Client102 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 in7C und7D gezeigten Beispielen wandelt sich die Benutzerschnittstelle, bei Benutzerauswahl einer vorgeschlagenen Benutzerkennung oder vollständigen Eingabe einer Benutzerkennung, von dem in7D gezeigten Beispiel zurück zu dem in7C gezeigtem Beispiel. Kontaktvorschläge werden an den Client102 des Dokumentbearbeitungsteilnehmers gesendet, um den Teilnehmer bei der Eingabe einer eingebetteten Anforderung zu unterstützen. In manchen Ausführungsformen ermittelt das Inline-Adressierungsmodul114 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-Adressierungsmodul114 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-Adressierungsmodul114 darüber hinaus den Benutzer, der von der eingebetteten Anforderung angegeben wird, der Zugriffskontrollliste (beispielsweise der Zugriffskontrollliste408 ) des jeweiligen Dokuments (beispielsweise402 ) 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 Dokumentbearbeitungsanwendung124 oder Webseite mit Dokumentbearbeitungsanwendung232 ) 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-Adressierungsmodul114 fest, wo der bestimmte Benutzer die Einladung empfängt. Wie in8A gezeigt erhält der eingeladene Benutzer, falls der Benutzer eine Chatanwendung (beispielsweise Chatanwendung122 oder Webseite mit Chatanwendung230 ), die mit Serversystem106 verbunden ist, verwendet, eine Chatmitteilung800 oder es wird automatisch ein Chatfenster802 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 Dokumentbearbeitungsanwendung126 oder Webseite mit Chat + Dokumentbearbeitung Anwendung234 ) 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 Browser128 ), die mit dem Serversystem106 verbunden ist, erhalten. In einem nicht einschränkendem Beispiel, wie in8B und8C gezeigt, empfängt der bestimmte Benutzer die Einladung810 über ein aktives Fenster812 einer E-Mail-Anwendung. In einem anderen Beispiel empfängt der bestimmte Benutzer, wie in8D gezeigt, die Einladung810 über ein inaktives Webbrowser-Tab811 . In manchen Ausführungsformen zeigt das inaktive Webbrowser-Tab811 eine Benachrichtigung über die Einladung an und wenn der bestimmte Benutzer das inaktive Fenster auswählt (beispielsweise das inaktive Webbrowser-Tab811 der8D ), 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 Serversystem106 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) (beispielsweise122 ,124 ,126 ,128 ,230 ,232 und234 ), die mit dem Serversystem106 verbunden sind, verwendet, und welche Anwendungsfenster dieser einen oder dieser mehreren Anwendung(en) am Client des bestimmten Benutzers102 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 Serversystem106 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 in9A ,9B ,9C ,10A und10B 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)
- 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.
- 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.
- Computerlesbares Speichermedium nach Anspruch 1 oder 2, worin die eingebettete Anforderung ein vordefiniertes Symbol beinhaltet, auf das eine Benutzerkennung des bestimmten Benutzers folgt.
- 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.
- 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.
- 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.
- 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.
- Computerlesbares Speichermedium nach Anspruch 7, worin die Einladung an den bestimmten Benutzer Chattext aus der Chatsitzung beinhaltet.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- System nach Anspruch 13 oder 14, worin die eingebettete Anforderung ein vordefiniertes Symbol beinhaltet, auf das eine Benutzerkennung des bestimmten Benutzers folgt.
- 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.
- 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.
- 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.
- 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.
- System nach Anspruch 19, worin die Einladung an den bestimmten Benutzer Chattext aus der Chatsitzung umfasst.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Computerlesbares Speichermedium nach Anspruch 25 oder 26, worin die eingebettete Anforderung ein vordefiniertes Symbol beinhaltet, auf das eine Benutzerkennung des bestimmten Benutzers folgt.
- 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.
- 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.
- 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.
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)
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)
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 |
-
2011
- 2011-06-22 US US13/166,748 patent/US20130262574A1/en not_active Abandoned
-
2012
- 2012-03-06 WO PCT/US2012/027851 patent/WO2012125338A1/en unknown
- 2012-03-06 DE DE202012013447.7U patent/DE202012013447U1/de not_active Expired - Lifetime
- 2012-03-06 CN CN201280013577.5A patent/CN103493035B/zh active Active
- 2012-03-06 EP EP12708633.8A patent/EP2686775A4/de not_active Withdrawn
- 2012-03-06 AU AU2012229422A patent/AU2012229422A1/en not_active Abandoned
- 2012-03-06 CA CA2828011A patent/CA2828011C/en active Active
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 |