DE112016003769T5 - Physosche Wissensaktionsauslöser - Google Patents

Physosche Wissensaktionsauslöser Download PDF

Info

Publication number
DE112016003769T5
DE112016003769T5 DE112016003769.4T DE112016003769T DE112016003769T5 DE 112016003769 T5 DE112016003769 T5 DE 112016003769T5 DE 112016003769 T DE112016003769 T DE 112016003769T DE 112016003769 T5 DE112016003769 T5 DE 112016003769T5
Authority
DE
Germany
Prior art keywords
event
user
action
physical entity
physical
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.)
Withdrawn
Application number
DE112016003769.4T
Other languages
English (en)
Inventor
Fergus Gerard Hurley
Robin Dua
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 DE112016003769T5 publication Critical patent/DE112016003769T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B13/00Burglar, theft or intruder alarms
    • G08B13/18Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
    • G08B13/189Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems
    • G08B13/194Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems
    • G08B13/196Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems using television cameras
    • G08B13/19602Image analysis to detect motion of the intruder, e.g. by frame subtraction
    • G08B13/19613Recognition of a predetermined image pattern or behaviour pattern indicating theft or intrusion
    • G08B13/19615Recognition of a predetermined image pattern or behaviour pattern indicating theft or intrusion wherein said pattern is defined by the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/432Query formulation
    • G06F16/434Query formulation using image data, e.g. images, photos, pictures taken by a user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/487Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
    • 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/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0257User requested
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0259Targeted advertisements based on store location
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0261Targeted advertisements based on user location
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0267Wireless devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B13/00Burglar, theft or intruder alarms
    • G08B13/18Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
    • G08B13/189Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems
    • G08B13/194Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems
    • G08B13/196Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems using television cameras
    • G08B13/19665Details related to the storage of video surveillance data
    • G08B13/19669Event triggers storage or change of storage policy
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B13/00Burglar, theft or intruder alarms
    • G08B13/18Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
    • G08B13/189Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems
    • G08B13/194Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems
    • G08B13/196Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems using television cameras
    • G08B13/19678User interface
    • G08B13/1968Interfaces for setting up or customising the system
    • 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
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Signal Processing (AREA)
  • Game Theory and Decision Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Computer Graphics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Alarm Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)

Abstract

Verfahren, Systeme und Vorrichtungen für das Definieren und Überwachen eines Ereignisses für eine physische Entität und die Durchführung einer Aktion in Reaktion auf das Auftreten des Ereignisses. Ein Verfahren beinhaltet das Empfangen von Daten, die ein Ereignis für eine physische Entität angeben, wobei das Ereignis teilweise durch ein physisches Umgebungsmerkmal angegeben wird, für das das Auftreten des Ereignisses durch die Datenverarbeitungsvorrichtung überwacht werden soll; Empfangen von Daten, die eine Aktion angeben, die dem Ereignis zugeordnet ist und in Reaktion auf das Auftreten des Ereignisses vorgenommen werden soll; Überwachen auf das Auftreten des Ereignisses für die physische Entität; und in Reaktion auf das Auftreten des Ereignisses, Veranlassen der Aktion, die dem durchzuführenden Ereignis zugeordnet ist.

