DE102017122376A1 - Kontextabhängige automatische Gruppierung - Google Patents

Kontextabhängige automatische Gruppierung Download PDF

Info

Publication number
DE102017122376A1
DE102017122376A1 DE102017122376.2A DE102017122376A DE102017122376A1 DE 102017122376 A1 DE102017122376 A1 DE 102017122376A1 DE 102017122376 A DE102017122376 A DE 102017122376A DE 102017122376 A1 DE102017122376 A1 DE 102017122376A1
Authority
DE
Germany
Prior art keywords
user
users
data
current context
common event
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
DE102017122376.2A
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 DE102017122376A1 publication Critical patent/DE102017122376A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/10Multimedia information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • 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
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • 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
    • 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
    • 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
    • G06Q10/1095Meeting or appointment
    • 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
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • 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/535Tracking the activity of the user
    • 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/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users

Abstract

Es werden Verfahren, Systeme und Vorrichtungen einschließlich Computerprogrammen, die in einem Computerspeichermedium codiert sind, zum Ausführen einer Ereignisdetektion offenbart. In einem Aspekt enthält ein Verfahren ein Computersystem, das von einer ersten Computervorrichtung, die einem ersten Anwender zugeordnet ist, Daten empfängt, die einen aktuellen Kontext des ersten Anwenders angeben. Das Verfahren enthält das Identifizieren einer Teilmenge der Anwender, die dem ersten Anwender zugeordnet ist, basierend auf dem aktuellen Kontext des ersten Anwenders und das Empfangen von Daten, die einen aktuellen Kontext des wenigstens einen anderen Anwenders angeben. Das Verfahren vergleicht den aktuellen Kontext des ersten Anwenders mit dem aktuellen Kontext des wenigstens einen anderen Anwenders und bestimmt, dass ein gemeinsames Ereignis gegenwärtig stattfindet oder stattgefunden hat. Das gemeinsame Ereignis kann ein Ereignis sein, das dem ersten Anwender und dem wenigstens einen anderen Anwender der Teilmenge der Anwender zugeordnet ist. Das Verfahren gibt dann wenigstens dem ersten Anwender an, dass das gemeinsame Ereignis gegenwärtig stattfindet oder stattgefunden hat.

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.
  • ZUSAMMENFASSUNG
  • Es wird ein Computersystem beschrieben, das automatisch detektiert, dass 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. Die Teilnahme an oder die Zuordnung zu dem Ereignis kann unter wenigstens zwei Anwendern der Gruppe geteilt werden. Die Detektion des Ereignisses kann z. B. enthalten, dass das Computersystem Datensignale analysiert, die durch die Vorrichtungen bereitgestellt werden, die den Anwendern zugeordnet sind, um zu bestimmen, dass wenigstens zwei Anwender in der Gruppe eine Verbindung aufweisen, die dem Auftreten des Ereignisses vorangeht. Die Werte der Datensignale können angeben, dass die wenigstens zwei Anwender an demselben gemeinsamen Ereignis teilnehmen oder wenigstens demselben gemeinsamen Ereignis zugeordnet sind.
  • In einem innovativen Aspekt der Beschreibung wird ein computerimplementiertes Verfahren beschrieben, das das Empfangen durch ein Computersystem und von einer ersten Computervorrichtung, die einem ersten Anwender zugeordnet ist, von Daten, die einen aktuellen Kontext des ersten Anwenders angeben, und das Identifizieren durch das Computersystem und aus einer Menge der Anwender einer Teilmenge der Anwender, die dem ersten Anwender zugeordnet ist, basierend auf dem aktuellen Kontext des ersten Anwenders enthält. Das Verfahren enthält das Empfangen durch das Computersystem und von einer zweiten Computervorrichtung, die wenigstens einem anderen Anwender der Teilmenge der Anwender zugeordnet ist, von Daten, die einen aktuellen Kontext des wenigstens einen anderen Anwenders angeben, und das Vergleichen durch das Computersystem des aktuellen Kontexts des ersten Anwenders mit dem aktuellen Kontext des wenigstens einen anderen Anwenders. Das Verfahren enthält ferner das Bestimmen durch das Computersystem und basierend auf dem Vergleichen, dass ein gemeinsames Ereignis gegenwärtig stattfindet oder stattgefunden hat, wobei das gemeinsame Ereignis ein Ereignis ist, das dem ersten Anwender und dem wenigstens einen anderen Anwender der Teilmenge der Anwender zugeordnet ist. Das Verfahren enthält noch weiter das Angeben durch das Computersystem und wenigstens dem ersten Anwender, dass das gemeinsame Ereignis gegenwärtig stattfindet oder stattgefunden hat.
  • In einigen Implementierungen enthält das Identifizieren der Teilmenge der Anwender das Bestimmen durch das Computersystem, dass ein Anwender der Teilmenge der Anwender eine Verbindung mit dem ersten Anwender aufweist. In einem Aspekt dieser Implementierung gibt die Verbindung an, dass der Anwender mit dem ersten Anwender korrespondiert hat und/oder ein Kontakt in einer Vorrichtung des ersten Anwenders ist und/oder einem sozialen Netz des ersten Anwenders zugeordnet ist. In einigen Implementierungen enthält das Vergleichen des aktuellen Kontexts des ersten Anwenders mit dem aktuellen Kontext des wenigstens einen anderen Anwenders das Empfangen durch das Computersystem eines ersten Satzes von Datensignalen von dem ersten Anwender und eines zweiten Satzes von Datensignalen von dem wenigstens einen anderen Anwender; und das Detektieren durch das Computersystem einer Überlappung eines Wertes, der dem ersten Satz von Datensignalen zugeordnet ist, und eines Wertes, der dem zweiten Satz von Datensignalen zugeordnet ist, wobei die Überlappung eine Wahrscheinlichkeit eines Auftretens des gemeinsamen Ereignisses angibt.
  • In einem Aspekt dieser Implementierung enthalten sowohl der erste Satz von Datensignalen als auch der zweite Satz von Datensignalen Datensignale, die Ortsdaten und/oder Umgebungsgeräuschpegeldaten und/oder Daten digitaler Baken und/oder digitalen Bilddaten und/oder Internetaktivitätsdaten und/oder Daten digitaler Kommunikationen entsprechen. In einem weiteren Aspekt enthält das Bestimmen, ob das gemeinsame Ereignis gegenwärtig stattfindet oder stattgefunden hat, das Detektieren, dass die Wahrscheinlichkeit des Auftretens des gemeinsamen Ereignisses eine Schwellenwahrscheinlichkeit überschritten hat. In einem noch weiteren Aspekt geschieht das Angeben durch das Computersystem und wenigstens dem ersten Anwender, dass das gemeinsame Ereignis gegenwärtig stattfindet oder stattgefunden hat, in Reaktion darauf, dass das Computersystem detektiert, dass die Wahrscheinlichkeit des Auftretens des gemeinsamen Ereignisses die Schwellenwahrscheinlichkeit überschritten hat. In einer weiteren Implementierung ist das gemeinsame Ereignis einem physischen Ort zugeordnet und/oder einer virtuellen Computerumgebung zugeordnet.
  • 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 durch das elektronische System und von einer ersten Computervorrichtung, die einem ersten Anwender zugeordnet ist, von Daten, die einen aktuellen Kontext des ersten Anwenders angeben, enthalten. Die Operationen enthalten außerdem das Identifizieren durch das elektronische System und von einer Menge der Anwender einer Teilmenge der Anwender, die dem ersten Anwender zugeordnet ist, basierend auf dem aktuellen Kontext des ersten Anwenders und das Empfangen durch das elektronische System und von einer zweiten Computervorrichtung, die wenigstens einem anderen Anwender der Teilmenge der Anwender zugeordnet ist, von Daten, die einen aktuellen Kontext des wenigstens einen anderen Anwenders angeben.
  • Die Operationen enthalten ferner das Vergleichen durch das elektronische System des aktuellen Kontexts des ersten Anwenders mit dem aktuellen Kontext des wenigstens einen anderen Anwenders und das Bestimmen durch das elektronische System und basierend auf dem Vergleichen, dass ein gemeinsames Ereignis gegenwärtig stattfindet oder stattgefunden hat, wobei das gemeinsame Ereignis ein Ereignis ist, das dem ersten Anwender und dem wenigstens einen anderen Anwender der Teilmenge der Anwender zugeordnet ist. Die Operationen enthalten noch weiter das Angeben durch das elektronische System und wenigstens dem ersten Anwender, dass das gemeinsame Ereignis gegenwärtig stattfindet oder stattgefunden hat.
  • In einigen Implementierungen enthält das Identifizieren der Teilmenge der Anwender das Bestimmen durch das elektronische System, dass ein Anwender der Teilmenge der Anwender eine Verbindung mit dem ersten Anwender aufweist, wobei die Verbindung angibt, dass der Anwender mit dem ersten Anwender korrespondiert hat und/oder ein Kontakt in einer Vorrichtung des ersten Anwenders ist und/oder einem sozialen Netz des ersten Anwenders zugeordnet und/oder in einem sozialen Netz des ersten Anwenders verbunden ist. In einigen Implementierungen enthält das Vergleichen des aktuellen Kontexts des ersten Anwenders mit dem aktuellen Kontext des wenigstens einen anderen Anwenders das Empfangen durch das elektronische System eines ersten Satzes von Datensignalen von dem ersten Anwender und eines zweiten Satzes von Datensignalen von dem wenigstens einen anderen Anwender; und das Detektieren durch das elektronische System einer Überlappung eines Wertes, der dem ersten Satz von Datensignalen zugeordnet ist, und eines Wertes, der dem zweiten Satz von Datensignalen zugeordnet ist, wobei die Überlappung eine Wahrscheinlichkeit eines Auftretens des gemeinsamen Ereignisses angibt.
  • In einem Aspekt dieser Implementierung enthalten sowohl der erste Satz von Datensignalen als auch der zweite Satz von Datensignalen Datensignale, die Ortsdaten und/oder Umgebungsgeräuschpegeldaten und/oder Daten digitaler Baken und/oder digitalen Bilddaten und/oder Internetaktivitätsdaten und/oder Daten digitaler Kommunikationen entsprechen. In einem weiteren Aspekt enthält das Bestimmen, ob das gemeinsame Ereignis gegenwärtig stattfindet oder stattgefunden hat, das Detektieren, dass die Wahrscheinlichkeit des Auftretens des gemeinsamen Ereignisses eine Schwellenwahrscheinlichkeit überschritten hat. In einem noch weiteren Aspekt geschieht das Angeben durch das elektronische System und wenigstens dem ersten Anwender, dass das gemeinsame Ereignis gegenwärtig stattfindet oder stattgefunden hat, in Reaktion darauf, dass das elektronische System detektiert, dass die Wahrscheinlichkeit des Auftretens des gemeinsamen Ereignisses die Schwellenwahrscheinlichkeit überschritten hat.
  • In einem noch weiteren innovativen Aspekt beschreibt die Beschreibung eine oder mehrere maschinenlesbare Speichervorrichtungen, die Anweisungen speichern, die durch eine oder mehrere Verarbeitungsvorrichtungen ausführbar sind, um Operationen auszuführen, die das Empfangen durch ein Computersystem und von einer ersten Computervorrichtung, die einem ersten Anwender zugeordnet ist, von Daten, die einen aktuellen Kontext des ersten Anwenders angeben, und das Identifizieren durch das Computersystem und aus der Menge der Anwender einer Teilmenge der Anwender, die dem ersten Anwender zugeordnet ist, basierend auf dem aktuellen Kontext des ersten Anwenders enthalten. Die Operationen enthalten außerdem das Empfangen durch das Computersystem und von einer zweiten Computervorrichtung, die wenigstens einem anderen Anwender der Teilmenge der Anwender zugeordnet ist, von Daten, die einen aktuellen Kontext des wenigstens einen anderen Anwenders angeben, und das Vergleichen durch das Computersystem des aktuellen Kontexts des ersten Anwenders mit dem aktuellen Kontext des wenigstens einen anderen Anwenders. Die Operationen enthalten ferner das Bestimmen durch das Computersystem und basierend auf dem Vergleichen, dass ein gemeinsames Ereignis gegenwärtig stattfindet oder stattgefunden hat, wobei das gemeinsame Ereignis ein Ereignis ist, das dem ersten Anwender und dem wenigstens einen anderen Anwender der Teilmenge der Anwender zugeordnet ist, und das Angeben durch das Computersystem und wenigstens dem ersten Anwender, dass das gemeinsame Ereignis gegenwärtig stattfindet oder stattgefunden hat.
  • In einigen Implementierungen enthält das Identifizieren der Teilmenge der Anwender das Bestimmen durch das Computersystem, dass ein Anwender der Teilmenge der Anwender eine Verbindung mit dem ersten Anwender aufweist, wobei die Verbindung angibt, dass der Anwender mit dem ersten Anwender korrespondiert hat und/oder ein Kontakt in einer Vorrichtung des ersten Anwenders ist und/oder einem sozialen Netz des ersten Anwenders zugeordnet ist. In einigen Implementierungen enthält das Vergleichen des aktuellen Kontexts des ersten Anwenders mit dem aktuellen Kontext des wenigstens einen anderen Anwenders das Empfangen durch das Computersystem eines ersten Satzes von Datensignalen von dem ersten Anwender und eines zweiten Satzes von Datensignalen von dem wenigstens einen anderen Anwender; und das Detektieren durch das Computersystem einer Überlappung eines Wertes, der dem ersten Satz von Datensignalen zugeordnet ist, und eines Wertes, der dem zweiten Satz von Datensignalen zugeordnet ist, wobei die Überlappung eine Wahrscheinlichkeit eines Auftretens des gemeinsamen Ereignisses angibt.
  • In einem Aspekt dieser Implementierung enthalten sowohl der erste Satz von Datensignalen als auch der zweite Satz von Datensignalen Datensignale, die Ortsdaten und/oder Umgebungsgeräuschpegeldaten und/oder Daten digitaler Baken und/oder digitalen Bilddaten und/oder Internetaktivitätsdaten und/oder Daten digitaler Kommunikationen entsprechen. In einem weiteren Aspekt enthält das Bestimmen, ob ein gemeinsames Ereignis gegenwärtig stattfindet oder stattgefunden hat, das Detektieren, dass die Wahrscheinlichkeit des Auftretens des gemeinsamen Ereignisses eine Schwellenwahrscheinlichkeit überschritten hat. In einem noch weiteren Aspekt geschieht das Angeben durch das Computersystem und wenigstens dem ersten Anwender, dass das gemeinsame Ereignis gegenwärtig stattfindet oder stattgefunden hat, in Reaktion darauf, dass das Computersystem detektiert, dass die Wahrscheinlichkeit des Auftretens des gemeinsamen Ereignisses die Schwellenwahrscheinlichkeit überschritten hat.
  • Der in dieser Beschreibung beschriebene Gegenstand kann in speziellen Ausführungsformen implementiert sein und kann zu einem oder mehreren der folgenden Vorteile führen. Das Computersystem dieser Beschreibung beseitigt die Notwendigkeit, ein explizites Ereignis zu definieren, wobei es stattdessen die Datensignale automatisch analysiert, um das Auftreten eines gemeinsamen Ereignisses zu detektieren. Indem eine Vielzahl expliziter Ereignisse 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 Ereignisdefinitionen verbessert. Die gemeinsamen Verbindungen zwischen den Anwendern werden z. B. basierend auf vorher vorhandenen Datenkommunikationen und Zugehörigkeiten zu sozialen Netzen effizient bestimmt. Die Datensignalanalyse der Anwendervorrichtungen, die keiner Teilmenge der Anwender zugeordnet sind, wird vermieden, wobei dadurch eine erweiterte Systembandbreite für andere Berechnungen und Systemübertragungen geschaffen wird.
  • Die 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.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 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 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
  • 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. nichttransitorische, 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 Ausführungsformen 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+TM, 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. GmailTM und Google ChatTM, 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. Entsprechend 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.
  • 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 nichttransitorischen 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.
  • 4 ist ein Blockschaltplan der Computervorrichtungen 400, 450, 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 400 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 450 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 400 enthält einen Prozessor 402, einen Speicher 404, eine Speichervorrichtung 406, eine Hochgeschwindigkeitsschnittstelle 408, die den Speicher 404 und die Hochgeschwindigkeits-Erweiterungsanschlüsse 410 verbindet, und eine Schnittstelle 412 mit geringer Geschwindigkeit, die einen Bus 414 mit geringer Geschwindigkeit und die Speichervorrichtung 406 verbindet. Alle Komponenten 402, 404, 406, 408, 410 und 412 sind durch verschiedene Busse miteinander verbunden und können gegebenenfalls auf einer gemeinsamen Hauptplatine oder in anderen Weisen angebracht sein. Der Prozessor 402 kann die Anweisungen für die Ausführung innerhalb der Computervorrichtung 400 einschließlich der im Speicher 404 oder in der Speichervorrichtung 406 gespeicherten Anweisungen verarbeiten, um die graphischen Informationen für eine GUI auf einer äußeren Eingabe-/Ausgabevorrichtung, wie z. B. einer Anzeige 416, die an die Hochgeschwindigkeitsschnittstelle 408 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 600 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 404 speichert Informationen innerhalb der Computervorrichtung 400. In einer Implementierung ist der Speicher 404 ein computerlesbares Medium. In einer Implementierung ist der Speicher 404 eine flüchtige Speichereinheit oder flüchtige Speichereinheiten. In einer weiteren Implementierung ist der Speicher 404 eine nichtflüchtige Speichereinheit oder nichtflüchtige Speichereinheiten.
  • Die Speichervorrichtung 406 kann einen Massenspeicher für die Computervorrichtung 400 bereitstellen. In einer Implementierung ist die Speichervorrichtung 406 ein computerlesbares Medium. In verschiedenen unterschiedlichen Implementierungen kann die Speichervorrichtung 406 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 404, die Speichervorrichtung 406 oder der Speicher im Prozessor 402.
  • Der Hochgeschwindigkeits-Controller 408 managt die bandbreitenintensiven Operationen für die Computervorrichtung 400, während der Controller 412 mit geringer Geschwindigkeit die weniger bandbreitenintensiven Operationen managt. Eine derartige Zuweisung der Pflichten ist lediglich beispielhaft. In einer Implementierung ist der Hochgeschwindigkeits-Controller 408 an den Speicher 404, die Anzeige 416 (z. B. durch einen Graphikprozessor oder -beschleuniger) und an die Hochgeschwindigkeits-Erweiterungsanschlüsse 410, die verschiedene (nicht gezeigte) Erweiterungskarten akzeptieren können, gekoppelt. In der Implementierung ist der Controller 412 mit geringer Geschwindigkeit an die Speichervorrichtung 406 und an den Erweiterungsanschluss 414 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 400 kann in einer Anzahl verschiedener Formen implementiert sein, wie in der Figur gezeigt ist. Sie kann z. B. als ein Standard-Server 420 oder mehrmals in einer Gruppe derartiger Server implementiert sein. Sie kann außerdem als ein Teil eines Rack-Server-Systems 424 implementiert sein. Zusätzlich kann sie in einem Personalcomputer, wie z. B. einem Laptop-Computer 422, implementiert sein. Alternativ können die Komponenten von der Computervorrichtung 400 mit anderen Komponenten in einer (nicht gezeigten) Mobilvorrichtung, wie z. B. der Vorrichtung 450, kombiniert sein. Jede der derartigen Vorrichtungen kann eine oder mehrere Computervorrichtungen 400, 450 enthalten, wobei ein Gesamtsystem aus mehreren Computervorrichtungen 400, 450 gebildet sein kann, die miteinander kommunizieren.
  • Die Computervorrichtung 450 enthält unter anderen Komponenten einen Prozessor 452, einen Speicher 464, eine Eingabe-/Ausgabevorrichtung, wie z. B. eine Anzeige 454, eine Kommunikationsschnittstelle 466 und einen Sender/Empfänger 468. Die Vorrichtung 450 kann mit einer Speichervorrichtung, wie z. B. einem Mikrolaufwerk oder einer anderen Vorrichtung, versehen sein, um einen zusätzlichen Speicher zu schaffen. Alle Komponenten 450, 452, 464, 454, 466 und 468 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 452 kann die Anweisungen für die Ausführung innerhalb der Computervorrichtung 450 einschließlich der im Speicher 464 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 450, wie z. B. die Steuerung der Anwenderschnittstellen, der durch die Vorrichtung 450 ausgeführten Anwendungen und der drahtlosen Kommunikation durch die Vorrichtung 450, sorgen.
  • Der Prozessor 452 kann mit einem Anwender durch eine Steuerschnittstelle 458 und eine Anzeigeschnittstelle 456, die an eine Anzeige 454 gekoppelt ist, kommunizieren. Die Anzeige 454 kann z. B. eine TFT-LCD-Anzeige oder eine OLED-Anzeige oder eine andere geeignete Anzeigetechnik sein. Die Anzeigeschnittstelle 456 kann eine geeignete Schaltungsanordnung zum Ansteuern der Anzeige 454 enthalten, um einem Anwender graphische und andere Informationen darzustellen. Die Steuerschnittstelle 458 kann Befehle von einem Anwender empfangen und sie für die Einreichung bei dem Prozessor 452 umsetzen. Zusätzlich kann eine externe Schnittstelle 462 in Verbindung mit dem Prozessor 452 vorgesehen sein, um eine Nahbereichskommunikation der Vorrichtung 450 mit anderen Vorrichtungen zu ermöglichen. Die äußere Schnittstelle 462 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 464 speichert Informationen innerhalb der Computervorrichtung 450. In einer Implementierung ist der Speicher 464 ein computerlesbares Medium. In einer Implementierung ist der Speicher 464 eine flüchtige Speichereinheit oder flüchtige Speichereinheiten. In einer weiteren Implementierung ist der Speicher 464 eine nichtflüchtige Speichereinheit oder nichtflüchtige Speichereinheiten. Es kann außerdem ein Erweiterungsspeicher 474 vorgesehen und durch die Erweiterungsschnittstelle 472, die z. B. eine SIMM-Karten-Schnittstelle enthalten kann, mit der Vorrichtung 450 verbunden sein. Ein derartiger Erweiterungsspeicher 474 kann einen zusätzlichen Speicherraum für die Vorrichtung 450 schaffen oder kann außerdem Anwendungen oder andere Informationen für die Vorrichtung 450 speichern. Spezifisch kann der Erweiterungsspeicher 474 Anweisungen enthalten, um die oben beschriebenen Prozesse auszuführen oder zu ergänzen, wobei er außerdem gesicherte Informationen enthalten kann. Der Erweiterungsspeicher 474 kann folglich z. B. als ein Sicherheitsmodul für die Vorrichtung 450 vorgesehen sein und kann mit Anweisungen programmiert sein, die die sichere Verwendung der Vorrichtung 450 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 464, der Erweiterungsspeicher 474 oder der Speicher im Prozessor 452.
  • Die Vorrichtung 450 kann durch die Kommunikationsschnittstelle 466, die eine digitale Signalverarbeitungsschaltungsanordnung enthalten kann, wo es notwendig ist, drahtlos kommunizieren. Die Kommunikationsschnittstelle 466 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 468 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 470 zusätzliche drahtlose Daten der Vorrichtung 450 bereitstellen, die gegebenenfalls durch die in der Vorrichtung 450 ablaufenden Anwendungen verwendet werden können.
  • Die Vorrichtung 450 kann außerdem hörbar unter Verwendung eines Audio-Codecs 460, der von einem Anwender gesprochene Informationen empfangen und sie in nutzbare digitale Informationen umsetzen kann, kommunizieren. Der Audio-Codec 460 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 450, 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 450 arbeitenden Anwendungen erzeugten Ton enthalten.
  • Die Computervorrichtung 450 kann in einer Anzahl verschiedener Formen implementiert sein, wie in der Figur gezeigt ist. Sie kann z. B. als ein Mobiltelephon 480 implementiert sein. Sie kann außerdem als ein Teil eines Smartphones 482, 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.

