DE102017122379A1 - Umsetzbare Vorschläge für Aktivitäten - Google Patents

Umsetzbare Vorschläge für Aktivitäten Download PDF

Info

Publication number
DE102017122379A1
DE102017122379A1 DE102017122379.7A DE102017122379A DE102017122379A1 DE 102017122379 A1 DE102017122379 A1 DE 102017122379A1 DE 102017122379 A DE102017122379 A DE 102017122379A DE 102017122379 A1 DE102017122379 A1 DE 102017122379A1
Authority
DE
Germany
Prior art keywords
event
template
user
data
output
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.)
Pending
Application number
DE102017122379.7A
Other languages
English (en)
Inventor
Daniel M. Keysers
Victor Carbune
Thomas Deselaers
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of DE102017122379A1 publication Critical patent/DE102017122379A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1093Calendar-based scheduling for persons or groups
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0261Targeted advertisements based on user location
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0264Targeted advertisements based upon schedule
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Abstract

Es werden Verfahren, Systeme und Vorrichtungen einschließlich Computerprogrammen, die in einem Computerspeichermedium codiert sind, zum Bereitstellen umsetzbarer Vorschläge offenbart. In einem Aspekt enthält ein Verfahren das Empfangen (i) einer Angabe, dass ein Ereignisdetektionsmodul bestimmt hat, dass ein gemeinsames Ereignis eines speziellen Typs gegenwärtig stattfindet oder stattgefunden hat, und (ii) von Daten, die auf ein dem gemeinsamen Ereignis zugeordnetes Attribut verweisen. Das Verfahren enthält das Auswählen unter mehreren Ausgangsschablonen, die jede einem anderen Typ des gemeinsamen Ereignisses zugeordnet sind, einer speziellen Ausgangsschablone, die dem speziellen Typ des durch das Modul detektierten gemeinsamen Ereignisses zugeordnet ist. Das Verfahren erzeugt eine Mitteilung für die Ausgabe unter Verwendung wenigstens (i) einer ausgewählten speziellen Ausgangsschablone und (ii) der Daten, die auf das dem gemeinsamen Ereignis zugeordnete Attribut verweisen. Das Verfahren schafft dann für die Ausgabe zu einer Anwendervorrichtung die Mitteilung, die erzeugt wird.