Description

  • HINTERGRUND
  • Das Aufkommen cloudbasierter Dienste, Suchmaschinen, mobiler Anwendungen und standortbezogener Geräte hat die Nützlichkeit mobiler Benutzergeräte im Verlauf des letzten Jahrzehnts erheblich erweitert. Viele dieser Benutzergeräte stellen nunmehr kontextbezogene Dienste und Anwendungen neben Sprach- und Datenzugriff bereit. Außerdem sind bei den vielen jüngsten Fortschritten in Verarbeitungssystemen viele bisher getrennte Anwendungen und Dienste jetzt in der Lage, zusammenzuarbeiten, um verbesserte Fähigkeiten und Benutzererlebnisse bereitzustellen.
  • Viele Anwendungsdienste, die für Benutzer verfügbar sind, werden durch Verwendung von Befehlseingaben instanziiert. Ein solcher Dienst ist das Erstellen von Aktionsauslösern. Ein Benutzer kann zum Beispiel die Eingabe „erinnere mich daran, heute Abend Milch zu kaufen“ in ein Smartphone sprechen (oder eingeben), woraufhin das Smartphone mithilfe einer Befehls-Parsing-Anwendung (oder alternativ durch Kommunizieren mit einem Befehls-Parsing-Dienst) einen Aktionsauslöserprozess aufruft, der eine Erinnerungsmitteilung erstellen, Nachrichten und/oder Kalendereinträge erstellen und zusätzliche Informationen vom Benutzer anfordern kann. Bei diesen Informationen kann es sich um eine Zeit handeln, falls der Benutzer möchte, dass der Aktionsauslöser zu einer bestimmten Zeit durchgeführt wird, und/oder um einen Standort, falls der Benutzer möchte, dass der Aktionsauslöser durchgeführt wird, wenn der Benutzer am Standort ankommt. Obgleich die Einstellung jener Aktionsauslöser ein sehr nützliches und relativ flüssiges Benutzererlebnis ist, sind verfügbare Auslöser bisher auf eine Reihe von Optionen beschränkt gewesen, die durch eine Anwendung oder einen Dienst bereitgestellt wurden.
  • KURZDARSTELLUNG
  • Diese Spezifikation bezieht sich auf das Definieren und Überwachen eines Ereignisses für eine physische Entität und die Durchführung einer Aktion in Reaktion auf das Auftreten des Ereignisses.
  • In einem Aspekt beinhaltet ein Verfahren das Empfangen von Daten, die ein Ereignis für eine physische Entität angeben, wobei das Ereignis teilweise durch ein physisches Umgebungsmerkmal angegeben wird, für das das Auftreten des Ereignisses durch die Datenverarbeitungsvorrichtung überwacht werden soll; Empfangen von Daten, die eine Aktion angeben, die dem Ereignis zugeordnet ist und in Reaktion auf das Auftreten des Ereignisses vorgenommen werden soll; Überwachen auf das Auftreten des Ereignisses für die physische Entität; und in Reaktion auf das Auftreten des Ereignisses, Veranlassen der Aktion, die dem durchzuführenden Ereignis zugeordnet ist. Weitere Ausführungsformen dieses Aspektes beinhalten entsprechende Systeme, Vorrichtungen und Computerprogramme, die dafür konfiguriert sind, die auf Computerspeichergeräten kodierten Handlungen des Verfahrens auszuführen.
  • In einem anderen Aspekt beinhaltet ein Verfahren das Empfangen von Daten, die ein physisches Umgebungsmerkmal angeben, für das ein Ereignis für eine physische Entität überwacht werden soll; in Reaktion auf die Daten, die das Umgebungsmerkmal angeben, das Bereitstellen von Daten, die ein Benutzergerät veranlassen, ein Aktionsauslöser-Menü anzuzeigen, das eine jeweilige Ereignisauswahleingabe für jedes des einen oder der mehreren Ereignisse anzeigt, die dem physischen Umgebungsmerkmal zugeordnet sind; Empfangen von Daten, die eine Auswahl am Benutzergerät von einer oder mehreren Ereignisauswahleingaben angeben, die ein Ereignis angeben; Zuordnen, zu dem Ereignis, einer Aktion, die in Reaktion auf das Auftreten des Ereignisses vorgenommen werden soll; und Bereitstellen von Daten, die das Ereignis für die physische Entität angeben, und Daten, die die Entität angeben, die dem Ereignis zugeordnet ist. Weitere Ausführungsformen dieses Aspektes beinhalten entsprechende Systeme, Vorrichtungen und Computerprogramme, die dafür konfiguriert sind, die auf Computerspeichergeräten kodierten Handlungen des Verfahrens auszuführen.
  • Die Ereignisse und Aktionen können unabhängig von der physischen Entität sein, insofern als sie nicht aus einer Liste ausgewählt werden müssen, die von der physischen Entität abhängig ist, sondern stattdessen vom Benutzer gemäß einer oder mehreren Eingaben definiert werden können. Ähnlich können die Ereignisse und Aktionen auch voneinander unabhängig sein, insofern als ein bestimmtes Ereignis kategorisch, semantisch oder sonst nicht mit der Aktion verbunden sein muss, die durchgeführt werden soll. Die Zuordnung eines Ereignisses und einer Aktion kann in der Tat aus Datenbeziehungsperspektive vollständig zufällig sein. Dies befreit Entwickler davon, Sätze von Zuordnungen und Aktionsauslöser in Softwareanwendungen und Diensten vorzudefinieren. Außerdem werden die resultierenden Ereignisse und Zuordnungen, die durch den Benutzer definiert werden, durch einfache Regelstrukturen implementiert und benötigen keine mehreren, komplexen Abhängigkeiten, die beim Arbeiten mit einem vordefinierten Satz von Ereignissen und Auslösern erforderlich wären (falls überhaupt möglich). Ein Benutzer kann zum Beispiel sein Auto waschen wollen, wenn er sich jedoch darauf vorbereitet, merkt er, dass er kein Autoseifenkonzentrat mehr hat, und bestellt daher eine Flasche Seifenkonzentrat von einem Online-Händler. Der Benutzer kann dann, durch Verwendung des in dieser Spezifikation beschriebenen Systems, ein Ereignis als Paket definieren, das an der Türschwelle des Benutzers präsentiert wird, und die Aktion, die dem Ereignis zugeordnet sein kann, kann eine Erinnerungsmitteilung sein, ein Auto zu waschen. Somit führt, bei Annahme, dass der Benutzer kein anderes Paket als das Reinigungsmittel erwartet, die Erkennung des Pakets an der Türschwelle des Benutzers zur Aktion, eine Erinnerungsmitteilung zu präsentieren, das Auto zu waschen.
  • Das System ermöglicht somit die Zuordnung mehrerer physischer Entitäten zu mehreren verschiedenen möglichen Ereignissen und mehreren verschiedenen Aktionen. Dies ermöglicht einem Benutzer beispiellose Flexibilität bei der Anordnung von Aufgaben, Zeitplänen und Aktionen gemäß komplett einzigartigen und bisher unentdeckten Entitäts- und Aufgabenbeziehungen, die aus den einzigartigen Bedürfnissen des Benutzers entstehen. Somit macht eine solche Fähigkeit die Notwendigkeit für einen komplexen strukturieren Regelsatz überflüssig, der einen komplexen Satz potenzieller Aktionen und Auslöser erfordern würde, um solche vielfältigen und unvorhersagbaren Bedürfnisse mehrerer verschiedener Benutzer, falls überhaupt möglich, abzudecken. Demgemäß wird eine erhebliche Menge an Datenspeicher eingespart. Außerdem werden Regelaktualisierungen und Software-Updates, die sonst erforderlich wären, um viele aufkommende Bedürfnisse der Benutzer abzudecken, beseitigt, was zu Einsparungen von Entwicklungskosten und Bandbreiteneinsparungen führt.
  • Ein Benutzer kann Aktionsauslöser auf Basis eines viel breiteren Bereichs des Auftretens oder Ereignissen erstellen, als bisher möglich. Ein Auslöser kann eine Erinnerungsmitteilung für einen Benutzer aufrufen, damit die auf Basis eines solchen Auslösers durchzuführende Aktion, wie durch die Erinnerungsmitteilung aufgefordert, manuell durchgeführt wird. Alternativ kann ein Auslöser einfach Informationen für die Interessen des Benutzers bereitstellen, wobei nicht notwendigerweise weitere Aktionen impliziert sind. Als eine andere Alternative kann ein Benutzer einen Auslöser einstellen, um gewisse Aktionen automatisch durchzuführen. Als noch weitere Alternative kann ein Benutzer einen Auslöser einstellen, um bei dem Auftreten eines Ereignisses eine einzelne Genehmigungsaktion zu präsentieren, um eine nachfolgende Aktion zu genehmigen, woraufhin bei einer solchen Genehmigung die nachfolgende Aktion durchgeführt wird. In noch einer anderen Alternative können automatische Aktionen durch Drittanbieteranwendungen oder -Systeme durchgeführt werden, die er mit dem hierin beschriebenen System übermitteln kann.
  • Aktionsauslöser, die auf Ereignissen und Aktionen basieren, die bei Auftreten der Ereignisse durchgeführt werden sollen, können von einer speziellen Erinnerungsmitteilungsanwendung oder von einer anderen Anwendung, wie z. B. einem Browser oder Kalender oder von irgendeiner anderen Art von System, eingestellt werden, das so konfiguriert ist, dass es Benutzereingaben für den Zweck des Festlegens eines Aktionsauslösers und der zugeordneten Aktion empfängt. Diese letzteren Systeme können Suchmaschinen, elektronische Assistenten, darunter auch sprachbasierte Assistenten, und dergleichen beinhalten. Außerdem kann ein Auslösungs- und Benachrichtigungssystem so konfiguriert sein, dass es mit einem sonst unabhängigen Benutzeroberflächen-Frontend kommuniziert, sodass Benutzeranweisungen und Benachrichtigungen vom Benutzeroberflächen-Frontend verwaltet werden.
  • Ein Auslöser kann auf einem einzelnen Auftreten oder Ereignis basieren. Alternativ können mehrere Auftreten oder Ereignisse zusammen gruppiert werden, um einen Auslöser zu definieren. Ein Benutzer kann zum Beispiel einen Auslöser erstellen, um daran erinnert zu werden, das Auto zu waschen, wenn der Benutzer zu Hause ist, wenn das Paket an der Türschwelle des Benutzers erkannt wird.
  • Die Überwachung auf ein Ereignis für eine physische Entität kann auf eine Vielzahl von Arten erreicht werden und hängt von der durchzuführenden Überwachung ab. Für die Präsenzüberwachung, das heißt die Überwachung auf das Vorhandensein einer physischen Entität, können Daten von Kameras erhalten werden, die verwendet werden, um einen bestimmten Standort zu überwachen, oder von Spracherkennung von einer Quelle an einem bestimmten Standort und so weiter. Im Fall der Entitätserkennung, wie z. B. im Fall der Überwachung auf ein Paket, das an einer Türschwelle geliefert wird, kann auf Modelle des maschinellen Lernens für die Objekterkennung zugegriffen werden. Dadurch können Bilder verarbeitet werden, um zwischen Objekten zu unterscheiden, wie z. B. einer oder mehreren Personen, einem oder mehreren Tieren, einem oder mehreren Paketen usw.
  • Präsenzüberwachung kann außerdem dadurch erreicht werden, indem die bestimmte physische Entität ihren Standort bekannt gibt. Ein Benutzer kann zum Beispiel einen Auslöser haben, der auf dem Ereignis basiert, dass sich ein Imbisswagen innerhalb einer bestimmten Entfernung eines bestimmten Standorts, z. B. nicht weiter als einen Block von der Arbeitsadresse des Benutzers entfernt, befindet. Der Imbisswagen kann seinen Standort über ein drahtloses Kommunikationsprotokoll für einen Überwachungsdienst bereitstellen, woraufhin der Überwachungsdienst ermittelt, ob das durch den Benutzer angegebene Ereignis erfüllt ist. In Varianten dieser Implementierung kann der Benutzer einen Auslöser haben, der auf dem Ereignis basiert, dass sich ein Imbisswagen innerhalb einer bestimmten Entfernung des Standorts des Benutzers befindet, zudem werden sowohl der Standort des Benutzers als auch der Standort des Imbisswagens durch den Überwachungsdienst überwacht.
  • Für die Bedingungsüberwachung, das heißt die Überwachung der Bedingung einer physischen Entität, kann die physische Identität Daten angeben, die ihre Bedingung dem Überwachungsdienst beschreiben. Das Zuhause eines Benutzers kann zum Beispiel ein intelligentes Bewässerungssystem haben, das die Feuchtigkeit des Bodens überwacht. Der Benutzer kann einen Auslöser definieren, um benachrichtigt zu werden, wenn der Feuchtigkeitspegel des Bodens unter einen bestimmten Wert fällt, oder um benachrichtigt zu werden, wenn sich die Sprinkler automatisch einschalten (und, optional, wenn sie nachfolgend ausgeschaltet werden). Ebenso kann der Benutzer eine andere Aktion haben, die ausgelöst wird, wenn die Regenwahrscheinlichkeit 80 % (gemäß den Daten, die von einem Wetterdienst erhalten werden) beträgt und die Sprinkler deaktiviert wurden, und so weiter. In einem weiteren Beispiel ist der Auslöser so definiert, dass, wenn der Feuchtigkeitspegel des Bodens auf einen bestimmten Prozentsatz fällt, der Sprinkler sich automatisch einschaltet, woraufhin eine Benachrichtigung an den Benutzer gesendet wird.
  • Das System kann, in einigen Implementierungen, Ereignisse automatisch auf Basis von Daten ändern, die für das Ereignis relevant sind. Das Ereignis für die Aktivierung des Sprinklers kann zum Beispiel auch Wetterdaten berücksichtigen. Dadurch kann es sein, dass das System, auch wenn der Feuchtigkeitspegel geringer ist als der bestimmte Prozentsatz, nicht ermitteln kann, dass das Ereignis aufgetreten ist (oder die durchzuführende Aktion nicht veranlassen kann), wenn die Wetterdaten Regen innerhalb der nächsten vierundzwanzig Stunden angeben.
  • Die Details von einer oder mehreren Ausführungsformen des in dieser Spezifikation beschriebenen Gegenstands sind in den begleitenden Zeichnungen und der nachfolgenden Beschreibung dargelegt. Andere Merkmale, Aspekte und Vorteile des Gegenstands werden aus der Beschreibung, den Zeichnungen und den Ansprüchen ersichtlich.
  • Figurenliste
    • 1 zeigt ein Blockdiagramm einer exemplarischen Umgebung, in der Aktionsauslöser für die Durchführung zugeordneter Aktionen überwacht werden.
    • 2A zeigt ein Ablaufdiagramm eines exemplarischen Prozesses für das Erstellen eines Ereignisses für eine physische Entität und das Zuordnen einer Aktion, die bei dem Ereignis durchgeführt werden soll.
    • 2B zeigt ein Ablaufdiagramm eines exemplarischen Prozesses für das Überwachen einer Zuordnung eines Ereignisses für eine physische Entität und das Durchführen einer Aktion auf Basis des Auftretens des Ereignisses.
    • 3A - 3C zeigen Veranschaulichungen von Benutzeroberflächen an einem Benutzergerät, in denen ein Aktionsauslöser erstellt und die Ergebnisse einer durchgeführten Aktion dargestellt werden.
    • 4A - 4C zeigen Veranschaulichungen von Benutzeroberflächen an einem Benutzergerät, in denen ein anderer Aktionsauslöser erstellt und die Ergebnisse einer durchgeführten Aktion dargestellt werden.
    • 5 zeigt ein Blockdiagramm eines exemplarischen mobilen Computergeräts.
  • In den unterschiedlichen Zeichnungen werden gleiche Bezugszeichen und Bezeichnungen für gleiche Elemente verwendet.
  • AUSFÜHRLICHE BESCHREIBUNG
  • 1 zeigt ein Blockdiagramm einer exemplarischen Umgebung 100, in der Aktionsauslöserereignisse für die Durchführung zugeordneter Aktionen überwacht werden. Ein Computernetzwerk 102, wie z. B. das Internet oder eine Kombination davon, stellt Datenkommunikation zwischen elektronischen Geräten und Systemen bereit. Das Computernetzwerk 102 kann außerdem ein oder mehrere drahtlose Netzwerke 103 beinhalten oder mittels eines oder mehrerer Gateways in Datenkommunikation mit diesen sein.
  • Eine physische Datenquelle 104 ist ein Gerät, ein System oder ein Dienst, das/der Daten über eine physische Entität bereitstellt. Die physische Datenquelle 104 kann zum Beispiel ein physisches Element sein, das über seine eigene Bedingung mittels eines Datensignals berichtet, das Bedingungen der physischen Entität angibt. Ein Sprinklerkopf, der seinen Betriebsstatus und seine Sensoranzeigewerte, wie z. B. Feuchtigkeitspegel des Bodens, bereitstellt, ein Türschloss, das Daten bereitstellt, die beschreiben, ob es abgesperrt oder nicht abgesperrt ist, ein Automobil, das seinen Standort bereitstellt usw. Alternativ kann die physische Datenquelle 104 ein System sein, das Daten über sich selbst, seinen Standort und so weiter bereitstellt. Beispiele von Systemen beinhalten ein Sicherheitssystem, das eine Wohnung überwacht, ein Beleuchtungssteuerungssystem in einem Gebäude, ein Parkplatzbelegungserkennungs- und -überwachungssystem usw. Dies sind nur einige Beispiele physischer Datenquellen und jede andere physische Datenquelle 104, die Daten über eine physische Entität bereitstellt, kann verwendet werden.
  • Wie in dieser Spezifikation verwendet, ist eine physische Entität eine physische Entität, für die physische Umgebungsmerkmale durch die physische Datenquelle 104 überwacht werden können. Eine physische Entität kann die physische Datenquelle 104 selbst oder etwas sein, das die physische Datenquelle 104 überwacht. Im letzteren Fall kann die physische Entität durch den Benutzer angegeben werden, z. B. kann der Benutzer angeben, dass die physische Entität ein Paket ist, wenn der Benutzer auf das Vorhandensein eines Pakets an einem Standort überwachen möchte; der Benutzer kann angeben, dass die physische Entität ein Automobil ist, wenn der Benutzer das Vorhandensein oder Nichtvorhandensein eines Automobils an einem bestimmten Parkplatz überwachen möchte, und so weiter. Ähnlich kann das physische Umgebungsmerkmal ein Merkmal sein, das mit der Entität verbunden ist, die der Benutzer zum Auslösen der Aktion verwenden möchte.
  • Das Benutzergerät 106 ist ein elektronisches Gerät, das von einem Benutzer gesteuert wird und in der Lage ist, Ressourcen über das Netzwerk 102 anzufordern und entgegenzunehmen, und das außerdem in der Lage ist, andere Aktionen durchzuführen. Exemplarische Benutzergeräte 106 beinhalten Personal-Computer, mobile Kommunikationsgeräte, tragbare Geräte und andere Geräte, die Datenüber das Netzwerk 102 senden und empfangen können. In dem Beispiel von 1 ist das Benutzergerät 106 ein Smartphone. Ein exemplarisches Smartphone ist in Bezug auf 5 unten beschrieben. Das Benutzergerät 106 kann über die Netzwerke 102 und 103 mittels drahtgebundener und drahtloser Verbindungen mit den Netzwerken 102 bzw. 103 kommunizieren. Das Benutzergerät 106 kann außerdem ein Gerät sein, das auf das Netzwerk 102 mittels eines zwischengeschalteten Geräts und eines drahtlosen Nahbereich-Sendeempfängers, wie z. B. WLAN, Bluetooth usw., zugreift. Wie in Bezug auf 5 beschrieben, kann ein Benutzergerät in der Lage sein, einen Satz von Geräteaktionen für verschiedene Programme und Fähigkeiten durchzuführen
  • Das Benutzergerät 106 kann einem Benutzerkonto, wie z. B. einem Konto, zugeordnet sein, das von einem Cloud-Dienstanbieter 112 gehostet wird, der mehrere Dienste bereitstellt. Diese Dienste können Suche (u. a. Web, Intranet, Dokumente und Anwendungen), Webmail, Kalender, soziale Netzwerke, Nachrichtenübermittlung, Dokumentspeicherung und -bearbeitung, einen elektronischen Assistentendienst usw. beinhalten. Die Kontodaten 114 können Daten speichern, die für das Konto des Benutzergeräts 106 spezifisch sind. Ferner können, auch wenn in 1 nur ein Benutzergerät 106 dargestellt ist, mehrere Benutzergeräte 106 in der Umgebung enthalten sein.
  • In einigen Implementierungen kann der Benutzer eines Benutzergeräts 106 Ereignisauslöser definieren und sie Aktionen zuordnen. Das Auftreten eines Ereignisauslösers (oder einfach „Ereignisses“) veranlasst, dass die zugeordnete Aktion durchgeführt wird. Das Angeben von Ereignissen und Aktionen kann durch eine Vielzahl von Benutzeroberflächen, Sprachbefehl-Verarbeitungssystemen und Interaktionsmodellen ermöglicht werden. Normalerweise gibt ein Benutzer, wie unten näher beschrieben, eine Zuordnung eines Ereignisses zu einer Aktion an.
  • Ein Aktionsauslöser-Verarbeitungssystem 120 empfängt eine Zuordnung eines Ereignisses und einer Aktion und speichert den Ereignisauslöser in einem Aktionsauslöser-Datenspeicher 126. Wie in dieser Spezifikation verwendet, wird eine Zuordnung eines Ereignisses und einer Aktion als ein „Aktionsauslöser“ bezeichnet. Auch wenn das Aktionsauslöser-Verarbeitungssystem 120 in 1 als separate Entität dargestellt ist, kann das Aktionsauslöser-Verarbeitungssystem 120 im Cloud-Dienstanbieter 112 oder alternativ als ein separates System durch jede Drittpartei implementiert werden. In bestimmten Ausführungsformen können das Aktionsauslöser-Verarbeitungssystem 120 oder Teilmengen davon einen Teil des Benutzergeräts 106 bilden oder in demselben gespeichert sein.
  • Der Aktionsauslöserprozessor 124 greift auf Ereignisdaten 128 zu, um zu ermitteln, welche Ereignisse erfüllt sind, und ob die Aktionen, die dem Ereignis zugeordnet sind, das als erfüllt ermittelt wird, durchgeführt werden sollen. Wie hierin verwendet, sind Ereignisdaten 128 alle Daten, die verwendet werden können, um zu ermitteln, ob ein Ereignis aufgetreten ist, wobei diese in dieser bestimmten Anwendung Daten beinhalten, die von den physischen Datenquellen 104 berichtet werden. Die Ereignisdaten 128, die die Daten beinhalten, die von der physischen Datenquelle 104 berichtet werden, können zum Beispiel die Daten sein, die dem Aktionsauslöser-Verarbeitungssystem 120 durch die Drittparteien bereitgestellt werden, oder sie können die Daten sein, die durch das Aktionsauslöser-Verarbeitungssystem 120 regelmäßig angefordert werden.
  • Der Aktionsauslöserprozessor 124 speichert den Aktionsauslöser im Aktionsauslöser-Datenspeicher 126. Es kann eine Vielzahl von Aktionsauslösern AT1, AT2, .. ATn geben, die in den Aktionsauslöserdaten 126 gespeichert sind. Eine Gruppe von Aktionsauslösern (z. B. die, die vom Benutzer erstellt oder vorher implementiert wurden) können am Benutzergerät 106 angesehen werden, zudem kann der Benutzer am Benutzergerät 106 jederzeit Änderungen an den Aktionsauslösern durchführen (z. B. hinzufügen, löschen, ändern). Jeder der Vielzahl von Aktionsauslösern kann ein oder mehrere Ereignisse E1, E2, ... En aufweisen, die der Aktion zugeordnet sind. Bei Auftreten eines Ereignisses kann der Aktionsauslöserprozessor 124 veranlassen, dass die Aktion durchgeführt wird. Die Aktion kann eines oder mehrere der folgenden sein: die Präsentation einer Benachrichtigung, dass das Ereignis aufgetreten ist; eine Aktion, die teilweise oder vollständig automatisch und separat vom Benutzergerät durchgeführt wird (z. B. über eine Drittanbieter-Anwendung oder ein Drittanbieter-System durch Ausgabe eines Befehls dafür); oder die Präsentation einer Eingabeaufforderung, um eine andere Aktion durchzuführen.
  • Die Aktion kann außerdem eine Aktion sein, die durch eine andere physische Entität durchgeführt wird oder die sich auf eine andere physische Entität, wie z. B. eine Roboterentität, bezieht. Angesichts eines Ereignisses für spezifische Wetterbedingungen, z. B. eine Prognose für einen Mangel an Regen am Nachmittag, kann eine Aktion zum Beispiel sein, ein Robotermähgerät zu veranlassen, einen Rasen zu mähen.
  • In einigen Implementierungen beinhaltet das Aktionsauslöser-Verarbeitungssystem 120 Anmeldedaten 130, die Anmeldeberechtigungen für Benutzer angeben und die verwendet werden, um die Durchführung bestimmter Aktionen zu autorisieren. Eine Aktion zum Kaufen oder Begründen irgendeiner anderen finanziellen oder rechtlichen Verpflichtung im Namen eines Benutzers kann zum Beispiel vom Benutzer fordern, Anmeldeberechtigungen bereitzustellen. Die Anmeldeberechtigungen können erforderlich sein, wenn das Ereignis ausgelöst wurde, oder sie können alternativ erforderlich sein, wenn die Zuordnung des Ereignisses und der Aktion festgelegt wird. Exemplarische Anmeldeberechtigungen können eine Benutzerkennung, ein Passwort und dergleichen beinhalten. Außerdem kann in einigen Implementierungen ein Benutzer autorisiert werden, wenn die Anmeldeberechtigungen zuvor bereitgestellt wurden, z. B. wenn ein Benutzer eine authentifizierte Verbindung mit einem sicheren Netzwerk aufgebaut hat.
  • Der Benutzer kann außerdem angeben, dass Benachrichtigungen nur während geeigneter Zeiten bereitgestellt werden, in denen der Benutzer die Benachrichtigungen überprüfen und auf sie reagieren kann. Der Benutzer kann zum Beispiel eine Bedingung einstellen, dass der Benutzer nicht benachrichtigt wird, wenn der Benutzer auf Basis der Verfügbarkeit des Benutzers gemäß dem Kalender des Benutzers nicht verfügbar ist. Dadurch kann die Präsentation der Benachrichtigung verzögert werden, wenn der Kalender des Benutzers angibt, dass der Benutzer einen Termin hat, z. B. wenn sich der Benutzer, wie im Arbeitskalender des Benutzers geplant, in einer Besprechung befindet. Andere Bedingungen für die Durchführung einer Aktion können neben einem angegebenen Ereignisauftreten ebenfalls verwendet werden.
  • Wie oben beschrieben, ermöglicht das Aktionsauslöser-Verarbeitungssystem 120 die Erstellung und Überwachung von Ereignissen für physische Entitäten. Der Prozess der Erstellung eines Aktionsauslösers ist in Bezug auf 2A beschrieben, die ein Ablaufdiagramm eines exemplarischen Prozesses 200 für das Erstellen eines Ereignisses für eine physische Entität und das Zuordnen einer Aktion, die bei dem Ereignis durchgeführt werden soll, zeigt. Der Prozess 200 kann durch ein elektronisches Gerät, wie z. B. ein Benutzergerät, durchgeführt werden oder kann alternativ durch ein Serversystem in Reaktion auf das Empfangen von Auswahldaten von einem Benutzergerät durchgeführt werden.
  • Der Prozess 200 empfängt Daten, die ein physisches Umgebungsmerkmal angeben, für das ein Ereignis für eine physische Entität überwacht werden soll (202). Die physische Entität kann auf eine Vielzahl von Arten identifiziert werden. Die Daten können von einem Benutzergerät empfangen werden, oder irgendeinem anderen Gerät, mit dem der Benutzer interagiert hat. Ein Benutzer kann beispielsweise die physische Entität, z. B. durch Eingeben einer Beschreibung der physischen Entität, Auswählen der physischen Entität aus einer Liste der physischen Entitäten oder durch irgendeine andere Weise, angeben. Alternativ kann sich die physische Entität selbst identifizieren. Ein Imbisswagen kann zum Beispiel mit einem Benutzergerät kommunizieren und sich selbst identifizieren und dem Benutzer die Möglichkeit bereitstellen, einen Aktionsauslöser zu erstellen.
  • Das physische Umgebungsmerkmal beschreibt entweder die physische Entität selbst oder eine Umgebung der physischen Entität. Ein Beispiel für Letzteres ist ein Standort oder eine Reihe von Standorten, an denen sich die physische Entität befinden kann. Für eine physische Entität eines bestimmten Automobils (oder jeglichen Automobils) kann zum Beispiel das physische Umgebungsmerkmal ein bestimmter Parkplatz sein. Ähnlich kann für eine physische Entität eines Versandbehälters das physische Umgebungsmerkmal eine Türschwelle sein. Ebenso kann für die physische Entität eines Sprinklersystems das physische Umgebungsmerkmal der Zustand des Systems sein. In noch einem anderen Beispiel kann ein Imbisswagen, der ein drahtlos aktiviertes System nutzt, das mit dem Aktionsauslöser-Verarbeitungssystem kommuniziert, eine Liste verschiedener Umgebungsmerkmale bereitstellen, die mit dem Standort des Imbisswagens verbunden sind. Das physische Umgebungsmerkmal, das beschrieben wird, kann vom Benutzer ausgewählt werden.
  • Der Prozess 200 stellt, in Reaktion auf die Daten, die das Umgebungsmerkmal angeben, Daten bereit, die ein Gerät veranlassen, ein Aktionsauslöser-Menü anzuzeigen, das eine Eingabe für jedes des einen oder der mehreren Ereignisse anzeigt (204). Sobald zum Beispiel ein Benutzer eine physische Entität und ein entsprechendes Umgebungsmerkmal angibt, können dem Benutzer Optionen präsentiert werden, die ein Ereignis für die physische Entität und das Umgebungsmerkmal definieren. Im Zuge des obigen Beispiels kann, für die physische Entität eines bestimmten Automobils (oder eine beliebigen Automobils), das Ereignis das Vorhandensein des Automobils auf einem bestimmten Parkplatz (oder alternativ die Abwesenheit des Automobils) sein. Ähnlich kann, für die physische Entität des Versandbehälters, das Ereignis das Vorhandensein des Versandbehälters an der Türschwelle sein. Ebenso kann, für die physische Entität eines Sprinklersystems, das Ereignis ein bestimmter Zustand des Systems, z. B. die Aktivierung des Sprinklersystems, sein. Und schließlich können, für die physische Entität eines Imbisswagens, die Ereignisse der Standort eines Imbisswagens in Bezug auf einen aktuellen Standort, eine Adresse oder der zukünftige Standort eines Benutzers sein.
  • In einigen Implementierungen wird eine Liste der Ereignisse auf Basis einer Zuordnung physischer Umgebungsmerkmale zu Ereignissen, die der physischen Entität und dem Umgebungsmerkmal entsprechen, ermittelt und einem Benutzer präsentiert. Wenn zum Beispiel eine physische Entität und ein Umgebungsmerkmal eines Standorts ausgewählt werden, können die Ereignisse das Vorhandensein oder Nichtvorhandensein der Entität am Standort sein. Ähnlich können, wenn eine physische Entität und ein Umgebungsmerkmal der Zustände (z. B. ein, aus usw.) der physischen Entität ausgewählt werden, die Ereignisse die bestimmten Zustände der physischen Entität sein.
  • Der Prozess 200 empfängt Daten, die eine Auswahl am Gerät von einer oder mehreren Benutzerauswahleingabe angeben, um ein Ereignis anzugeben (206). Der Benutzer kann eines der Ereignisse auswählen, wodurch der Aktionsauslöserprozessor 124 so konfiguriert wird, dass das Auftreten des Ereignisses überwacht. Zusätzliche Ereignisse und Bedingungen können ebenfalls ausgewählt werden. Ein Zeitfenster kann zum Beispiel ausgewählt werden, sodass das Auftreten des Ereignisses nur ermittelt wird, wenn das Ereignis während des Zeitfensters auftritt; wenn das Ereignis außerhalb des Zeitfenstersauftritt, ermittelt der Aktionsauslöserprozessor, dass das Ereignis nicht aufgetreten ist. Im Zuge eines der obigen Beispiele kann das Ereignis eines Autos, das auf einem bestimmten Parkplatz vorhanden ist, ferner davon abhängig sein, dass das Auto auf dem Parkplatz zu irgendeiner Zeit zwischen 8:00 Uhr und 17:00 Uhr vorhanden ist. Dadurch wird, wenn das Auto um 7:30 Uhr auf dem Parkplatz ankommt, und dort eine Stunde lang bleibt, das Ereignis als um 8:00 Uhr aufgetreten ermittelt.
  • Der Prozess 200 ordnet dem Ereignis eine Aktion zu, die in Reaktion auf das Auftreten des Ereignisses durchgeführt werden soll (208). Die Aktion ist die Aktion, die der Benutzer durchgeführt haben möchte, sobald das Auftreten eines Ereignisses ermittelt wird. Die Aktion kann zum Beispiel die Präsentation einer Erinnerungsmitteilung sein, etwas zu tun, oder die Präsentation eines Bestätigungsbefehls, um etwas im Auftrag des Benutzers tun zu lassen, oder eine Aktion, die vollständig oder teilweise automatisch ohne eine Erinnerungsmitteilung oder Bestätigung zum Durchführen der Aktion durchgeführt wird.
  • In einigen Implementierungen kann die Aktion aus einer Liste der verfügbaren Aktionen ausgewählt werden. Im Fall eines Imbisswagens kann zum Beispiel eine Vielzahl von Aktionen verfügbar sein, wie z. B. das automatische Aufgeben einer Bestellung und der Kauf derselben, oder eine Benachrichtigung über den Standort des Imbisswagens oder eine Kombination aus beidem. In anderen Implementierungen kann der Benutzer die Aktion unabhängig vom Ereignis definieren. Im Fall des Imbisswagens kann der Benutzer zum Beispiel wollen, dass ihm Benachrichtigungen, wie z. B. „Julia fragen, ob sie mit dir Mittagessen möchte“, präsentiert werden.
  • Der Prozess 200 stellt Daten bereit, die das Ereignis für die physische Entität angeben, und Daten, die eine Aktion angeben, die dem Ereignis zugeordnet ist (210). Sobald der Benutzer das Ereignis und die zu ergreifende Aktion definiert, speichert das System, z. B. das Benutzergerät 106 oder das Aktionsauslöser-Verarbeitungssystem 120, die Daten als Aktionsauslöser, der dann dem Ereignis und der Aktion zugeordnet wird, und speichert den Aktionsauslöser in einem Aktionsauslöser-Datenspeicher. Auf den Datenspeicher wird dann durch das System für die Überwachung zugegriffen.
  • 2B zeigt ein Ablaufdiagramm eines exemplarischen Prozesses 250 für das Überwachen einer Zuordnung eines Ereignisses für eine physische Entität und das Durchführen einer Aktion auf Basis des Auftretens des Ereignisses. Der Prozess 250 kann durch ein Benutzergerät oder alternativ durch ein Serversystem in Reaktion auf das Empfangen von Auswahldaten von einem Benutzergerät durchgeführt werden.
  • Der Prozess 250 greift auf einen Aktionsauslöser in einem Aktionsauslöser-Datenspeicher zu und ermittelt das zu überwachende Ereignis und die durchzuführende Aktion (252). Jeder Aktionsauslöser beinhaltet Daten, die das zu überwachende Ereignis und die durchzuführende Aktion auf Basis der Überwachung des Auftretens des Ereignisses definieren.
  • Der Prozess 250 überwacht das Auftreten des Ereignisses für die physische Entität (254). Das Ereignis kann durch den Aktionsauslöserprozessor 124 regelmäßig, z. B. alle N Minuten, überwacht werden, oder das Auftreten kann ermittelt werden, wenn der Aktionsauslöserprozessor 124 eine Benachrichtigung von einer Drittpartei empfängt, dass das Ereignis aufgetreten ist. Im letzteren Fall kann die Drittpartie eine oder mehrere APIs verwenden, um das Ereignis dem Aktionsauslöserprozessor zu übermitteln oder es anderweitig zu registrieren. Im Fall des oben beschriebenen Imbisswagens kann das Imbisswagenunternehmen zum Beispiel einen Dienst nutzen, der durch das Aktionsauslöser-Verarbeitungssystem 120 angeboten wird, und Daten für das Aktionsauslöserverarbeitungssystem 120 bereitstellen.
  • Der Prozess 250 kann, in Reaktion auf das Auftreten des Ereignisses, veranlassen, dass die dem Ereignis zugeordnete Aktion durchgeführt wird (256). Wie zuvor beschrieben, kann die Aktion die Präsentation einer Erinnerungsmitteilung sein, etwas zu tun. Die Aktion kann auch die Präsentation eines Bestätigungsbefehls sein, eine andere Aktion im Auftrag des Benutzers durchführen zu lassen. Alternativ kann die Aktion eine sein, die automatisch ohne eine Erinnerungsmitteilung oder Bestätigung, die Aktion durchzuführen, durchgeführt wird. Die Aktion kann vom Benutzergerät oder alternativ durch ein separates System durchgeführt werden.
  • Im Fall einer Benachrichtigung kann der Benutzer außerdem angeben, dass Benachrichtigungen nur während geeigneter Zeiten bereitgestellt werden, in denen der Benutzer die Benachrichtigungen überprüfen und auf sie reagieren kann. Der Benutzer kann zum Beispiel eine Bedingung einstellen, dass der Benutzer nicht benachrichtigt wird, wenn der Benutzer auf Basis des Kalenders des Benutzers in einer Besprechung ist. Dadurch kann die Präsentation der Benachrichtigung verzögert werden, wenn der Kalender des Benutzers angibt, dass der Benutzer zur Zeit einen Termin hat, z. B. wenn sich der Benutzer, wie im Arbeitskalender des Benutzers geplant, in einer Besprechung befindet. Eine Vielzahl von Benachrichtigungsarten, einschließlich Push-Benachrichtigungen des mobilen Betriebssystems (BS), Textnachrichten, E-Mails, eine Mitteilung über das Internet oder einen digitalen Assistenten oder andere Formen der Benachrichtigung, können verwendet werden. Im Fall einer Warnung über einen digitalen Assistenten kann der digitale Assistent die richtige Zeit, den richtigen Standort und das richtige Verfahren zum Benachrichtigen des Benutzers ermitteln oder eine Aktion im Auftrag des Benutzers durchführen. Wenn der Benutzer sich zum Beispiel in einer Geschäftsbesprechung befindet, kann der digitale Assistent mit dem Benachrichtigen des Benutzers warten, bis der Benutzer aus der Besprechung kommt, oder nachdem der Arbeitstag des Benutzers beendet ist.
  • Darüber hinaus kann in einigen Implementierungen die Präsentation der vom Benutzer definierten Aktion oder die Durchführung der vom Benutzer definierten Aktion für ein anderes Gerät als das Benutzergerät 106 bereitgestellt werden. Die Präsentation kann zum Beispiel für ein Gerät bereitgestellt werden, von dem ermittelt wird, dass es in der Nähe des Benutzers ist, oder ein Gerät, das der Benutzer sieht oder betrachtet. Wenn das Benutzergerät 106 des Benutzers zum Beispiel vom Benutzer für einen Schwellenwertzeitraum nicht verwendet wurde, und der Benutzer ein anderes Gerät verwendet, kann das Aktionsverarbeitungssystem 120 bestimmen, dem Benutzer die definierte Aktion auf dem Gerät zu präsentieren, das der Benutzer gerade verwendet.
  • Eine Vielzahl von Benutzeroberflächen und Interaktionsmodellen können verwendet werden, um die Erstellung von Aktionsauslösern und die Präsentation von Ergebnissen aus Aktionen, die durchgeführt werden, zu ermöglichen. 3A - 3C und 4A - 4C zeigen Beispiele mehrerer Benutzeroberflächen.
  • 3A - 3C sind Veranschaulichungen von Benutzeroberflächen 302, 322 und 340 an einem Benutzergerät 300, in denen ein Aktionsauslöser erstellt und die Ergebnisse einer durchgeführten Aktion dargestellt werden. In diesem Beispiel wird ein Aktionsauslöser für eine physische Entität eines Imbisswagens erstellt. Das physische Umgebungsmerkmal ist ein Standort des Imbisswagens und das Ereignis ist das Vorhandensein des Imbisswagens am Standort oder innerhalb einer Schwellenwertentfernung desselben. Die Aktion, die durchgeführt wird, ist eine Benachrichtigung eines Benutzers.
  • 3A stellt eine Benutzeroberfläche 302 dar, auf der eine Eingabeaufforderung 304 präsentiert wird, einen Aktionsauslöser zu erzeugen. Das Benutzergerät 300 kann auf eine Vielzahl von Arten veranlasst werden, die Eingabeaufforderung zu präsentieren. Wenn das Benutzergerät zum Beispiel verwendet wird, um einen Kauf vom Anbieter zu vollziehen, kann die Eingabeaufforderung automatisch präsentiert werden. Alternativ kann der Benutzer zu einer Webseite navigieren oder eine native Anwendung initiieren, die die Präsentation der Eingabeaufforderung veranlasst. In noch einem anderen Beispiel kann das Benutzergerät NFC/Bluetooth oder eine andere HF-Technologie für persönliche Bereiche verwenden, um mit einem System im Imbisswagen zu kommunizieren. In diesem letzteren Beispiel kann der Benutzer eine Präferenz einstellen, die es dem Benutzergerät 300 ermöglicht, für die Zwecke des Festlegens von Aktionsauslösern „erkannt“ zu werden, und der Imbisswagen kann ein Gerät beinhalten, das ein Datensignal überträgt, das den Imbisswagen identifiziert und das, optional, eine Nachricht an ein Benutzergerät in der Nähe auslöst, die das Benutzergerät veranlasst, eine Benutzeroberfläche anzuzeigen, die die Erstellung eines Auslösers ermöglicht. In noch einem anderen Beispiel kann das Benutzergerät einen Code, wie z. B. einen QR-Code oder einen Strichcode, am Imbisswagen scannen oder ein Zeichen am Imbisswagen eintippen, das lautet „tippe mit deinem Telefon auf das Imbisswagen-Zeichen, um benachrichtigt zu werden, wenn er das nächste Mal hier ist“, was das Benutzergerät veranlasst, das Datensignal über ein HF-Nahbereich-Signalprotokoll zu empfangen.
  • Zwei Optionen werden präsentiert: die Auswahl der ersten Option 306 fährt mit der Benutzeroberfläche von 3B fort und die Auswahl der zweiten Option 308 beendet den Prozess. Unter jetziger Bezugnahme auf 3B beinhaltet die Benutzeroberfläche 322 eine zweite Eingabeaufforderung 324 und drei Optionen 326, 328 und 330, die jeweils einem Ereignis für ein physisches Umgebungsmerkmal entsprechen. Die erste Option 326 definiert ein Ereignis, das auftritt, wenn der Imbisswagen wieder in der Nähe des Standorts ist, den der Imbisswagen zurzeit belegt. Die zweite Option 328 definiert ein Ereignis, das auftritt, wenn sich der Imbisswagen in der Nähe eines Standorts befindet, den der Benutzer angibt. Die dritte Option 330 definiert ein Ereignis, das auftritt, wenn sich der Imbisswagen in der Nähe eines Standorts des Benutzers befindet. Der Standort des Benutzers wird durch den Standort des Benutzergeräts 300 bestimmt.
  • Angenommen, der Benutzer wählt die dritte Option 330 aus. Dies erstellt einen Aktionsauslöser, der ein Ereignis angibt, das das nächste Mal auftritt, wenn sich der Imbisswagen in der Nähe des Benutzers befindet. Auch wenn nicht dargestellt, kann es dem Benutzer ermöglicht werden, zusätzliche Bedingungen anzugeben, z. B. das Ereignis darf nur an Wochentagen und zwischen 11:30 Uhr und 13:00 Uhr auftreten und die Überwachung darf zum Beispiel erst am nächsten Tag beginnen. Der Aktionsauslöser wird dann dem Aktionsauslöser-Verarbeitungssystem 120 für die Überwachung bereitgestellt.
  • Um zu ermitteln, ob das Ereignis aufgetreten ist, kann das Aktionsauslöser-Verarbeitungssystem 120 Standortdaten des Imbisswagens und des Benutzergeräts, entweder auf Anforderung oder durch Push-Benachrichtigung, empfangen. Die Standortdaten geben den aktuellen Standort der physischen Entität Imbisswagen sowie das physische Umgebungsmerkmal des Standorts des Benutzergeräts an. Das Aktionsauslöser-Verarbeitungssystem 120 ermittelt, ob eine Nähe des aktuellen Standorts des Imbisswagens zum Standort des Benutzergeräts geringer als eine Schwellenwertnähe ist. Die Schwellenwertnähe kann durch den Benutzer oder automatisch durch das System 120 eingestellt werden. Es kann zum Beispiel ein Radius einer bestimmten Entfernung verwendet werden. Das System 120 ermittelt, dass das Ereignis aufgetreten ist, wenn die Nähe geringer als eine Schwellenwertnähe ist.
  • Eine andere Möglichkeit, wie Standortdaten ermittelt werden können, besteht durch Empfangen von Daten von einem visuellen Verfolgungssystem. Wenn ein Benutzer zum Beispiel einen bestimmten Imbisswagen angibt, kann der Standort des bestimmten Imbisswagens durch Überwachen und Verfolgen des Standorts des Imbisswagens ermittelt werden, zum Beispiel durch ein Satellitensystem mit der Fähigkeit, jene physischen Entitäten zu verfolgen. Das Satellitensystem (oder eine beliebiges andere visuell basierte Verfolgungssystem) kann dann dem Aktionsauslöser-Verarbeitungssystem 120 Standortdaten für die Überwachung und Verarbeitung bereitstellen.
  • 3C stellt eine Benutzeroberfläche 340 dar, auf der eine Benachrichtigung 342 in Reaktion auf das Ermitteln, dass das Ereignis aufgetreten ist, präsentiert wird. Statt oder zusätzlich zu der Benachrichtigung 342 könnten auch andere Aktionen, wie z. B. der Vorab-Kauf von Artikeln von der Speisekarte usw., durchgeführt werden.
  • 4A - 4C zeigen Veranschaulichungen von Benutzeroberflächen 402, 420 und 440 an einem Benutzergerät 300, in denen ein anderer Aktionsauslöser erstellt und die Ergebnisse einer durchgeführten Aktion dargestellt werden. In diesem Beispiel wird ein Aktionsauslöser für eine physische Entität eines Lieferartikels erstellt. Das physische Umgebungsmerkmal ist ein Standort einer Türschwelle und das Ereignis ist das Vorhandensein des Lieferartikels an der Türschwelle. Die Aktion, die durchgeführt wird, ist eine Benachrichtigung eines Benutzers.
  • In 4A hat der Benutzer eine Benutzeroberfläche aufgerufen, die die Erzeugung eines Aktionsauslösers ermöglicht. Das Benutzergerät 300 kann in der Lage sein, Daten zum Beispiel vom Sicherheitssystem eines Benutzers zu empfangen, und der Benutzer hat, wie im Bild 404 dargestellt, einen Video-Feed der Vordertür des Benutzers ausgewählt. Eine Eingabeaufforderung 406 beschreibt, dass der Benutzer eine bestimmte Videokamera ausgewählt hat, stellt Optionen 408, 410, 412 und 414 für das Empfangen einer Benachrichtigung bereit.
  • Das Aktionsauslöser-Verarbeitungssystem 120 (oder alternativ das Benutzergerät 400) kann ein System für maschinelles Lernen beinhalten, das trainiert wurde, um verschiedene Objekte, wie z. B. jene zu erkennen, die in den Optionen 408, 410 und 412 aufgelistet sind. Der Benutzer kann außerdem Option 414 auswählen, um ein anderes Objekt zu beschreiben. Eine Vielzahl von Bilderkennungsmodellen für maschinelles Lernen können verwendet werden, um bestimmte Objekte zu erkennen.
  • Und schließlich kann Option 416 ausgewählt werden, wenn der Benutzer angeben möchte, dass eine andere Aktion durchgeführt wird. Diese anderen Aktionen können eine E-Mail mit einem Bild des Objekts an der Türschwelle beinhalten, wenn das Objekt erkannt wird, oder das automatische Klingeln der Türklingel oder eine beliebige andere Aktion, die dem Ereignis zugeordnet werden kann.
  • Angenommen, dass der Benutzer in diesem Beispiel sein Auto waschen möchte, aber entdeckt hat, dass er kein Autoseifenkonzentrat mehr hat. Der Benutzer hat eine Flasche Seifenkonzentrat von einem Online-Einzelhändler bestellt und wartet auf die Lieferung und möchte daran erinnert werden, sein Auto zu waschen, wenn das Paket geliefert wird. Demgemäß wählt der Benutzer Option 408 aus.
  • In Reaktion auf die Auswahl von Option 408 wird die Benutzeroberfläche 420 von 4B angezeigt. Die Benutzeroberfläche 420 beinhaltet eine Bestätigungsmeldung und Eingabeaufforderung 422. Eingabeanzeige 424 zeigt die Erinnerungsmitteilungsbefehlsnachricht, die der Benutzer durch Verwendung einer Mikrofoneingabe 426 erstellt. Sobald die Eingabe des Benutzers abgeschlossen ist, wird ein entsprechender Aktionsauslöser erzeugt.
  • Der Aktionsauslöser wird dann zum Aktionsauslöser-Verarbeitungssystem 120 gesendet (oder bleibt alternativ nur auf dem Benutzergerät 300, wenn das Benutzergerät die Überwachungsfunktion durchführt).
  • Das System überwacht dann auf das Auftreten des Ereignisses. In diesem Beispiel kann das System iterativ Bilder, wie z. B. Video-Einzelbilder, des physischen Umgebungsmerkmals des Türschwellenorts empfangen. Für jede Iteration wird Bildverarbeitung durchgeführt, um zu ermitteln, ob die physische Entität Lieferpaket im Bild dargestellt ist. Wenn ermittelt wird, dass das Lieferpaket im Bild vorhanden ist, ermittelt das System, dass das Ereignis aufgetreten ist und führt die zugeordnete Aktion des Präsentierens einer Erinnerungsmitteilung durch.
  • 4C stellt eine Benutzeroberfläche 440 dar, auf der eine Benachrichtigung 446 in Reaktion auf das Ermitteln, dass das Ereignis aufgetreten ist, präsentiert wird. Die Benutzeroberfläche beinhaltet das Bild 442 und im Bild dargestellt ist ein Behälter 444 an der Türschwelle. Die Benachrichtigung 446 beschreibt das Ereignis und beinhaltet die vom Benutzer angegebene Erinnerungsmitteilung.
  • Wie zuvor beschrieben, können in einigen Implementierungen Ereignisse, die überwacht werden, einer automatischen Änderung durch das System 120 unterliegen, ebenso wie die Aktionen. Die Änderungen können das Ergebnis von Bedingungen sein, die einen Wert beeinflussen, der einem Ereignis oder einer Aktion zugeordnet ist. Wie unter erneuter Bezugnahme ersichtlich zum Imbisswagenbeispiel, kann das System zum Beispiel Rückmeldung von Benachrichtigungen analysieren, die bereitgestellt werden, wenn die Schwellenwertentfernung 1.000 Meter beträgt. Das System 120 kann ermitteln, dass Benutzer, die mehr als 500 Meter vom Imbisswagen entfernt sind, wenn ihnen eine Benachrichtigung bereitgestellt wird, den Imbisswagen weniger häufig frequentieren, als Benutzer, die weniger als 500 Meter vom Imbisswagen entfernt sind, wenn ihnen eine Benachrichtigung bereitgestellt wird. Dadurch kann das System das Ereignisauftreten von 1.000 Meter zu 500 Meter ändern. Ähnlich können Aktionen auch einer automatischen Änderung durch das System 120 unterliegen.
  • Außerdem muss ein Benutzer nicht ein bestimmtes Benutzergerät verwenden, um einen Auslöser festzulegen. Stattdessen kann jedwedes Gerät, von dem eine Benutzereingabe einem Benutzer zugeordnet werden kann, zum Festlegen eines Auslösers verwendet werden. Ein Benutzer kann zum Beispiel einfach in eine Sicherheitskamera sprechen, wenn er tagsüber weggeht. Da die Sicherheitskamera mit einem System verbunden ist, das einem Benutzerkonto des Benutzers zugeordnet ist, kann der resultierende Sprachbefehl verwendet werden, um einen Aktionsauslöser für den Benutzer festzulegen. Wie unter erneuter Bezugnahme ersichtlich zum Beispiel des Autoreinigungsmittels kann der Benutzer, nach dem Weggehen zur Arbeit, einfach gegenüber der Kamera äußern „teile mir mit, wenn ein Paket geliefert wird“. Das System 120, das vorhandene semantische und Sprachbefehlsalgorithmen verwendet, kann den Sprachbefehl des Benutzers parsen und den Aktionsauslöser für den Benutzer festlegen.
  • In einigen Implementierungen kann ein Benutzer eine Aktion angeben, für die das Objekt der Aktion ein anderer Benutzer ist. Wie unter erneuter Bezugnahme auf das Automobilreinigungsbeispiel ersichtlich, kann der Benutzer zum Beispiel, auf dem Weg zur Arbeit, gegenüber der Kamera äußern „Jack Child benachrichtigen, das Autoreinigungsmittel an der Tür abzuholen, und dann mein Auto waschen, wenn das Paket geliefert wird“. Das System 120 kann auf die Kontaktinformationen des Benutzers zugreifen und ermitteln, dass Jack Child der Sohn des Benutzers ist, und erzeugt die erforderliche Benachrichtigung auf einem Gerät, das Jack Child zugeordnet ist, wenn das Paket geliefert wird, z. B. „Bitte das Autoreinigungsmittel an der Tür abholen und das Auto deines Vaters waschen“.
  • Außerdem muss eine Aktion nicht angegeben werden, wenn ermittelt wird, dass eine Aktion aus einem Ereignis folgt. Eine Aktion kann aus einem Ereignis ermittelt werden, das zum Beispiel auf dem Benutzerverlauf basiert, oder auf Entitätsbeziehungsmodellen basiert, die Aktionen Ereignissen zuordnen. Ein Benutzer kann zum Beispiel ein Haustier in einen eingezäunten Hof lassen und den Sprachbefehl äußern „auf den Hund an der Tür aufpassen“. Entweder auf Basis des Benutzerverlaufs früherer Aktionsauslöser (z. B. „Lass den Hund herein, wenn du ihn an der Tür siehst“, „Benachrichtige mich, wenn der Hund an der Tür ist“ usw.) kann das System eine Aktion ableiten, den Benutzer zu benachrichtigen, wenn es später einen Hund an der Tür erkennt, oder es kann alternativ die Tür automatisch öffnen, um den Hund hereinzulassen und dann die Tür schließen, vorausgesetzt, die Tür ist für eine solche ferngesteuerte Betätigung ausgestattet.
  • In einigen Implementierungen können Ereignisse nach Durchführung einer Aktion oder nach einer Verzögerung, nachdem die Aktion durchgeführt wurde, erneut überwacht werden. Die ermöglicht das „Zurücksetzen“ eines Aktionsauslösers ohne Benutzerintervention und ist im Zusammenhang mit sich wiederholenden Aktionen nützlich, die auf sich wiederholenden Ereignissen basieren. Ein Kühlgerät mit einer Kamera kann zum Beispiel bestimmte Lebensmittel, wie z. B. einen Milchkarton, überwachen. Wenn der Milchkarton nur noch 1/3 voll ist, kann das System die Aktion durchführen, um einen weiteren Karton Milch zu bestellen. Das System kann außerdem Reaktionszeiten lernen und den Ereignisauslöser automatisch anpassen. Wenn die Lieferzeit für Milch zum Beispiel so festgelegt ist, dass der Benutzer keine Milch mehr hat, bevor der Karton ankommt, wie durch den Kühlschrank ohne Milchkarton erkannt wird, kann das System den Milchkarton überwachen und feststellen, wenn dieser halb leer statt 2/3 leer ist, und die Bestellung aufgeben, wenn der Karton halb leer ist.
  • Das System kann außerdem den Auslöser auf Basis anderer Daten anpassen, die angeben, dass ein Auslöser angepasst werden sollte. Diese Daten beinhalten Daten, die angeben können, dass ein bestimmtes Bedürfnis des Benutzers, das durch eine Aktion erfüllt wird, nicht erfüllt ist, nachdem die Aktion durchgeführt wurde. Eine Aktion, die ein Konsumbedürfnis erfüllt, kann zum Beispiel auf Basis von Daten angepasst werden, die eine Konsumrate angeben. Nehmen wir zur Veranschaulichung an, dass das System, indem es auf den Kalender eines Benutzers zugreift, identifiziert, dass der Benutzer Gäste für eine Woche hat. Das System kann auf Basis der Zahl der Gäste ermitteln, dass dieses das Ereignis, dass die Milch 1/3 voll ist, zu halb voll ändern sollte, um die Bestellung aufzugeben, während die Gäste anwesend sind. Ähnlich kann, sollte das System zusätzliche Personen über einen längeren Zeitraum in der Wohnung des Benutzers erkennen, das System Aktionsauslöser entsprechend anpassen.
  • In Situationen, in denen die Systeme, die hierin besprochen werden, persönliche Informationen über Benutzer sammeln, oder persönliche Informationen nutzen können, kann für die Benutzer eine Möglichkeit oder Option der Kontrolle bereitgestellt werden, ob Programme oder Funktionen Benutzerinformationen sammeln (z. B. Informationen über das soziale Netzwerk eines Benutzers, soziale Handlungen oder Aktivitäten, Beruf, eine Benutzerpräferenz, der derzeitige Standort eines Benutzers, Standortsbewegungsbahn, abgeleitete Standorte wie Zuhause/Arbeit, abgeleiteter Kontext, Kalenderdaten, kommende Ereignisse/Buchungen aus E-Mails usw.), oder um zu kontrollieren, ob und/oder wie Inhalt vom Content-Server empfangen wird, der für den Benutzer relevanter sein kann. Darüber hinaus können bestimmte Daten auf eine oder mehrere Weisen behandelt werden, bevor sie gespeichert oder verwendet werden, sodass personenbezogene Informationen entfernt werden. Eine Benutzeridentität kann beispielsweise so behandelt werden, dass keine personenbezogenen Informationen für den Benutzer bestimmt werden können, oder ein geografischer Standort des Benutzers beim Erhalt von Standortinformationen (wie beispielsweise eine Stadt, Postleitzahl oder Bundesland) verallgemeinert werden kann, sodass ein bestimmter Standort eines Benutzers nicht festgestellt werden kann. Auf diese Weise kann der Benutzer die Kontrolle darüber haben, inwiefern Informationen über den Benutzer gesammelt und von einem Content-Server verwendet werden.
  • 5 zeigt ein Blockdiagramm eines exemplarischen mobilen Computergeräts. In dieser Veranschaulichung ist das mobile Computergerät 510 als ein handgehaltenes Mobiltelefon (z. B. ein Smartphone oder ein Anwendungstelefon) dargestellt, das ein Touchscreen-Anzeigegerät 512 beinhaltet, um einem Benutzer des mobilen Computergeräts 510 Inhalt zu präsentieren und auf Berührung basierende Benutzereingaben zu empfangen. Andere visuelle, taktile und auditorische Ausgabekomponenten (z. B. LED-Leuchten, ein Vibrationsmechanismus für taktile Ausgaben oder ein Lautsprecher zum Bereitstellen von durch Sprache erzeugter oder aufgezeichneter Ausgaben), ebenso wie verschiedene unterschiedliche Eingabekomponenten können ebenfalls bereitgestellt sein.
  • Das mobile Computergerät 510 kann mechanische oder berührungsempfindliche Tasten 518a-d beinhalten. Außerdem kann das mobile Computergerät Tasten für das Anpassen der Lautstärkeausgabe durch den einen oder die mehreren Lautsprecher 520 und eine Taste für das Ein- oder Ausschalten des mobilen Computergeräts beinhalten. Ein Mikrofon 522 ermöglicht es dem mobilen Computergerät 510, hörbare Töne in ein elektrisches Signal umzuwandeln, das digital codiert und in einem computerlesbaren Speicher gespeichert oder an ein anderes Computergerät übertragen werden kann. Das mobile Computergerät 510 kann zudem einen digitalen Kompass, einen Beschleunigungssensor, Näherungssensoren und Umgebungslichtsensoren beinhalten.
  • Das mobile Computergerät 510 kann eine grafische Benutzeroberfläche mit dem Touchscreen 512 anzeigen. Eine grafische Benutzeroberfläche ist eine Sammlung von einem oder mehreren grafischen Benutzeroberflächenelementen und kann statisch sein (z. B. scheint die Anzeige über einen Zeitraum gleich zu bleiben), oder kann dynamisch sein (z. B. beinhaltet die grafische Benutzeroberfläche grafische Benutzeroberflächenelemente, die ohne Benutzereingabe animiert werden).
  • Das mobile Computergerät 510 kann andere Anwendungen, Computersubsysteme und Hardware beinhalten. Ein Spracherkennungsdienst 572 kann Sprachkommunikationsdaten empfangen, die vom Mikrofon des mobilen Computergeräts 522 empfangen wurden, und die Sprachkommunikation in entsprechende Textdaten übersetzen oder Spracherkennung durchführen.
  • Das mobile Computergerät 510 kann drahtlos mit einem oder mehreren Netzwerken kommunizieren, um eine Vielzahl von Diensten, wie z. B. Sprach- und Datendienste, bereitzustellen.
  • Ausführungsformen des Gegenstands sowie die in dieser Spezifikation beschriebenen Vorgänge können in einer digitalen elektronischen Schaltung oder in Computersoftware, Firmware oder Hardware, darunter auch in aus dieser Spezifikation hervorgehenden Strukturen und deren strukturellen Entsprechungen oder in Kombinationen derselben, implementiert werden. Ausführungsformen des in dieser Spezifikation beschriebenen Gegenstands können als ein oder mehrere Computerprogramme implementiert werden, d. h. als ein oder mehrere Module mit Computerprogrammanweisungen, die auf einem Computerspeichermedium codiert sind, um von einem Datenverarbeitungsgerät ausgeführt zu werden bzw. den Betrieb desselben zu steuern.
  • Ein Computerspeichermedium kann ein computerlesbares Speichergerät, ein computerlesbares Speichersubstrat, ein frei adressierbares oder serielles Zugriffsspeicher-Array oder -Gerät oder eine Kombination derselben sein bzw. darin beinhaltet sein. Ein Computerspeichermedium ist zwar kein sich verbreitendes Signal, ein Computerspeichermedium kann jedoch eine Quelle oder ein Ziel von Computerprogrammbefehlen sein, die in einem künstlich erzeugten verbreiteten Signal kodiert sind. Bei dem Computerspeichermedium kann es sich auch um eine oder mehrere unterschiedliche physische Komponenten oder Medien (z. B. mehrere CDs, Disks oder andere Speichergeräte) handeln, bzw. kann das Speichermedium darin enthalten sein.
  • Die in dieser Spezifikation beschriebenen Vorgänge können als Vorgänge implementiert sein, die durch eine Datenverarbeitungsvorrichtung an Daten ausgeführt werden, die auf einer oder mehreren computerlesbaren Speichergerät(en) gespeichert, oder von anderen Quellen empfangen werden. Der Begriff „Datenverarbeitungsgerät“ umfasst verschiedene Apparate, Geräte und Maschinen zur Verarbeitung von Daten, einschließlich z. B. eines programmierbaren Prozessors, eines Computers, eines oder mehrerer Systeme auf einem Chip bzw. einer Kombination derselben. Das Gerät kann eine Spezial-Logikschaltung, wie z. B. eine FPGA (feldprogrammierbare Universalschaltung) oder eine ASIC (anwendungsspezifische integrierte Schaltung) beinhalten. Das Gerät kann zusätzlich zur Hardware auch Code beinhalten, der eine Ausführungsumgebung für das entsprechende Computerprogramm, wie z. B. Code, erzeugt, der Prozessorfirmware, einen Protokollstapel, ein Datenbankverwaltungssystem, ein Betriebssystem, eine plattformübergreifende Laufzeitumgebung, einen virtuellen Computer oder eine Kombination derselben darstellt. Das Gerät und die Ausführungsumgebung können verschiedene Computermodellinfrastrukturen, wie z. B. Webdienste, sowie verteilte Rechen- und räumlich verteilte Rechen-Infrastrukturen realisieren.
  • Prozessoren, die für die Ausführung eines Computerprogramms geeignet sind, beinhalten beispielsweise sowohl allgemeine als auch spezielle Mikroprozessoren, sowie jegliche Arten eines oder mehrerer Prozessoren einer beliebigen Art von digitalen Computern. Im Allgemeinen empfängt ein Prozessor Befehle und Daten von einem Nur-Lese-Speicher oder einem Speicher mit wahlfreiem Zugriff oder von beiden. Die wesentlichen Bestandteile eines Computers sind ein Prozessor zum Ausführen von Aktionen gemäß Anweisungen sowie ein oder mehrere Speichergeräte zum Speichern von Anweisungen und Daten. Im Allgemeinen beinhaltet ein Computer außerdem ein oder mehrere Massenspeichergeräte zum Speichern von Daten, wie z. B. magnetische, magnetooptische oder optische Datenträger, um Daten zu empfangen und/oder zu senden, oder ist operativ an ein solches Speichergerät gekoppelt. Ein Computer muss jedoch nicht über diese Geräte verfügen.
  • Die in dieser Spezifikation beschriebenen Ausführungsformen des Gegenstandes können in einem Computersystem implementiert werden, das eine Backend-Komponente, wie z. B. einen Datenserver, oder eine Middleware-Komponente, wie z. B. einen Anwendungsserver, oder eine Frontend-Komponente, wie z. B. einen Benutzer-Computer mit einer grafischen Benutzeroberfläche oder eine beliebige Kombination einer oder mehrerer der besagten Backend-, Middleware- oder Frontend-Komponenten oder einen Web-Browser beinhaltet, durch den ein Benutzer mit einer in dieser Spezifikation beschriebenen Implementierung des Gegenstandes interagieren kann. Die Komponenten des Systems können durch eine beliebige Form oder ein beliebiges Medium digitaler Datenkommunikation, wie z. B. ein Kommunikationsnetzwerk, miteinander verbunden sein. Beispiele für Kommunikationsnetzwerke beinhalten ein lokales Netzwerk („LAN“) und ein Großraumnetzwerk („WAN“), ein Inter-Netzwerk (z. B. das Internet) und Peer-to-Peer-Netzwerke (z. B. ad hoc Peer-to-Peer-Netzwerke).
  • Obgleich diese Spezifikation viele spezifische Implementierungsdetails enthält, sollten diese nicht als Einschränkungen des Umfangs von Erfindungen oder der Ansprüche ausgelegt werden, sondern als Beschreibungen von Merkmalen, die für bestimmte Ausführungsformen bestimmter Erfindungen spezifisch sind. Bestimmte Merkmale, die in dieser Spezifikation im Kontext der unterschiedlichen Ausführungsformen beschrieben werden, können zudem in Kombination in einer einzelnen Ausführungsform implementiert werden. Andererseits können verschiedene Merkmale, die im Kontext einer einzelnen Ausführungsform beschrieben werden, in mehreren Ausführungsformen oder in einer geeigneten Teilkombination implementiert werden. Außerdem können, auch wenn die Merkmale vorstehend ggf. als in bestimmten Kombinationen wirkend beschrieben und zunächst auch als solche beansprucht werden, in einigen Fällen ein oder mehrere Merkmale einer beanspruchten Kombination aus der Kombination herausgenommen und die beanspruchte Kombination auf eine Teilkombination oder eine Variante einer Teilkombination gerichtet werden.
  • Ebenso werden Vorgänge in den Zeichnungen zwar in einer bestimmten Reihenfolge dargestellt, dies sollte jedoch nicht als Anforderung verstanden werden, dass die besagten Vorgänge in der bestimmten dargestellten Reihenfolge oder in einer aufeinanderfolgenden Reihenfolge ausgeführt werden müssen, oder dass alle dargestellten Vorgänge ausgeführt werden müssen, um erwünschte Ergebnisse zu erzielen. Unter bestimmten Umständen können Multitasking und Parallelverarbeitung von Vorteil sein. Darüber hinaus sollte die Trennung verschiedener Systemkomponenten in den zuvor beschriebenen Ausführungsformen nicht in allen Ausführungsformen als erforderlich aufgefasst werden, zudem versteht sich, dass die beschriebenen Programmkomponenten und Systeme im Allgemeinen zusammen in ein einziges Softwareprodukt integriert oder in mehrere Softwareprodukte zusammengefasst werden können.
  • Somit werden bestimmte Ausführungsformen des Gegenstands beschrieben. Weitere Ausführungsformen liegen innerhalb des Schutzumfangs der folgenden Ansprüche. So können in einigen Fällen die in den Ansprüchen angegebenen Aktionen in einer anderen Reihenfolge durchgeführt werden und dennoch erwünschte Ergebnisse erzielen. Zusätzlich setzen beispielsweise die in den beigefügten Figuren dargestellten Prozesse nicht unbedingt die gezeigte spezielle Reihenfolge oder fortlaufende Reihenfolge voraus, um erwünschte Ergebnisse zu erzielen. In bestimmten Implementierungen können Multitasking und eine Parallelverarbeitung vorteilhaft sein.