Claims (20)

  1. Computerimplementiertes Verfahren, das umfasst: Empfangen durch ein Computersystem und von einer ersten Computervorrichtung, die einem ersten Anwender zugeordnet ist, von Daten, die einen aktuellen Kontext des ersten Anwenders angeben; Identifizieren durch das Computersystem und aus einer Menge der Anwender einer Teilmenge der Anwender, die dem ersten Anwender zugeordnet ist, basierend auf dem aktuellen Kontext des ersten Anwenders; Empfangen durch das Computersystem und von einer zweiten Computervorrichtung, die wenigstens einem anderen Anwender der Teilmenge der Anwender zugeordnet ist, von Daten, die einen aktuellen Kontext des wenigstens einen anderen Anwenders angeben; Vergleichen durch das Computersystem des aktuellen Kontexts des ersten Anwenders mit dem aktuellen Kontext des wenigstens einen anderen Anwenders; Bestimmen durch das Computersystem und basierend auf dem Vergleichen, dass ein gemeinsames Ereignis gegenwärtig stattfindet oder stattgefunden hat, wobei das gemeinsame Ereignis ein Ereignis ist, das dem ersten Anwender und dem wenigstens einen anderen Anwender der Teilmenge der Anwender zugeordnet ist; und Angeben durch das Computersystem und wenigstens dem ersten Anwender, dass das gemeinsame Ereignis gegenwärtig stattfindet oder stattgefunden hat.
  2. Verfahren nach Anspruch 1, wobei das Identifizieren der Teilmenge der Anwender enthält: Bestimmen durch das Computersystem, dass ein Anwender der Teilmenge der Anwender eine Verbindung mit dem ersten Anwender aufweist.
  3. Verfahren nach Anspruch 2, wobei die Verbindung angibt, dass der Anwender mit dem ersten Anwender korrespondiert hat und/oder ein Kontakt in einer Vorrichtung des ersten Anwenders ist und/oder einem sozialen Netz des ersten Anwenders zugeordnet und/oder in einem sozialen Netz des ersten Anwenders verbunden ist.
  4. Verfahren nach einem der Ansprüche 1–4, wobei das Vergleichen des aktuellen Kontexts des ersten Anwenders mit dem aktuellen Kontext des wenigstens einen anderen Anwenders umfasst: Empfangen durch das Computersystem eines ersten Satzes von Datensignalen von dem ersten Anwender und eines zweiten Satzes von Datensignalen von dem wenigstens einen anderen Anwender; und Detektieren durch das Computersystem einer Überlappung eines Wertes, der dem ersten Satz von Datensignalen zugeordnet ist, und eines Wertes, der dem zweiten Satz von Datensignalen zugeordnet ist, wobei die Überlappung eine Wahrscheinlichkeit eines Auftretens des gemeinsamen Ereignisses angibt.
  5. Verfahren nach Anspruch 4, wobei sowohl der erste Satz von Datensignalen als auch der zweite Satz von Datensignalen Datensignale enthalten, die Ortsdaten und/oder Umgebungsgeräuschpegeldaten und/oder Daten digitaler Baken und/oder digitalen Bilddaten und/oder Internetaktivitätsdaten und/oder Daten digitaler Kommunikationen entsprechen.
  6. Verfahren nach Anspruch 4 oder 5, wobei das Bestimmen, ob das gemeinsame Ereignis gegenwärtig stattfindet oder stattgefunden hat, das Detektieren umfasst, dass die Wahrscheinlichkeit des Auftretens des gemeinsamen Ereignisses eine Schwellenwahrscheinlichkeit überschritten hat.
  7. Verfahren nach Anspruch 6, wobei das Angeben durch das Computersystem und wenigstens dem ersten Anwender, dass das gemeinsame Ereignis gegenwärtig stattfindet oder stattgefunden hat, in Reaktion darauf geschieht, dass das Computersystem detektiert, dass die Wahrscheinlichkeit des Auftretens des gemeinsamen Ereignisses die Schwellenwahrscheinlichkeit überschritten hat.
  8. Verfahren nach einem der Ansprüche 1–7, wobei das gemeinsame Ereignis einem physischen Ort zugeordnet ist und/oder einer virtuellen Computerumgebung zugeordnet ist.
  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 durch das elektronische System und von einer ersten Computervorrichtung, die einem ersten Anwender zugeordnet ist, von Daten, die einen aktuellen Kontext des ersten Anwenders angeben; Identifizieren durch das elektronische System und von einer Menge der Anwender einer Teilmenge der Anwender, die dem ersten Anwender zugeordnet ist, basierend auf dem aktuellen Kontext des ersten Anwenders; Empfangen durch das elektronische System und von einer zweiten Computervorrichtung, die wenigstens einem anderen Anwender der Teilmenge der Anwender zugeordnet ist, von Daten, die einen aktuellen Kontext des wenigstens einen anderen Anwenders angeben; Vergleichen durch das elektronische System des aktuellen Kontexts des ersten Anwenders mit dem aktuellen Kontext des wenigstens einen anderen Anwenders; Bestimmen durch das elektronische System und basierend auf dem Vergleichen, dass ein gemeinsames Ereignis gegenwärtig stattfindet oder stattgefunden hat, wobei das gemeinsame Ereignis ein Ereignis ist, das dem ersten Anwender und dem wenigstens einen anderen Anwender der Teilmenge der Anwender zugeordnet ist; und Angeben durch das elektronische System und wenigstens dem ersten Anwender, dass das gemeinsame Ereignis gegenwärtig stattfindet oder stattgefunden hat.
  10. Elektronisches System nach Anspruch 9, wobei das Identifizieren der Teilmenge der Anwender enthält: Bestimmen durch das elektronische System, dass ein Anwender der Teilmenge der Anwender eine Verbindung mit dem ersten Anwender aufweist, wobei die Verbindung angibt, dass der Anwender mit dem ersten Anwender korrespondiert hat und/oder ein Kontakt in einer Vorrichtung des ersten Anwenders ist und/oder einem sozialen Netz des ersten Anwenders zugeordnet und/oder in einem sozialen Netz des ersten Anwenders verbunden ist.
  11. Elektronisches System nach Anspruch 9 oder 10, wobei das Vergleichen des aktuellen Kontexts des ersten Anwenders mit dem aktuellen Kontext des wenigstens einen anderen Anwenders umfasst: Empfangen durch das elektronische System eines ersten Satzes von Datensignalen von dem ersten Anwender und eines zweiten Satzes von Datensignalen von dem wenigstens einen anderen Anwender; und Detektieren durch das elektronische System einer Überlappung eines Wertes, der dem ersten Satz von Datensignalen zugeordnet ist, und eines Wertes, der dem zweiten Satz von Datensignalen zugeordnet ist, wobei die Überlappung eine Wahrscheinlichkeit eines Auftretens des gemeinsamen Ereignisses angibt.
  12. Elektronisches System nach Anspruch 11, wobei sowohl der erste Satz von Datensignalen als auch der zweite Satz von Datensignalen Datensignale enthalten, die Ortsdaten und/oder Umgebungsgeräuschpegeldaten und/oder Daten digitaler Baken und/oder digitalen Bilddaten und/oder Internetaktivitätsdaten und/oder Daten digitaler Kommunikationen entsprechen.
  13. Elektronisches System nach Anspruch 11 oder 12, wobei das Bestimmen, ob das gemeinsame Ereignis gegenwärtig stattfindet oder stattgefunden hat, das Detektieren umfasst, dass die Wahrscheinlichkeit des Auftretens des gemeinsamen Ereignisses eine Schwellenwahrscheinlichkeit überschritten hat.
  14. Elektronisches System nach Anspruch 13, wobei das Angeben durch das elektronische System und wenigstens dem ersten Anwender, dass das gemeinsame Ereignis gegenwärtig stattfindet oder stattgefunden hat, in Reaktion darauf geschieht, dass das elektronische System detektiert, dass die Wahrscheinlichkeit des Auftretens des gemeinsamen Ereignisses die Schwellenwahrscheinlichkeit überschritten hat.
  15. Eine oder mehrere maschinenlesbare Speichervorrichtungen, die Anweisungen speichern, die durch eine oder mehrere Verarbeitungsvorrichtungen ausführbar sind, um Operationen auszuführen, die umfassen: Empfangen durch ein Computersystem und von einer ersten Computervorrichtung, die einem ersten Anwender zugeordnet ist, von Daten, die einen aktuellen Kontext des ersten Anwenders angeben; Identifizieren durch das Computersystem und aus der Menge der Anwender einer Teilmenge der Anwender, die dem ersten Anwender zugeordnet ist, basierend auf dem aktuellen Kontext des ersten Anwenders; Empfangen durch das Computersystem und von einer zweiten Computervorrichtung, die wenigstens einem anderen Anwender der Teilmenge der Anwender zugeordnet ist, von Daten, die einen aktuellen Kontext des wenigstens einen anderen Anwenders angeben; Vergleichen durch das Computersystem des aktuellen Kontexts des ersten Anwenders mit dem aktuellen Kontext des wenigstens einen anderen Anwenders; Bestimmen durch das Computersystem und basierend auf dem Vergleichen, dass ein gemeinsames Ereignis gegenwärtig stattfindet oder stattgefunden hat, wobei das gemeinsame Ereignis ein Ereignis ist, das dem ersten Anwender und dem wenigstens einen anderen Anwender der Teilmenge der Anwender zugeordnet ist; und Angeben durch das Computersystem und wenigstens dem ersten Anwender, dass das gemeinsame Ereignis gegenwärtig stattfindet oder stattgefunden hat.
  16. Maschinenlesbare Speichervorrichtungen nach Anspruch 15, wobei das Identifizieren der Teilmenge der Anwender enthält: Bestimmen durch das Computersystem, dass ein Anwender der Teilmenge der Anwender eine Verbindung mit dem ersten Anwender aufweist, wobei die Verbindung angibt, dass der Anwender mit dem ersten Anwender korrespondiert hat und/oder ein Kontakt in einer Vorrichtung des ersten Anwenders ist und/oder einem sozialen Netz des ersten Anwenders zugeordnet und/oder in einem sozialen Netz des ersten Anwenders verbunden ist.
  17. Maschinenlesbare Speichervorrichtungen nach Anspruch 15 oder 16, wobei das Vergleichen des aktuellen Kontexts des ersten Anwenders mit dem aktuellen Kontext des wenigstens einen anderen Anwenders umfasst: Empfangen durch das Computersystem eines ersten Satzes von Datensignalen von dem ersten Anwender und eines zweiten Satzes von Datensignalen von dem wenigstens einen anderen Anwender; und Detektieren durch das Computersystem einer Überlappung eines Wertes, der dem ersten Satz von Datensignalen zugeordnet ist, und eines Wertes, der dem zweiten Satz von Datensignalen zugeordnet ist, wobei die Überlappung eine Wahrscheinlichkeit eines Auftretens des gemeinsamen Ereignisses angibt.
  18. Maschinenlesbare Speichervorrichtungen nach Anspruch 17, wobei sowohl der erste Satz von Datensignalen als auch der zweite Satz von Datensignalen Datensignale enthalten, die Ortsdaten und/oder Umgebungsgeräuschpegeldaten und/oder Daten digitaler Baken und/oder digitalen Bilddaten und/oder Internetaktivitätsdaten und/oder Daten digitaler Kommunikationen entsprechen.
  19. Maschinenlesbare Speichervorrichtungen nach Anspruch 17 oder 18, wobei das Bestimmen, ob ein gemeinsames Ereignis gegenwärtig stattfindet oder stattgefunden hat, das Detektieren umfasst, dass die Wahrscheinlichkeit des Auftretens des gemeinsamen Ereignisses eine Schwellenwahrscheinlichkeit überschritten hat.
  20. Maschinenlesbare Speichervorrichtungen nach Anspruch 19, wobei das Angeben durch das Computersystem und wenigstens dem ersten Anwender, dass das gemeinsame Ereignis gegenwärtig stattfindet oder stattgefunden hat, in Reaktion darauf geschieht, dass das Computersystem detektiert, dass die Wahrscheinlichkeit des Auftretens des gemeinsamen Ereignisses die Schwellenwahrscheinlichkeit überschritten hat.