Description

  • GEBIET
  • Die vorliegende Beschreibung bezieht sich auf Mobilvorrichtungen.
  • HINTERGRUND
  • Die Aktivitäten, die eine Gruppe von Anwendern verbinden, führen oft zu Situationen, in denen es nützlich sein würde, Mitteilungen zu empfangen, die angeben, dass bestimmte Mitglieder einer Anwendergruppe an demselben Ereignis teilnehmen. Im Kontext von Computersystemen kann die Mitteilung an einer Anwendervorrichtung, während das Ereignis stattfindet, oder zu einem späteren Zeitpunkt, nachdem das Ereignis beendet worden ist, empfangen werden. Es kann außerdem nützlich sein, während oder nach dem Ereignis Mitteilungen zu empfangen, die Vorschläge für Aktivitäten oder Handlungen, die dem Ereignis zugeordnet sind, enthalten.
  • ZUSAMMENFASSUNG
  • Es wird ein Computersystem beschrieben, das automatisch detektiert, dass ein spezielles Ereignis, wie z. B. ein gemeinsames Ereignis, stattfindet oder stattgefunden hat. Diese Beschreibung beschreibt Prozesse zum Empfangen und Analysieren von Datensignalen von Anwendervorrichtungen, die einzelnen Anwendern innerhalb einer Anwendergruppe zugeordnet sind, um das Auftreten eines gemeinsamen Ereignisses zu detektieren. In Reaktion auf das automatische Detektieren des Auftretens eines gemeinsamen Ereignisses schlägt das Computersystem eine oder mehrere Aktivitäten vor, die wenigstens teilweise auf das gemeinsame Ereignis bezogen sind oder dem gemeinsamen Ereignis zugeordnet sind. Das Vorschlagen der einen oder der mehreren Aktivitäten kann z. B. enthalten, dass das Computersystem Datensignale, die von den Vorrichtungen der Anwender bereitgestellt werden, analysiert, um ein dem gemeinsamen Ereignis zugeordnetes Attribut zu bestimmen. Die Werte der Datensignale können angeben, dass der eine oder die mehreren Anwender an dem gemeinsamen Ereignis eines speziellen Typs teilnehmen oder wenigstens dem gemeinsamen Ereignis eines speziellen Typs zugeordnet sind. Entsprechend können den Anwendern umsetzbare Vorschläge für eine oder mehrere Aktivitäten, die dem bestimmten Typ des gemeinsamen Ereignisses zugeordnet sind, bereitgestellt werden.
  • In einem innovativen Aspekt der Beschreibung wird ein computerimplementiertes Verfahren beschrieben, das das Empfangen (i) einer Angabe, dass ein Ereignisdetektionsmodul bestimmt hat, dass ein gemeinsames Ereignis eines speziellen Typs gegenwärtig stattfindet oder stattgefunden hat, und (ii) von Daten, die auf ein dem gemeinsamen Ereignis zugeordnetes Attribut verweisen, enthält. Das Verfahren enthält das Auswählen durch ein Computersystem aus mehreren Ausgangsschablonen, von denen jede einem anderen Typ des gemeinsamen Ereignisses zugeordnet ist, einer speziellen Ausgangsschablone, die dem speziellen Typ des gemeinsamen Ereignisses, für das das Ereignisdetektionsmodul bestimmt hat, dass es gegenwärtig stattfindet oder stattgefunden hat, zugeordnet ist, und das Erzeugen durch das Computersystem einer Mitteilung für die Ausgabe unter Verwendung wenigstens (i) der speziellen Ausgangsschablone, die dem speziellen Typ des gemeinsamen Ereignisses, für das bestimmt worden ist, dass es gegenwärtig stattfindet, oder für das bestimmt worden ist, dass es bereits stattgefunden hat, zugeordnet ist, und (ii) der Daten, die auf das dem gemeinsamen Ereignis zugeordnete Attribut verweisen. Das Verfahren enthält ferner das Bereitstellen für die Ausgabe zu einer Anwendervorrichtung der Mitteilung, die unter Verwendung wenigstens (i) der speziellen Ausgangsschablone und (ii) der Daten, die auf das dem gemeinsamen Ereignis des speziellen Typs zugeordnete Attribut verweisen, erzeugt wird.
  • In einer Implementierung enthält das Verfahren ferner das Bereitstellen durch das Computersystem und für eine oder mehrere Anwendervorrichtungen wenigstens eines Aktivitätsvorschlags, der dem gemeinsamen Ereignis zugeordnet ist, wobei der wenigstens eine Aktivitätsvorschlag teilweise auf wenigstens einem von: (i) dem speziellen Typ des gemeinsamen Ereignisses; oder (ii) den Daten, die auf das dem gemeinsamen Ereignis zugeordnete Attribut verweisen, basiert. In einer Implementierung enthält das Auswählen der speziellen Ausgangsschablone, die dem speziellen Typ des gemeinsamen Ereignisses zugeordnet ist, das Verwenden durch das Computersystem eines oder mehrerer Algorithmen des maschinellen Lernens basierend auf der Analyse der empfangenen Daten, die auf das dem gemeinsamen Ereignis zugeordnete Attribut verweisen; und in Reaktion auf das Verwenden des einen oder der mehreren Algorithmen des maschinellen Lernens das Bestimmen durch das Computersystem der auszuwählenden speziellen Ausgangsschablone.
  • In einem Aspekt dieser Implementierung empfängt wenigstens ein Algorithmus des maschinellen Lernens Daten, die auf mehrere dem gemeinsamen Ereignis zugeordnete Attribute verweisen, wobei die mehreren Attribute während der Ausführung des wenigstens einen Algorithmus des maschinellen Lernens verwendet werden, um ein Schablonenmodell zu trainieren, das durch das Computersystem verwendet wird, um die spezielle Ausgangsschablone auszuwählen. In einem weiteren Aspekt dieser Implementierung enthält das Verfahren ferner das Trainieren durch das Computersystem des Schablonenmodells, um die auszuwählende spezielle Ausgangsschablone vorherzusagen, wobei das Schablonenmodell trainiert wird, um basierend auf einer einem Aktivitätsvorschlag zugeordneten Wahrscheinlichkeitsmetrik, die eine Schwellen-Wahrscheinlichkeitsmetrik übersteigt, die spezielle Ausgangsschablone vorherzusagen.
  • In einer Implementierung enthält das Erzeugen der Mitteilung für die Ausgabe das Bereitstellen durch das Computersystem und für einen speziellen Anwender eines Aktivitätsvorschlags und eines Anwendungsprogramms, das dem Aktivitätsvorschlag zugeordnet ist, wobei das Anwendungsprogramm für die Verwendung in einer Anwendervorrichtung, die dem speziellen Anwender zugeordnet ist, konfiguriert ist. In einer weiteren Implementierung gibt jede Ausgangsschablone der mehreren Ausgangsschablonen wenigstens einen Aktivitätsvorschlag an, wobei sie ein oder mehrere Attribute des wenigstens einen Aktivitätsvorschlags angibt. In einer noch weiteren Implementierung wird die Mitteilung für die Ausgabe wenigstens einer Anwendervorrichtung, die wenigstens einem Anwender einer Teilmenge der Anwender zugeordnet ist, bereitgestellt.
  • In einem weiteren innovativen Aspekt der Beschreibung wird ein elektronisches System beschrieben, das eine oder mehrere Verarbeitungsvorrichtungen; eine oder mehrere maschinenlesbare Speichervorrichtungen zum Speichern von Anweisungen, die durch die eine oder die mehreren Verarbeitungsvorrichtungen ausführbar sind, um Operationen auszuführen, die das Empfangen (i) einer Angabe, dass ein Ereignisdetektionsmodul bestimmt hat, dass ein gemeinsames Ereignis eines speziellen Typs gegenwärtig stattfindet oder stattgefunden hat, und (ii) von Daten, die auf ein dem gemeinsamen Ereignis zugeordnetes Attribut verweisen, enthalten, enthält. Die Operationen enthalten ferner das Auswählen durch das elektronische System unter mehreren Ausgangsschablonen, von denen jede einem anderen Typ des gemeinsamen Ereignisses zugeordnet ist, einer speziellen Ausgangsschablone, die dem speziellen Typ des gemeinsamen Ereignisses, für das das Ereignisdetektionsmodul bestimmt hat, dass es gegenwärtig stattfindet oder stattgefunden hat, zugeordnet ist, und das Erzeugen durch das elektronische System einer Mitteilung für die Ausgabe unter Verwendung wenigstens (i) der speziellen Ausgangsschablone, die dem speziellen Typ des gemeinsamen Ereignisses, für das bestimmt worden ist, dass es gegenwärtig stattfindet, oder für das bestimmt worden ist, dass es bereits stattgefunden hat, zugeordnet ist, und (ii) der Daten, die auf das dem gemeinsamen Ereignis zugeordnete Attribut verweisen. Die Operationen enthalten noch weiter das Bereitstellen für die Ausgabe zu einer Anwendervorrichtung der Mitteilung, die unter Verwendung wenigstens (i) der speziellen Ausgangsschablone und (ii) der Daten, die auf das dem gemeinsamen Ereignis des speziellen Typs zugeordnete Attribut verweisen, erzeugt wird.
  • Andere Implementierungen dieses Aspekts enthalten entsprechende Computersysteme, Vorrichtungen und Computerprogramme, die in einer oder mehreren Computerspeichervorrichtungen aufgezeichnet sind, wobei jedes konfiguriert ist, die Vorgänge der Verfahren auszuführen. Ein System aus einem oder mehreren Computern kann konfiguriert sein, um die speziellen Operationen oder Vorgänge aufgrund dessen auszuführen, dass es Software, Firmware, Hardware oder eine Kombination aus diesen aufweist, die in dem System installiert ist und die in Betrieb das System veranlasst oder veranlassen, die Vorgänge auszuführen. Ein oder mehrere Computerprogramme können konfiguriert sein, um die speziellen Operationen oder Vorgänge aufgrund dessen auszuführen, dass sie Anweisungen enthalten, die, wenn sie durch eine Datenverarbeitungsvorrichtung ausgeführt werden, die Vorrichtung veranlassen, die Vorgänge auszuführen.
  • In einem noch weiteren innovativen Aspekt wird ein computerimplementiertes Verfahren beschrieben, das das Empfangen einer Angabe, dass ein Ereignisdetektionsmodul bestimmt hat, dass ein Ereignis eines speziellen Typs gegenwärtig stattfindet oder stattgefunden hat, und das Auswählen durch ein Computersystem einer speziellen Ausgangsschablone, die dem speziellen Typ des Ereignisses, für das das Ereignisdetektionsmodul bestimmt hat, dass es gegenwärtig stattfindet oder stattgefunden hat, zugeordnet ist, enthält. Das Verfahren enthält das Erzeugen durch das Computersystem einer Mitteilung für die Ausgabe unter Verwendung wenigstens der speziellen Ausgangsschablone, die dem speziellen Typ des Ereignisses zugeordnet ist, für das bestimmt worden ist, dass es gegenwärtig stattfindet, oder für das bestimmt worden ist, dass es bereits stattgefunden hat, und das Bereitstellen für die Ausgabe zu einer Anwendervorrichtung der Mitteilung, die unter Verwendung wenigstens der speziellen Ausgangsschablone erzeugt wird.
  • In einer Implementierung enthält das Verfahren ferner das Bereitstellen durch das Computersystem und für eine oder mehrere Anwendervorrichtungen wenigstens eines Aktivitätsvorschlags, der dem Ereignis zugeordnet ist, wobei der wenigstens eine Aktivitätsvorschlag teilweise auf wenigstens einem von: (i) dem speziellen Typ des Ereignisses; oder (ii) den Daten, die auf ein dem Ereignis zugeordnetes Attribut verweisen, basiert. In einem Aspekt dieser Implementierung enthält das Auswählen der speziellen Ausgangsschablone, die dem speziellen Typ des Ereignisses zugeordnet ist, die Verwendung durch das Computersystem eines oder mehrerer Algorithmen des maschinellen Lernens basierend auf der Analyse der empfangenen Daten, die auf das dem Ereignis zugeordnete Attribut verweisen; und in Reaktion auf das Verwenden des einen oder der mehreren Algorithmen des maschinellen Lernens das Bestimmen durch das Computersystem der auszuwählenden speziellen Ausgangsschablone. In einem weiteren Aspekt empfängt wenigstens ein Algorithmus des maschinellen Lernens Daten, die auf mehrere Attribute, die dem Ereignis zugeordnet sind, verweisen, wobei die mehreren Attribute während der Ausführung des wenigstens einen Algorithmus des maschinellen Lernens verwendet werden, um ein durch das Computersystem verwendetes Schablonenmodell zu trainieren, um die spezielle Ausgangsschablone auszuwählen.
  • Der in dieser Beschreibung beschriebene Gegenstand kann in speziellen Implementierungen implementiert sein und kann zu einem oder mehreren der folgenden Vorteile führen. Das Computersystem dieser Beschreibung beseitigt die Notwendigkeit, explizite umsetzbare Vorschläge, die in Ausgangsaktivitätsschablonen verkörpert sind, zu definieren, wobei es stattdessen die Datensignale automatisch analysiert, um das Auftreten eines gemeinsamen Ereignisses zu detektieren, und umsetzbare Vorschläge, die dem detektierten gemeinsamen Ereignis zugeordnet sind, automatisch auswählt. Indem eine Vielzahl expliziter umsetzbarer Vorschläge nicht definiert wird, sind die Prozesse des Computersystems optimiert und ist die Verarbeitungseffizienz in einer beispielhaften Computerumgebung durch das Minimieren unnötiger Berechnungen für die Aktivitäts- oder Ausgangsschablonendefinitionen verbessert. Die gemeinsamen Ereignisse eines speziellen Typs, die wenigstens zwei Anwender enthalten, werden z. B. basierend auf der Analyse von Parametersignalen, die den Kontextdaten und den Ereignisattributen entsprechen, effizient bestimmt. Die Datensignalanalyse der Anwendervorrichtungen, die keinem speziellen gemeinsamen Ereignis zugeordnet sind, wird vermieden, wobei dadurch eine erweiterte Systembandbreite für andere Berechnungen und Systemübertragungen geschaffen wird.
  • Einzelheiten einer oder mehrerer Implementierungen des in dieser Beschreibung beschriebenen Gegenstands sind in den beigefügten Zeichnungen und in der Beschreibung im Folgenden dargelegt. Weitere Merkmale, Aspekte und Vorteile des Gegenstands werden aus der Beschreibung, den Zeichnungen und den Ansprüchen offensichtlich.
  • Figurenliste
    • 1 ist ein beispielhaftes Computersystem zur automatischen Detektion eines unter wenigstens zwei Anwendern einer Anwendergruppe gemeinsamen Ereignisses.
    • 2 veranschaulicht eine graphische Darstellung, die Module enthält, die einer beispielhaften Computervorrichtung des Computersystems nach 1 zugeordnet sind.
    • 3 ist ein Ablaufplan eines beispielhaften Prozesses zur automatischen Detektion eines unter wenigstens zwei Anwendern einer Anwendergruppe gemeinsamen Ereignisses.
    • 4 ist ein beispielhaftes Computersystem für umsetzbare Vorschläge einer oder mehrerer Aktivitäten.
    • 5 veranschaulicht beispielhafte Aktivitätsschablonen, die mehrere Vorschläge für eine oder mehrere Aktivitäten enthalten.
    • 6 veranschaulicht eine graphische Darstellung, die Module enthält, die einer beispielhaften Computervorrichtung des Computersystems nach 4 zugeordnet sind.
    • 7 ist ein Ablaufplan eines beispielhaften Prozesses für umsetzbare Vorschläge für eine oder mehrere Aktivitäten.
    • 8 ist ein Blockschaltplan eines Computersystems, das im Zusammenhang mit den in dieser Beschreibung beschriebenen computerimplementierten Verfahren verwendet werden kann.
  • Gleiche Bezugszeichen und Bezeichnungen in den verschiedenen Zeichnungen geben gleiche Elemente an.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Es werden Prozesse beschrieben, die das automatische Detektieren, dass ein spezielles Ereignis, wie z. B. ein gemeinsames Ereignis, stattfindet oder stattgefunden hat, enthalten. Ein gemeinsames Ereignis kann ein Ereignis enthalten, das in Echtzeit stattfindet, bei dem wenigstens zwei Anwender in einer Gruppe gegenwärtig dem stattfindenden Ereignis zugeordnet sind. Zusätzlich kann ein gemeinsames Ereignis ein Ereignis enthalten, das in einem früheren Zeitraum stattgefunden hat, wobei die wenigstens zwei Anwender vorher dem früheren Ereignis zugeordnet waren. Innerhalb dieses Ereigniskontexts beschreibt diese Beschreibung neuartige Herangehensweisen zum automatischen Detektieren des Auftretens eines gemeinsamen Ereignisses, die in den 1-3 gezeigt sind. Diese Beschreibung beschreibt ferner neuartige Herangehensweisen zum automatischen Bereitstellen umsetzbarer Vorschläge, die dem detektierten gemeinsamen Ereignis zugeordnet sind, für wenigstens einen Anwender, die in den 4-7 gezeigt sind.
  • 1 ist ein beispielhaftes Computersystem 100 zur automatischen Detektion eines unter wenigstens zwei Anwendern einer Anwendergruppe gemeinsamen Ereignisses. Das System 100 enthält im Allgemeinen die Anwendervorrichtungen 104a/b/c und die entsprechenden Anwender 102a/b/c. Wie gezeigt ist, ist die Anwendervorrichtung 104a der Anwenderin 102a - Alice - zugeordnet oder besitzt die Anwenderin 102a - Alice - die Anwendervorrichtung 104a, ist die Anwendervorrichtung 104b dem Anwender 102b - Bob - zugeordnet oder besitzt der Anwender 102b - Bob - die Anwendervorrichtung 104b und ist die Anwendervorrichtung 104c dem Anwender 102c - Charlie - zugeordnet oder besitzt der Anwender 102c - Charlie - die Anwendervorrichtung 104c. Beispielhafte Anwendervorrichtungen 104a/b/c enthalten Smartphones, Laptop-/Desktop-Computer, intelligente Fernsehgeräte, Spielekonsolen, Tablet-Vorrichtungen oder andere in Beziehung stehende Computervorrichtungen. Wie hier beschrieben ist, können Alice, Bob und Charlie eine beispielhafte Anwendergruppe bilden. In bestimmten Implementierungen kann eine Teilmenge der beispielhaften Anwendergruppe Alice und Bob, Alice und Charlie oder Bob und Charlie enthalten.
  • Das System 100 detektiert das Auftreten eines Ereignisses, bei dem die Teilnahme oder die Zuordnung zu dem Ereignis unter einer Teilmenge der Anwender einer größeren Anwendergruppe, den Anwendern 102a/b/c, gemeinsam ist. Eine Computervorrichtung 104a eines ersten Anwenders 102a in der Gruppe stellt einem Server 108 Datensignale bereit, die wenigstens einen aktuellen Kontext des ersten Anwenders 102a, wie z. B. eine physische Umgebung, z. B. ein Restaurant, oder eine virtuelle Umgebung, wie z. B. ein Online-Treffen, angeben. Das System 100 kann den aktuellen Kontext und die in Beziehung stehenden Datensignalparameter des ersten Anwenders 102a verwenden, um einen weiteren Anwender (weitere Anwender) 102b zu identifizieren, um die Teilmenge der Anwender 102a/b zu bilden. Eine Computervorrichtung 104b des anderen Anwenders 102b der Teilmenge kann außerdem dem Server 108 Datensignale bereitstellen. Das System 100 kann dann die Parameterwerte der durch den ersten Anwender 102a bereitgestellten Signaldaten mit den Parameterwerten der durch den Anwender 102b bereitgestellten Signaldaten vergleichen.
  • Das System 100 kann z. B. Sätze von Parametersignalen von den Vorrichtungen 104a/b der jeweiligen Anwender in der Teilmenge, d. h., des ersten Anwenders 102a und des anderen Anwenders 102b, empfangen. Die Parametersignale können Ortsdaten und Zeitdaten für die jeweiligen Anwender 102a/b enthalten. Das System 100 kann die Orts- und Zeitdaten für den ersten Anwender 102a mit den Orts- und Zeitdaten für den anderen Anwender 102b vergleichen.
  • Wenn der Vergleich zeigt, dass die durch die Vorrichtungen 104a/b jedes Anwenders 102a/b in der Teilmenge bereitgestellten Parameterwerte entweder überlappen oder im Wesentlichen übereinstimmen, dann kann das System 100 bestimmen, dass die Anwender 102a/b in der Teilmenge an demselben Ereignis teilnehmen oder demselben Ereignis zugeordnet sind. Das System kann dann den Anwendern 102a/b der Teilmenge angeben, dass ein gemeinsames Ereignis stattfindet oder stattgefunden hat.
  • Im Allgemeinen führt der Server 108 verschiedene Funktionen aus, die den Signalen/der Parameteranalyse zugeordnet sind, einschließlich der Wahrscheinlichkeitsbestimmungen für eine zuverlässige und genaue Detektion des Auftretens eines gemeinsamen Ereignisses unter wenigstens zwei Anwendern 102. In Reaktion auf das Detektieren des Auftretens eines gemeinsamen Ereignisses gibt das System 100 wenigstens einem der Anwender 102a/b/c an, dass alle einer Teilmenge der Anwender einer größeren Anwendergruppe einem gemeinsamen Ereignis zugeordnet sind.
  • Hinsichtlich des Anwenders 102a - Alice - kann das System 100 z. B. auf der Anwendervorrichtung 104a eine Textanzeige bereitstellen, um Alice anzugeben, dass Alice und der Anwender 102b - Bob - beide in ein gemeinsames Ereignis oder eine gemeinsame Aktivität einbezogen sind. Wie gezeigt ist, kann die UI 124 von Alices Anwendervorrichtung 104a eine auf einem Kurznachrichtendienst (SMS) basierende Mitteilung enthalten, die angibt, dass das System 100 detektiert oder bestimmt hat, dass sich Alice bei Bob befindet, d. h., dass die Anwender 102a und 102b an einem gemeinsamen Ereignis teilnehmen. Gleichermaßen kann die UI 126 von Bobs Anwendervorrichtung 104b außerdem eine SMS-Mitteilung enthalten, die angibt, dass das System 100 detektiert oder bestimmt hat, dass sich Bob bei Alice befindet, d. h., dass die Anwender 102a und 102b an einem gemeinsamen Ereignis teilnehmen.
  • Zusätzlich oder anstelle der auf Alices Vorrichtung sichtbaren SMS-Textanzeigemitteilung kann in einigen Implementierungen die Anwendervorrichtung 104a/b/c konfiguriert sein, um eine Text-zu-Sprache-Ausgabefunktionalität zu enthalten. In diesen Implementierungen kann die Text-zu-Sprache-Funktion der Anwendervorrichtung 104a/b/c aktiviert werden, um die Vorrichtung zu veranlassen in einer natürlichen Weise, wie sie mit der menschlichen Sprache in Beziehung steht, zu sprechen oder Ton auszugeben. Die Audioausgabe kann z. B. den Inhalten der SMS-Textmitteilung der UI 124 entsprechen. In einigen Fällen kann die Text-zu-Sprache-Funktion manuell durch den Anwender 102a/b/c aktiviert werden. In anderen Fällen kann die Text-zu-Sprache-Funktion automatisch durch einen Prozessor der Vorrichtung in Reaktion auf das System 100, das das Auftreten eines gemeinsamen Ereignisses detektiert, aktiviert werden.
  • Wie gezeigt ist, kann eine Verbindung 110 eine bestätigende Angabe sein, dass Alice und Bob beide an einem gemeinsamen Ereignis teilnehmen. Im Gegensatz kann keine Verbindung 112 eine bestätigende Angabe sein, dass der Anwender 102c - Charlie - nicht dem gemeinsamen Ereignis, das Alice und Bob einbezieht, zugeordnet ist oder an diesem gemeinsamen Ereignis teilnimmt. Entsprechend enthält die UI 128 von Charlies Anwendervorrichtung 104c keine SMS oder eine andere in Beziehung stehende Mitteilung, weil das System 100 nicht detektiert oder bestimmt hat, dass sich Charlie bei Alice und Bob befindet oder dass der Anwender 102c an einem bestimmten gemeinsamen Ereignis teilnimmt.
  • In einigen alternativen Implementierungen kann die Verbindung 110 angeben, dass Alice und Bob eine Verbindung gemeinsam benutzen, die dem Auftreten des gemeinsamen Ereignisses vorausgeht. Im Gegensatz kann keine Verbindung 112 angeben, dass, obwohl sowohl Alice als auch Bob als auch Charlie ein Teil einer größeren Anwendergruppe sind, zwischen Alice und Charlie oder zwischen Bob und Charlie keine Verbindung vorhanden ist, die dem Auftreten des gemeinsamen Ereignisses vorausgeht. Wie im Folgenden ausführlicher beschrieben wird, kann eine Verbindung 110, die dem Auftreten eines gemeinsamen Ereignisses vorausgeht, ein vorausgehender Faktor sein, der durch den Server 108 und das System 100 verwendet wird, um teilweise zu detektieren, dass eine Teilmenge der Anwender in ein gemeinsames Ereignis einbezogen ist.
  • Wie im Folgenden ausführlicher beschrieben wird, können die durch das System 100 ausgeführten Prozesse den Ereignissen oder Aktivitäten zugeordnet sein, die im Zusammenhang mit einer Umgebung 106 stattfinden. In einigen Implementierungen kann die Umgebung 106 eine virtuelle Umgebung 106, eine physische Umgebung 106 oder eine gemischte Umgebung 106, die die Attribute sowohl virtueller als auch physischer Einstellungen enthält, sein. Beispielhafte gemischte Umgebungen 106 können zwei Konferenzräume, die über ein virtuelles Treffen mit mehreren Menschen in jedem Konferenzraum verbunden sind, oder in einem Spielszenario mehrere Gruppen, die an verschiedenen Orten, wie z. B. in einem Ingress-Spiel(en), spielen, enthalten.
  • Beispielhafte virtuelle Umgebungen 106 und beispielhafte entsprechende Ereignisse können Computersitzungen, die virtuellen Treffen zugeordnet sind, Online-Spielsitzungen, Audio- und/oder Videotelekonferenzen, digitale Rundfunksitzungen, z. B. Fernsehshows/Inhalts-Streaming-Ereignisse, usw. oder irgendeine andere virtuell basierte oder elektronische Computersitzung, die wenigstens zwischen zwei Anwendern 102 einer größeren Anwendergruppe geteilt wird, enthalten.
  • Beispielhafte physische Umgebungen 106 können Veranstaltungsorte oder Orte, wie z. B. Restaurants, Filmtheater, Sportarenen, Fitnessstudios oder irgendeinen anderen physischen Veranstaltungsort oder Ort, der für das Veranstalten eines Ereignisses, das zwischen wenigstens zwei Anwendern 102 einer größeren Anwendergruppe geteilt wird, geeignet ist, enthalten. Beispielhafte gemeinsame Ereignisse oder gemeinsame Aktivitäten können wenigstens zwei Anwender 102, die in demselben Restaurant speisen, die gleiche Filmvorführung besuchen oder betrachten, das gleiche Sportereignis, z. B. ein Football-Spiel oder ein Basketballspiel usw., besuchen, das gleiche Wettlaufereignis, z. B. 5 K oder einen Halbmarathon, laufen usw. einbeziehen oder irgendeine andere Aktivität/irgendein anderes Ereignis, die/das zwischen wenigstens zwei Anwendern 102 einer Teilmenge einer größeren Anwendergruppe gemeinsam ist, enthalten.
  • Wie in 1 gezeigt ist, kann eine beispielhafte Anwendergruppe nur drei Anwender 102a, 102b und 103c enthalten. In alternativen Implementierungen kann jedoch eine beispielhafte Anwendergruppe mehrere Anwender in der Größenordnung von zehn, hunderten oder sogar tausenden von Anwendern enthalten. Gleichermaßen kann eine Teilmenge der größeren Anwendergruppe außerdem mehrere Anwender enthalten, wobei sie im Allgemeinen wenigstens zwei Anwender 102 enthält. Wie oben angegeben worden ist, enthält jede Anwendervorrichtung 104a/b/c eine entsprechende Anzeige 120a/b/c. Die Anzeige 120a kann eine beispielhafte Anwenderschnittstelle (UI) 124 enthalten, die Anzeige 120b kann eine beispielhafte Anwenderschnittstelle (UI) 126 enthalten und die Anzeige 120c kann eine beispielhafte Anwenderschnittstelle (UI) 128 enthalten.
  • Das System 100 enthält eine Computervorrichtung/einen Server 108, die/der Datensignale 107, z. B. nicht transitorische, sich ausbreitende Signale, von wenigstens einer oder mehreren Anwendervorrichtungen 102a/b/c empfängt. Wie gezeigt ist, kann der Server 108 ein Verbindungsanalysemodul 114, ein Datensignalanalysemodul 116 und ein Ereignisdetektionsmodul 118 enthalten. In einigen Implementierungen kann der Server 108 zusätzliche oder weniger Module enthalten, wobei das System 100 ein oder mehrere zusätzliche Server oder Computervorrichtungen enthalten kann. Die Module 114, 116 und 118 repräsentieren im Allgemeinen Verbindungsanalyse- und Datensignalverarbeitungsfunktionen, die durch den Server 108 ausgeführt werden können. Die Module 114, 116, 118 werden im Folgenden bezüglich 2 ausführlicher beschrieben.
  • Es ist vorgesehen, dass der Begriff „Modul“, wie er in dieser Beschreibung verwendet wird, einen oder mehrere Computer enthält, die konfiguriert sind, um ein oder mehrere Software-Programme auszuführen, die Programmcode enthalten, der eine Verarbeitungseinheit(en) des Computers veranlasst, eine oder mehrere Funktionen auszuführen, ist aber nicht darauf eingeschränkt. Es ist vorgesehen, dass der Begriff „Computer“ irgendeine Datenverarbeitungsvorrichtung, wie z. B. einen Desktop-Computer, einen Laptop-Computer, einen Großrechner-Computer, einen digitalen persönlichen Assistenten, einen Server, eine handgehaltene Vorrichtung oder irgendeine andere Vorrichtung, die Daten verarbeiten kann, enthält.
  • 2 veranschaulicht eine graphische Darstellung, die eine Modulgruppierung 200 enthält, die einer beispielhaften Computervorrichtung des Computersystems nach 1 zugeordnet ist. In einigen Implementierungen ist die Modulgruppierung 200 dem Server 108 des Systems 100 zugeordnet, wobei sie z. B. innerhalb des Servers 108 angeordnet sein kann oder unabhängige Computervorrichtungen enthalten kann, die gemeinsam an den Server 108 gekoppelt sind und mit dem Server 108 in Datenverbindung stehen. Die Modulgruppierung 200 enthält im Allgemeinen die Module 214, 216 und 218. In einigen Implementierungen kann das Modul 214 dem Verbindungsanalysemodul des Systems 100 entsprechen, kann das Modul 216 dem Datensignalanalysemodul des Systems 100 entsprechen und kann das Modul 218 dem Ereignisdetektionsmodul des Systems 100 entsprechen.
  • Die Beschreibung der Implementierungen nach 2 und 3 nimmt auf die oben beschriebenen Merkmale nach 1 Bezug. Wie oben erörtert worden ist, kann das System 100 bestimmen, dass die Anwender innerhalb einer Teilmenge einer größeren Anwendergruppe miteinander verbunden sind und folglich eine Verbindung gemeinsam benutzen können, die dem Auftreten eines speziellen gemeinsamen Ereignisses vorausgeht. Wie in dieser Beschreibung beschrieben ist, entspricht eine „Verbindung“ hauptsächlich einer virtuellen oder elektronikbasierten Verbindung, für die basierend auf einer Analyse durch das System 100 der Datensignale, die den Anwendervorrichtungen 104a/b/c zugeordnet sind, detektiert oder bestimmt wird, dass sie vorhanden ist.
  • Im Allgemeinen kann das System 100 teilweise durch die Ausführung von Programmcode in der Form einer ausführbaren Anwendung, die anderweitig als „App“ bekannt ist, implementiert sein, die von der Anwendervorrichtung 104a/b/c gestartet oder ausgeführt werden kann. Bei der Ausführung des Anwendungsprogrammcodes kann die App dann eine Datenverbindung mit dem Server 108 aufbauen, um sowohl Datensignale an den Server 108 zu senden als auch Datensignale von dem Server 108 zu empfangen. In einigen Implementierungen können dem System 100, sobald es von einer beispielhaften Anwendervorrichtung 104a/b/c gestartet worden ist, durch die Anwender 102a/b/c bestimmte Erlaubnisse gewährt werden. Die Erlaubnisse können verursachen, dass das System 100 z. B. Zugriff auf Daten aufweist, die einem oder mehreren anderen Anwendungsprogrammen oder Apps zugeordnet sind, die innerhalb einer Speichereinheit der Anwendervorrichtungen 104a/b/c gespeichert sind.
  • Im Allgemeinen können dem System 100 Erlaubnisse gewährt werden, um auf Daten zuzugreifen, die beispielhaften Anwendungen zugeordnet sind, wie z. B. Anwendungen sozialer Medien, E-Mail-Anwendungen, Nachrichtenübermittlungsanwendungen, Kontaktanwendungen, Anwendungen des globalen Positionierungssystems (GPS), Nahverbindungsanwendungen, z. B. Bluetooth Low Energy (BLE), Nahfeldkommunikation (NFC), Anwendungen digitaler Bilderfassung oder Kameraanwendungen, Anwendungen virtueller Treffen/Konferenzen und Online-Spielanwendungen.
  • Dem System 100 können außerdem Erlaubnisse gewährt werden, um auf Daten zuzugreifen, die einer oder mehreren sensorbasierten Anwendungen zugeordnet sind, die eine Funktionalität enthalten, die Beschleunigungsmessern, Gyroskopen, Kompassen oder irgendeiner anderen sensorischen Anwendung zugeordnet ist. In einigen Implementierungen kann dem System 100 durch die Anwender 102a/b/c eine Erlaubnis gegeben werden, um auf Daten zuzugreifen, die allen Anwendungen oder allem ausführbaren Programmcode zugeordnet sind, die innerhalb der entsprechenden Anwendervorrichtungen 104a/b/c gespeichert sind.
  • Das Modul 214 kann konfiguriert sein, um auf die Daten, die den Anwendungsprogrammen der Anwendervorrichtung 104a/b/c zugeordnet sind, zuzugreifen, um zu detektieren oder zu bestimmen, ob unter den Anwendern innerhalb einer großen Anwendergruppe eine oder mehrere Verbindungen vorhanden sind. In einigen Implementierungen können Alice und Bob z. B. eine Verbindung durch eine oder mehrere Anwendungen sozialer Medien gemeinsam benutzen. In einem Aspekt können Alice und Bob durch eine beispielhafte Anwendung sozialer Medien oder eine Vernetzungsanwendung, wie z. B. Google+™, verbunden sein, z. B. „Freunde“ sein. Es können verschiedene andere Anwendungen sozialer Medien als eine Basis für das System 100 verwendet werden, um zu bestimmen oder zu detektieren, dass zwischen den Anwendern einer Teilmenge eine Verbindung vorhanden ist.
  • Im Allgemeinen kann die Detektion einer gemeinsam benutzten Verbindung durch das System 100 z. B. angeben, dass die Anwender einer Teilmenge vor dem Auftreten des gemeinsamen Ereignisses wenigstens miteinander korrespondiert haben. In einigen Fällen können die Anwender 102a/b - Alice und Bob - als Kontakte in der Anwendervorrichtung 104 jedes anderen gespeichert sein oder können der gleichen sozialen Gruppe eines speziellen sozialen Netzes oder einer speziellen Anwendung sozialer Medien zugeordnet sein. In einigen Implementierungen kann das Modul 214 die Datenverbindungen durchsuchen, die den E-Mail- oder Nachrichtenübermittlungskonten, wie z. B. Gmail™ und Google Chat™, zugeordnet sind, die durch die Anwender 102a/b/c gemanagt werden, um zu detektieren oder zu bestimmen, dass zwischen den Anwendern innerhalb der größeren Anwendergruppe eine Verbindung vorhanden ist.
  • In anderen Implementierungen kann das Modul 214 die Daten durchsuchen, die den Online-Aktivitäten zugeordnet sind, die den Anwendern 102a/b/c zugeordnet sind, wie z. B. die zwischen den Anwendern während der Online-Spielsitzungen ausgetauschten Daten, die Hash-Tagging- und Re-Tweeting-Datenkommunikationen bestimmter Anwender oder das „Liking“ bestimmten durch die Anwender gesandten oder hochgeladenen Inhalts innerhalb der größeren Anwendergruppe. In einigen Fällen kann das Modul 214 die Daten durchsuchen, die den Online-Aktivitäten zugeordnet sind, die innerhalb einer vorgegebenen Zeitspanne stattfinden. Die Online-Aktivitäten können z. B. Gruppen enthalten, die auf einer Ad-hoc-Basis gebildet werden, wobei folglich die Anwender in den Gruppen keine leicht detektierbaren Verbindungen aufweisen können, die dem Auftreten des gemeinsamen Ereignisses vorausgehen. Folglich können gewisse Zeitspannen vorgegeben sein, so dass ein gemeinsames Ereignis für ein beispielhaftes Szenario detektiert werden kann, in dem die Ad-hoc-Gruppen der Anwender die Teilnahme an einem speziellen Ereignis, wie z. B. einem Spiel der erweiterten Realität, teilen. In anderen Fällen kann nach dem Bestimmen, dass zwischen den Anwendern 102a/b/c innerhalb der größeren Anwendergruppe eine gemeinsame Verbindung vorhanden ist, der Server 108 die Daten der gemeinsamen Verbindung verwenden, um aus einer Menge der Anwender 102a/b/c eine Teilmenge der Anwender, z. B. Alice und Bob, zu identifizieren.
  • In einigen Implementierungen empfängt das System 100 über das Modul 216 Datensignale, die einen aktuellen Kontext der Anwender 102a/b/c angeben. Der aktuelle Kontext der Anwender 102a/b/c kann z. B. eine physische Umgebung oder eine virtuelle Umgebung sein. In alternativen Implementierungen kann der Server 108 nach dem Bestimmen, dass zwischen bestimmten Anwendern 102a/b/c eine gemeinsame Verbindung vorhanden ist, und/oder nach dem Empfangen eines aktuellen Kontexts bestimmter Anwender 102a/b/c die Verbindungsdaten und die aktuellen Kontextdaten verwenden, um außerdem aus der Menge der Anwender 102a/b/c eine Teilmenge der Anwender zu identifizieren.
  • Für eine gegebene Teilmenge der Anwender, d. h., Alice und Bob, kann das Modul 216 konfiguriert sein, um auf die Datensignale, die bestimmten Anwendungsprogrammen der Anwendervorrichtung 104a und der Anwendervorrichtung 104b zugeordnet sind, zuzugreifen und sie zu analysieren. In Reaktion auf die oben beschriebene Anwenderverbindungsanalyse und die Datensignalanalyse kann das System 100 detektieren oder bestimmen, dass ein gemeinsames Ereignis zwischen Alice und Bob entweder in Echtzeit stattfindet oder während eines früheren Zeitraums stattgefunden hat. In einigen Implementierungen kann das System 100 mehrere verfügbare Signale, die durch die Anwendervorrichtung 104a/b/c gesendet werden, verwenden, um zu bestimmen, ob Alice und Bob an einem gemeinsamen Ereignis teilnehmen oder teilgenommen haben.
  • Das Modul 216 kann z. B. eine Vielzahl unterschiedlicher Datensignale empfangen und analysieren, die während der Ausführung bestimmter Anwendungsprogramme, die in den Anwendervorrichtungen gespeichert sind, durch die Anwendervorrichtung 104a/b gesendet werden. In einigen Implementierungen sendet jede der Anwendervorrichtung 104a und der Anwendervorrichtung 104b einen oder mehrere Sätze von Datensignalen, die durch das Modul 216 des Servers 108 empfangen werden. Das Modul 216 kann z. B. die Datensignale von der entsprechenden Anwendervorrichtung 104a/b empfangen, die Orts-/GPS-Daten und/oder Umgebungsgeräuschpegeldaten und/oder Nachbarschafts-/BLE-/NFC-Daten, digitalen Bilddaten, wie z. B. Bildern, Video usw., oder Internet-Aktivitätsdaten, wie z. B. Streaming-Inhalt, entsprechen. Das Modul 216 kann außerdem Datensignale, die einer oder mehreren sensorbasierten Anwendungen in der Anwendervorrichtung 104a/b entsprechen, die Vorrichtungs-Beschleunigungsmesser-Daten, Vorrichtungs-Gyroskop-Daten, Vorrichtungs-Kompass-Daten enthalten, oder irgendwelche anderen Datensignale, die anderen bewegungsbasierten sensorischen Anwendungen der Anwendervorrichtung 104a/b zugeordnet sind, empfangen.
  • Wie oben angegeben worden ist, kann das System 100 Datensignale empfangen, die einen aktuellen Kontext, z. B. eine physische oder virtuelle Umgebung, der Anwender 102a/b/c angeben. In einigen Implementierungen werden die in dem vorhergehenden Absatz beschriebenen Datensignale zwischen wenigstens zwei Anwendern einer Teilmenge der Anwender verglichen. Die Datensignale können sowohl einen aktuellen Kontext der wenigstens zwei Anwender als auch Informationen, die bestimmte Attribute des aktuellen Kontextes angeben, angeben. Die Datensignale können z. B. angeben, dass ein aktueller Kontext der wenigstens zwei Anwender eine physische Umgebung, wie z. B. ein Restaurant, ist. Ferner können bestimmte Attribute des aktuellen Kontexts sowohl den relativen Ort des Restaurants oder eines anderen Veranstaltungsorts als auch die zeitlichen Eigenschaften eines aktuellen Kontexts, wie z. B. das Datum und die Zeit, angeben.
  • Das System 100 kann den aktuellen Kontext der Anwender innerhalb der Teilmenge, z. B. Alice und Bob, vergleichen. Im Allgemeinen kann ein Vergleich des aktuellen Kontextes einen Vergleich der Parameterwerte, die den Datensignalen jeder Anwendervorrichtung 104a/b innerhalb der Teilmenge der Anwender zugeordnet sind, enthalten. In einigen Implementierungen enthält das Vergleichen der Parameterwerte, die den Datensignalen jeder Anwendervorrichtung 104a/b zugeordnet sind, dass das System 100 einen ersten Satz von Datensignalen von der Anwendervorrichtung 104a und einen zweiten Satz von Datensignalen von der Anwendervorrichtung 104b empfängt. Zusätzlich kann das Vergleichen der Parameterwerte ferner das Detektieren einer Überlappung in einem Wert, der dem ersten Satz von Datensignalen zugeordnet ist, und einem Wert, der dem zweiten Satz von Datensignalen zugeordnet ist, enthalten.
  • In einigen Implementierungen gibt eine Überlappung oder eine erhebliche Übereinstimmung in den Parameterwerten eine Wahrscheinlichkeit eines Auftretens eines gemeinsamen Ereignisses an. Wenn der Vergleich z. B. zeigt, dass die durch die Anwendervorrichtungen 104a/b jedes Anwenders 102a/b in der Teilmenge bereitgestellten Parameterwerte entweder im Wert überlappen oder Werte aufweisen, die im Wesentlichen übereinstimmen, dann kann das System 100 bestimmen, dass die Anwender in der Teilmenge an demselben Ereignis teilnehmen oder demselben Ereignis zugeordnet sind. In einigen Fällen kann ein erster Parameterwert im Wesentlichen mit einem zweiten Parameterwert übereinstimmen, falls sich ein Wert innerhalb eines vorgegebenen Schwellenwerts des anderen Werts befindet. Beispielhafte Schwellenwerte zum Detektieren, ob ein erster Parameterwert im Wesentlichen einem zweiten Parameterwert entspricht, können einen Wert enthalten, der sich innerhalb 25 %, 50 % oder 75 % des anderen Wertes befindet. Die vorhergehenden Schwellenwerte sind Beispiele, wobei z. B. in Abhängigkeit von den Typen der Parameter, die verglichen werden, verschiedene Schwellenwerte implementiert sein können.
  • Hinsichtlich der Vergleiche der Datensignale, die GPS-, Nachbarschafts- oder Ortsdaten angeben, kann das System 100 z. B. die Positionsdaten der geographischen Breite und der geographischen Länge für jeden der Anwender 102a/b vergleichen. In einigen Implementierungen detektiert oder bestimmt das System 100 das Auftreten eines gemeinsamen Ereignisses unter den Anwendern 102a/b in Reaktion auf das Bestimmen, dass sich Alice innerhalb einer Schwellennähe zu Bob befindet oder dass sich Bob innerhalb einer Schwellennähe von Alice befindet. Die Parameterwerte für die Ortsdaten, z. B. die geographische Breite und die geographische Länge, die von der Anwendervorrichtung 104a - Alice - gesendet werden, können z. B. mit den Parameterwerten für die Ortsdaten, die durch die Anwendervorrichtung 104b - Bob - gesendet werden, verglichen werden.
  • In einem Fall werden die relativen Parameter verglichen, um zu bestimmen, ob es zwischen den jeweiligen Werten eine Überlappung oder eine erhebliche Übereinstimmung gibt. In einem anderen Fall werden die jeweiligen Orte des Anwenders 102a und 102b verglichen, um zu bestimmen, ob sich z. B. Alice innerhalb eines Fußes, fünf Fuß oder 10 Fuß bei Bob befindet. In einigen Implementierungen beträgt die Schwellennähe/der Schwellenort für die Detektion des Auftretens eines gemeinsamen Ereignisses, dass sich Alice wenigstens innerhalb eines Fußes von Bob befindet oder dass sich Bob wenigstens innerhalb eines Fußes von Alice befindet.
  • Das Folgende sind beispielhafte gemeinsame Ereignisse, die durch das System 100 basierend auf bestimmten Analysefunktionen detektiert werden können, die durch das System 100 ausgeführt werden: 1) eine Gruppe von Freunden/Anwendern, die zusammen zu Abend essen, wobei das System die Orts-, GPS- oder Nachbarschaftsdatensignale, die von jeder Anwendervorrichtung gesendet werden, analysiert, um zu detektieren, dass sich ein erster Anwender innerhalb einer Schwellennähe der anderen Anwender in einer Teilmenge befindet; 2) in einem gemeinsamen Ereignis schlägt einer der Teilnehmer/Anwender Informationen im Internet nach, wobei das System 100 detektiert, dass eine spezielle Web-Suche ausgeführt wird, während sich ein erster Anwender innerhalb einer Schwellennähe eines weiteren Anwenders in der Teilmenge der Anwender befindet; 3) eine Gruppe von Anwendern innerhalb der Teilmenge, die gemeinsam ins Kino geht, wobei das System 100 detektiert, das einer der Begleiter/Anwender nach den Zeiten der Kinovorstellung eines speziellen Films gesucht hat, der in einem Kino gezeigt wird, das sich innerhalb einer Schwellennähe eines weiteren Anwenders in der Teilmenge der Anwender befindet; 4) eine Gruppe von Anwendern innerhalb einer Teilmenge, die eine Party besucht, wobei das System 100 Kalenderereignisse oder E-Mail-/Nachrichtenübermittlungskommunikationen analysiert, die in jeder Anwendervorrichtung gespeichert sind, um zu detektieren, dass ein erster Anwender dieselbe Party/dasselbe soziale Ereignis wie die anderen Anwender in der Teilmenge besucht; 5) eine Gruppe von Anwendern, die sich in demselben allgemeinen Bereich befindet, wobei die durch eine Anwendervorrichtung eines Anwenders in der Teilmenge aufgenommenen digitalen Bilder, Videos oder Photographien durch das System 100 geomarkiert und durchsucht werden, um zu detektieren, dass die anderen Anwender innerhalb der Teilmenge entweder innerhalb des aufgenommenen digitalen Bildes/Videos sichtbar sind oder sich innerhalb einer Schwellennähe des Ortes, an dem die Bilder/Videos aufgenommen wurden, befinden.
  • Zusätzliche beispielhafte gemeinsame Ereignisse und entsprechende Analysefunktionen des Systems 100 können enthalten: 6) eine Online-Spielsitzung, z. B. den Typ des Spiels, die Zeit/das Datum, zu dem das Spiel gespielt wird, die Konsole, die verwendet wird, um das Spiel zu spielen, usw., bei der die der Sitzung zugeordneten Datenübertragungen durch das System 100 empfangen und analysiert werden, um zu detektieren, dass die Anwender innerhalb einer Teilmenge demselben Computerspiel oder derselben Spielsitzung zugeordnet sind; 7) eine Videokonferenz oder ein virtuelles Treffen, wobei das System 100 die Einladungsliste des Treffens oder andere Datenattribute, die dem virtuellen Treffen zugeordnet sind, durchsucht/analysiert, um zu detektieren oder zu bestimmen, dass wenigstens zwei Anwender der Teilmenge oder jeder demselben Online-Treffen/derselben Videokonferenz zugeordnet sind; 8) die Geräuschpegel, die an einem speziellen Unterhaltungs-Veranstaltungsort auftreten, wobei das System 100 die Datensignale, die den von den Anwendervorrichtungen gesendeten Umgebungsgeräuschpegeln zugeordnet sind, analysiert, um zu detektieren, dass sich ein erster Anwender in einer Geräuschumgebung, z. B. einem Konzert, befindet, die sich innerhalb eines Schwellen-Dezibelpegels der anderen Anwender in der Teilmenge befindet; 9) eine Gruppe von Anwendern, die sich in demselben allgemeinen Bereich befindet, wobei das System 100 die von einer Anwendervorrichtung eines Anwenders in der Gruppe gesendeten Bewegungssensor-Datensignale - z. B. die Daten einer plötzlichen/erratischen Bewegung, die eine Achterbahnfahrt in einem Vergnügungspark angeben - empfängt und analysiert und detektiert, dass der Anwender Bewegungssensordaten teilt, die sich mit den Bewegungsdaten, die anderen Anwendern in der Teilmenge zugeordnet sind, überlappen oder mit den Bewegungsdaten, die anderen Anwendern in der Teilmenge zugeordnet sind, im Wesentlichen übereinstimmen; 10) eine Gruppe von Anwendern bei einer gemeinsamen Sportaktivität, wie z. B. einem Laufereignis, wobei das System 100 sowohl die Orts-, GPS- oder Nachbarschaftsdatensignale als auch die von jeder Anwendervorrichtung gesendeten Datensignale der Sport-App analysiert, um zu detektieren, dass ein erster Anwender an derselben Sportaktivität wie die anderen Anwender in der Teilmenge teilnimmt.
  • Das Modul 218 kann konfiguriert sein, um auf die den Anwendungsprogrammen der Anwendervorrichtung 104a/b/c zugeordneten Daten zuzugreifen, um zu detektieren oder zu bestimmen, ob das gemeinsame Ereignis einer physischen Umgebung oder einer virtuellen Umgebung zugeordnet ist. Zusätzlich kann das Modul 218 wenigstens ein Wahrscheinlichkeitsmodul enthalten, das Programmcode, wie z. B. Algorithmen des maschinellen Lernens, verwendet und das mehrere Datensignale, die den Anwendungsprogrammen der Anwendervorrichtung 104a/b/c zugeordnet sind, empfängt und analysiert. Das Wahrscheinlichkeitsmodul kann verwendet werden, um Vorhersagemodelle zu entwickeln, die das Auftreten eines gemeinsamen Ereignisses innerhalb eines bestimmten Genauigkeitsgrades detektieren oder bestimmen. In einigen Implementierungen kann eine Wahrscheinlichkeitsmetrik basierend auf den durch die Vorhersagemodelle berechneten Ergebnissen erzeugt werden, die die Wahrscheinlichkeit angibt, dass zwischen der Teilmenge der Anwender ein gemeinsames Ereignis stattfindet oder stattgefunden hat. Das System 100 kann außerdem programmiert oder trainiert sein, um das Auftreten eines gemeinsamen Ereignisses in Reaktion auf die Wahrscheinlichkeitsmetrik, die eine Schwellen-Wahrscheinlichkeitsmetrik übersteigt, anzugeben.
  • In einigen Implementierungen kann das System 100 die Datensignale über die Anwender, die eine Verbindung gemeinsam benutzen, empfangen, analysieren und korrelieren. Im Allgemeinen kann die obenerwähnte Wahrscheinlichkeitsmetrik einer Wahrscheinlichkeit des Auftretens eines gemeinsamen Ereignisses entsprechen. Folglich kann eine Wahrscheinlichkeit, dass ein gemeinsames Ereignis stattfindet oder stattgefunden hat, basierend auf der bestimmten Wahrscheinlichkeitsmetrik, die eine Schwellen-Wahrscheinlichkeitsmetrik übersteigt, zunehmen. In einigen Implementierungen kann das System 100 die Wahrscheinlichkeit, d. h., das Erzeugen der Wahrscheinlichkeitsmetrik, in verschiedenen Arten einschließlich der Anwendung der Prinzipien des maschinellen Lernens bestimmen. Es können z. B. bestimmte Prinzipien des maschinellen Lernens, wie z. B. die Integration neuronaler Netze oder die logistische Regression, auf die Standard-Korrelationsmaße angewendet werden. Spezieller kann ein Wahrscheinlichkeitsmodul der gemeinsamen Ereignisse des Systems 100 einen Satz eingestellter Schwellenwerte oder eine Kaskade programmierter Auslöser enthalten.
  • Wie oben erörtert worden ist, können von der Anwendervorrichtung 104a/b/c verschiedene Datensignale an das System 100 gesendet werden. Folglich können in einigen Implementierungen die Schwellenwerte oder die programmierten Auslöser in Reaktion auf das System 100, das bestimmte Ähnlichkeitsfaktoren detektiert, die den Datensignal-Parameterwerten zugeordnet sind, die durch den Server 108 oder das Modul 216 ausgewertet oder verglichen werden, auslösen. Die auf dem maschinellen Lernen basierenden Wahrscheinlichkeitsmodule des Systems 100 können dann basierend auf einem Satz gesammelter Modelle positiver und negativer Verwendungsfälle eingestellt oder trainiert werden. Die Module der positiven Verwendungsfälle können z. B. ein oder mehrere tatsächlich detektierte gemeinsame Ereignisse basierend auf überlappenden/übereinstimmenden Parameterwerten und der Bestätigung von dem Anwender 102a/b, die angibt, dass Alice tatsächlich bei Bob ist oder dass Bob tatsächlich bei Alice ist, enthalten. Die Modelle der negativen Verwendungsfälle können ein oder mehrere falsch positive oder falsche Detektionen gemeinsamer Ereignisse basierend auf geringfügig überlappenden/übereinstimmenden Parameterwerten und/oder keiner Bestätigung von dem Anwender 102ab, die angibt, dass Alice bei Bob ist oder dass Bob bei Alice ist, enthalten.
  • 3 ist ein Ablaufplan eines beispielhaften Prozesses 300 zur automatischen Detektion eines Ereignisses, das unter wenigstens zwei Anwendern einer Anwendergruppe geteilt wird. Im Block 302 des Prozesses 300 empfängt das System 100 Daten, die den aktuellen Kontext eines ersten Anwenders 102a - Alice - angeben. In einigen Implementierungen kann der aktuelle Kontext angeben, dass sich Alice in einer Freitagnacht um 20 Uhr Eastern Standard Time (EST) in Morton's Steakhouse befindet. Die Datensignale können von einer ersten Computervorrichtung 104a, die Alice zugeordnet ist, empfangen/bereitgestellt werden. Alice kann z. B., während sie bei Morton's wartet, von ihrer Mobilvorrichtung 104a ein beispielhaftes Anwendungsprogramm, „Ereignis-App“, starten, das den Prozessen zugeordnet ist, die durch das System 100 ausgeführt werden. Alice kann dann der Ereignis-App eine Erlaubnis gewähren, um wenigstens auf eine Orts-App und eine Kontakte-App in ihrer Mobilvorrichtung zuzugreifen und Alices Ortsdaten und Kontakte an den Server 108 zu senden.
  • Im Block 304 identifiziert das System 100 basierend auf dem aktuellen Kontext eines ersten Anwenders 102a eine Teilmenge der Anwender 102a/b - Alice und Bob - aus einer Menge der Anwender 102a/b/c - Alice, Bob und Charlie -, die dem ersten Anwender 102a zugeordnet ist. Bob kann z. B. außerdem die Ereignis-App aufweisen, die in seine Mobilvorrichtung 104b geladen ist, wobei er außerdem der Ereignis-App Erlaubnisse gewährt haben kann, um auf Bobs Orts-App, Kontakte-App oder Konto sozialer Medien zuzugreifen. In diesem Beispiel durchsucht das System 100 Alices Kontaktliste, wobei es die Kontaktinformationen, die Bob zugeordnet sind, lokalisiert. Gleichermaßen durchsucht das System 100 Bobs Kontaktliste, wobei es die Kontaktinformationen, die Alice zugeordnet sind, lokalisiert. Das System 100 kann dann basierend auf den entsprechenden lokalisierten Kontaktinformationen bestimmen, dass Alice und Bob eine Verbindung gemeinsam benutzen. In Reaktion auf das Detektieren, das zwischen Alice und Bob eine gemeinsam benutzte Verbindung vorhanden ist, bildet das System dann eine Teilmenge der Anwender, die Alice und Bob enthält.
  • Im Block 306 empfängt das System 100 von einer zweiten Computervorrichtung 104b, die wenigstens einem anderen Anwender, nämlich Bob, der Teilmenge der Anwender 102a/b zugeordnet ist, Daten, die einen aktuellen Kontext des wenigstens einen anderen Anwenders angeben. Wie oben erörtert worden ist, kann der aktuelle Kontext z. B. angeben, dass sich Bob außerdem in einer Freitagnacht um 20 Uhr EST bei Morton's Steakhouse befindet. Gleichermaßen kann Bob, während er außerdem bei Morton's wartet, von seiner Mobilvorrichtung 104b eine Ereignis-App starten und seine Ortsdaten an den Server 108 senden.
  • Im Block 308 vergleicht das System 100 den aktuellen Kontext des ersten Anwenders 102 - Alice - mit dem aktuellen Kontext des wenigstens einen anderen Anwenders 102b - Bob. Das System 100 kann z. B. die von Alices Mobilvorrichtung an den Server 108 gesendeten Datensignale, denen die GPS-/Ortsdaten zugeordnet sind, mit den von Bobs Mobilvorrichtung an den Server 108 gesendeten Datensignalen, denen die GPS-/Ortsdaten zugeordnet sind, vergleichen.
  • Im Block 310 bestimmt das System 100 basierend auf dem Vergleichsschritt im Block 308, dass ein gemeinsames Ereignis gegenwärtig stattfindet oder stattgefunden hat. Das System 100 detektiert oder bestimmt das Auftreten eines gemeinsamen Ereignisses unter den Anwendern 102a/b in Reaktion auf das Bestimmen, dass sich Alice innerhalb einer Schwellennähe von Bob befindet oder dass sich Bob innerhalb einer Schwellennähe von Alice befindet. Die Schwellennähe für die Detektion eines gemeinsamen Ereignisses kann sein, dass sich Alice, während sie bei Morton's ist, wenigstens innerhalb 10 Fuß von Bob befindet oder das Bob, während er bei Morton's ist, sich wenigstens innerhalb 10 Fuß von Alice befindet. In bestimmten Implementierungen können die gemeinsamen Ereignisse physische Ereignisse sein, bei denen sich Alice und Bob am gleichen Ort befinden, oder virtuelle Ereignisses sein, bei denen eine Gruppe von Anwendern gemeinsam an einer beispielhaften Online-Aktivität, wie z. B. einer Videokonferenz oder einer Online-Spielsitzung, teilnimmt.
  • Im Block 312 gibt das System 100 wenigstens dem ersten Anwender 102a an, dass das gemeinsame Ereignis gegenwärtig stattfindet oder stattgefunden hat. Das System 100 kann z. B. die Ereignis-App veranlassen, eine Mitteilung, die z. B. über die UI 124 gezeigt wird, Alice oder Bob, die z. B. über die UI 126 gezeigt wird, oder sowohl Alice als auch Bob anzuzeigen. Die Mitteilung kann eine Beispieltextaussage enthalten, die angibt, dass das System 100 detektiert hat, dass sich Alice bei Bob befindet oder dass sich Bob bei Alice befindet. In einigen Implementierungen kann die Mitteilung außerdem Informationen, die den Typ des gemeinsamen Ereignisses/der gemeinsamen Aktivität, „Abendessen @ Morton's Steakhouse“, angibt, und die dem gemeinsamen Ereignis zugeordneten Zeitdaten enthalten. Die Zeitdaten können ein Datum und eine aktuelle Zeit oder ein Datum und eine Zeitspanne des gemeinsamen Ereignisses enthalten. Beispielhafte Zeitspannen enthalten: 1) von diesem Abend bis jetzt; 2) seit vor 1 Stunde; 3) bis jetzt; 4) immer noch andauernd; 5) oder seit 20 Uhr bis vor 10 Minuten.
  • Wie oben angegeben worden ist, veranschaulichen die 1-3 neuartige Herangehensweisen zum automatischen Detektieren des Auftretens eines gemeinsamen Ereignisses. Die verbleibenden 4-7 beschreiben neuartige Herangehensweisen zum automatischen Bereitstellen umsetzbarer Vorschläge für wenigstens einen Anwender, die dem detektierten gemeinsamen Ereignis zugeordnet sind. Wie im Folgenden ausführlicher erörtert wird, werden in Reaktion auf das automatische Detektieren des Auftretens eines gemeinsamen Ereignisses ein System und Prozesse zum Vorschlagen einer oder mehrerer Aktivitäten, die mit dem gemeinsamen Ereignis in Beziehung stehen, beschrieben. Das Vorschlagen der Aktivitäten kann z. B. enthalten, dass das System den Typ des gemeinsamen Ereignisses und ein Attribut des gemeinsamen Ereignisses unter Verwendung der von einer Anwendervorrichtung bereitgestellten Datensignale bestimmt. Entsprechend können umsetzbare Vorschläge für die Aktivitäten, die dem gemeinsamen Ereignis zugeordnet sind, den Anwendern teilweise basierend auf den Typ des Ereignisses und einem Attribut des Ereignisses bereitgestellt werden.
  • 4 ist ein beispielhaftes Computersystem 400, das umsetzbare Vorschläge für eine oder mehrere Aktivitäten bereitstellt. Die Implementierung nach 4 kann ein oder mehrere Merkmale enthalten, die entsprechende Bezugszeichen aufweisen, die außerdem in der Implementierung nach den 1 und 2 dargestellt sind. Spezieller kann zusätzlich zu der im Folgenden beschriebenen Funktionalität das System 400 in einigen Implementierungen außerdem konfiguriert sein, alles der oben bezüglich der Implementierungen nach den 1-3 beschriebenen Funktionalität auszuführen. Entsprechend kann auf die Beschreibungen für bestimmte Merkmale, die oben für das System 100 erörtert worden sind, für die äquivalenten Merkmale, die außerdem im System 400 dargestellt sind, verwiesen werden.
  • Das System 400 enthält im Allgemeinen die Anwendervorrichtungen 104a/b/c und die entsprechenden Anwender 102a/b/c. Das System 400 enthält ferner den Server 108, der von jeder der Anwendervorrichtungen 104a/b/c mehrere Datensignale 107 empfängt. Wie gezeigt ist, kann der Server 108 eine Schablonenablage 410 enthalten, die eine Mahlzeitaktivitätsschablone 414, eine Schablone 416 körperlicher Aktivitäten und eine Schablone 418 sozialer Aktivitäten enthält. In einigen Implementierungen kann die Schablonenablage 410 in einem Speichermedium eines beispielhaften Computermoduls, das dem Server 108 zugeordnet ist, gespeichert sein. Der Server 108 kann mehrere Module enthalten, wobei das System 400 einen oder mehrere zusätzliche Server oder eine oder mehrere zusätzliche Computervorrichtungen enthalten kann. Die Schablonen 414, 416 und 418 repräsentieren im Allgemeinen verschiedene Aktivitäten, die durch den Server 108 in Reaktion darauf vorgeschlagen werden können, dass der Server bestimmt, dass ein gemeinsames Ereignis eines speziellen Typs entweder gegenwärtig stattfindet oder in der Vergangenheit stattgefunden hat. Die Schablonenablage 410 und die Schablonen 414, 416 und 418 sind in Beziehung stehende Merkmale, die im Folgenden bezüglich 5 und 6 ausführlicher beschrieben werden.
  • Im Allgemeinen kann das System 400 das Auftreten eines Ereignisses detektieren. In einigen Implementierungen kann das Ereignis ein gemeinsames Ereignis sein, bei dem die Teilnahme an oder eine Zuordnung zu dem Ereignis unter einer Teilmenge der Anwender einer größeren Anwendergruppe, die jeden der Anwender 102a/b/c enthält, geteilt werden kann. Die Anwendervorrichtung 104a kann dem Server 108 Datensignale bereitstellen, die die Kontextdaten des Anwenders 102a angeben. Die Kontextdaten können ein Parameterwert sein, der auf einen Ereigniskontext und/oder ein Attribut des Ereignisses, an dem der Anwender 102a teilnimmt, verweist. Die Kontextdaten können z. B. angeben, dass der Anwender 102a einem gemeinsamen Ereignis einer physischen Umgebung, wie z. B. einem Restaurant oder einer Bar/Kneipe, oder einer virtuellen Umgebung, wie z. B. einem Online-Treffen, zugeordnet ist.
  • In einigen Implementierungen können die detektierten Ereignisse oder die detektierten gemeinsamen Ereignisse manuell oder explizit durch den Anwender 102a/b/c als eine Anwendereingabe in die Anwendervorrichtung 104a/b/c eingegeben werden. Der Anwender 102a kann z. B. eine Kalendereinladung oder eine Ereignismitteilung erzeugen, die den Anwender 102b als einen Anwesenden enthält. Wenn das Ereignis, das der Kalendereinladung entspricht, stattfindet, kann das System 400 die Datensignale 107 empfangen, die das Auftreten eines Ereignisses oder eines gemeinsamen Ereignisses eines speziellen Typs angeben. In anderen Beispielen kann der Anwender 102a/b/c über die Anwendervorrichtung 104a eine Ul-Mitteilung empfangen, die einem Anwendungsprogramm bezüglich eines virtuellen/Online-Treffens zugeordnet ist. Der Anwender 102a kann über eine Anwendereingabe eine Bestätigung bereitstellen, die die Anwesenheit oder die Teilnahme an dem virtuellen/Online-Treffen angibt. In Reaktion auf das Bereitstellen der Anwendereingabe kann das System 400 die Datensignale 107 empfangen, die angeben, dass der Anwender 102a einem Ereignis oder einem gemeinsamen Ereignis eines speziellen Typs, z. B. des Typs einer virtuellen/Online-Aktivität, zugeordnet ist, die entweder gegenwärtig stattfindet oder in einem früheren Zeitraum stattgefunden hat.
  • In einigen Implementierungen kann das System 400 Sätze von Parametersignalen von den Vorrichtungen 104a/b der jeweiligen Anwender in einer Teilmenge, d. h., des Anwenders 102a und eines weiteren Anwenders 102b, empfangen. Die Parametersignale können verwendet werden, um zu detektieren oder zu bestimmen: 1) ob wenigstens einer der Anwender 102a/b einem Ereignis eines speziellen Typs zugeordnet ist; oder 2) ob der Anwender 102a und der Anwender 102b jeder demselben gemeinsamen Ereignis eines speziellen Typs zugeordnet sind. Im Allgemeinen führt der Server 108 verschiedene Funktionen aus, die der Signal-/Parameteranalyse zugeordnet sind, einschließlich der Wahrscheinlichkeitsbestimmungen für zuverlässige und genaue Aktivitätsvorschläge in Reaktion auf das Detektieren des Auftretens eines gemeinsamen Ereignisses eines speziellen Typs. Folglich stellt das System 400 in Reaktion auf das Detektieren des Auftretens des gemeinsamen Ereignisses wenigstens einem Anwender 102a/b/c umsetzbare Vorschläge bereit, die den Aktivitäten entsprechen, die dem speziellen Typ des bestimmten Ereignisses zugeordnet sind.
  • In einer beispielhaften Implementierung kann das System 400 eine Textanzeige auf der Anwendervorrichtung 104a bereitstellen, um Alice anzugeben, dass sowohl Alice als auch Bob in ein gemeinsames Ereignis oder eine gemeinsame Aktivität einbezogen sind. Die Textanzeige kann überdies ein oder mehrere Ausgangsschablonen enthalten, die die vorgeschlagenen Aktivitäten enthalten, die durch Alice bezüglich des detektierten Ereignistyps ausgeführt werden können. Wie gezeigt ist, kann die UI 424 von Alices Anwendervorrichtung 104a eine Mitteilung enthalten, dass das System 400 detektiert oder bestimmt hat, dass Alice mit Bob eine Mahlzeit einnimmt. Die UI 424 enthält ferner wenigstens eine Schablone, die mehrere vorgeschlagene Aktivitäten enthält, die einem beispielhaften Ereignis, wie z. B. dem Verzehren einer Mahlzeit in einem Restaurant, zugeordnet sind. Wie gezeigt ist, können die vorgeschlagenen Aktivitäten, die dem Verzehren einer Mahlzeit in einem Restaurant zugeordnet sind, das Starten einer Trinkgeldrechneranwendung von der Anwendervorrichtung 104a oder das Verwenden einer in Beziehung stehenden Anwendung, um den Zahlungsbetrag der Restaurantrechnung/-zeche aufzuteilen, enthalten.
  • In der in 4 dargestellten Implementierung zeigt die UI 426 von Bobs Anwendervorrichtung 104b einen „Startschirm“, weil das System 400 keine Kontextdaten von der Anwendervorrichtung 104b empfangen hat, die Bobs Teilnahme an einem Ereignis eines speziellen Typs angeben. In alternativen Implementierungen kann jedoch Bobs Anwendervorrichtung 104b dem Server 108 mehrere Datensignale bereitstellen, die die Kontextdaten bezüglich eines speziellen Ereignisses enthalten, an dem Bob teilnimmt oder in einem früheren Zeitraum teilgenommen hat. Die UI 426 als solche kann in einigen Implementierungen außerdem eine oder mehrere Schablonen enthalten, die die vorgeschlagenen Aktivitäten enthalten, die durch Bob bezüglich des detektierten Ereignistyps ausgeführt werden können.
  • In einigen Implementierungen kann das System 400 eine Textanzeige auf der Anwendervorrichtung 104c bereitstellen, um Charlie anzugeben, dass das System detektiert oder bestimmt hat, dass Charlie an einem Ereignis eines speziellen Typs teilnimmt. Überdies kann die Textanzeige eine oder mehrere Ausgangsschablonen enthalten, die die vorgeschlagenen Aktivitäten enthalten, die durch Charlie bezüglich des detektierten Ereignistyps ausgeführt werden können. Wie gezeigt ist, kann die UI 428 von Charlies Anwendervorrichtung 104c eine Mitteilung enthalten, die angibt, dass das System 400 bestimmt hat, dass Charlie an einer beispielhaften sozialen Aktivität beteiligt ist, wie z. B. dem konsumieren von Bier/eines Getränks in einer örtlichen Bar/Schenke, oder dass Charlie an einer beispielhaften körperlichen Aktivität beteiligt ist, wie z. B. einem Lauf in einem örtlichen Park. Die UI 428 enthält ferner wenigstens eine Ausgangsschablone, die mehrere vorgeschlagene Aktivitäten enthält, die den beispielhaften sozialen und physischen Ereignissen, bei denen Charlie beteiligt ist, zugeordnet sind.
  • Im Allgemeinen können die durch das System 400 ausgeführten Prozesse Ereignissen oder Aktivitäten zugeordnet sein, die im Zusammenhang mit einer Umgebung 406 stattfinden. In der Implementierung nach 4 kann die Umgebung 406A eine physische Umgebung, wie z. B. ein Restaurant oder ein in Beziehung stehendes Speiselokal, sein. Ähnlich kann die Umgebung 406B eine alternative physische Umgebung sein, wie z. B. eine örtliche Kneipe/Schenke, ein bestimmter Außenbereich oder ein bestimmter Hallenfitnesstreffpunkt, an dem eine oder mehrere Personen an verschiedenen körperlichen Aktivitäten beteiligt sind. In einigen Implementierungen können die Umgebungen 406a/b eine Vielfalt unterschiedlicher Umgebungstypen bezüglich irgendeiner virtuellen Umgebung 406, irgendeiner physischen Umgebung 406 oder irgendeiner gemischten Umgebung 406, die die Attribute sowohl virtueller als auch physischer Einstellungen enthält, enthalten.
  • 5 veranschaulicht beispielhafte Ausgangsaktivitätsschablonen 500, die dem Server 108 des Systems 400 zugeordnet sind. Im Allgemeinen können die Ausgangsaktivitätsschablonen 500 mehrere Ausgangsschablonen enthalten, die mehrere Aktivitäten aufweisen, die für die Ausgabe durch das System 400 als die Aktivitätsvorschläge an die Anwender 102a/b/c ausgewählt werden können. Wie gezeigt ist, können die Aktivitätsschablonen 500 eine beispielhafte Mahlzeitaktivitätsschablone 514, eine beispielhafte Schablone 516 körperlicher Aktivitäten und eine beispielhafte Schablone 518 sozialer Aktivitäten enthalten. Die beispielhaften Schablonen 514, 516 und 518 können jede direkt den Aktivitätsschablonen, die in der Implementierung nach 4 dargestellt sind, entsprechen.
  • Wie oben erörtert worden ist, ist das System 400 konfiguriert, um in Reaktion auf das Detektieren, dass der eine oder die mehreren Anwender an einem Ereignis eines speziellen Typs oder einem gemeinsamen Ereignis eines speziellen Typs teilnehmen oder zugeordnet sind, einen oder mehreren Anwendern 102a/b/c Aktivitätsvorschläge bereitzustellen. Wie bezüglich 6 ausführlicher erörtert wird, kann das System 400 einen oder mehrere Aktivitätsvorschläge z. B. durch das Analysieren der von den Anwendervorrichtungen 104a/b/c empfangenen Datensignale bereitstellen. Das Analysieren der Datensignale erlaubt es dem System 400, ein Attribut zu bestimmen, das einem beispielhaften gemeinsamen Ereignis zugeordnet ist, an dem eine Teilmenge der Anwender gemeinsam teilnimmt.
  • Insbesondere können die Parameterwerte der Datensignale angeben, dass die Anwender einem speziellen Typ eines gemeinsamen Ereignisses zugeordnet sind. Entsprechend kann wenigstens teilweise basierend auf dem Typ des detektierten gemeinsamen Ereignisses und/oder wenigstens einem dem detektierten gemeinsamen Ereignis zugeordneten Attribut eine spezielle Ausgangsschablone durch das System 400 unter den mehreren Ausgangsaktivitätsschablonen 500 ausgewählt werden. Die ausgewählte Ausgangsschablone kann dann dem einen oder den mehreren Anwendern 102a/b/c bereitgestellt werden, die dem detektierten gemeinsamen Ereignis zugeordnet sind.
  • Wie in 5 gezeigt ist, kann der Server 108 durch das System 400 verwendet werden, um eine spezielle Ausgangsaktivitätsschablone aus verschiedenen beispielhaften Ausgangsaktivitätsschablonen 500 auszuwählen. In einigen Implementierungen können die Aktivitätsschablonen 514, 516, 518 und 520 in einem Speichermedium eines beispielhaften Computermoduls, das dem Server 108 zugeordnet ist, gespeichert sein. Im Allgemeinen kann eine einzige Ausgangsschablone oder können mehrere Ausgangsschablonen ausgewählt werden, um dem einen oder den mehreren Anwendern 102a/b/c bereitgestellt zu werden, die dem detektierten gemeinsamen Ereignis zugeordnet sind. Die ausgewählte Ausgangsschablone kann (ausgewählten Ausgangsschablonen können) mehrere umsetzbare Vorschläge für verschiedene Aktivitäten, die dem detektierten gemeinsamen Ereignis zugeordnet sind, enthalten. In einigen Implementierungen kann wenigstens ein Aktivitätsvorschlag, der in wenigstens einer Ausgangsschablone enthalten ist, ein Vorschlag sein, dass ein Anwender einen bestimmten digitalen oder elektronischen Inhalt mit einem oder mehreren Mitgliedern/Anwendern innerhalb einer Teilmenge der Anwender oder wenigstens einem Anwender, der sich nicht innerhalb der Teilmenge der Anwender befindet, teilt.
  • Im Allgemeinen kann das System 400 die Kontextdaten über die Datensignale 107 empfangen. Die Kontextdaten können angeben, dass ein oder mehrere Anwender 102a/b/c einem Ereignis zugeordnet sind, das mit einem Mahlzeitaktivitäts-Ereignistyp, einem Ereignistyp körperlicher Aktivitäten, einem Ereignistyp sozialer Aktivitäten und/oder einem anderen Ereignistyp, der eine Zuordnung zu den obenerwähnten Ereignistypen aufweisen kann oder nicht aufweisen kann, in Beziehung steht. In einigen Implementierungen können die Kontextdaten Daten enthalten, die auf ein Attribut des gemeinsamen Ereignisses verweisen. Die durch den Server 108 empfangenen Kontextdaten können z. B. Parametersignale, z. B. Ortsdaten oder Daten bezüglich der Aktualisierung des Status sozialer Medien, enthalten, die angeben, dass alle Anwender 102a/b eine Mahlzeit in einem Restaurant gemeinsam einnehmen. Spezieller können die dem gemeinsamen Speiseereignis zugeordneten Attributdaten angeben, dass sich jeder der Anwender 102a/b im Restaurant X befindet. Entsprechend kann das System 400 konfiguriert sein, um die Mahlzeitaktivitätsschablone 514 auszuwählen und eine Mitteilung für die Ausgabe zu erzeugen, die wenigstens dem Anwender 102a bereitgestellt wird.
  • Die Mitteilung kann mehrere vorgeschlagene Handlungen oder Aktivitäten enthalten, die dem detektierten gemeinsamen Ereignis, d. h., einem Mahlzeitaktivitäts-Ereignistyp, entsprechen. Wenigstens eine vorgeschlagene Handlung kann z. B. das Bereitstellen eines Links für den Anwender 102a, um auf eine elektronische Darstellung der im Restaurant X verfügbaren Menüs zuzugreifen, oder das anderweitige Ermöglichen, dass der Anwender 102a auf eine elektronische Darstellung der im Restaurant X verfügbaren Menüs zugreift, enthalten. Zusätzliche vorgeschlagene Handlungen können enthalten, es dem Anwender 102a zu ermöglichen, um: eine Bezahlungsanwendung zum Bezahlen der Restaurantrechnung/-zeche zu starten; eine Trinkgeldrechneranwendung zu starten; eine Rechnungsaufteilungsanwendung zu starten, um vielleicht die Rechnung/Zeche mit einem weiteren Anwender, der an dem Mahlzeitereignis teilnimmt, zu teilen; eine beispielhafte Anwendung sozialer Medien zu starten, um die Anwender, die an dem Mahlzeitereignis teilgenommen haben, zu markieren; oder eine beispielhafte Restaurantkritikanwendung, wie z. B. Yelp®, TripAdvisor®, oder Restaurantkritiken, die über Suchmaschinen, wie z. B. über die Google-Suche zugänglich sind, zu starten.
  • In einem weiteren Beispiel können die durch den Server 108 empfangenen Kontextdaten Parametersignale, z. B. Beschleunigungsmesser- und/oder Gyroskopdaten, enthalten, die angeben, dass wenigstens ein Anwender 102a/b/c an einem Ereignis körperlicher Aktivität eines speziellen Typs teilnimmt oder beteiligt ist. Spezifischer können die Attributdaten, z. B. ein GPS-Parametersignal, die dem Ereignis körperlicher Aktivität zugeordnet sind, angeben, dass der Anwender 102C im Park läuft oder im Fitnessstudio X trainiert. Entsprechend kann das System 400 konfiguriert sein, um die Schablone 516 körperlicher Aktivität auszuwählen und eine Mitteilung für die Ausgabe zu erzeugen, die wenigstens dem Anwender 102c bereitgestellt wird.
  • Die Mitteilung kann mehrere vorgeschlagene Handlungen oder Aktivitäten enthalten, die dem detektierten Ereignis, d. h., einem Ereignistyp einer körperlichen Aktivität, entsprechen. Wenigstens eine vorgeschlagene Handlung kann z. B. das Bereitstellen eines Links für den Anwender 102c, um auf Programmcode zuzugreifen, oder das anderweitige Ermöglichen, dass der Anwender 102c auf den Programmcode zugreift, enthalten, der die Anzahl der Schritte, die ein Anwender 102c macht, während er während eines gegebenen Zeitraums geht/läuft, verfolgt, aufzeichnet und/oder inkremental speichert. Zusätzliche vorgeschlagene Handlungen können das Ermöglichen enthalten, dass der Anwender 102: eine Fitnessanwendung zum Verfolgen von Fitnessmetriken oder -zielen startet; eine Laufanwendung zum Überwachen von Laufmetriken/-zielen oder zum Markieren anderer Anwender, die in ein bestimmtes Laufereignis einbezogen sind, startet; oder eine Kalorienzählanwendung zum Verfolgen und/oder Überwachen der Kalorienaufnahme während eines gegebenen Zeitraums startet.
  • In einem weiteren Beispiel können die durch den Server 108 empfangenen Kontextdaten Parametersignale, z. B. Ortsdaten, Kalenderereignisdaten oder Umgebungsgeräuschdaten, enthalten, die angeben, dass wenigstens ein Anwender 102a/b/c an einem Ereignis sozialer Aktivitäten/Unterhaltungsaktivitäten eines speziellen Typs teilnimmt oder beteiligt ist. Spezifischer können die Attributdaten, z. B. ein GPS-Parametersignal, die dem Ereignis sozialer Aktivitäten zugeordnet sind, angeben, dass der Anwender 102c in einer örtlichen Bar/Lounge ein Bier trinkt oder Cocktails genießt oder an einem bestimmten Party- oder Konzertveranstaltungsort tanzt. Entsprechend kann das System 400 konfiguriert sein, um eine Schablone 518 sozialer Aktivitäten auszuwählen und eine Mitteilung für die Ausgabe, die wenigstens dem Anwender 102c bereitgestellt wird, zu erzeugen.
  • Die Mitteilung kann mehrere vorgeschlagene Handlungen oder Aktivitäten enthalten, die dem detektierten Ereignis, d. h., einem Ereignistyp sozialer Aktivitäten, entsprechen. Wenigstens eine vorgeschlagene Handlung kann z. B. das Bereitstellen eines Links für den Anwender 102c, um auf eine elektronische Darstellung der Cocktail-/Getränkekarten, die in der örtlichen Bar/Kneipe verfügbar sind, zuzugreifen, oder das anderweitige Ermöglichen, dass der Anwender 102c auf eine elektronische Darstellung der Cocktail-/Getränkekarten, die in der örtlichen Bar/Kneipe verfügbar sind, zugreift. Zusätzliche vorgeschlagene Handlungen können enthalten, es dem Anwender 102c zu ermöglichen: eine beispielhafte Fahrgemeinschaftsanwendung, wie z. B. Uber® oder Lyft®, zu starten, eine Trinkgeldrechneranwendung zu starten; oder eine beispielhafte Bar-/Kneipenkritikanwendung, wie z. B. Yelp®, TripAdvisor®, oder Kneipenkritiken, die über Suchmaschinen, wie z. B. die Google-Suche, zugänglich sind, zu starten. In einigen Implementierungen kann eine vorgeschlagene Handlung enthalten, es dem Anwender 102c zu ermöglichen, eine beispielhafte Anzeigeranwendung sozialer Ereignisse zu starten, die konfiguriert ist, um einen oder mehrere zusätzliche Bar- oder Lounge-Veranstaltungsorte vorzuschlagen, die der Anwender 102c in einem späteren Zeitraum besuchen kann.
  • In einem noch weiteren Beispiel können die durch den Server 108 empfangenen Kontextdaten Parametersignale, z. B. Bild-/Videodaten, Online-Aktivitätsdaten oder Daten virtueller Treffen, enthalten, die angeben, dass ein oder mehrere Anwender 102a/b/c an einem Aktivitätsereignis oder einem gemeinsamen Ereignis eines speziellen Typs teilnehmen oder beteiligt sind. Spezifischer können die dem gemeinsamen Ereignis zugeordneten Attributdaten angeben, dass sich z. B. jeder der Anwender 102a/b/c in demselben örtlichen Cafe unterhält oder an demselben virtuellen Treffen, derselben Online-Spielsitzung oder derselben Chat-Sitzung teilnimmt. Entsprechend kann das System 400 konfiguriert sein, eine oder mehrere Aktivitätsschablonen 514, 516, 518 oder 520 auszuwählen und eine Mitteilung für die Ausgabe zu erzeugen, die wenigstens einem Anwender 102a/b/c bereitgestellt wird.
  • Die Mitteilung kann mehrere Ausgangsschablonen und/oder mehrere vorgeschlagene Handlungen oder Aktivitäten enthalten, die dem detektierten gemeinsamen Ereignis entsprechen. Wenigstens eine vorgeschlagene Handlung kann z. B. das Bereitstellen eines Links für die Anwender 102a/b/c enthalten oder enthalten, es den Anwendern 102a/b/c anderweitig zu ermöglichen, um: eine beispielhafte Anwendung sozialer Medien zu starten, um die Anwender, die an der Cafediskussion teilnehmen, zu markieren oder um die Anwender, die an der Online-Aktivitätssitzung teilnehmen, zu markieren; eine Bild-/Videoanwendung zu starten, die das Teilen bestimmten digitalen Inhalts mit den anderen Anwendern erlaubt; eine beispielhafte Chat-Anwendung/Anwendung eines virtuellen Treffens zu starten, die es einem Anwender erlaubt, private Chat-Sitzungen oder Mitteilungen privater Treffen zu instanziieren; eine beispielhafte Anwendung zum Teilen von Internet-Daten zu starten, die es einem Anwender erlaubt, bestimmten digitalen Inhalt, der von Online-Betriebsmitteln zugänglich ist, den anderen Anwendern bereitzustellen; oder eine Kalenderanwendung zu starten, um ein Kalenderereignis zu instanziieren, das einen oder mehrere der anderen Anwender enthalten kann.
  • In einigen Implementierungen können die einer ersten Aktivitätsschablone zugeordneten vorgeschlagenen Handlungen oder Aktivitäten innerhalb einer zweiten Aktivitätsschablone enthalten sein oder außerdem einer zweiten Aktivitätsschablone zugeordnet sein, die von der ersten Aktivitätsschablone verschieden ist. Die vorgeschlagenen Aktivitäten der Schablone 514 können z. B. innerhalb wenigstens einer oder aller Schablonen 516, 518 oder 520 enthalten sein. Gleichermaßen können die vorgeschlagenen Aktivitäten: 1) der Schablone 516 innerhalb wenigstens einer oder aller der Schablonen 514, 518 oder 520 enthalten sein; 2) der Schablone 518 innerhalb wenigstens einer oder aller der Schablonen 514, 516 oder 520 enthalten sein; und 3) der Schablone 520 innerhalb wenigstens einer oder aller der Schablonen 514, 516 oder 518 enthalten sein. Entsprechend kann bezüglich 5 jede beispielhafte vorgeschlagene Aktivität, die als innerhalb einer speziellen Aktivitätsschablone enthalten dargestellt ist, außerdem innerhalb irgendeiner anderen Aktivitätsschablone 514, 516, 518 und 520 enthalten sein.
  • Das Folgende sind beispielhafte umsetzbare Vorschläge, die für die Ausgabe an wenigstens einen Anwender 102a/b/c durch eine durch das System 400 erzeugte Mitteilung bereitgestellt werden können. In einigen Implementierungen wird die Mitteilung in Reaktion auf das System 400 erzeugt, das das Auftreten eines gemeinsamen Ereignisses wenigstens teilweise basierend auf den durch das System 400 ausgeführten Signalanalysefunktionen detektiert.
  • Die beispielhaften umsetzbaren Vorschläge können enthalten: 1) eine Gruppe von Freunden/Anwendern, die zusammen zu Abend essen, wobei das System 400 die dem Ereignis des gemeinsamen Abendessens zugeordneten Attributdaten analysiert, um unter Verwendung einer von der Anwendervorrichtung 104a/b/c zugänglichen Bezahldienstanwendung automatisch vorzuschlagen, die Restaurantrechnung zu bezahlen und/oder aufzuteilen; 2) bei einem gemeinsamen Ereignis sucht einer der Teilnehmer/Anwender nach Informationen im Internet, wobei das System 400 detektiert, dass eine spezielle Web-Suche ausgeführt wird, und automatisch vorschlägt, die Internet-Daten oder die Web-Suchergebnisse mit den anderen Anwendern 102a/b/c, die dem gemeinsamen Ereignis zugeordnet sind, zu teilen; und 3) eine Gruppe von Anwendern, die gemeinsam ins Kino gehen, wobei das System 400 detektiert, dass einer der Begleiter/Anwender nach den Zeiten einer Kinovorstellung eines speziellen Films, der in einem Kino gezeigt wird, gesucht hat, und automatisch vorschlägt, die interessierenden Stücke der Informationen/Internet-Daten über den Film, z. B. nachdem der Film geendet hat, zu teilen. Falls insbesondere nach dem Film einer der Anwender 102a/b/c nach den Einzelheiten über einen Schauspieler gesucht hat, könnte der Anwender durch das System 400 aufgefordert oder gefragt werden, ob der Anwender wünscht, ein spezielles interessierendes Stück der Informationen mit den anderen Anwendern der Gruppe zu teilen.
  • Die beispielhaften umsetzbaren Vorschläge können ferner enthalten: 4) eine Gruppe von Anwendern 102a/b/c, die eine Party besuchen, wobei das System 400 Kalenderereignisse oder E-Mail-/Nachrichtenübermittlungskommunikationen, die in jeder Anwendervorrichtung 104a/b/c gespeichert sind, analysiert, um zu detektieren, dass ein erster Anwender dieselbe Party/dasselbe soziale Ereignis wie die anderen Anwender in der Gruppe besucht, und automatisch vorschlägt, die anderen Anwender in den Bildern zu markieren, vorschlägt, zu der Musik-Wiedergabeliste der Party beizutragen, vorschlägt, die Musik-Wiedergabeliste der Party mit anderen Anwendern zu teilen, und/oder vorschlägt, die Rezepte der Imbisse, die für die Party/das soziale Ereignis vorbereitet wurden, zu teilen; 5) eine Gruppe von Anwendern, die sich in demselben allgemeinen Bereich befinden, wobei die durch eine Anwendervorrichtung eines Anwenders in der Gruppe aufgenommenen digitalen Bilder, Videos oder Photographien durch das System 400 geomarkiert und durchsucht werden und das System 400 automatisch vorschlägt, dass der Anwender das aufgenommene digitale Bild/Video mit den anderen Anwendern in der Gruppe teilt; und 6) eine Online-Spielsitzung, bei der die der Sitzung zugeordneten Datenübertragungen durch das System 400 empfangen und analysiert werden, um zu detektieren, dass jeder der Anwender 102a/b/c derselben Spielsitzung zugeordnet ist, wobei das System 400 automatisch vorschlägt, für wenigstens zwei Anwender in der Sitzung einen dedizierten Chat-Kanal aufzubauen.
  • Die beispielhaften umsetzbaren Vorschläge können noch weiter enthalten: 7) eine Videokonferenz oder ein virtuelles Treffen, wobei das System 400 die Datenattribute, die dem virtuellen Treffen zugeordnet sind, durchsucht/analysiert, um zu bestimmen, dass wenigstens zwei Anwender 102a/b/c demselben Online-Treffen zugeordnet sind, und automatisch vorschlägt, die Notizen des Treffens zu teilen, vorschlägt, die Schirme während des Treffens zu teilen, und/oder vorschlägt, die Handlungselemente des Treffens zu der Aufgabenliste des Anwenders hinzuzufügen oder ein Kalenderereignis zu instanziieren, um die Handlung zu erfassen; 8) eine Gruppe von Anwendern 102a/b/c, die sich in demselben allgemeinen Bereich befinden, wie z. B. in einem Cafe diskutieren, wobei das System 400 automatisch vorschlägt, einen Gruppen-Chat, wie z. B. einem SMStextbasierten Gruppen-Chat, zu erzeugen, der die anderen Anwender enthält, die an dem gemeinsamen Ereignis teilnehmen, um das Teilen des digitalen Inhalts über den SMS-Gruppen-Chat zu ermöglichen; und 9) eine Gruppe von Anwendern bei einer Sportaktivität, wie z. B. einem Laufereignis, wobei das System 400 die Ortstaten-, die GPS-Daten- oder die Nachbarschaftsdatensignale der Anwendervorrichtung analysiert, um zu detektieren, dass ein erster Anwender an derselben Sportaktivität wie die anderen Anwender teilnimmt, und das System 400 automatisch vorschlägt, die anderen Anwender in einer beispielhaften Laufanwendung zu markieren oder eine Gruppen-Chat-Sitzung zu instanziieren, um den digitalen Inhalt mit den anderen Anwendern zu teilen.
  • 6 veranschaulicht eine graphische Darstellung, die eine Modulgruppierung 600 enthält, die einer beispielhaften Computervorrichtung des Computersystems nach 4 zugeordnet ist. In einigen Implementierungen ist die Modulgruppierung 200 dem Server 108 des Systems 400 zugeordnet, wobei sie z. B. innerhalb des Servers 108 angeordnet sein kann oder unabhängige Computervorrichtungen enthalten kann, die gemeinsam an den Server 108 gekoppelt sind und gemeinsam mit dem Server 108 in Datenverbindung stehen. Die Modulgruppierung 600 enthält im Allgemeinen die Aktivitätsschablonenmodule 614, das Ereignisattributanalysemodul 616 und das Aktivitätsvorschlagsmodul 618.
  • In einigen Implementierungen kann das Aktivitätsschablonenmodul 614 die Schablonenablage 410 enthalten. Wie oben angegeben worden ist, kann folglich die Schablonenablage 410 in einem beispielhaften Speichermedium des Aktivitätsschablonenmoduls 614 gespeichert sein. In einigen Implementierungen kann jede der Ausgangsaktivitätsschablonen, die oben bezüglich 5 beschrieben worden sind, innerhalb des Aktivitätsschablonenmoduls 614 und/oder der Schablonenablage 410 gespeichert sein oder von dem Aktivitätsschablonenmodul 614 und/oder der Schablonenablage 410 zugänglich sein. Entsprechend kann das System 400 auf verschiedene Ausgangsschablonen von dem Aktivitätsschablonenmodul 614 zugreifen, um eine Mitteilung für die Ausgabe zu der Anwendervorrichtung 104a/b/c zu erzeugen, die eine spezielle Ausgangsschablone enthält.
  • Im Allgemeinen kann das System 400 ganz wie das System 100 teilweise durch die Ausführung von Programmcode in der Form einer ausführbaren Anwendung, die anderweitig als eine „App“ bekannt ist, implementiert sein, die von der Anwendervorrichtung 104a/b/c gestartet oder ausgeführt werden kann. Bei der Ausführung des Anwendungsprogrammcodes kann die App dann eine Datenverbindung mit dem Server 108 aufbauen, um sowohl die Datensignale 107 an den Server 108 zu senden als auch die Datensignale 107 von dem Server 108 zu empfangen. In einigen Implementierungen können dem System 400 bestimmte Erlaubnisse durch die Anwender 102a/b/c gewährt werden, sobald es von einer beispielhaften Anwendervorrichtung 104a/b/c gestartet worden ist. Die Erlaubnisse können verursachen, dass das System 400 z. B. Zugriff auf die Daten hat, die einem oder mehreren anderen Anwendungsprogrammen oder einer oder mehreren anderen Apps zugeordnet sind, die innerhalb einer Speichereinheit der Anwendervorrichtungen 104a/b/c gespeichert sind.
  • In einigen Implementierungen empfängt das System 400 durch die Signale 107 die Daten, die einen aktuellen Kontext der Anwender 102a/b/c angeben. Der aktuelle Kontext der Anwender 102a/b/c kann z. B. eine physische Umgebung 406a/b, eine virtuelle Umgebung 406a/b oder eine gemischte Umgebung 406a/b sein. In einigen Implementierungen kann das Ereignisattributanalysemodul 616 dem Ereignisdetektionsmodul 118, das oben bezüglich 1 und 2 beschrieben worden ist, zugeordnet sein oder innerhalb des Ereignisdetektionsmoduls 118 angeordnet sein. Folglich kann der Server 108 des Systems 400 nach dem Empfangen eines aktuellen Kontexts bestimmter Anwender 102a/b/c das Ereignisattributanalysemodul 616 verwenden, um ein oder mehrere Datensignale zu analysieren, die auf die Attribute eines durch das Ereignisdetektionsmodul 118 detektierten speziellen gemeinsamen Ereignisses verweisen.
  • In einigen Implementierungen können die beispielhaften Attribute eines detektierten gemeinsamen Ereignisses eines speziellen Typs den relativen Ort des gemeinsamen Ereignisses, die Zeit und das Datum des Auftretens des gemeinsamen Ereignisses, einen speziellen Veranstaltungsort, der dem gemeinsamen Ereignis zugeordnet ist, die Umgebungsgeräuschpegel, die dem gemeinsamen Ereignis zugeordnet sind; oder die Parameterwerte der Datensignale, die von den Computervorrichtungen, die dem gemeinsamen Ereignis zugeordnet sind, gesendet werden, enthalten. Im Allgemeinen können die Daten, die auf ein Attribut eines gemeinsamen Ereignisses oder einer gemeinsamen Aktivität verweisen, verschiedene Parametersignale enthalten, die analysiert werden können, um eine spezielle Eigenschaft oder ein spezielles Attribut, die bzw. das entweder für das gemeinsame Ereignis oder die gemeinsame Aktivität eindeutig ist oder dem gemeinsamen Ereignis oder der gemeinsamen Aktivität allgemein zugeordnet ist, zu erkennen.
  • Das Ereignisattributanalysemodul 616 kann konfiguriert sein, um auf die Datensignale 107, die den speziellen Anwendungsprogrammen der Anwendervorrichtung 104a/b/c zugeordnet sind, zuzugreifen und die Datensignale 107, die den speziellen Anwendungsprogrammen der Anwendervorrichtung 104a/b/c zugeordnet sind, zu analysieren. In Reaktion auf die Datensignalanalyse kann das System 400 detektieren oder bestimmen, dass ein gemeinsames Ereignis entweder in Echtzeit stattfindet oder während eines früheren Zeitraums stattgefunden hat. Spezieller kann das System 400 in Reaktion auf die Datensignalanalyse spezielle Attribute oder Eigenschaften, die dem gemeinsamen Ereignis zugeordnet sind, bestimmen, die verwendet, verarbeitet oder weiter analysiert werden können, um eine Mitteilung für die Ausgabe zu erzeugen. Die Mitteilung für die Ausgabe kann unter Verwendung einer speziellen Ausgangsschablone erzeugt werden, die dem speziellen Typ des gemeinsamen Ereignisses zugeordnet ist.
  • Das Aktivitätsvorschlagsmodul 618 kann außerdem eine Vielfalt unterschiedlicher Datensignale 107 empfangen und verarbeiten, die von der Anwendervorrichtung 104a/b/c während der Ausführung bestimmter Anwendungsprogramme, die in den Anwendungsvorrichtungen gespeichert sind, gesendet werden. In einigen Implementierungen kann das System 400 mehrere verfügbare Datensignale 107 bereitstellen, die von der Anwendervorrichtung 104a/b/c an das Aktivitätsvorschlagsmodul 618 gesendet werden. Das Aktivitätsvorschlagsmodul 618 kann die Datensignale 107 verwenden, um eine spezielle Ausgangsschablone, die mehrere Aktivitätsvorschläge enthält, teilweise basierend auf dem Typ des detektierten gemeinsamen Ereignisses und/oder einem oder mehreren Attributen des detektierten Ereignisses zu bestimmen und/oder auszuwählen. In einigen Implementierungen kann das Aktivitätsvorschlagsmodul 618 konfiguriert sein, um auf das Modul 614 zuzugreifen, um unter mehreren Ausgangsschablonen, die jede einem anderen Typ eines gemeinsamen Ereignisses zugeordnet sind, eine spezielle Ausgangsschablone auszuwählen, die dem speziellen Typ des gemeinsamen Ereignisses zugeordnet ist, für das das Ereignisdetektionsmodul 118 bestimmt hat, dass es gegenwärtig stattfindet oder stattgefunden hat.
  • Im Allgemeinen arbeiten die Module 614, 616 und 618 zusammen, um: 1) die Parameterwerte, die den Datensignalen einer Anwendervorrichtung 104a/b/c zugeordnet sind, zu analysieren, 2) eine spezielle Ausgangsschablone unter mehreren Ausgangsschablonen in der Schablonenablage 410 zu identifizieren, und 3) eine Mitteilung zu erzeugen, die eine spezielle Ausgangsschablone enthält, die eine oder mehrere umsetzbare Aktivitäten enthält, die mit dem speziellen Typ des gemeinsamen Ereignisses angemessen in Beziehung stehen.
  • In einigen Implementierungen können durch eine Logik 620 des maschinellen Lernens des Aktivitätsvorschlagsmoduls 618 bestimmte Parameterwerte verarbeitet und analysiert werden. Die Logik 620 des maschinellen Lernens kann verwendet werden, um die Wahrscheinlichkeitsmodelle zu trainieren, die dem Aktivitätsvorschlagsmodul 618 zugeordnet sind. Die Wahrscheinlichkeitsmodelle können verwendet werden, um eine Wahrscheinlichkeit zu bestimmen, dass eine ausgewählte Ausgangsaktivitätsschablone eine Schwellenzuordnung zu einem detektierten gemeinsamen Ereignis eines speziellen Typs aufweist. Die Logik 620 des maschinellen Lernens kann z. B. die Datensignale 107 empfangen und überwachen, die beispielhaften Durchklickraten entsprechen, die einer speziellen Ausgangsaktivitätsschablone zugeordnet sind, die ausgewählt worden ist, um als eine Ausgabe der Anwendervorrichtung 104a/b/c bereitgestellt zu werden.
  • Das System 400 kann z. B. eine Mitteilung für die Ausgabe unter Verwendung einer Mahlzeitaktivitätsschablone 514 erzeugen. Eine Anwendereingabe in die Anwendervorrichtung 104a/b/c kann angeben, dass der Anwender 102a/b/c einen umsetzbaren Vorschlag, der in der Schablone 514 enthalten ist, ausgewählt, durchgeklickt oder anderweitig ausgeführt hat. Insbesondere kann der Anwender 102a/b/c den umsetzbaren Vorschlag in der Schablone 514 ausgewählt haben, wenn durch das System 400 bekannt ist, dass der Anwender im Restaurant X speist. Wenn der Anwender 102a/b/c einen speziellen umsetzbaren Vorschlag, der in der Schablone 514 enthalten ist, während des Speisens oder nach dem Speisen in einem früheren Zeitraum im Restaurant X auswählt oder durchklickt, dann kann folglich die Logik 620 des maschinellen Lernens die Signaldaten als einen positiven Verwendungsfall zum Verfeinern oder Trainieren eines beispielhaften Wahrscheinlichkeitsmodells verwenden.
  • In einigen Implementierungen können das Modul 618 und/oder die Logik 620 des maschinellen Lernens wenigstens ein Wahrscheinlichkeitsmodul enthalten, das Programmcode, wie z. B. Algorithmen des maschinellen Lernens, verwendet und das mehrere Datensignale 107, die den Anwendungsprogrammen der Anwendervorrichtung 104a/b/c zugeordnet sind, empfängt und analysiert. Das Wahrscheinlichkeitsmodul kann verwendet werden, um voraussagende Schablonenmodelle zu entwickeln, die innerhalb eines bestimmten Genauigkeitsgrades eine auszuwählende spezielle Ausgangsaktivitätsschablone bestimmen. In einigen Implementierungen kann eine Wahrscheinlichkeitsmetrik basierend auf den durch die voraussagenden Schablonenmodelle berechneten Ergebnissen erzeugt werden, die die Wahrscheinlichkeit angibt, dass eine spezielle Ausgangsschablone eine angemessene Zuordnung zu einem detektierten gemeinsamen Ereignis aufweist.
  • In einigen Implementierungen kann wenigstens ein Algorithmus des maschinellen Lernens, der dem Modul 618 oder der Logik 620 zugeordnet ist, Daten empfangen, die auf mehrere Attribute verweisen, die einem detektierten gemeinsamen Ereignis oder Aktivitätsereignis zugeordnet sind. Während der Ausführung des wenigstens einen Algorithmus des maschinellen Lernens können die mehreren Attribute z. B. durch das Modul 618 verwendet werden, um ein durch das System 400 verwendetes voraussagendes Schablonenmodell zu trainieren, um eine spezielle Ausgangsschablone zu identifizieren, die der Anwendervorrichtung 104a/b/c bereitzustellen ist. In einigen Implementierungen kann das Schablonenmodell trainiert werden, um die spezielle Ausgangsschablone in Reaktion auf eine den Aktivitätsvorschlägen zugeordnete Wahrscheinlichkeitsmetrik, die eine Schwellen-Wahrscheinlichkeitsmetrik übersteigt, vorherzusagen/zu identifizieren.
  • Entsprechend kann das System 400 programmiert/trainiert sein, um basierend auf einer Schwelleneigenschaft einer Wahrscheinlichkeitsmetrik eine Ausgangsschablone auszuwählen, die bestimmte umsetzbare Vorschläge aufweist. Im Allgemeinen kann die Wahrscheinlichkeitsmetrik einer Wahrscheinlichkeit entsprechen, dass ein Anwender 102a/b/c einen umsetzbaren Vorschlag, der innerhalb einer speziellen Ausgangsschablone enthalten ist, auswählt, durchklickt oder anderweitig ausführt. Folglich kann die Wahrscheinlichkeit, dass ein umsetzbarer Vorschlag, der einer speziellen Ausgangsschablone zugeordnet ist, durch einen Anwender ausgewählt wird, basierend auf der bestimmten Wahrscheinlichkeitsmetrik, die einen speziellen Schwellenwert übersteigt, zunehmen. In einigen Implementierungen kann das System 400 in verschiedenen Weisen einschließlich der Anwendung der verschiedenen Prinzipien des maschinellen Lernens und der Schwellenauslöser, die oben bezüglich 1 und 2 erörtert worden sind, die Wahrscheinlichkeit bestimmen, d. h., die Wahrscheinlichkeitsmetrik erzeugen.
  • 7 ist ein Ablaufplan eines beispielhaften Prozesses für umsetzbare Vorschläge einer oder mehrerer Aktivitäten. Im Block 702 des Prozesses 700 wird eine Angabe empfangen, dass das Ereignisdetektionsmodul 118 bestimmt hat, dass ein gemeinsames Ereignis eines speziellen Typs gegenwärtig stattfindet oder stattgefunden hat. In einigen Implementierungen kann das System 400 von der Anwendervorrichtung 104a Daten empfangen, die auf ein Attribut verweisen, das dem detektierten gemeinsamen Ereignis zugeordnet ist. In einigen Implementierungen kann das Ereignisdetektionsmodul 118 außerdem dem gemeinsamen Ereignis zugeordnete Kontextdaten empfangen, die einen speziellen Typ des gemeinsamen Ereignisses angeben. Der spezielle Typ kann z. B. ein gemeinsames Ereignis sein, das einem Ereignistyp einer Mahlzeitaktivität, einem Ereignistyp körperlicher Aktivitäten, einem Ereignistyp sozialer Aktivitäten oder irgendeinem anderen Ereignistyp allgemeiner Aktivitäten zugeordnet ist. In einer Implementierung können die Kontextdaten und die Attributdaten z. B. angeben, dass Alice und Bob in einer Freitagnacht um 20 Uhr Eastern Standard Time (EST) in Morton's Steakhouse zu Abend essen.
  • Im Block 704 wählt das System 400 eine spezielle Ausgangsschablone unter mehreren Ausgangsschablonen aus, von denen jede einem anderen Typ eines gemeinsamen Ereignisses zugeordnet ist. Insbesondere kann die ausgewählte spezielle Ausgangsschablone dem speziellen Typ des gemeinsamen Ereignisses zugeordnet sein, für das das Ereignisdetektionsmodul 118 bestimmt hat, dass es gegenwärtig stattfindet oder stattgefunden hat. Wie oben erörtert worden ist, kann das System 400 Algorithmen des maschinellen Lernens verwenden, um voraussagende Schablonenmodelle zu trainieren, die verwendet werden können, um eine Ausgangsschablone, die bestimmte umsetzbare Vorschläge aufweist, basierend auf einer Schwelleneigenschaft einer Wahrscheinlichkeitsmetrik auszuwählen. Die Wahrscheinlichkeitsmetrik kann einer Wahrscheinlichkeit entsprechen, dass Alice einen umsetzbaren Vorschlag, der innerhalb der ausgewählten speziellen Ausgangsschablone enthalten ist, auswählt, durchklickt oder anderweitig ausführt.
  • Im Block 706 erzeugt das System 400 eine Mitteilung für die Ausgabe unter Verwendung wenigstens (i) der speziellen Ausgangsschablone, die dem speziellen Typ des detektierten gemeinsamen Ereignisses zugeordnet ist, und (ii) der Daten, die auf das dem detektierten gemeinsamen Ereignis zugeordnete Attribut verweisen. Im Block 708 des Prozesses 700 stellt das System 400 für die Ausgabe zu der Anwendervorrichtung 104a/b/c die Mitteilung bereit, die unter Verwendung wenigstens (i) der speziellen Ausgangsschablone und (ii) der Daten, die auf das dem gemeinsamen Ereignis des speziellen Typs zugeordnete Attribut verweisen, erzeugt wird. Das System 400 kann z. B. die erzeugte Mitteilung Alices Smartphone, z. B. der Anwendervorrichtung 104a, bereitstellen.
  • Wie oben erörtert worden ist, können die Datensignale 107, die den Kontextdaten und den Attributdaten zugeordnet sind, angeben, dass Alice und Bob in einer Freitagnacht um 20 Uhr EST in Morton's Steakhouse zu Abend essen. Folglich kann die spezielle Ausgangsschablone, die dem speziellen Typ des detektierten gemeinsamen Ereignisses zugeordnet ist, die Mahlzeitaktivitätsschablone 514 enthalten. In einigen alternativen Implementierungen können die Schablone 518 sozialer Aktivitäten und/oder die Schablone 520 anderer Aktivitäten außerdem einem gemeinsamen Ereignis zugeordnet sein, das ein Abendessen in einer Freitagnacht in Morton's Steakhouse enthält.
  • Wenn das System 400 die erzeugte Mitteilung Alice bereitstellt, zeigt in einigen Implementierungen die UI 424 von Alices Smartphone eine Mitteilung an, die Alice angibt, dass ein dem System 400 zugeordnetes Anwendungsprogramm detektiert oder bestimmt hat, dass Alice mit Bob zu Abend isst. Überdies kann die Mitteilung die ausgewählte Ausgangsschablone enthalten, wobei die Ausgangsschablone mehrere umsetzbare Vorschläge enthalten kann, die Alice von ihrem Smartphone auswählen, durchklicken oder anderweitig ausführen kann. In einigen Implementierungen können die vorgeschlagenen Aktivitäten, die durch Alice ausgewählt werden, als zusätzliche Kontextdaten gekennzeichnet oder identifiziert werden und dem System 400 als die Datensignale 107 bereitgestellt werden. Die zusätzlichen Kontextdaten können ferner als Modelle positiver Verwendungsfälle identifiziert werden, die z. B. durch die Logik 620 des maschinellen Lernens verwendet werden, um verschiedene voraussagende Schablonenmodelle zu trainieren oder weiter zu verfeinern.
  • Die Ausführungsformen des Gegenstands und die funktionalen Operationen, die in dieser Beschreibung beschrieben sind, können in einer digitalen elektronischen Schaltungsanordnung, einer greifbar verkörperten Computer-Software oder -Firmware, in Computer-Hardware, einschließlich der in dieser Beschreibung offenbarten Strukturen und ihrer strukturellen Äquivalente, oder in Kombinationen aus einer oder mehreren von diesen implementiert sein. Die Ausführungsformen des in dieser Beschreibung beschriebenen Gegenstands können als ein oder mehrere Computerprogramme, d. h., ein oder mehrere Module von Computerprogrammanweisungen, die in einem greifbaren nicht transitorischen Programmträger für die Ausführung durch eine Datenverarbeitungsvorrichtung codiert sind oder codiert sind, um den Betrieb einer Datenverarbeitungsvorrichtung zu steuern, implementiert sein.
  • Alternativ oder zusätzlich können die Programmanweisungen in einem künstlich erzeugten ausgebreiteten Signal, z. B. einem maschinenerzeugten elektrischen, optischen oder elektromagnetischen Signal, codiert sein, das erzeugt wird, um die Informationen für die Übertragung zu einer geeigneten Empfängervorrichtung für die Ausführung durch eine Datenverarbeitungsvorrichtung zu codieren. Das Computerspeichermedium kann eine maschinenlesbare Speichervorrichtung, ein maschinenlesbares Speichersubstrat, eine Schreib-Lese-Speichervorrichtung oder eine Speichervorrichtung mit seriellem Zugriff oder eine Kombination aus einer oder mehreren von diesen sein.
  • Ein Computerprogramm, das außerdem als ein Programm, Software, eine Software-Anwendung, ein Modul, ein Software-Modul, ein Skript oder Code bezeichnet oder beschrieben werden kann, kann in irgendeiner Form einer Programmiersprache, einschließlich kompilierter oder interpretierter Sprachen oder deklarativer oder prozeduraler Sprachen, geschrieben sein und kann in irgendeiner Form, einschließlich als ein eigenständiges Programm oder als ein Modul, eine Komponente, eine Subroutine oder eine andere Einheit, die für die Verwendung in einer Computerumgebung geeignet ist, eingesetzt werden. Ein Computerprogramm kann, muss aber nicht, einer Datei in einem Dateisystem entsprechen.
  • Ein Programm kann in einem Abschnitt einer Datei, die andere Programme oder Daten, z. B. ein oder mehrere Skripte, die in einem Auszeichnungssprachendokument gespeichert sind, enthält, in einer einzelnen Datei, die für das fragliche Programm dediziert ist, oder in mehreren koordinierten Dateien, z. B. Dateien, die ein oder mehrere Module, Unterprogramme oder Abschnitte des Codes speichern, gespeichert sein. Ein Computerprogramm kann eingesetzt werden, um in einem Computer oder in mehreren Computern ausgeführt zu werden, die sich an einem Standort befinden oder über mehrere Standorte verteilt sind und durch ein Kommunikationsnetz miteinander verbunden sind.
  • Die in dieser Beschreibung beschriebenen Prozesse und logischen Abläufe können durch einen oder mehrere programmierbare Computer ausgeführt werden, die ein oder mehrere Computerprogramme ausführen, um die Funktionen durch das Wirken auf die Eingangsdaten und das Erzeugen einer Ausgabe auszuführen. Die Prozesse und logischen Abläufe können außerdem durch eine logische Spezialschaltungsanordnung, z. B. eine FPGA (eine feldprogrammierbare Gatteranordnung) oder eine ASIC (eine anwendungsspezifische integrierte Schaltung), ausgeführt werden und die Vorrichtung kann außerdem als eine logische Spezialschaltungsanordnung, z. B. eine FPGA (eine feldprogrammierbare Gatteranordnung) oder eine ASIC (eine anwendungsspezifische integrierte Schaltung), implementiert sein.
  • 8 ist ein Blockschaltplan der Computervorrichtungen 800, 850, die verwendet werden können, um die in diesem Dokument beschriebenen Systeme und Verfahren entweder als ein Client oder als ein Server oder mehrere Server zu implementieren. Die Computervorrichtung 800 ist vorgesehen, um verschiedene Formen digitaler Computer, wie z. B. Laptops, Desktops, Arbeitsplatzrechner, persönliche digitale Assistenten, Server, Blade-Server, Großrechner und andere geeignete Computer, zu repräsentieren. Die Computervorrichtung 850 ist vorgesehen, um verschiedene Formen von Mobilvorrichtungen, wie z. B. persönliche digitale Assistenten, Mobiltelephone, Smartphones, Smartwatches, am Kopf zu tragende Vorrichtungen und andere ähnliche Computervorrichtungen, zu repräsentieren. Die hier gezeigten Komponenten, ihre Verbindungen und Beziehungen und ihre Funktionen sind lediglich beispielhaft gemeint, wobei sie nicht gemeint sind, um die in diesem Dokument beschriebenen und/oder beanspruchten Implementierungen einzuschränken.
  • Die Computervorrichtung 800 enthält einen Prozessor 802, einen Speicher 804, eine Speichervorrichtung 806, eine Hochgeschwindigkeitsschnittstelle 808, die den Speicher 804 und die Hochgeschwindigkeits-Erweiterungsanschlüsse 810 verbindet, und eine Schnittstelle 812 mit geringer Geschwindigkeit, die einen Bus 814 mit geringer Geschwindigkeit und die Speichervorrichtung 806 verbindet. Alle Komponenten 802, 804, 806, 808, 810 und 812 sind durch verschiedene Busse miteinander verbunden und können gegebenenfalls auf einer gemeinsamen Hauptplatine oder in anderen Weisen angebracht sein. Der Prozessor 802 kann die Anweisungen für die Ausführung innerhalb der Computervorrichtung 800 einschließlich der im Speicher 804 oder in der Speichervorrichtung 806 gespeicherten Anweisungen verarbeiten, um die graphischen Informationen für eine GUI auf einer äußeren Eingabe-/Ausgabevorrichtung, wie z. B. einer Anzeige 816, die an die Hochgeschwindigkeitsschnittstelle 808 gekoppelt ist, anzuzeigen. In anderen Implementierungen können gegebenenfalls mehrere Prozessoren und/oder mehrere Busse zusammen mit mehreren Speichern und Speichertypen verwendet werden. Außerdem können mehrere Computervorrichtungen 800 verbunden sein, wobei jede Vorrichtung Abschnitte der notwendigen Operationen (z. B. als eine Server-Bank, eine Gruppe von Blade-Servern oder ein Mehrprozessorsystem) bereitstellt.
  • Der Speicher 804 speichert Informationen innerhalb der Computervorrichtung 800. In einer Implementierung ist der Speicher 804 ein computerlesbares Medium. In einer Implementierung ist der Speicher 804 eine flüchtige Speichereinheit oder flüchtige Speichereinheiten. In einer weiteren Implementierung ist der Speicher 804 eine nichtflüchtige Speichereinheit oder nichtflüchtige Speichereinheiten.
  • Die Speichervorrichtung 806 kann einen Massenspeicher für die Computervorrichtung 800 bereitstellen. In einer Implementierung ist die Speichervorrichtung 806 ein computerlesbares Medium. In verschiedenen unterschiedlichen Implementierungen kann die Speichervorrichtung 806 eine Diskettenvorrichtung, eine Festplattenvorrichtung, eine Vorrichtung optischer Platten oder eine Bandvorrichtung, ein Flash-Speicher oder eine andere Halbleiterspeichervorrichtung oder eine Anordnung von Vorrichtungen einschließlich der Vorrichtungen in einem Speicherbereichsnetz oder anderen Konfigurationen sein. In einer Implementierung ist ein Computerprogrammprodukt in einem Informationsträger greifbar verkörpert. Das Computerprogrammprodukt enthält Anweisungen, die, wenn sie ausgeführt werden, ein oder mehrere Verfahren, wie z. B. jene, die oben beschrieben worden sind, ausführen. Der Informationsträger ist ein computer- oder maschinenlesbares Medium, wie z. B. der Speicher 804, die Speichervorrichtung 806 oder der Speicher im Prozessor 802.
  • Der Hochgeschwindigkeits-Controller 808 managt die bandbreitenintensiven Operationen für die Computervorrichtung 800, während der Controller 812 mit geringer Geschwindigkeit die weniger bandbreitenintensiven Operationen managt. Eine derartige Zuweisung der Pflichten ist lediglich beispielhaft. In einer Implementierung ist der Hochgeschwindigkeits-Controller 808 an den Speicher 804, die Anzeige 816 (z. B. durch einen Graphikprozessor oder -beschleuniger) und an die Hochgeschwindigkeits-Erweiterungsanschlüsse 810, die verschiedene (nicht gezeigte) Erweiterungskarten akzeptieren können, gekoppelt. In der Implementierung ist der Controller 812 mit geringer Geschwindigkeit an die Speichervorrichtung 806 und an den Erweiterungsanschluss 814 mit geringer Geschwindigkeit gekoppelt. Der Erweiterungsanschluss mit geringer Geschwindigkeit, der verschiedene Kommunikationsanschlüsse (z. B. USB, Bluetooth, Ethernet, drahtloses Ethernet) enthalten kann, kann an eine oder mehrere Eingabe-/Ausgabevorrichtungen, wie z. B. eine Tastatur, eine Zeigevorrichtung, einen Scanner, eine Netzvorrichtung, wie z. B. einen Switch oder ein Router, z. B. durch einen Netzadapter, gekoppelt sein.
  • Die Computervorrichtung 800 kann in einer Anzahl verschiedener Formen implementiert sein, wie in der Figur gezeigt ist. Sie kann z. B. als ein Standard-Server 820 oder mehrmals in einer Gruppe derartiger Server implementiert sein. Sie kann außerdem als ein Teil eines Rack-Server-Systems 824 implementiert sein. Zusätzlich kann sie in einem Personalcomputer, wie z. B. einem Laptop-Computer 822, implementiert sein. Alternativ können die Komponenten von der Computervorrichtung 800 mit anderen Komponenten in einer (nicht gezeigten) Mobilvorrichtung, wie z. B. der Vorrichtung 850, kombiniert sein. Jede der derartigen Vorrichtungen kann eine oder mehrere Computervorrichtungen 800, 850 enthalten, wobei ein Gesamtsystem aus mehreren Computervorrichtungen 800, 850 gebildet sein kann, die miteinander kommunizieren.
  • Die Computervorrichtung 850 enthält unter anderen Komponenten einen Prozessor 852, einen Speicher 864, eine Eingabe-/Ausgabevorrichtung, wie z. B. eine Anzeige 854, eine Kommunikationsschnittstelle 866 und einen Sender/Empfänger 868. Die Vorrichtung 850 kann mit einer Speichervorrichtung, wie z. B. einem Mikrolaufwerk oder einer anderen Vorrichtung, versehen sein, um einen zusätzlichen Speicher zu schaffen. Alle Komponenten 850, 852, 864, 854, 866 und 868 sind unter Verwendung verschiedener Busse miteinander verbunden, wobei mehrere der Komponenten gegebenenfalls auf einer gemeinsamen Hauptplatine oder in anderen Weisen angebracht sein können.
  • Der Prozessor 852 kann die Anweisungen für die Ausführung innerhalb der Computervorrichtung 850 einschließlich der im Speicher 864 gespeicherten Anweisungen verarbeiten. Der Prozessor kann außerdem separate analoge und digitale Prozessoren enthalten. Der Prozessor kann z. B. für die Koordination der anderen Komponenten der Vorrichtung 850, wie z. B. die Steuerung der Anwenderschnittstellen, der durch die Vorrichtung 850 ausgeführten Anwendungen und der drahtlosen Kommunikation durch die Vorrichtung 850, sorgen.
  • Der Prozessor 852 kann mit einem Anwender durch eine Steuerschnittstelle 858 und eine Anzeigeschnittstelle 856, die an eine Anzeige 854 gekoppelt ist, kommunizieren. Die Anzeige 854 kann z. B. eine TFT-LCD-Anzeige oder eine OLED-Anzeige oder eine andere geeignete Anzeigetechnik sein. Die Anzeigeschnittstelle 856 kann eine geeignete Schaltungsanordnung zum Ansteuern der Anzeige 854 umfassen, um einem Anwender graphische und andere Informationen darzustellen. Die Steuerschnittstelle 858 kann Befehle von einem Anwender empfangen und sie für die Einreichung bei dem Prozessor 852 umsetzen. Zusätzlich kann eine externe Schnittstelle 862 in Verbindung mit dem Prozessor 852 vorgesehen sein, um eine Nahbereichskommunikation der Vorrichtung 850 mit anderen Vorrichtungen zu ermöglichen. Die äußere Schnittstelle 862 kann z. B. für eine verdrahtete Kommunikation (z. B. über eine Docking-Prozedur) oder für eine drahtlose Kommunikation (z. B. über Bluetooth oder andere derartige Techniken) sorgen.
  • Der Speicher 864 speichert Informationen innerhalb der Computervorrichtung 850. In einer Implementierung ist der Speicher 864 ein computerlesbares Medium. In einer Implementierung ist der Speicher 864 eine flüchtige Speichereinheit oder flüchtige Speichereinheiten. In einer weiteren Implementierung ist der Speicher 864 eine nichtflüchtige Speichereinheit oder nichtflüchtige Speichereinheiten. Es kann außerdem ein Erweiterungsspeicher 874 vorgesehen und durch die Erweiterungsschnittstelle 872, die z. B. eine SIMM-Karten-Schnittstelle enthalten kann, mit der Vorrichtung 850 verbunden sein. Ein derartiger Erweiterungsspeicher 874 kann einen zusätzlichen Speicherraum für die Vorrichtung 850 schaffen oder kann außerdem Anwendungen oder andere Informationen für die Vorrichtung 850 speichern. Spezifisch kann der Erweiterungsspeicher 874 Anweisungen enthalten, um die oben beschriebenen Prozesse auszuführen oder zu ergänzen, wobei er außerdem gesicherte Informationen enthalten kann. Der Erweiterungsspeicher 874 kann folglich z. B. als ein Sicherheitsmodul für die Vorrichtung 850 vorgesehen sein und kann mit Anweisungen programmiert sein, die die sichere Verwendung der Vorrichtung 850 erlauben. Zusätzlich können die sicheren Anwendungen zusammen mit zusätzlichen Informationen über die SIMM-Karten bereitgestellt werden, wie z. B. das Anordnen von Identifizierungsinformationen auf der SIMM-Karte in einer nicht hackbaren Weise.
  • Der Speicher kann z. B. Flash-Speicher und/oder MRAM-Speicher enthalten, wie im Folgenden erörtert wird. In einer Implementierung ist ein Computerprogrammprodukt in einem Informationsträger greifbar verkörpert. Das Computerprogrammprodukt enthält Anweisungen, die, wenn sie ausgeführt werden, ein oder mehrere Verfahren, wie z. B. jene, die oben beschrieben worden sind, ausführen. Der Informationsträger ist ein computer- oder maschinenlesbares Medium, wie z. B. der Speicher 864, der Erweiterungsspeicher 874 oder der Speicher im Prozessor 852.
  • Die Vorrichtung 850 kann durch die Kommunikationsschnittstelle 866, die eine digitale Signalverarbeitungsschaltungsanordnung enthalten kann, wo es notwendig ist, drahtlos kommunizieren. Die Kommunikationsschnittstelle 866 kann für Kommunikationen gemäß verschiedener Modi oder Protokolle, wie z. B. unter anderem GSM-Sprachanrufe, SMS-, EMS- oder MMS-Nachrichtenübermittlung, CDMA, TDMA, PDC, WCDMA, CDMA2000 oder GPRS, sorgen. Eine derartige Kommunikation kann z. B. durch den Hochfrequenz-Sender/Empfänger 868 stattfinden. Zusätzlich kann eine Nahbereichskommunikation, wie z. B. unter Verwendung eines Bluetooth-, WiFi- oder eines anderen derartigen (nicht gezeigten) Sender/Empfängers, stattfinden. Zusätzlich kann das GPS-Empfängermodul 870 zusätzliche drahtlose Daten der Vorrichtung 850 bereitstellen, die gegebenenfalls durch die in der Vorrichtung 850 ablaufenden Anwendungen verwendet werden können.
  • Die Vorrichtung 850 kann außerdem hörbar unter Verwendung eines Audio-Codecs 860, der von einem Anwender gesprochene Informationen empfangen und sie in nutzbare digitale Informationen umsetzen kann, kommunizieren. Der Audio-Codec 860 kann gleichermaßen einen hörbaren Ton für einen Anwender, wie z. B. durch einen Lautsprecher, z. B. in einem Handgerät der Vorrichtung 850, erzeugen. Ein derartiger Ton kann den Ton von Sprachtelephonanrufen enthalten, kann aufgezeichneten Ton (z. B. Sprachnachrichten, Musikdateien usw.) enthalten und kann außerdem den durch die in der Vorrichtung 850 arbeitenden Anwendungen erzeugten Ton enthalten.
  • Die Computervorrichtung 850 kann in einer Anzahl verschiedener Formen implementiert sein, wie in der Figur gezeigt ist. Sie kann z. B. als ein Mobiltelephon 880 implementiert sein. Sie kann außerdem als ein Teil eines Smartphones 882, eines persönlichen digitalen Assistenten oder einer anderen ähnlichen Mobilvorrichtung implementiert sein.
  • Die verschiedenen Implementierungen der hier beschriebenen Systeme und Techniken können in einer digitalen elektronischen Schaltungsanordnung, einer integrierten Schaltungsanordnung, speziell entworfenen ASICs, Computer-Hardware, -Firmware, -Software und/oder Kombinationen daraus verwirklicht sein. Diese verschiedenen Implementierungen können eine Implementierung in einem oder mehreren Computerprogrammen enthalten, die in einem programmierbaren System, das wenigstens einen programmierbaren Prozessor enthält, der speziell oder universell, verbunden, um Daten und Anweisungen von einem Speichersystem, wenigstens einer Eingabevorrichtung und wenigstens einer Ausgabevorrichtung zu empfangen und Daten und Anweisungen an ein Speichersystem, wenigstens eine Eingabevorrichtung und wenigstens eine Ausgabevorrichtung zu senden, sein kann, ausführbar und/oder interpretierbar sind.
  • Diese Computerprogramme, die außerdem als Programme, Software, Software-Anwendungen oder Code bekannt sind, enthalten Maschinenanweisungen für einen programmierbaren Prozessor und können in einer prozeduralen höheren Programmiersprache und/oder einer objektorientierten Programmiersprache und/oder in einer Assembler-/Maschinensprache implementiert sein. Die Begriffe „maschinenlesbares Medium“, „computerlesbares Medium“, wie sie hier verwendet werden, beziehen sich auf irgendein Computerprogrammprodukt, ein Gerät und/oder eine Vorrichtung, wie z. B. Magnetplatten, optische Platten, einen Speicher, programmierbare Logikvorrichtungen (PLDs), die verwendet werden, um Maschinenanweisungen und/oder Daten einem programmierbaren Prozessor bereitzustellen, einschließlich eines maschinenlesbaren Mediums, das maschinenlesbare Anweisungen als ein maschinenlesbares Signal empfängt. Der Begriff „maschinenlesbares Signal“ bezieht sich auf irgendein Signal, das verwendet wird, um Maschinenanweisungen und/oder Daten einem programmierbaren Prozessor bereitzustellen.
  • Um für eine Wechselwirkung mit einem Anwender zu sorgen, können die hier beschriebenen Systeme und Techniken in einem Computer implementiert sein, der eine Anzeigevorrichtung, wie z. B. einen CRT- (Kathodenstrahlröhren-) oder LCD- (Flüssigkristallanzeigen-) Monitor zum Anzeigen von Informationen für den Anwender und eine Tastatur und eine Zeigevorrichtung, wie z. B. eine Maus oder eine Rollkugel, durch die der Anwender eine Eingabe in den Computer bereitstellen kann, aufweist. Es können ebenso andere Arten von Vorrichtungen verwendet werden, um für eine Wechselwirkung mit einem Anwender zu sorgen; dem Anwender kann z. B. eine Rückkopplung durch irgendeine Form einer sensorischen Rückkopplung, z. B. eine sichtbare Rückkopplung, eine auditorische Rückkopplung oder eine taktile Rückkopplung, bereitgestellt werden; während eine Eingabe von dem Anwender in irgendeiner Form einschließlich einer akustischen, Sprach- oder taktilen Eingabe empfangen werden kann.
  • Die hier beschriebenen Systeme und Techniken können in einem Computersystem, das eine Back-End-Komponente, z. B. als einen Daten-Server, enthält oder das eine Middleware-Komponente, z. B. einen Anwendungs-Server, enthält oder das eine Front-End-Komponente, z. B. einen Client-Computer, der eine graphische Anwenderschnittstelle oder einen Web-Browser aufweist, durch die bzw. den ein Anwender mit einer Implementierung der hier beschriebenen Systeme und Techniken in Wechselwirkung treten kann, enthält, oder irgendeine Kombination aus derartigen Back-End-, Middleware- oder Front-End-Komponenten implementiert sein. Die Komponenten des Systems können durch irgendeine Form oder irgendein Medium der digitalen Datenkommunikation, z. B. ein Kommunikationsnetz, miteinander verbunden sein. Die Beispiele der Kommunikationsnetze enthalten ein lokales Netz („LAN“), ein Weitbereichsnetz („WAN“) und das Internet.
  • Das Computersystem kann Clients und Server enthalten. Ein Client und ein Server befinden sich im Allgemeinen entfernt voneinander und treten typischerweise durch ein Kommunikationsnetz in Wechselwirkung. Die Beziehung des Clients und des Servers ergibt sich aufgrund der Computerprogramme, die in den jeweiligen Computern ausgeführt werden und die eine Client-Server-Beziehung zueinander aufweisen.
  • Weiter zu den obigen Beschreibungen kann der Anwender mit Steuerelementen versehen sein, die dem Anwender erlauben, eine Wahl sowohl bezüglich dessen, ob und wann die hier beschriebenen Systeme, Programme oder Merkmale die Sammlung von Anwenderinformationen (z. B. Informationen über ein soziales Netz des Anwenders, die sozialen Handlungen oder Aktivitäten, den Beruf, die Vorlieben eines Anwenders oder den aktuellen Ort eines Anwenders) ermöglichen können, als auch bezüglich dessen, ob dem Anwender Inhalt oder Kommunikationen von einem Server gesendet werden, zu treffen. Zusätzlich können bestimmte Daten in einer oder mehreren Weisen behandelt werden, bevor sie gespeichert oder verwendet werden, so dass die persönlich identifizierbaren Informationen entfernt sind. In einigen Ausführungsformen kann die Identität eines Anwenders behandelt werden, so dass keine persönlich identifizierbaren Informationen für den Anwender bestimmt werden können, oder kann der geographische Ort eines Anwenders verallgemeinert werden, wo Ortsinformationen erhalten werden (wie z. B. über eine Stadt, eine Postleitzahl oder eine Landesebene), so dass ein spezieller Ort eines Anwenders nicht bestimmt werden kann. Folglich kann der Anwender die Steuerung darüber haben, welche Informationen über den Anwender gesammelt werden, wie diese Informationen verwendet werden und welche Informationen dem Anwender bereitgestellt werden.
  • Es ist eine Anzahl von Ausführungsformen beschrieben worden. Dennoch wird erkannt, dass verschiedene Modifikationen ausgeführt werden können, ohne vom Erfindungsgedanken und Schutzumfang der Erfindung abzuweichen. Es können z. B. verschiedene Formen der oben gezeigten Abläufe verwendet werden, wobei Schritte umgeordnet, hinzugefügt oder entfernt sein können. Obwohl mehrere Anwendungen von Bezahlungssystemen und -verfahren beschrieben worden sind, sollte erkannt werden, dass zahlreiche andere Anwendungen in Betracht gezogen werden. Entsprechend befinden sich andere Ausführungsformen innerhalb des Schutzumfangs der folgenden Ansprüche.
  • Während diese Beschreibung viele spezifische Implementierungseinzelheiten enthält, sollten diese nicht als Einschränkungen an den Schutzumfang dessen, was beansprucht werden kann, sondern stattdessen als Beschreibungen der Merkmale, die für spezielle Ausführungsformen spezifisch sein können, ausgelegt werden. Bestimmte Merkmale, die in dieser Beschreibung im Kontext separater Ausführungsformen beschrieben sind, können außerdem in Kombination in einer einzigen Ausführungsform implementiert sein. Umgekehrt können verschiedene Merkmale, die im Kontext einer einzigen Ausführungsform beschrieben sind, außerdem in mehreren Ausführungsformen getrennt oder in irgendeiner geeigneten Unterkombination implementiert sein. Obwohl die Merkmale oben als in bestimmten Kombinationen wirkend beschrieben und sogar anfangs als solche beansprucht sein können, können überdies ein oder mehrere Merkmale aus einer beanspruchten Kombination in einigen Fällen aus der Kombination entfernt werden und kann die beanspruchte Kombination auf eine Unterkombination oder eine Variation einer Unterkombination gerichtet sein.
  • Während die Operationen in den Zeichnungen in einer speziellen Reihenfolge dargestellt sind, sollte dies ähnlich nicht so verstanden werden, dass es erforderlich ist, dass derartige Operationen in der gezeigten speziellen Reihenfolge oder in einer sequentiellen Reihenfolge ausgeführt werden oder dass alle veranschaulichten Operationen ausgeführt werden, um die erwünschten Ergebnisse zu erreichen. Unter bestimmten Umständen können Multitasking und Parallelverarbeitung vorteilhaft sein. Überdies sollte die Trennung der verschiedenen Systemmodule und -komponenten in den oben beschriebenen Ausführungsformen nicht so verstanden werden, dass eine derartige Trennung in allen Ausführungsformen erforderlich ist, wobei sie so verstanden werden sollte, dass die beschriebenen Programmkomponenten und Systeme im Allgemeinen in einem einzigen Software-Produkt zusammen integriert sein können oder in mehrere Pakete von Software-Produkten verpackt sein können.
  • Es sind spezielle Ausführungsformen des Gegenstands beschrieben worden. Andere Ausführungsformen befinden sich innerhalb des Schutzumfangs der folgenden Ansprüche. Die in den Ansprüchen dargestellten Vorgänge können z. B. in einer anderen Reihenfolge ausgeführt werden und dennoch die erwünschten Ergebnisse erreichen. Als ein Beispiel erfordern die in den beigefügten Figuren dargestellten Prozesse nicht notwendigerweise die gezeigte spezielle Reihenfolge oder sequentielle Reihenfolge, um die erwünschten Ergebnisse zu erreichen. In einigen Fällen können Multitasking und Parallelverarbeitung vorteilhaft sein.
  • Beansprucht wird:

Claims (20)

  1. Computerimplementiertes Verfahren, das umfasst: Empfangen (i) einer Angabe, dass ein Ereignisdetektionsmodul bestimmt hat, dass ein gemeinsames Ereignis eines speziellen Typs gegenwärtig stattfindet oder stattgefunden hat, und (ii) von Daten, die auf ein dem gemeinsamen Ereignis zugeordnetes Attribut verweisen; Auswählen durch ein Computersystem aus mehreren Ausgangsschablonen, die jede einem anderen Typ des gemeinsamen Ereignisses zugeordnet sind, einer speziellen Ausgangsschablone, die dem speziellen Typ des gemeinsamen Ereignisses, für das das Ereignisdetektionsmodul bestimmt hat, dass es gegenwärtig stattfindet oder stattgefunden hat, zugeordnet ist; und Erzeugen durch das Computersystem einer Mitteilung für die Ausgabe unter Verwendung wenigstens (i) einer speziellen Ausgangsschablone, die dem speziellen Typ des gemeinsamen Ereignisses, für das bestimmt worden ist, dass es gegenwärtig stattfindet, oder für das bestimmt worden ist, dass es bereits stattgefunden hat, zugeordnet ist, und (ii) der Daten, die auf das dem gemeinsamen Ereignis zugeordnete Attribut verweisen; und Bereitstellen für die Ausgabe zu einer Anwendervorrichtung der Mitteilung, die unter Verwendung wenigstens (i) der speziellen Ausgangsschablone und (ii) der Daten, die auf das dem gemeinsamen Ereignis des speziellen Typs zugeordnete Attribut verweisen, erzeugt wird.
  2. Verfahren nach Anspruch 1, das ferner umfasst: Bereitstellen durch das Computersystem und für eine oder mehrere Anwendervorrichtungen wenigstens eines Aktivitätsvorschlags, der dem gemeinsamen Ereignis zugeordnet ist, wobei der wenigstens eine Aktivitätsvorschlag teilweise auf wenigstens einem von: (i) dem speziellen Typ des gemeinsamen Ereignisses; oder (ii) den Daten, die auf das dem gemeinsamen Ereignis zugeordnete Attribut verweisen, basiert.
  3. Verfahren nach Anspruch 1 oder 2, wobei das Auswählen der speziellen Ausgangsschablone, die dem speziellen Typ des gemeinsamen Ereignisses zugeordnet ist, umfasst: Verwenden durch das Computersystem eines oder mehrerer Algorithmen des maschinellen Lernens basierend auf der Analyse der empfangenen Daten, die auf das dem gemeinsamen Ereignis zugeordnete Attribut verweisen; und in Reaktion auf das Verwenden des einen oder der mehreren Algorithmen des maschinellen Lernens Bestimmen durch das Computersystem der auszuwählenden speziellen Ausgangsschablone.
  4. Verfahren nach Anspruch 3, wobei wenigstens ein Algorithmus des maschinellen Lernens Daten, die auf mehrere dem gemeinsamen Ereignis zugeordnete Attribute verweisen, empfängt, wobei die mehreren Attribute während der Ausführung des wenigstens einen Algorithmus des maschinellen Lernens verwendet werden, um ein durch das Computersystem verwendetes Schablonenmodell zu trainieren, um die spezielle Ausgangsschablone auszuwählen.
  5. Verfahren nach Anspruch 4, das ferner umfasst: Trainieren durch das Computersystem des Schablonenmodells, um die auszuwählende spezielle Ausgangsschablone vorherzusagen, wobei das Schablonenmodell trainiert wird, um basierend auf einer einem Aktivitätsvorschlag zugeordneten Wahrscheinlichkeitsmetrik, die eine Schwellen-Wahrscheinlichkeitsmetrik übersteigt, die spezielle Ausgangsschablone vorherzusagen.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei das Erzeugen der Mitteilung für die Ausgabe umfasst: Bereitstellen durch das Computersystem und für einen speziellen Anwender eines Aktivitätsvorschlags und eines Anwendungsprogramms, das dem Aktivitätsvorschlag zugeordnet ist, wobei das Anwendungsprogramm für die Verwendung in einer Anwendervorrichtung, die dem speziellen Anwender zugeordnet ist, konfiguriert ist.
  7. Verfahren nach einem der Ansprüche 1 bis 6, wobei jede Ausgangsschablone der mehreren Ausgangsschablonen wenigstens einen Aktivitätsvorschlag angibt und ein oder mehrere Attribute des wenigstens einen Aktivitätsvorschlags angibt.
  8. Verfahren nach einem der Ansprüche 1 bis 7, wobei die Mitteilung für die Ausgabe wenigstens einer Anwendervorrichtung, die wenigstens einem Anwender einer Teilmenge der Anwender zugeordnet ist, bereitgestellt wird.
  9. Elektronisches System, das umfasst: eine oder mehrere Verarbeitungsvorrichtungen; eine oder mehrere maschinenlesbare Speichervorrichtungen zum Speichern von Anweisungen, die durch die eine oder die mehreren Verarbeitungsvorrichtungen ausführbar sind, um Operationen auszuführen, die umfassen: Empfangen (i) einer Angabe, dass ein Ereignisdetektionsmodul bestimmt hat, dass ein gemeinsames Ereignis eines speziellen Typs gegenwärtig stattfindet oder stattgefunden hat, und (ii) von Daten, die auf ein dem gemeinsamen Ereignis zugeordnetes Attribut verweisen; Auswählen durch das elektronische System unter mehreren Ausgangsschablonen, die jede einem anderen Typ des gemeinsamen Ereignisses zugeordnet sind, einer speziellen Ausgangsschablone, die dem speziellen Typ des gemeinsamen Ereignisses, für das das Ereignisdetektionsmodul bestimmt hat, dass es gegenwärtig stattfindet oder stattgefunden hat, zugeordnet ist; Erzeugen durch das elektronische System einer Mitteilung für die Ausgabe unter Verwendung wenigstens (i) einer speziellen Ausgangsschablone, die dem speziellen Typ des gemeinsamen Ereignisses, für das bestimmt worden ist, dass es gegenwärtig stattfindet, oder für das bestimmt worden ist, dass es bereits stattgefunden hat, zugeordnet ist, und (ii) der Daten, die auf das dem gemeinsamen Ereignis zugeordnete Attribut verweisen; und Bereitstellen für die Ausgabe zu einer Anwendervorrichtung der Mitteilung, die unter Verwendung wenigstens (i) der speziellen Ausgangsschablone und (ii) der Daten, die auf das dem gemeinsamen Ereignis des speziellen Typs zugeordnete Attribut verweisen, erzeugt wird.
  10. Elektronisches System nach Anspruch 9, das ferner umfasst: Bereitstellen durch das elektronische System und für eine oder mehrere Anwendervorrichtungen wenigstens eines Aktivitätsvorschlags, der dem gemeinsamen Ereignis zugeordnet ist, wobei der wenigstens eine Aktivitätsvorschlag teilweise auf wenigstens einem von: (i) dem speziellen Typ des gemeinsamen Ereignisses; oder (ii) den Daten, die auf das dem gemeinsamen Ereignis zugeordnete Attribut verweisen, basiert.
  11. Elektronisches System nach Anspruch 9 oder 10, wobei das Auswählen der speziellen Ausgangsschablone, die dem speziellen Typ des gemeinsamen Ereignisses zugeordnet ist, umfasst: Verwenden durch das elektronische System eines oder mehrerer Algorithmen des maschinellen Lernens basierend auf der Analyse der empfangenen Daten, die auf das dem gemeinsamen Ereignis zugeordnete Attribut verweisen; und in Reaktion auf das Verwenden des einen oder der mehreren Algorithmen des maschinellen Lernens Bestimmen durch das elektronische System der auszuwählenden speziellen Ausgangsschablone.
  12. Elektronisches System nach Anspruch 11, wobei wenigstens ein Algorithmus des maschinellen Lernens Daten, die auf mehrere dem gemeinsamen Ereignis zugeordnete Attribute verweisen, empfängt, wobei die mehreren Attribute während der Ausführung des wenigstens einen Algorithmus des maschinellen Lernens verwendet werden, um ein durch das elektronische System verwendetes Schablonenmodell zu trainieren, um die spezielle Ausgangsschablone auszuwählen.
  13. Elektronisches System nach Anspruch 12, das ferner umfasst: Trainieren durch das Computersystem des Schablonenmodells, um die auszuwählende spezielle Ausgangsschablone vorherzusagen, wobei das Schablonenmodell trainiert wird, um basierend auf einer einem Aktivitätsvorschlag zugeordneten Wahrscheinlichkeitsmetrik, die eine Schwellen-Wahrscheinlichkeitsmetrik übersteigt, die spezielle Ausgangsschablone vorherzusagen.
  14. Elektronisches System nach Anspruch 13, wobei das Erzeugen der Mitteilung für die Ausgabe umfasst: Bereitstellen durch das elektronische System und für einen speziellen Anwender eines Aktivitätsvorschlags und eines Anwendungsprogramms, das dem Aktivitätsvorschlag zugeordnet ist, wobei das Anwendungsprogramm für die Verwendung in einer Anwendervorrichtung, die dem speziellen Anwender zugeordnet ist, konfiguriert ist.
  15. Elektronisches System nach einem der Ansprüche 9 bis 14, wobei jede Ausgangsschablone der mehreren Ausgangsschablonen wenigstens einen Aktivitätsvorschlag angibt und ein oder mehrere Attribute des wenigstens einen Aktivitätsvorschlags angibt.
  16. Elektronisches System nach einem der Ansprüche 9 bis 15, wobei die Mitteilung für die Ausgabe wenigstens einer Anwendervorrichtung, die wenigstens einem Anwender einer Teilmenge der Anwender zugeordnet ist, bereitgestellt wird.
  17. Computerimplementiertes Verfahren, das umfasst: Empfangen einer Angabe, dass ein Ereignisdetektionsmodul bestimmt hat, dass ein Ereignis eines speziellen Typs gegenwärtig stattfindet oder stattgefunden hat; Auswählen durch ein Computersystem einer speziellen Ausgangsschablone, die dem speziellen Typ des Ereignisses, für das das Ereignisdetektionsmodul bestimmt hat, dass es gegenwärtig stattfindet oder stattgefunden hat, zugeordnet ist; Erzeugen durch das Computersystem einer Mitteilung für die Ausgabe unter Verwendung wenigstens der speziellen Ausgangsschablone, die dem speziellen Typ des Ereignisses zugeordnet ist, für das bestimmt worden ist, dass es gegenwärtig stattfindet, oder für das bestimmt worden ist, dass es bereits stattgefunden hat; und Bereitstellen für die Ausgabe zu einer Anwendervorrichtung der Mitteilung, die unter Verwendung wenigstens der speziellen Ausgangsschablone erzeugt wird.
  18. Verfahren nach Anspruch 17, das ferner umfasst: Bereitstellen durch das Computersystem und für eine oder mehrere Anwendervorrichtungen wenigstens eines Aktivitätsvorschlags, der dem Ereignis zugeordnet ist, wobei der wenigstens eine Aktivitätsvorschlag teilweise auf wenigstens einem von: (i) dem speziellen Typ des Ereignisses; oder (ii) den Daten, die auf ein dem Ereignis zugeordnetes Attribut verweisen, basiert.
  19. Verfahren nach Anspruch 18, wobei das Auswählen der speziellen Ausgangsschablone, die dem speziellen Typ des Ereignisses zugeordnet ist, umfasst: Verwenden durch das Computersystem eines oder mehrerer Algorithmen des maschinellen Lernens basierend auf der Analyse der empfangenen Daten, die auf das dem Ereignis zugeordnete Attribut verweisen; und in Reaktion auf das Verwenden des einen oder der mehreren Algorithmen des maschinellen Lernens Bestimmen durch das Computersystem der auszuwählenden speziellen Ausgangsschablone.
  20. Verfahren nach Anspruch 19, wobei wenigstens ein Algorithmus des maschinellen Lernens Daten empfängt, die auf mehrere dem Ereignis zugeordnete Attribute verweisen, wobei die mehreren Attribute während der Ausführung des wenigstens einen Algorithmus des maschinellen Lernens verwendet werden, um ein durch das Computersystem verwendetes Schablonenmodell zu trainieren, um die spezielle Ausgangsschablone auszuwählen.