Claims (21)

  1. Beansprucht wird:
  2. Verfahren, umfassend: Empfangen, durch eine Datenverarbeitungsvorrichtung, von Daten, die ein Ereignis für eine physische Entität angeben, wobei das Ereignis teilweise durch ein physisches Umgebungsmerkmal angegeben wird, für das das Auftreten des Ereignisses durch die Datenverarbeitungsvorrichtung überwacht werden soll; Empfangen, durch die Datenverarbeitungsvorrichtung, von Daten, die eine Aktion angeben, die dem Ereignis zugeordnet ist und in Reaktion auf das Auftreten des Ereignisses vorgenommen werden soll; Überwachen auf das Auftreten des Ereignisses für die physische Entität; und in Reaktion auf das Auftreten des Ereignisses, Veranlassen, dass die dem Ereignis zugeordnete Aktion durchgeführt wird.
  3. Verfahren nach Anspruch 1, ferner umfassend: Speichern der Daten, die das Ereignis und die Aktion, die in Reaktion auf das Auftreten des Ereignisses vorgenommen werden soll, angeben, in einem Aktionsauslöser-Datenspeicher; und wobei das Überwachen auf das Auftreten des Ereignisses für die physische Entität das Überwachen auf das Auftreten des Ereignisses für die physische Entität auf Basis der Daten, die im Aktionsauslöser-Datenspeicher gespeichert sind, umfasst.
  4. Verfahren nach Anspruch 1, ferner umfassend: Empfangen, durch die Datenverarbeitungsvorrichtung, von Daten, die das physische Umgebungsmerkmal beschreiben; Ermitteln, auf Basis einer Zuordnung physischer Umgebungsmerkmale zu einer Vielzahl von Ereignissen, entsprechender Ereignisse, die dem physischen Umgebungsmerkmal zugeordnet sind; und Bereitstellen von Daten für das Benutzergerät, die das Benutzergerät veranlassen, ein Aktionsauslöser-Menü anzuzeigen, das eine jeweilige Ereignisauswahleingabe für jedes der entsprechenden Ereignisse anzeigt, die dem physischen Umgebungsmerkmal zugeordnet sind; wobei das Ereignis ein entsprechendes Ereignis einer Ereigniseingabeauswahl ist, die von einem Benutzer des Benutzergeräts ausgewählt wird.
  5. Verfahren nach Anspruch 3, ferner umfassend: Ermitteln, auf Basis einer Zuordnung von Ereignissen zu einer Vielzahl von Aktionen und dem Ereignis, entsprechender Aktionen, die dem Ereignis zugeordnet sind; und Bereitstellen von Daten für das Benutzergerät, die das Benutzergerät veranlassen, im Aktionsauslöser-Menü eine jeweilige Aktionsauswahleingabe für jede der entsprechenden Aktionen anzuzeigen, die dem Ereignis zugeordnet sind; wobei die Daten, die die Aktion angeben, die dem Ereignis zugeordnet sind, das vom Benutzergerät empfangen wird, in Reaktion auf eine Auswahl einer oder mehrerer Aktionsauswahleingaben sind, die durch den Benutzer des Benutzergeräts ausgewählt werden.
  6. Verfahren nach Anspruch 3, ferner umfassend Ableiten, durch die Datenverarbeitungsvorrichtung und auf Basis des Ereignisses, der durchzuführenden Aktion.
  7. Verfahren nach Anspruch 1, wobei die Aktion eine Benachrichtigungspräsentation für den Benutzer ist; und Veranlassen, dass die Aktion, die dem Ereignis zugeordnet ist, durchgeführt wird, umfasst: Ermitteln, auf Basis von einer oder mehreren Benachrichtigungsbedingungen, ob eine Präsentation der Benachrichtigung für den Benutzer verzögert werden soll.
  8. Verfahren nach Anspruch 1, wobei das physische Umgebungsmerkmal durch ein Bild des physischen Umgebungsmerkmals beschrieben wird.
  9. Verfahren nach Anspruch 7, wobei das Bild des physischen Umgebungsmerkmals ein Bild eines Standorts ohne die physische Entität ist und das Ereignis das Vorhandensein der physischen Entität am Standort ist.
  10. Verfahren nach Anspruch 7, wobei das Überwachen auf das Auftreten des Ereignisses für die physische Entität umfasst: iteratives Empfangen von Bildern des physischen Umgebungsmerkmals; für jede Iteration, Bestimmen durch die Bildverarbeitung, ob die physische Entität im Bild dargestellt ist; und Ermitteln, dass das Ereignis aufgetreten ist, wenn ermittelt wird, dass die physische Entität im Bild dargestellt ist.
  11. Verfahren nach Anspruch 1, wobei das Überwachen auf das Auftreten des Ereignisses für die physische Entität umfasst: Empfangen von Standortdaten, die einen aktuellen Standort der physischen Entität angeben; Ermitteln einer Nähe des aktuellen Standorts der physischen Entität zu dem Standort des physischen Umgebungsmerkmals; und Ermitteln, dass das Ereignis aufgetreten ist, wenn die Nähe geringer als eine Schwellenwertnähe ist.
  12. Verfahren nach Anspruch 1, wobei das physische Umgebungsmerkmal durch ein Datensignal beschrieben wird, das durch die physische Entität erzeugt wird.
  13. Verfahren nach Anspruch 11, wobei das Datensignal die physische Entität identifiziert, und ferner umfassend: Empfangen von Standortdaten, die einen aktuellen Standort der physischen Entität angeben; Ermitteln einer Nähe des aktuellen Standorts der physischen Entität zu dem Standort des physischen Umgebungsmerkmals; und Ermitteln, dass das Ereignis aufgetreten ist, wenn die Nähe geringer als eine Schwellenwertnähe ist.
  14. Verfahren nach Anspruch 11, wobei: das Datensignal die physische Entität identifiziert und Daten beinhaltet, die eine Bedingung der physischen Entität angeben, die vom Standort der physischen Entität unabhängig ist; und ferner umfassend: Empfangen von physischen Entitätsdaten, die eine aktuelle Bedingung der physischen Entität angeben; Ermitteln, ob die aktuelle Bedingung der physischen Entität die Bedingung der physischen Entität erfüllt, die durch das Ereignis angegeben wird; und Ermitteln, ob das Ereignis aufgetreten ist, wenn die aktuelle Bedingung der physischen Entität die Bedingung der physischen Entität erfüllt, die durch das Ereignis angegeben wird.
  15. Verfahren nach Anspruch 1, wobei: das physische Umgebungsmerkmal, das durch das Benutzergerät erkannt wird, ein Standort einer physischen Entität ist; und Überwachen auf das Auftreten des Ereignisses für die physische Entität umfasst: Empfangen von Standortdaten, die einen aktuellen Standort eines Benutzergeräts angeben; Ermitteln einer Nähe des aktuellen Standorts des Benutzergeräts zu dem Standort der physischen Entität; und Ermitteln, dass das Ereignis aufgetreten ist, wenn die Nähe geringer als eine Schwellenwertnähe ist.
  16. Verfahren, umfassend: Empfangen von Daten, die ein physisches Umgebungsmerkmal angeben, für das ein Ereignis einer physischen Entität überwacht werden soll; in Reaktion auf die Daten, die das Umgebungsmerkmal angeben, Bereitstellen von Daten, die ein Benutzergerät veranlassen, ein Aktionsauslöser-Menü anzuzeigen, das eine jeweilige Ereignisauswahleingabe für jedes einer oder mehrerer Ereignisse anzeigt, die dem physischen Umgebungsmerkmal zugeordnet sind; Empfangen von Daten, die eine Auswahl am Benutzergerät von einer oder mehreren Ereignisauswahleingaben angeben, um ein Ereignis anzugeben; Zuordnen, zum Ereignis, einer Aktion, die in Reaktion auf das Auftreten des Ereignisses vorgenommen werden soll; und Bereitstellen von Daten, die das Ereignis für die physische Entität angeben, und Daten, die die Aktion angeben, die dem Ereignis zugeordnet sind.
  17. System, umfassend: einen Prozessor; und computerlesbares Medium, das mit dem Prozessor gekoppelt ist und auf dem Anweisungen gespeichert sind, die, wenn sie durch den Prozessor ausgeführt werden, den Prozessor veranlassen, Vorgänge durchzuführen, umfassend: Empfangen von Daten, die ein Ereignis für eine physische Entität angeben, wobei das Ereignis teilweise durch ein physisches Umgebungsmerkmal angegeben wird, für das das Auftreten des Ereignisses durch die Datenverarbeitungsvorrichtung überwacht werden soll; Empfangen von Daten, die eine Aktion angeben, die dem Ereignis zugeordnet ist und in Reaktion auf das Auftreten des Ereignisses vorgenommen werden soll; Überwachen auf das Auftreten des Ereignisses für die physische Entität; und in Reaktion auf das Auftreten des Ereignisses, Veranlassen, dass die dem Ereignis zugeordnete Aktion durchgeführt wird.
  18. System nach Anspruch 16, wobei die Vorgänge ferner umfassen: Empfangen, durch die Datenverarbeitungsvorrichtung, von Daten, die das physische Umgebungsmerkmal beschreiben; Ermitteln, auf Basis der Zuordnung der physischen Umgebungsmerkmale für eine Vielzahl von Ereignissen, entsprechender Ereignisse, die dem physischen Umgebungsmerkmal zugeordnet sind; und Bereitstellen von Daten für das Benutzergerät, die das Benutzergerät veranlassen, ein Aktionsauslöser-Menü anzuzeigen, das eine jeweilige Ereignisauswahleingabe für jedes der entsprechenden Ereignisse anzeigt, die dem physischen Umgebungsmerkmal zugeordnet sind; wobei das Ereignis ein entsprechendes Ereignis einer Ereigniseingabeauswahl ist, die von einem Benutzer des Benutzergeräts ausgewählt wird.
  19. System nach Anspruch 17, wobei die Vorgänge ferner umfassen: Ermitteln, auf Basis einer Zuordnung von Ereignissen zu einer Vielzahl von Aktionen und dem Ereignis, entsprechender Aktionen, die dem Ereignis zugeordnet sind; Bereitstellen von Daten für das Benutzergerät, die das Benutzergerät veranlassen, im Aktionsauslöser-Menü eine jeweilige Aktionsauswahleingabe für jede der entsprechenden Aktionen anzuzeigen, die dem Ereignis zugeordnet sind; wobei die Daten, die die Aktion angeben, die dem Ereignis zugeordnet ist, das vom Benutzergerät empfangen wird, in Reaktion auf eine Auswahl einer Aktionsauswahleingaben sind, die durch den Benutzer des Benutzergeräts ausgewählt werden.
  20. System nach Anspruch 16, wobei das Überwachen auf das Auftreten des Ereignisses für die physische Entität umfasst: Empfangen von Standortdaten, die einen aktuellen Standort der physischen Entität angeben; Ermitteln einer Nähe des aktuellen Standorts der physischen Entität zu dem Standort des physischen Umgebungsmerkmals; und Ermitteln, dass das Ereignis aufgetreten ist, wenn die Nähe geringer als eine Schwellenwertnähe ist.
  21. Computerlesbares Medium, auf dem Anweisungen gespeichert sind, die, wenn sie durch einen Prozessor ausgeführt werden, den Prozessor veranlassen, Vorgänge durchzuführen, umfassend: Empfangen von Daten, die ein Ereignis für eine physische Entität angeben, wobei das Ereignis teilweise durch ein physisches Umgebungsmerkmal angegeben wird, für das das Auftreten des Ereignisses durch die Datenverarbeitungsvorrichtung überwacht werden soll; Empfangen von Daten, die eine Aktion angeben, die dem Ereignis zugeordnet ist und in Reaktion auf das Auftreten des Ereignisses vorgenommen werden soll; Überwachen auf das Auftreten des Ereignisses für die physische Entität; und in Reaktion auf das Auftreten des Ereignisses, Veranlassen, dass die dem Ereignis zugeordnete Aktion durchgeführt wird.