DE102017122376.2A 2016-10-12 2017-09-27 Kontextabhängige automatische Gruppierung Pending DE102017122376A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/291,152 2016-10-12
US15/291,152 US10498676B2 (en) 2016-10-12 2016-10-12 Contextual automatic grouping

Publications (1)

Publication Number Publication Date
DE102017122376A1 true DE102017122376A1 (de) 2018-04-12

Family

ID=60244445

Family Applications (2)

Application Number Title Priority Date Filing Date
DE102017122376.2A Pending DE102017122376A1 (de) 2016-10-12 2017-09-27 Kontextabhängige automatische Gruppierung
DE202017105869.7U Active DE202017105869U1 (de) 2016-10-12 2017-09-27 Kontextabhängige automatische Gruppierung

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE202017105869.7U Active DE202017105869U1 (de) 2016-10-12 2017-09-27 Kontextabhängige automatische Gruppierung

Country Status (4)

Country Link
US (1) US10498676B2 (de)
CN (1) CN107943595B (de)
DE (2) DE102017122376A1 (de)
GB (1) GB2556431A (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10846612B2 (en) 2016-11-01 2020-11-24 Google Llc Actionable suggestions for activities
US10740388B2 (en) * 2017-01-24 2020-08-11 Microsoft Technology Licensing, Llc Linked capture session for automatic image sharing
US11159768B1 (en) * 2019-01-03 2021-10-26 Facebook Technologies, Llc User groups based on artificial reality
US11736535B1 (en) * 2021-10-12 2023-08-22 Meta Platforms Technologies, Llc Communication in an artificial reality device due to predicted acquaintance interception

Family Cites Families (13)

* 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
US8032622B2 (en) * 2007-03-20 2011-10-04 Siemens Enterprise Communications, Inc. System and method for social-networking based presence
US8732161B2 (en) 2007-04-27 2014-05-20 The Regents Of The University Of California Event based organization and access of digital photos
US20130031475A1 (en) * 2010-10-18 2013-01-31 Scene 53 Inc. Social network based virtual assembly places
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
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
US20140200974A1 (en) * 2013-01-16 2014-07-17 Social Rewards, Inc. Increasing social engagement with real-world events
US20160105526A1 (en) * 2014-10-13 2016-04-14 International Business Machines Corporation Photographic Album Creation and Sharing
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

Also Published As

Publication number Publication date
CN107943595A (zh) 2018-04-20
US10498676B2 (en) 2019-12-03
GB2556431A (en) 2018-05-30
CN107943595B (zh) 2021-11-30
US20180102999A1 (en) 2018-04-12
DE202017105869U1 (de) 2018-01-17
GB201715646D0 (en) 2017-11-08

Similar Documents

Publication Publication Date Title
DE102017122379A1 (de) Umsetzbare Vorschläge für Aktivitäten
US11468672B2 (en) Intelligent agents for managing data associated with three-dimensional objects
US11575531B2 (en) Dynamic virtual environment
EP2880858B1 (de) Verwendung eines avatars in einem videokonferenzsystem
EP3568787A1 (de) Automatisches bildteilen mit designierten benutzern über ein kommunikationsnetzwerk
US9361626B2 (en) Social gathering-based group sharing
DE102017122376A1 (de) Kontextabhängige automatische Gruppierung
DE112016004208T5 (de) Bereitstellen persönlicher Assistenz für die Pflege/Verwaltung von Multimedia und Erstellung von Geschichten auf Datenverarbeitungsvorrichtungen
DE112017000046T5 (de) Beurteilung der Genauigkeit eines Maschinenlernmodells
US20200202634A1 (en) Intelligent management of content related to objects displayed within communication sessions
DE102015120189A1 (de) Darstellen einer Fahrzeit zu und von einem Event in einem elektronischen Kalender
KR102637042B1 (ko) 콘텐츠 아이템들의 재표출을 위한 메시징 시스템
US11741949B2 (en) Real-time video conference chat filtering using machine learning models
US20190222892A1 (en) Dynamic configuration of a user interface for bringing focus to target events
CN111556279A (zh) 即时会话的监控方法和通信方法
US20220345537A1 (en) Systems and Methods for Providing User Experiences on AR/VR Systems
US20210111916A1 (en) Content feature based video stream subscriptions
DE102022100815A1 (de) Lautstärkensteuerung für audio- und videokonferenzanwendungen
CN111953923A (zh) 网络会议处理方法、装置、电子设备及存储介质
US20180268496A1 (en) Photo booth system
CN114868107A (zh) 针对通信会话视频流的动态控制的纵横比
WO2020123177A1 (en) Dynamic curation of sequence events for communication sessions
CN108510246A (zh) 一种信息反馈方法及装置
CN111480348A (zh) 用于基于音频的增强现实的系统和方法
WO2023229748A1 (en) Automation of audio and viewing perspectives for bringing focus to relevant activity of a communication session

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