DE102017122379.7A 2016-11-01 2017-09-27 Umsetzbare Vorschläge für Aktivitäten Pending DE102017122379A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/340,284 US10846612B2 (en) 2016-11-01 2016-11-01 Actionable suggestions for activities
US15/340,284 2016-11-01

Publications (1)

Publication Number Publication Date
DE102017122379A1 true DE102017122379A1 (de) 2018-05-03

Family

ID=60244541

Family Applications (2)

Application Number Title Priority Date Filing Date
DE202017105871.9U Active DE202017105871U1 (de) 2016-11-01 2017-09-27 Umsetzbare Vorschläge für Aktivitäten
DE102017122379.7A Pending DE102017122379A1 (de) 2016-11-01 2017-09-27 Umsetzbare Vorschläge für Aktivitäten

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE202017105871.9U Active DE202017105871U1 (de) 2016-11-01 2017-09-27 Umsetzbare Vorschläge für Aktivitäten

Country Status (4)

Country Link
US (2) US10846612B2 (de)
CN (2) CN108023927B (de)
DE (2) DE202017105871U1 (de)
GB (1) GB2556195A (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10855625B1 (en) * 2016-05-11 2020-12-01 Workato, Inc. Intelligent, adaptable, and trainable bot that orchestrates automation and workflows across multiple applications
US10846612B2 (en) 2016-11-01 2020-11-24 Google Llc Actionable suggestions for activities
US10778728B2 (en) * 2016-12-02 2020-09-15 Microsoft Technology Licensing, Llc. Cognitive resource selection
US10915881B2 (en) * 2017-01-27 2021-02-09 American Express Travel Related Services Company, Inc. Transaction account charge splitting
US20180225649A1 (en) * 2017-02-06 2018-08-09 American Express Travel Related Services Company, Inc. Charge splitting across multiple payment systems
US10716493B2 (en) * 2017-02-27 2020-07-21 New Lifeware Inc. Systems, methods, and apparatuses for peripheral arterial disease detection and mitigation thereof
US10292129B2 (en) * 2017-04-11 2019-05-14 Life360, Inc. Automatic location-based notifications for a group of users
US20190110163A1 (en) * 2017-10-11 2019-04-11 Eve Caroline Peters System and method for generating and scheduling matches and meetups based on logistical data
US11605100B1 (en) 2017-12-22 2023-03-14 Salesloft, Inc. Methods and systems for determining cadences
KR20200004716A (ko) * 2018-07-04 2020-01-14 에스케이플래닛 주식회사 차량공유서비스장치 및 그 동작 방법
US11115624B1 (en) 2019-07-22 2021-09-07 Salesloft, Inc. Methods and systems for joining a conference
US10742695B1 (en) * 2018-08-01 2020-08-11 Salesloft, Inc. Methods and systems of recording information related to an electronic conference system
US10891571B2 (en) * 2018-08-23 2021-01-12 Capital One Services, Llc Task management platform
US10942816B1 (en) * 2018-09-06 2021-03-09 NortonLifeLock Inc. Systems and methods for dynamically adjusting a backup policy
KR102319157B1 (ko) * 2019-01-21 2021-10-29 라인플러스 주식회사 메신저 내 플랫폼에 추가된 애플리케이션을 이용하여 대화방에서 정보를 공유하는 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체
US20200380560A1 (en) * 2019-05-30 2020-12-03 Ncr Corporation Automated digital advertising using behavioral intelligence
US11556546B2 (en) 2019-06-01 2023-01-17 Apple Inc. People suggester using historical interactions on a device
EP3757917A1 (de) * 2019-06-25 2020-12-30 Ricoh Company, Ltd. Informationsverarbeitungsvorrichtung, informationsverarbeitungssystem, informationsverarbeitungsverfahren und trägeranordnung
US11475084B2 (en) * 2019-06-27 2022-10-18 Microsoft Technology Licensing, Llc Machine learning driven dynamic notification content
US10791217B1 (en) 2019-09-03 2020-09-29 Salesloft, Inc. Methods and systems for placing calls
US11507863B2 (en) * 2020-05-21 2022-11-22 Apple Inc. Feature determination for machine learning to suggest applications/recipients
US11631073B2 (en) 2020-07-01 2023-04-18 Capital One Services, Llc Recommendation engine for bill splitting
JP7359101B2 (ja) 2020-08-03 2023-10-11 トヨタ自動車株式会社 サーバ装置、システム、車載装置、車両、システムの動作方法
US11586878B1 (en) 2021-12-10 2023-02-21 Salesloft, Inc. Methods and systems for cascading model architecture for providing information on reply emails
US11895164B1 (en) 2022-09-19 2024-02-06 Tmrw Foundation Ip S. À R.L. Digital automation of virtual events

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8966379B2 (en) 2010-10-01 2015-02-24 Z124 Dynamic cross-environment application configuration/orientation in an active user environment
KR20040035521A (ko) * 2002-10-22 2004-04-29 에스케이 텔레콤주식회사 이동 통신망을 이용한 친구 알림 서비스 방법 및 시스템
US7311608B1 (en) * 2003-10-31 2007-12-25 Microsoft Corporation Online game invitations using friends list
US8732161B2 (en) 2007-04-27 2014-05-20 The Regents Of The University Of California Event based organization and access of digital photos
CN101334865A (zh) 2007-06-28 2008-12-31 国际商业机器公司 工作流用户界面生成方法及生成器
US8453061B2 (en) * 2007-10-10 2013-05-28 International Business Machines Corporation Suggestion of user actions in a virtual environment based on actions of other users
US20130031475A1 (en) 2010-10-18 2013-01-31 Scene 53 Inc. Social network based virtual assembly places
US20140012918A1 (en) * 2011-03-29 2014-01-09 Nokia Corporation Method and apparatus for creating an ephemeral social network
CN102378106A (zh) * 2011-11-10 2012-03-14 北京百纳威尔科技有限公司 移动终端及其朋友提示方法、移动终端服务器
WO2013079771A1 (en) * 2011-12-02 2013-06-06 Nokia Corporation Method and apparatus for sharing a communication among wireless devices
US20130170819A1 (en) 2011-12-29 2013-07-04 United Video Properties, Inc. Systems and methods for remotely managing recording settings based on a geographical location of a user
US9253134B2 (en) 2011-12-30 2016-02-02 Google Inc. Creating real-time conversations
US8533266B2 (en) 2012-02-14 2013-09-10 Google Inc. User presence detection and event discovery
US20130218967A1 (en) * 2012-02-21 2013-08-22 Stephen Chau System for suggesting activities based on contacts
US9106710B1 (en) 2012-06-09 2015-08-11 Daniel Martin Feimster Interest-based system
US10163058B2 (en) * 2012-08-14 2018-12-25 Sri International Method, system and device for inferring a mobile user's current context and proactively providing assistance
US10402426B2 (en) * 2012-09-26 2019-09-03 Facebook, Inc. Generating event suggestions for users from social information
US9043329B1 (en) 2013-12-19 2015-05-26 Banjo, Inc. Dynamic event detection system and method
US9092211B2 (en) 2012-12-13 2015-07-28 Microsoft Technology Licensing, Llc Social-based information recommendation system
US20140250175A1 (en) * 2013-03-01 2014-09-04 Robert M. Baldwin Prompted Sharing of Photos
US9419931B2 (en) 2013-03-15 2016-08-16 Synchronoss Technologies, Inc Method of alerting a user of important events from a plurality of sources and a system thereof
CN107665447B (zh) 2013-04-01 2021-02-19 联想(北京)有限公司 信息处理方法和信息处理设备
US9456308B2 (en) 2013-05-29 2016-09-27 Globalfoundries Inc. Method and system for creating and refining rules for personalized content delivery based on users physical activities
US20150032771A1 (en) * 2013-07-25 2015-01-29 Alessandro BERIO System and method for sharing geo-localized information in a social network environment
WO2015017865A1 (en) * 2013-08-02 2015-02-05 Shoto, Inc. Discovery and sharing of photos between devices
US20150080027A1 (en) * 2013-09-19 2015-03-19 International Business Machines Corporation Method for group social suggestions based on spatial data and shared preferences
WO2015084726A1 (en) * 2013-12-02 2015-06-11 Qbase, LLC Event detection through text analysis template models
WO2015120413A1 (en) 2014-02-07 2015-08-13 Fanpics, Llc Real-time imaging systems and methods for capturing in-the-moment images of users viewing an event in a home or local environment
CN104199904B (zh) 2014-08-27 2016-08-24 腾讯科技(深圳)有限公司 一种社交信息推送方法、服务器、用户终端以及系统
US20160105526A1 (en) 2014-10-13 2016-04-14 International Business Machines Corporation Photographic Album Creation and Sharing
JP6505421B2 (ja) * 2014-11-19 2019-04-24 株式会社東芝 情報抽出支援装置、方法およびプログラム
US20160171556A1 (en) 2014-12-16 2016-06-16 Michael John Grewe Systems and methods for notifying a user of life events experienced by contacts of the user
CN104735617B (zh) 2015-03-06 2018-08-24 宇龙计算机通信科技(深圳)有限公司 终端及其位置信息的分享方法
US20160275526A1 (en) 2015-03-20 2016-09-22 Pixai US Patent Holdco, LLC Time Based Anomaly Analysis in Digital Documents
US10063510B2 (en) * 2015-03-24 2018-08-28 Facebook, Inc. Techniques to share and remix media through a messaging system
US20160294890A1 (en) * 2015-03-31 2016-10-06 Facebook, Inc. Multi-user media presentation system
US9847956B2 (en) * 2015-04-29 2017-12-19 Junglo LLC Systems and methods for managing electronic requests for photographs and multimedia content, and enabling electronic social sharing thereof
US10200824B2 (en) * 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US9818228B2 (en) * 2015-08-07 2017-11-14 Microsoft Technology Licensing, Llc Mixed reality social interaction
CN105306575B (zh) * 2015-11-06 2019-02-05 Oppo广东移动通信有限公司 社交方法、系统、移动终端及服务器
US10838502B2 (en) * 2016-03-29 2020-11-17 Microsoft Technology Licensing, Llc Sharing across environments
CN106027621A (zh) 2016-05-11 2016-10-12 深圳市创维群欣安防科技股份有限公司 一种基于地理位置信息的推送显示方法及其系统
CN105897570B (zh) * 2016-06-29 2020-06-02 北京小米移动软件有限公司 推送方法及装置
US10073826B2 (en) * 2016-06-30 2018-09-11 Microsoft Technology Licensing, Llc Providing action associated with event detected within communication
US10846612B2 (en) 2016-11-01 2020-11-24 Google Llc Actionable suggestions for activities
US10498676B2 (en) 2016-10-12 2019-12-03 Google Llc Contextual automatic grouping
WO2020056041A1 (en) * 2018-09-11 2020-03-19 Pointivo, Inc. Improvements in data acquistion, processing, and output generation for use in analysis of one or a collection of physical assets of interest

Also Published As

Publication number Publication date
US11887016B2 (en) 2024-01-30
DE202017105871U1 (de) 2018-04-13
US10846612B2 (en) 2020-11-24
GB201715671D0 (en) 2017-11-08
CN108023927A (zh) 2018-05-11
CN113271349A (zh) 2021-08-17
US20210073663A1 (en) 2021-03-11
CN108023927B (zh) 2021-05-25
GB2556195A (en) 2018-05-23
US20180121828A1 (en) 2018-05-03

Similar Documents

Publication Publication Date Title
DE102017122379A1 (de) Umsetzbare Vorschläge für Aktivitäten
US10417277B2 (en) Ranking and selecting images for display from a set of images
US11756293B2 (en) Intelligent agents for managing data associated with three-dimensional objects
US20200076756A1 (en) Sharing images and image albums over a communication network
EP3568787A1 (de) Automatisches bildteilen mit designierten benutzern über ein kommunikationsnetzwerk
US20200202634A1 (en) Intelligent management of content related to objects displayed within communication sessions
DE202017105869U1 (de) Kontextabhängige automatische Gruppierung
KR102541428B1 (ko) 콘텐츠 아이템들의 재표출을 위한 메시징 시스템
DE112021001301T5 (de) Dialogorientierte-ki-plattform mit gerenderter graphischer ausgabe
DE102020119588A1 (de) Erzeugen von individualisierten, personalisierten reaktionen auf social-media-inhalt
US20220345537A1 (en) Systems and Methods for Providing User Experiences on AR/VR Systems
DE102022100521A1 (de) Automatische inhaltserkennung und information im livestreaming geeignet für videospiele
EP4147425A1 (de) Nachrichtenübermittlungssystem mit einem karussell verwandter entitäten
CN114896498A (zh) 课程推荐方法、系统、终端及存储介质
DE102022100815A1 (de) Lautstärkensteuerung für audio- und videokonferenzanwendungen
CN108510246A (zh) 一种信息反馈方法及装置
Louie et al. Opportunistic Collective Experiences: Identifying Shared Situations and Structuring Shared Activities at Distance
US10349135B2 (en) Method and program product for automatic human identification and censorship of submitted media
Lanson The Routledge Companion to Mobile Media Art
Copestake Whither development studies? Reflections on its relationship with social policy
CN108510247A (zh) 一种信息反馈方法及装置
CN108460581A (zh) 一种信息反馈方法及装置
US11949727B2 (en) Organic conversations in a virtual group setting
US20230251767A1 (en) Messaging system for resurfacing content items
DE112021005236T5 (de) Ortsgeführtes scanning von visuellen codes

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R081 Change of applicant/patentee

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

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