DE112016003769.4T 2015-08-19 2016-08-19 Physosche Wissensaktionsauslöser Withdrawn DE112016003769T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/830,080 2015-08-19
US14/830,080 US10600296B2 (en) 2015-08-19 2015-08-19 Physical knowledge action triggers
PCT/US2016/047773 WO2017031425A1 (en) 2015-08-19 2016-08-19 Physical knowledge action triggers

Publications (1)

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

Family

ID=58051063

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112016003769.4T Withdrawn DE112016003769T5 (de) 2015-08-19 2016-08-19 Physosche Wissensaktionsauslöser

Country Status (9)

Country Link
US (3) US10600296B2 (de)
EP (1) EP3278234A4 (de)
JP (1) JP6499318B2 (de)
KR (1) KR101972141B1 (de)
CN (2) CN107969167B (de)
DE (1) DE112016003769T5 (de)
GB (1) GB2554269A (de)
RU (1) RU2695506C1 (de)
WO (1) WO2017031425A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018211048A1 (de) 2018-07-04 2020-01-09 BSH Hausgeräte GmbH Verfahren zum Bereithalten von Lebensmitteln in einem Haushaltskältegerät, sowie Haushaltskältegerät

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9727218B2 (en) * 2015-01-02 2017-08-08 Microsoft Technology Licensing, Llc Contextual browser frame and entry box placement
US20200029175A1 (en) * 2017-03-29 2020-01-23 Sharp Kabushiki Kaisha Information processing system
US10728634B2 (en) * 2018-12-19 2020-07-28 Simmonds Precision Products, Inc. Configurable distributed smart sensor system
US11516296B2 (en) * 2019-06-18 2022-11-29 THE CALANY Holding S.ÀR.L Location-based application stream activation
US20220261143A1 (en) * 2019-07-26 2022-08-18 Hanwha Techwin Co., Ltd. Computing device for communicating with network system comprising plurality of cameras, and operating method therefor
US11635885B2 (en) 2020-12-02 2023-04-25 Samsung Electronics Co., Ltd. Electronic device for supporting automation services

Family Cites Families (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6204763B1 (en) * 1999-03-22 2001-03-20 Jujitsu Limited Household consumable item automatic replenishment system including intelligent refrigerator
US8126784B1 (en) * 1999-12-08 2012-02-28 Amazon.Com, Inc. Automatically initiating product replenishment
US6405178B1 (en) * 1999-12-20 2002-06-11 Xerox Corporation Electronic commerce enabled purchasing system
US7444383B2 (en) 2000-06-17 2008-10-28 Microsoft Corporation Bounded-deferral policies for guiding the timing of alerting, interaction and communications using local sensory information
US6988080B2 (en) * 2001-02-16 2006-01-17 Zack Robert E Automated security and reorder system for transponder tagged items
US7472396B2 (en) 2001-05-18 2008-12-30 Qualcomm Incorporated Extensible event notification mechanism
WO2003009164A2 (en) 2001-07-16 2003-01-30 America Online Incorporated Method and apparatus for calendaring reminders
US8321302B2 (en) * 2002-01-23 2012-11-27 Sensormatic Electronics, LLC Inventory management system
US20040019603A1 (en) 2002-05-29 2004-01-29 Honeywell International Inc. System and method for automatically generating condition-based activity prompts
US6691032B1 (en) * 2002-09-09 2004-02-10 Groundspeak, Inc. System and method for executing user-definable events triggered through geolocational data describing zones of influence
TW200406694A (en) * 2002-10-23 2004-05-01 Theodore C Lee Automated communication apparatus
CA2476697A1 (en) 2003-08-19 2005-02-19 Karim Moheb Zaki Remote reminders application system
JP4885463B2 (ja) * 2005-03-03 2012-02-29 株式会社日立製作所 センサネットワークシステム、センサデータの処理方法及びプログラム
US7801328B2 (en) * 2005-03-31 2010-09-21 Honeywell International Inc. Methods for defining, detecting, analyzing, indexing and retrieving events using video image processing
WO2006111935A1 (en) * 2005-04-21 2006-10-26 Koninklijke Philips Electronics, N.V. Activity-related document mangement
US7468662B2 (en) * 2006-06-16 2008-12-23 International Business Machines Corporation Method for spatio-temporal event detection using composite definitions for camera systems
US20080004926A1 (en) 2006-06-30 2008-01-03 Microsoft Corporation Methods and architectures for context-sensitive reminders and service facilitation
US8132151B2 (en) * 2006-07-18 2012-03-06 Yahoo! Inc. Action tags
US20090157672A1 (en) 2006-11-15 2009-06-18 Sunil Vemuri Method and system for memory augmentation
US8005689B2 (en) * 2007-07-23 2011-08-23 Walgreen Co. Method and system for aligning a plurality of prescription refills to multiple alignment dates
US8180396B2 (en) * 2007-10-18 2012-05-15 Yahoo! Inc. User augmented reality for camera-enabled mobile devices
US20100169370A1 (en) * 2008-12-31 2010-07-01 Mazzagatti Jane C Kstore event manager using triggers for K
DE202010018601U1 (de) * 2009-02-18 2018-04-30 Google LLC (n.d.Ges.d. Staates Delaware) Automatisches Erfassen von Informationen, wie etwa Erfassen von Informationen unter Verwendung einer dokumentenerkennenden Vorrichtung
US20100214428A1 (en) * 2009-02-25 2010-08-26 Research In Motion Limited Method and mobile computing device for setting a pictorial reminder
KR20120042719A (ko) * 2009-03-09 2012-05-03 조켐 오와이 모바일 터미널과 라이프 옵저베이션을 제공하는 방법 그리고 관련 서버구조 및 데이터 분석, 분배 및 터미널 가이딩 특징을 갖는 방법
US8591315B2 (en) * 2009-04-15 2013-11-26 Wms Gaming, Inc. Environmental effects for near win events
US20100271202A1 (en) 2009-04-23 2010-10-28 Bo-In Lin Reminder messages delivery from reminder device when triggered by reminder-required events
US8412662B2 (en) * 2009-06-04 2013-04-02 Motorola Mobility Llc Method and system of interaction within both real and virtual worlds
US10706373B2 (en) * 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US8893047B2 (en) * 2009-11-09 2014-11-18 International Business Machines Corporation Activity triggered photography in metaverse applications
EP2596438A4 (de) 2010-07-22 2017-01-11 Hewlett-Packard Enterprise Development LP Kontextbasierte lesezeichensetzung
US20120232966A1 (en) * 2011-03-08 2012-09-13 Bank Of America Corporation Identifying predetermined objects in a video stream captured by a mobile device
US20140067971A1 (en) * 2011-03-23 2014-03-06 Telefonaktiebolaget L M Ericsson (Publ) Method and Arrangement for Controlling Actions in a Notification Service
US8766793B2 (en) 2011-03-25 2014-07-01 Microsoft Corporation Contextually-appropriate task reminders
JP2014517749A (ja) * 2011-06-14 2014-07-24 エンパイア テクノロジー ディベロップメント エルエルシー 現実の状況からのシミュレーションの開始
US8659727B2 (en) 2011-07-27 2014-02-25 Citizen Finetech Miyota Co., Ltd. Barriers for reflective pixel electrodes of display devices and methods
US20130027561A1 (en) 2011-07-29 2013-01-31 Panasonic Corporation System and method for improving site operations by detecting abnormalities
US8849730B2 (en) * 2011-12-15 2014-09-30 Microsoft Corporation Prediction of user response actions to received data
US8942729B2 (en) * 2012-02-02 2015-01-27 Apple Inc. Location based methods, systems, and program products for performing an action at a user device
US8831255B2 (en) * 2012-03-08 2014-09-09 Disney Enterprises, Inc. Augmented reality (AR) audio with position and action triggered virtual sound effects
US10410177B2 (en) * 2012-06-30 2019-09-10 At&T Mobility Ii Llc Interactive inventory systems and methods
JP2014038374A (ja) 2012-08-10 2014-02-27 Sharp Corp 見守りシステム、サーバ、容器、情報端末、プログラム、および記録媒体
US9833698B2 (en) * 2012-09-19 2017-12-05 Disney Enterprises, Inc. Immersive storytelling environment
US10042603B2 (en) 2012-09-20 2018-08-07 Samsung Electronics Co., Ltd. Context aware service provision method and apparatus of user device
US9046414B2 (en) 2012-09-21 2015-06-02 Google Inc. Selectable lens button for a hazard detector and method therefor
JP6170058B2 (ja) 2012-09-28 2017-07-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 情報提供方法、及び情報提供システム
US20140100904A1 (en) 2012-10-04 2014-04-10 James Louis Wolf Adaptive reminder strategies for user activities
US9306660B2 (en) 2012-10-22 2016-04-05 Qualcomm Technologies International, Ltd. Dynamic interactive zone driven proximity awareness system
WO2014075092A1 (en) * 2012-11-12 2014-05-15 Restaurant Technology Inc. System and method for receiving and managing remotely placed orders
US9554050B2 (en) 2013-03-04 2017-01-24 Apple Inc. Mobile device using images and location for reminders
US9412086B2 (en) * 2013-03-07 2016-08-09 Bradd A. Morse Apparatus and method for customized product data management
WO2014136103A1 (en) * 2013-03-07 2014-09-12 Eyeducation A. Y. Ltd. Simultaneous local and cloud searching system and method
TWI484409B (zh) * 2013-05-22 2015-05-11 Evermore Technology Inc 以條件觸發反應爲基礎的行動通訊裝置用應用程式之建置平台
US9639984B2 (en) * 2013-06-03 2017-05-02 Daqri, Llc Data manipulation based on real world object manipulation
US9871865B2 (en) * 2013-07-11 2018-01-16 Neura, Inc. Physical environment profiling through internet of things integration platform
US20150026002A1 (en) * 2013-07-16 2015-01-22 International Business Machines Corporation Smart home environment for shopping
US9843911B2 (en) * 2013-09-23 2017-12-12 At&T Intellectual Property I, L.P. Remotely activated monitoring service
US10055803B2 (en) * 2013-10-17 2018-08-21 Adt Us Holdings, Inc. Portable system for managing events
US11030571B2 (en) * 2013-12-20 2021-06-08 Ebay Inc. Managed inventory
US9406213B2 (en) 2013-12-27 2016-08-02 Google Inc. Notification engine
US9989942B2 (en) * 2013-12-30 2018-06-05 Qualcomm Incorporated Preemptively triggering a device action in an Internet of Things (IoT) environment based on a motion-based prediction of a user initiating the device action
US9760856B2 (en) * 2013-12-31 2017-09-12 Tata Consultancy Services Limited Inventory management
WO2015120019A1 (en) 2014-02-10 2015-08-13 Google Inc. Smart camera user interface
US10438276B2 (en) * 2014-04-16 2019-10-08 Ebay Inc. Smart recurrent orders
US10373234B2 (en) * 2014-06-16 2019-08-06 Amazon Technologies, Inc. Electronic device for re-ordering items
CN104202353B (zh) * 2014-07-09 2018-02-13 武汉领傲科技有限公司 一种物联网互联协作系统的云事件处理方法及装置
US10817885B2 (en) * 2015-03-18 2020-10-27 Quidsi, Inc. Dynamically adjusted automated item replenishment
US11416810B2 (en) * 2017-04-04 2022-08-16 OrderGroove, Inc. Electronic messaging to distribute items based on adaptive scheduling

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018211048A1 (de) 2018-07-04 2020-01-09 BSH Hausgeräte GmbH Verfahren zum Bereithalten von Lebensmitteln in einem Haushaltskältegerät, sowie Haushaltskältegerät
CN110686458A (zh) * 2018-07-04 2020-01-14 Bsh家用电器有限公司 用于在家用制冷器具中准备食品的方法以及家用制冷器具

Also Published As

Publication number Publication date
KR101972141B1 (ko) 2019-04-24
JP2018525699A (ja) 2018-09-06
WO2017031425A1 (en) 2017-02-23
RU2695506C1 (ru) 2019-07-23
EP3278234A4 (de) 2018-12-12
US10600296B2 (en) 2020-03-24
GB2554269A (en) 2018-03-28
US20170054812A1 (en) 2017-02-23
US20210287504A1 (en) 2021-09-16
US11055974B2 (en) 2021-07-06
JP6499318B2 (ja) 2019-04-10
KR20170125403A (ko) 2017-11-14
CN113507501A (zh) 2021-10-15
GB201717836D0 (en) 2017-12-13
EP3278234A1 (de) 2018-02-07
US20200168064A1 (en) 2020-05-28
CN107969167B (zh) 2021-06-22
CN107969167A (zh) 2018-04-27
CN113507501B (zh) 2024-04-23

Similar Documents

Publication Publication Date Title
DE112016003769T5 (de) Physosche Wissensaktionsauslöser
DE102017120732B4 (de) Proaktiver virtueller Assistent
US20200233680A1 (en) Smart building automation system with digital signage
US20220027703A1 (en) Virtual assistant configured to recommended actions in furtherance of an existing conversation
DE102017012415B4 (de) Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen
DE202017103860U1 (de) Kontextabhängige Task-Shortcuts
CN102428432A (zh) 手持无线设备中的智能图形界面
DE112014003653T5 (de) Automatisch aktivierende intelligente Antworten auf der Grundlage von Aktivitäten von entfernt angeordneten Vorrichtungen
DE112016005349T5 (de) Automatisches Buchen eines Transports basierend auf Kontext eines Anwenders einer Rechenvorrichtung
US11170778B2 (en) Conversational control system and method for registering external device
DE102014009871A1 (de) Vorhersagendes Weiterleiten von Meldungsdaten
US20130262475A1 (en) Prioritizing Tasks
CN107889530A (zh) 用于传送信息的触发器
DE102017111440A1 (de) Universalgateway für automatisiertes lernen
DE202017106491U1 (de) Intelligente Einrichtung von Assistent-Diensten
DE112018007785T5 (de) Grafische benutzeroberfläche für ein sprachdialogsystem
WO2019139756A1 (en) Controlling conversational digital assistant interactivity
Fuller et al. IoT applications in an adaptive intelligent system with responsive anomaly detection
US20180225797A1 (en) Transportation solutions for multiple destinations
DE102023108977A1 (de) Fahrzeuggestützte multimodale reiseplanung und veranstaltungskoordination

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee