KR20170125403A - 물리적 지식 액션 트리거들 - Google Patents

물리적 지식 액션 트리거들 Download PDF

Info

Publication number
KR20170125403A
KR20170125403A KR1020177031467A KR20177031467A KR20170125403A KR 20170125403 A KR20170125403 A KR 20170125403A KR 1020177031467 A KR1020177031467 A KR 1020177031467A KR 20177031467 A KR20177031467 A KR 20177031467A KR 20170125403 A KR20170125403 A KR 20170125403A
Authority
KR
South Korea
Prior art keywords
event
action
user
data
physical entity
Prior art date
Application number
KR1020177031467A
Other languages
English (en)
Other versions
KR101972141B1 (ko
Inventor
퍼거스 제라드 헐리
로빈 두아
Original Assignee
구글 엘엘씨
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 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20170125403A publication Critical patent/KR20170125403A/ko
Application granted granted Critical
Publication of KR101972141B1 publication Critical patent/KR101972141B1/ko

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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (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)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Alarm Systems (AREA)

Abstract

물리적 엔티티에 대한 이벤트의 정의 및 모니터링과 이벤트의 발생에 응답한 액션의 수행을 위한 방법들, 시스템들, 및 장치. 방법은 물리적 엔티티에 대한 이벤트를 나타내는 데이터를 수신하는 단계 - 상기 이벤트는 데이터 처리 장치에 의해 해당 이벤트의 발생이 모니터링되어야 하는 물리적 환경 특징에 의해 부분적으로 특정됨 -; 상기 이벤트와 연관된 그리고 상기 이벤트의 발생에 응답하여 취해질 액션을 나타내는 데이터를 수신하는 단계; 상기 물리적 엔티티에 대한 상기 이벤트의 발생을 모니터링하는 단계; 및 상기 이벤트의 발생에 응답하여, 상기 이벤트와 연관된 상기 액션이 수행되게 하는 단계를 포함한다.

Description

물리적 지식 액션 트리거들
클라우드 기반 서비스들, 검색 엔진들, 모바일 애플리케이션들, 및 위치 인식 디바이스들의 출현으로 지난 10년 동안 모바일 사용자 디바이스들의 유용성이 크게 확대되었다. 많은 이러한 사용자 디바이스들은 이제 음성 및 데이터 액세스 외에도 상황 인식 서비스들 및 애플리케이션들을 제공한다. 또한, 처리 시스템들에서의 최근의 발전과 함께, 이전에는 서로 전혀 다른 많은 애플리케이션들과 서비스들이 이제는 함께 협업하여 향상된 능력들과 사용자 경험들을 제공할 수 있다.
사용자들이 사용할 수 있는 많은 애플리케이션 서비스들은 명령 입력들을 사용하여 인스턴스화된다. 그러한 하나의 서비스는 액션 트리거들을 생성하는 것이다. 예를 들어, 사용자가 스마트폰에 "remind me to buy milk this evening"이라는 입력을 말할 수 있고(또는 타이핑할 수 있고), 스마트폰은, 명령 구문 분석 애플리케이션을 이용하여(또는, 대안적으로, 명령 구문 분석 서비스와 통신하여) 리마인더를 생성하고, 메시지들 및/또는 캘린더 항목들을 생성하고, 사용자에게 추가 정보를 요청할 수 있는 액션 트리거 프로세스를 호출할 것이다. 이러한 정보는, 사용자가 특정 시간에서 액션 트리거가 수행되기를 원하는 경우에는 시간일 수 있고/있거나, 사용자가 위치에 도착했을 때 액션 트리거가 수행되기를 원하는 경우에는 위치일 수 있다. 이러한 액션 트리거들의 설정은 매우 유용하고 비교적 유동적인 사용자 경험이지만, 역사적으로 사용 가능한 트리거들은 애플리케이션 또는 서비스에 의해 제공된 옵션들의 세트로 제한되었다.
이 명세서는 물리적 엔티티에 대한 이벤트의 정의 및 모니터링과 이벤트의 발생에 응답한 액션의 수행과 관련된다.
일 양태에서, 방법은 물리적 엔티티에 대한 이벤트를 나타내는 데이터를 수신하는 단계 - 상기 이벤트는 데이터 처리 장치에 의해 해당 이벤트의 발생이 모니터링되어야 하는 물리적 환경 특징에 의해 부분적으로 특정됨 -; 상기 이벤트와 연관된 그리고 상기 이벤트의 발생에 응답하여 취해질 액션을 나타내는 데이터를 수신하는 단계; 상기 물리적 엔티티에 대한 상기 이벤트의 발생을 모니터링하는 단계; 및 상기 이벤트의 발생에 응답하여, 상기 이벤트와 연관된 상기 액션이 수행되게 하는 단계를 포함한다. 이 양태의 다른 실시 예들은 컴퓨터 저장 디바이스들 상에 인코딩된 방법들의 액션들을 수행하도록 구성된 대응하는 시스템들, 장치, 및 컴퓨터 프로그램들을 포함한다.
또 다른 양태에서, 방법은 물리적 엔티티에 대한 이벤트가 모니터링되어야 하는 물리적 환경 특징을 특정하는 데이터를 수신하는 단계; 상기 환경 특징을 특정하는 데이터에 응답하여, 상기 물리적 환경 특징과 연관된 하나 이상의 이벤트 각각에 대한 각각의 이벤트 선택 입력을 디스플레이하는 액션 트리거 메뉴를 사용자 디바이스로 하여금 디스플레이하게 하는 데이터를 제공하는 단계; 이벤트를 특정하기 위해 상기 이벤트 선택 입력들 중 하나의 상기 사용자 디바이스에서의 선택을 특정하는 데이터를 수신하는 단계; 상기 이벤트와 상기 이벤트의 발생에 응답하여 취해질 액션을 연관시키는 단계; 및 상기 물리적 엔티티에 대한 이벤트를 나타내는 데이터 및 상기 이벤트와 연관된 상기 액션을 나타내는 데이터를 제공하는 단계를 포함한다. 이 양태의 다른 실시 예들은 컴퓨터 저장 디바이스들 상에 인코딩된 방법들의 액션들을 수행하도록 구성된 대응하는 시스템들, 장치, 및 컴퓨터 프로그램들을 포함한다.
상기 이벤트들 및 액션들은 상기 물리적 엔티티에 종속하는 리스트로부터 선택될 필요가 없고, 하나 이상의 입력에 따라 사용자에 의해 정의될 수 있다는 점에서 상기 물리적 엔티티와 독립적일 수 있다. 마찬가지로, 상기 이벤트 및 액션들은 또한 특정 이벤트가 수행될 액션에 대해 범주적으로, 의미적으로, 또는 달리 관련될 필요가 없다는 점에서 서로 독립적일 수 있다. 실제로, 이벤트와 액션의 연관은 데이터 관계 관점에서 완전히 임의적일 수 있다. 이에 따라 개발자들은 소프트웨어 애플리케이션들 및 서비스들에서 연관들 및 액션 트리거들의 세트들을 미리 정의하지 않아도 된다. 또한, 사용자에 의해 정의된 결과 이벤트들 및 연관들은 단순한 규칙 구조들에 의해 구현되며 미리 정의된 이벤트들 및 트리거들의 세트 내에서 작동할 경우 요구되는 다수의 복잡한 종속성들을 필요로 하지 않는다(가능할지라도). 예를 들어, 사용자는 자신의 차를 세차하기를 원할 수 있지만, 그렇게 하기 위해 준비할 때 그는 농축된 자동차 비누가 없다는 것을 깨닫고, 온라인 소매점으로부터 농축된 비누 한 병을 주문한다. 그 후 사용자는, 이 명세서에 설명된 시스템을 사용하여, 사용자의 문 앞에 패키지가 존재하는 것으로 이벤트를 정의할 수 있고, 그 이벤트와 연관될 수 있는 액션은 차를 세차하라는 리마인더일 수 있다. 따라서, 사용자가 세제 이외의 어떤 패키지도 받기를 기대하지 않는다고 가정하면, 사용자의 문 앞에서의 패키지의 검출은 차를 세차하라는 리마인더를 제시하는 액션을 야기할 것이다.
따라서 시스템은 다수의 물리적 엔티티들을 다수의 상이한 가능한 이벤트들 및 다수의 상이한 액션들과 연관시키는 것을 용이하게 한다. 이는 사용자에게 사용자의 고유한 요구들로부터 새로 나타나는 완전히 독특하고 지금까지는 발견되지 않은 엔티티 및 작업 관계들에 따라 작업들, 일정들, 및 액션들을 준비하는 전례 없는 유연성을 허용한다. 이러한 능력은 가능하다면 다수의 상이한 사용자들의 다양하고 예측할 수 없는 요구들을 충족시키기 위해 잠재적인 작업들 및 트리거들의 복잡한 세트를 필요로 할 수 있는 복잡한 구조화된 규칙 세트의 집합의 필요성을 없애준다. 따라서, 상당한 양의 데이터 저장소가 절약된다. 또한, 사용자들의 많은 새로운 요구들을 충족시키기 위해 필요로 할 수 있는 규칙 업데이트들 및 소프트웨어 업데이트들이 제거되어, 결과적으로 개발 비용이 절약되고 대역폭이 절약된다.
사용자는 지금까지 가능했던 것보다 훨씬 더 광범위한 사건들(occurrences) 또는 이벤트들에 기초하여 액션 트리거들을 생성할 수 있다. 트리거는 사용자에게 리마인더를 호출할 수 있으며, 따라서 그러한 트리거에 기초하여 취해질 액션은 리마인더에 의해 프롬프트될 때 수동으로 취해진다. 대안적으로, 트리거는 단순히 사용자의 관심사에 대한 정보를 제공하고, 추가 액션이 반드시 암시되지는 않는다. 또 다른 대안으로서, 사용자는 자동으로 어떤 액션을 취하기 위한 트리거를 설정할 수 있다. 또 다른 대안으로서, 사용자는 이벤트의 발생시 후속 액션을 승인하기 위한 하나의 승인 액션을 제시하기 위한 트리거를 설정할 수 있고, 그러한 승인시 후속 액션이 수행된다. 또 다른 대안으로서, 본 명세서에 설명된 시스템과 통신할 수 있는 제 3 자 애플리케이션들 또는 시스템들에 의해 자동화된 액션들이 취해질 수 있다.
이벤트들에 기초한 액션 트리거들 및 이벤트들의 발생시 수행될 액션은 전용 리마인더 애플리케이션으로부터, 또는 브라우저 또는 캘린더와 같은 또 다른 애플리케이션으로부터, 또는 액션 트리거 및 연관된 액션을 설정할 목적으로 사용자 입력을 수신하도록 구성된 어떤 다른 유형의 시스템으로부터 설정될 수 있다. 이 후자의 시스템들은 검색 엔진, 음성 기반 어시스턴트(assistants)를 포함한 전자 어시스턴트 등을 포함할 수 있다. 또한, 트리거링 및 알림 시스템은 다른 독립적인 유저 인터페이스 프론트 엔드와 통신하도록 구성될 수 있으며, 따라서 사용자 명령들 및 알림들이 그 유저 인터페이스 프론트 엔드에 의해 관리될 수 있다.
트리거는 단일 사건 또는 이벤트에 기초할 수 있다. 대안적으로, 다수의 사건들 또는 이벤트들을 함께 그룹화하여 트리거를 정의할 수 있다. 예를 들어, 사용자는 패키지가 사용자의 문 앞에서 검출될 때 사용자가 집에 있는 경우에만 차를 세차하도록 리마인드될 트리거를 생성할 수 있다.
물리적 엔티티에 대한 이벤트에 대한 모니터링은 다양한 방식으로 달성될 수 있으며 수행될 모니터링에 따라 달라진다. 예를 들어, 물리적 엔티티의 존재에 대한 모니터링인, 존재 모니터링의 경우, 특정 위치를 모니터링하는데 사용되는 카메라들, 또는 특정 위치에서의 소스로부터의 음성 인식 등으로부터 데이터가 획득될 수 있다. 문 앞에서 전달될 상자를 모니터링하는 경우와 같은 엔티티 인식의 경우, 객체 인식을 위해 기계 학습 모델에 액세스할 수 있다. 따라서, 하나 이상의 사람, 하나 이상의 동물, 하나 이상의 상자 등과 같은 객체들을 구별하기 위해 이미지들이 처리될 수 있다.
존재 모니터링은 특정 물리적 엔티티가 그의 위치를 알려지게 하는 것에 의해 달성될 수도 있다. 예를 들어, 사용자는 푸드 트럭이 특정 위치로부터 일정 거리 내에 있는, 예를 들어 사용자의 직장 주소의 블록 내에 있는 이벤트에 기초하여 트리거를 가질 수 있다. 푸드 트럭은 그의 위치를 무선 통신 프로토콜을 통해 모니터링 서비스에 제공할 수 있으며, 모니터링 서비스는 사용자에 의해 특정된 이벤트가 충족되는 때를 결정한다. 이 구현의 변형들에서, 사용자는 푸드 트럭이 사용자의 위치로부터 일정 거리 내에 있는 이벤트에 기초하여 트리거를 가질 수 있으며, 사용자의 위치와 푸드 트럭 위치 모두가 모니터링 서비스에 의해 모니터링된다.
물리적 엔티티의 조건의 모니터링인 조건 모니터링의 경우, 물리적 엔티티는 그의 조건을 기술하는 데이터를 모니터링 서비스에 제공할 수 있다. 예를 들어, 사용자의 집은 토양의 수분을 모니터링하는 지능형 관수 시스템(intelligent watering system)을 가질 수 있다. 사용자는 토양 수분 수준이 일정 수준 아래로 떨어지는 경우 알림을 받거나, 스프링클러들이 자동으로 켜지는 경우(그리고, 옵션으로, 그 후 그것들이 꺼지는 경우) 알림을 받기 위한 트리거를 정의할 수 있다. 유사하게, 사용자는 비가 올 확률이 80%이고(날씨 서비스로부터 수신된 데이터에 따라) 스프링클러들이 비활성화된 경우 등에 트리거되는 또 다른 액션을 가질 수 있다. 또 다른 예로, 트리거는 토양 수분 수준이 일정 비율까지 떨어지는 경우, 스프링클러가 자동으로 켜지고, 사용자에게 알림이 전송되도록 정의된다.
이 시스템은, 일부 구현들에서, 이벤트와 관련된 데이터에 기초하여 이벤트들을 자동으로 수정할 수 있다. 예를 들어, 스프링클러의 활성화를 위한 이벤트는 날씨 데이터를 고려할 수도 있다. 따라서, 수분 수준이 일정 비율보다 작더라도, 날씨 데이터가 다음 24 시간 이내에 비가 올 것임을 나타내는 경우 시스템은 이벤트가 발생한 것으로 결정하지 않을 수 있다(또는 액션이 수행되게 하지 않을 수 있다).
본 명세서에서 설명된 주제의 하나 이상의 실시 예의 세부 사항들에 대해 첨부 도면들 및 아래 설명에서 설명한다. 본 주제의 다른 특징들, 양태들 및 이점들은 본 설명, 도면들, 및 청구항들로부터 명백해질 것이다.
도 1은 연관된 액션들의 수행을 위해 액션 트리거들이 모니터링되는 예시적인 환경의 블록도이다.
도 2a는 물리적 엔티티에 대한 이벤트를 생성하고 수행될 액션을 이벤트와 연관시키기 위한 예시적인 프로세스의 흐름도이다.
도 2b는 물리적 엔티티에 대한 이벤트의 연관을 모니터링하고 이벤트의 발생에 기초하여 액션을 수행하기 위한 예시적인 프로세스의 흐름도이다.
도 3a 내지 도 3c는 액션 트리거가 생성되고 수행되는 액션의 결과들이 디스플레이되는 사용자 디바이스에서의 유저 인터페이스들을 예시하는 것들이다.
도 4a 내지 도 4c는 또 다른 액션 트리거가 생성되고 수행되는 액션의 결과들이 디스플레이되는 사용자 디바이스에서의 유저 인터페이스들을 예시하는 것들이다.
도 5는 예시적인 모바일 컴퓨팅 디바이스의 블록도이다.
다양한 도면들에서 동일한 참조 번호들 및 명칭들은 동일한 요소들을 나타낸다.
도 1은 연관된 액션들의 수행을 위해 액션 트리거 이벤트들이 모니터링되는 예시적인 환경(100)의 블록도이다. 인터넷과 같은 컴퓨터 네트워크(102), 또는 이들의 조합은 전자 디바이스들과 시스템들 간의 데이터 통신을 가능하게 한다. 컴퓨터 네트워크(102)는 또한 하나 이상의 무선 네트워크(103)를 포함하거나, 하나 이상의 게이트웨이에 의하여 하나 이상의 무선 네트워크(103)와 데이터 통신할 수 있다.
물리적 데이터 소스(104)는 물리적 엔티티에 관한 데이터를 제공하는 디바이스, 시스템 또는 서비스이다. 예를 들어, 물리적 데이터 소스(104)는 물리적 엔티티의 조건들을 특정하는 데이터 신호에 의하여 자신의 조건에 관해 보고하는 물리적 아이템일 수 있다. 예를 들어, 그의 동작 상태 및 토양 수분 수준과 같은 센서 판독 값들을 제공하는 스프링클러 헤드, 그것이 잠겨 있는지 또는 잠겨 있지 않은지를 기술하는 데이터를 제공하는 도어 락, 그의 위치를 제공하는 자동차 등. 대안적으로, 물리적 데이터 소스(104)는 자신에 관한 데이터, 그의 위치 등을 제공하는 시스템일 수 있다. 시스템들의 예로는 집을 모니터링하는 보안 시스템, 건물 내의 조명 제어 시스템, 주차장 점유 검출 및 모니터링 시스템 등을 포함한다. 이들은 물리적 데이터 소스들의 몇 가지 예들에 불과하고, 물리적 엔티티에 관한 데이터를 제공하는 임의의 다른 물리적 데이터 소스(104)가 사용될 수 있다.
본 명세서에서 사용된, 물리적 엔티티는 그 물리적 환경 특징들이 물리적 데이터 소스(104)에 의해 모니터링될 수 있는 유형 엔티티이다. 물리적 엔티티는 물리적 데이터 소스(104) 자체일 수 있거나, 물리적 데이터 소스(104)가 모니터링하고 있는 어떤 것일 수 있다. 후자의 경우에, 물리적 엔티티는 사용자에 의해 특정될 수 있는데, 예를 들어, 사용자가 어떤 위치에 패키지의 존재에 대해 모니터링하기를 원하는 경우 사용자는 물리적 엔티티가 패키지인 것을 특정할 수 있다; 사용자가 특정 주차 위치에 자동차의 존재 또는 부재에 대해 모니터하기를 원하는 경우 사용자는 물리적 엔티티가 자동차인 것을 특정할 수 있다. 마찬가지로, 물리적 환경 특징은 사용자가 액션을 트리거하기 위해 사용하기를 원하는 엔티티와 관련된 특징일 수 있다.
사용자 디바이스(106)는 사용자의 제어를 받는 그리고 네트워크(102)를 통해 리소스들을 요청하고 수신할 수 있는, 또한 다른 액션들을 수행할 수 있는 전자 디바이스이다. 예시적인 사용자 디바이스(106)들은 개인용 컴퓨터들, 모바일 통신 디바이스들, 웨어러블 디바이스들, 및 네트워크(102)를 통해 데이터를 송수신할 수 있는 다른 디바이스들을 포함한다. 도 1의 예에서, 사용자 디바이스(106)는 스마트폰이다. 예시적인 스마트폰에 대해서는 아래 도 5를 참조하여 설명한다. 사용자 디바이스(106)는 네트워크들(102 및 103)과 각각 유선 및 무선 연결들에 의하여 네트워크들(102 및 103)을 통해 통신할 수 있다. 사용자 디바이스(106)는 또한 중간 디바이스 및 WiFi, 블루투스 등과 같은 단거리 무선 송수신기에 의하여 네트워크(102)에 액세스하는 디바이스일 수도 있다. 도 5를 참조하여 설명하는 바와 같이, 사용자 디바이스는 다양한 프로그램들 및 능력들에 대한 디바이스 액션들의 세트를 수행할 수 있다.
사용자 디바이스(106)는 다수의 서비스들을 제공하는 클라우드 서비스 제공자(112)에 의해 호스팅되는 계정과 같은 사용자 계정과 연관될 수 있다. 이 서비스들은 검색(특히, 웹, 인트라넷, 문서들 및 애플리케이션들), 웹 메일, 캘린더, 소셜 네트워킹, 메시징, 문서 저장 및 편집, 전자 어시스턴트 서비스 등을 포함할 수 있다. 계정 데이터(114)는 사용자 디바이스(106)의 계정에 특정한 데이터를 저장할 수 있다. 또한, 도 1에는 하나의 사용자 디바이스(106)만이 도시되어 있지만, 다수의 사용자 디바이스들(106)이 환경에 포함될 수 있다.
일부 구현들에서, 사용자 디바이스(106)의 사용자는 이벤트 트리거들을 특정하고 이들을 액션들과 연관시킬 수 있다. 이벤트 트리거(또는 단순히 "이벤트")의 발생은 그와 연관된 액션이 수행되게 한다. 이벤트들 및 액션들의 특정은 다양한 유저 인터페이스들, 음성 명령 처리 시스템들, 및 상호 작용 모델들에 의해 용이해질 수 있다. 전형적으로 사용자는 아래에 더 상세히 설명되는 바와 같이, 이벤트와 액션의 연관을 특정할 것이다.
액션 트리거 처리 시스템(120)은 이벤트와 액션의 연관을 수신하고 액션 트리거를 액션 트리거 데이터 저장소(126)에 저장한다. 본 명세서에서 사용된, 이벤트와 액션의 연관은 "액션 트리거"라고 지칭된다. 액션 트리거 처리 시스템(120)은 도 1에서 별개의 엔티티로서 도시되어 있지만, 액션 트리거 처리 시스템(120)은 클라우드 서비스 제공자(112) 내에 구현되거나, 대안적으로 각각의 제 3 자에 의해 별개의 시스템으로서 구현될 수 있다. 특정 실시 예들에서, 액션 트리거 처리 시스템(120), 또는 그의 서브파트들은 사용자 디바이스(106)의 일부를 형성하거나 사용자 디바이스(106)에 저장될 수 있다.
액션 트리거 프로세서(124)는 이벤트 데이터(128)에 액세스하여 어떤 이벤트들이 충족되는지를 결정하고, 그리고 충족되는 것으로 결정되는 이벤트들과 연관된 액션들을 수행할지를 결정한다. 본 명세서에서 사용된, 이벤트 데이터(128)는 이벤트가 발생했는지를 결정하는 데 사용될 수 있는 임의의 데이터이며, 이 특정 응용에서는 물리적 데이터 소스들(104)에 의해 보고된 데이터를 포함한다. 예를 들어, 물리적 데이터 소스(104)에 의해 보고된 데이터를 포함하는 이벤트 데이터(128)는 제 3 자들에 의해 액션 트리거 처리 시스템(120)에 제공되는 데이터일 수 있거나, 액션 트리거 처리 시스템(120)에 의해 주기적으로 요청되는 데이터일 수 있다.
액션 트리거 프로세서(124)는 액션 트리거 데이터 저장소(126)에 액션 트리거를 저장할 것이다. 액션 트리거 데이터 저장소(126)에 저장된 복수의 액션 트리거(AT1, AT2, ... ATn)가 있을 수 있다. 액션 트리거들의 그룹(예를 들어, 사용자에 의해 생성되거나 이전에 구현된 것들)은 사용자 디바이스(106)에서 볼 수 있고, 사용자는 언제든지 사용자 디바이스(106)에서 액션 트리거들에 대해 변경들을 수행(예를 들어, 추가, 삭제, 수정)할 수 있다. 복수의 액션 트리거들 각각은 액션과 연관된 하나 이상의 이벤트(E1, E2, ... En)를 가질 수 있다. 이벤트의 발생시, 액션 트리거 프로세서(124)는 액션이 수행되게 할 수 있다. 액션은 다음 중 하나 이상일 수 있다: 이벤트가 발생했다는 알림의 제시; 부분적으로 또는 완전히 자동으로 그리고 사용자 디바이스와 별개로(예를 들어, 제 3 자 애플리케이션 또는 시스템에 명령을 발행하는 것에 의해 제 3 자 애플리케이션 또는 시스템을 통해) 수행되는 액션; 또는 또 다른 액션을 수행하기 위한 프롬프트의 제시.
액션은 또한 또 다른 물리적 엔티티에 의해 수행되는 또는 로봇 엔티티와 같은 또 다른 물리적 엔티티와 관련되는 액션일 수도 있다. 예를 들어, 특정 날씨 조건들에 대한 이벤트가 주어지면, 예를 들어, 오후 동안의 비 예보가 없다면, 액션은 로봇 벌초 디바이스가 잔디를 깎게 하는 것일 수 있다.
일부 구현들에서, 액션 트리거 처리 시스템(120)은 사용자들에 대한 자격 증명들을 특정하는 그리고 특정 액션들의 수행을 허가하는 데 사용되는 자격 증명 데이터(130)를 포함한다. 예를 들어, 사용자를 대신하여 어떤 다른 재정적 또는 법적 의무를 구매하거나 설정하는 액션은 사용자가 자격 증명들을 제공하도록 요구할 수 있다. 자격 증명들은 이벤트가 트리거되었을 때 요구될 수 있거나, 대안적으로, 이벤트와 액션의 연관을 설정할 때 요구될 수 있다. 예시적인 자격 증명들로는 사용자 식별자, 패스워드 등을 포함할 수 있다. 또한, 일부 구현들에서, 사용자는 이전에 자격 증명들이 제공되었을 때, 예를 들어, 사용자가 보안 네트워크와의 인증된 연결을 설정했을 때 허가될 수 있다.
사용자는 또한 사용자가 알림들을 검토하고 그에 응답할 수 있는 적절한 시간들 동안에만 알림들이 제공되어야 함을 특정할 수도 있다. 예를 들어, 사용자는 사용자의 캘린더에 따른 사용자의 이용 가능성에 기초하여, 사용자가 이용 가능하지 않은 경우 사용자는 알림을 받아서는 안 된다는 조건을 설정할 수도 있다. 따라서, 사용자의 캘린더가 사용자가 현재 약속 중에 있음을 나타내는 경우, 예를 들어, 사용자가 사용자의 업무 캘린더상에 스케줄링된 회의에 있는 경우, 알림의 제시가 지연될 수 있다. 특정된 이벤트 발생 외에 수행될 액션에 대한 다른 조건들이 사용될 수도 있다.
전술한 바와 같이, 액션 트리거 처리 시스템(120)은 물리적 엔티티들에 대한 이벤트들의 생성 및 모니터링을 허용한다. 액션 트리거를 생성하는 프로세스에 대해, 물리적 엔티티에 대한 이벤트를 생성하고 수행될 액션을 이벤트와 연관시키기 위한 예시적인 프로세스(200)의 흐름도인 도 2a를 참조하여 설명한다. 프로세스(200)는 사용자 디바이스와 같은 전자 디바이스에 의해 수행될 수 있거나, 대안적으로, 사용자 디바이스로부터 선택 데이터를 수신하는 것에 응답하여 서버 시스템에 의해 수행될 수 있다.
프로세스(200)는 물리적 엔티티에 대한 이벤트가 모니터링되어야 하는 물리적 환경 특징을 특정하는 데이터를 수신한다(202). 물리적 엔티티는 다양한 방법들로 식별될 수 있다. 데이터는 사용자 디바이스, 또는 사용자가 상호 작용한 어떤 다른 디바이스로부터 수신될 수 있다. 예를 들어, 사용자는 물리적 엔티티에 대한 설명을 입력하거나, 물리적 엔티티들의 리스트로부터 물리적 엔티티를 선택하는 것에 의해, 또는 어떤 다른 방식으로 물리적 엔티티를 특정할 수 있다. 대안적으로, 물리적 엔티티는 자신을 식별할 수 있다. 예를 들어, 푸드 트럭은 사용자 디바이스와 통신하여 자신을 식별하고 사용자에게 액션 트리거를 생성할 기회를 제공할 수 있다.
물리적 환경 특징은 물리적 엔티티 자체 또는 물리적 엔티티의 환경을 기술한다. 후자의 예는 물리적 엔티티가 위치할 수 있는 위치 또는 일련의 위치들이다. 예를 들어, 특정 자동차(또는 임의의 자동차)의 물리적 엔티티의 경우, 물리적 환경 특징은 특정 주차 공간일 수 있다. 마찬가지로, 운송 컨테이너의 물리적 엔티티의 경우, 물리적 환경 특징은 문 앞일 수 있다. 유사하게, 스프링클러 시스템의 물리적 엔티티의 경우, 물리적 환경 특징은 시스템의 상태일 수 있다. 또 다른 예에서, 액션 트리거 처리 시스템과 통신하는 무선으로 인에이블된 시스템을 이용하는 푸드 트럭은 푸드 트럭의 위치와 관련된 다양한 환경 특징들의 리스트를 제공할 수 있다. 기술되는 물리적 환경 특징은 사용자에 의해 선택될 수 있다.
프로세스(200)는, 환경 특징을 특정하는 데이터에 응답하여, 하나 이상의 이벤트 각각에 대한 입력을 디스플레이하는 액션 트리거 메뉴를 디바이스로 하여금 디스플레이하게 하는 데이터를 제공한다(204). 예를 들어, 사용자가 물리적 엔티티 및 대응하는 환경 특징을 특정하면, 사용자는 물리적 엔티티 및 물리적 환경 특징에 대한 이벤트를 정의하는 옵션들을 제시받을 수 있다. 상기 예를 계속하여, 특정 자동차(또는 임의의 자동차)의 물리적 엔티티의 경우, 이벤트는 특정 주차 공간에 자동차의 존재(또는 대안적으로, 자동차의 부재)일 수 있다. 마찬가지로, 운송 컨테이너의 물리적 엔티티의 경우, 이벤트는 문 앞에 운송 컨테이너의 존재일 수 있다. 유사하게, 스프링클러 시스템의 물리적 엔티티에 경우, 이벤트는 시스템의 특정 상태, 예를 들어 스프링클러 시스템의 활성화일 수 있다. 마지막으로, 푸드 트럭의 물리적 엔티티의 경우, 이벤트들은 현재 위치, 주소, 또는 사용자의 미래 위치에 관련한 푸드 트럭의 위치일 수 있다.
일부 구현들에서, 물리적 환경 특징들과 물리적 엔티티 및 환경 특징에 대응하는 이벤트들의 연관에 기초하여 이벤트들의 리스트가 결정되어 사용자에게 제시된다. 예를 들어, 위치의 물리적 엔티티 및 환경 특징이 선택되는 경우, 이벤트들은 그 위치에 엔티티의 존재 또는 부재일 수 있다. 마찬가지로, 물리적 엔티티 및 물리적 엔티티의 상태들(예를 들어, 켜짐, 꺼짐 등)의 환경 특징이 선택되는 경우, 이벤트들은 물리적 엔티티의 특정 상태들일 수 있다.
프로세스(200)는 이벤트를 특정하기 위해 이벤트 선택 입력들 중 하나의 디바이스에서의 선택을 특정하는 데이터를 수신한다(206). 사용자는 이벤트들 중 하나를 선택할 수 있고, 그렇게 함으로써 액션 트리거 프로세서(124)는 이벤트의 발생을 모니터링하도록 구성될 것이다. 추가 이벤트들 및 조건들이 선택될 수도 있다. 예를 들어, 이벤트가 시간대(time window) 동안 발생하는 경우에만 이벤트가 발생하는 것으로 결정될 수 있도록 시간대가 선택될 수 있고; 이벤트가 시간대 밖에서 발생하는 경우, 액션 트리거 프로세서는 이벤트가 발생하지 않은 것으로 결정할 것이다. 상기 예들 중 하나를 계속하여, 특정 주차 공간에 차가 존재하는 이벤트는 오전 8시에서 오후 5시 사이의 임의의 시간에 주차 공간에 차가 존재하는 것을 추가 조건으로 할 수 있다. 따라서, 차가 오전 7시 30분에 주차 공간에 도착하여 1 시간 동안 거기에 머무르는 경우, 이벤트는 오전 8시에 발생하는 것으로 결정될 것이다.
프로세스(200)는 이벤트와 이벤트의 발생에 응답하여 취해질 액션을 연관시킨다(208). 액션은 이벤트의 발생이 결정될 때 사용자가 수행되기를 원하는 액션이다. 액션은, 예를 들어, 무언가를 하라는 리마인더의 제시, 사용자를 대신하여 무언가가 수행되게 하는 확인 명령의 제시, 또는 액션을 수행하라는 리마인더 또는 확인 없이 완전히 또는 부분적으로 자동으로 수행되는 액션일 수 있다.
일부 구현들에서, 액션은 이용 가능한 액션들의 리스트로부터 선택될 수 있다. 예를 들어, 푸드 트럭의 경우, 주문의 자동 신청 및 동일한 것의 구매, 푸드 트럭의 위치의 알림, 또는 양자의 조합과 같은 다양한 액션들이 이용 가능할 수 있다. 다른 구현들에서, 사용자는 이벤트와 무관하게 액션을 정의할 수 있다. 예를 들어, 푸드 트럭의 경우, 사용자는 "Ask Julia if she wants to grab lunch with you"라는 알림을 제시 받기를 원할 수 있다.
프로세스(200)는 물리적 엔티티에 대한 이벤트를 나타내는 데이터 및 이벤트와 연관된 액션을 나타내는 데이터를 제공한다(210). 일단 사용자가 이벤트 및 취해질 액션을 정의하면, 시스템, 예를 들어, 사용자 디바이스(106) 또는 액션 트리거 처리 시스템(120)은 이벤트와 액션의 연관인 액션 트리거로서 데이터를 저장하고 액션 트리거를 액션 트리거 데이터 저장소에 저장한다. 그 후 데이터 저장소는 모니터링을 위해 시스템에 의해 액세스된다.
도 2b는 물리적 엔티티에 대한 이벤트의 연관을 모니터링하고 이벤트의 발생에 기초하여 액션을 수행하기 위한 예시적인 프로세스(250)의 흐름도이다. 프로세스(250)는 사용자 디바이스에 의해 수행될 수 있거나, 대안적으로, 사용자 디바이스로부터 선택 데이터를 수신하는 것에 응답하여 서버 시스템에 의해 수행될 수 있다.
프로세스(250)는 액션 트리거 데이터 저장소 내의 액션 트리거를 액세스하고, 모니터링되어야 하는 이벤트 및 수행되어야 하는 액션을 결정한다(252). 각 액션 트리거는 모니터링되어야 하는 이벤트 및 이벤트의 발생의 모니터링에 기초하여 수행되어야 하는 액션을 정의하는 데이터를 포함한다.
프로세스(250)는 물리적 엔티티에 대한 이벤트의 발생을 모니터링한다(254). 이벤트는 액션 트리거 프로세서(124)에 의해 주기적으로, 예를 들어 N 분마다 모니터링되거나, 액션 트리거 프로세서(124)가 제 3 자로부터 이벤트가 발생했다는 알림을 수신할 때 발생하는 것으로 결정될 수 있다. 후자의 경우에, 제 3 자는 하나 이상의 API를 이용하여 이벤트를 전달하거나 다른 방식으로 액션 트리거 프로세서에 등록할 수 있다. 예를 들어, 전술한 푸드 트럭의 경우, 푸드 트럭 회사는 액션 트리거 처리 시스템(120)에 의해 제공되는 서비스를 이용하고 액션 트리거 처리 시스템(120)에 데이터를 제공할 수 있다.
프로세스(250)는, 이벤트의 발생에 응답하여, 이벤트와 연관된 액션이 수행되게 한다(256). 전술한 바와 같이, 액션은 무언가를 하라는 리마인더의 제시일 수 있다. 액션은 또한 사용자를 대신하여 또 다른 액션이 수행되게 하는 확인 명령의 제시일 수 있다. 대안적으로, 액션은 액션을 수행하라는 리마인더 또는 확인 없이 자동으로 수행되는 것일 수 있다. 액션은 사용자 디바이스에 의해 수행되거나, 대안적으로, 별개의 시스템에 의해 수행될 수 있다.
알림의 경우, 사용자는 또한 사용자가 알림들을 검토하고 그에 응답할 수 있는 적절한 시간들 동안에만 알림들이 제공되어야 함을 특정할 수도 있다. 예를 들어, 사용자는 사용자의 캘린더에 기초하여, 사용자가 회의 중에 있는 경우 사용자는 알림을 받아서는 안 된다는 조건을 설정할 수도 있다. 따라서, 사용자의 캘린더가 사용자가 현재 약속 중에 있음을 나타내는 경우, 예를 들어, 사용자가 사용자의 업무 캘린더상에 스케줄링된 회의에 있는 경우, 알림의 제시가 지연될 수 있다. 모바일 운영 체제(OS) 푸시 알림, 텍스트 메시지, 전자 메일, 웹 또는 디지털 어시스턴트 경고, 또는 다른 형태의 알림을 포함하여 다양한 알림 유형들이 사용될 수 있다. 디지털 어시스턴트 경보의 경우, 디지털 어시스턴트는 사용자에게 알리거나 사용자를 대신하여 액션을 취하기 위한 적절한 시간, 장소, 및 방법을 결정할 수 있다. 예를 들어, 사용자가 비즈니스 회의 중인 경우, 디지털 어시스턴트는 사용자가 회의를 끝낼 때까지, 또는 사용자 근무 시간이 완료된 후까지는 사용자에게 알리기를 기다릴 수 있다.
또한, 일부 구현들에서는, 사용자 정의 액션의 제시 또는 사용자 정의 액션의 수행이 사용자 디바이스(106) 이외의 디바이스에 제공될 수 있다. 예를 들어, 제시는 사용자에 가까운 것으로 결정되는 디바이스 또는 사용자에게 보이거나 사용자가 보고 있는 디바이스에 제공될 수 있다. 예를 들어, 사용자의 사용자 디바이스(106)가 임계 시간 동안 사용자에 의해 사용되지 않았고, 사용자가 또 다른 디바이스를 사용하고 있다면, 액션 처리 시스템(120)은 사용자 정의 액션을 사용자가 사용하고 있는 디바이스에 제시하기로 결정할 수 있다.
액션 트리거들의 생성 및 수행되는 액션들로부터의 결과들의 제시를 용이하게 하기 위해 다양한 유저 인터페이스들 및 상호 작용 모델들이 사용될 수 있다. 도 3a 내지 도 3c 및 도 4a 내지 도 4c는 몇몇 유저 인터페이스들의 예들이다.
도 3a 내지 도 3c는 액션 트리거가 생성되고 수행되는 액션의 결과들이 디스플레이되는 사용자 디바이스(300)에서의 유저 인터페이스들(302, 322, 및 340)을 예시하는 것들이다. 이 예에서는, 푸드 트럭의 물리적 엔티티에 대한 액션 트리거가 생성된다. 물리적 환경 특징은 푸드 트럭의 위치이고, 이벤트는 그 위치에 또는 그 위치의 임계 거리 이내에 푸드 트럭의 존재이다. 수행되는 액션은 사용자에게 알림이다.
도 3a는 액션 트리거를 생성하기 위한 프롬프트(304)가 제시되는 유저 인터페이스(302)를 도시한다. 사용자 디바이스(300)는 다양한 방법들로 프롬프트를 제시하게 될 수 있다. 예를 들어, 사용자 디바이스가 판매업체로부터 구매를 완료하는 데 사용되는 경우, 프롬프트는 자동으로 제시될 수 있다. 대안적으로, 사용자는 웹사이트로 이동하거나 프롬프트가 제시되게 하는 기본 애플리케이션을 시작할 수 있다. 또 다른 예에서, 사용자 디바이스는 NFC/블루투스 또는 다른 개인 영역 RF 기술을 사용하여 푸드 트럭상의 시스템과 통신할 수 있다. 이 후자의 예에서, 사용자는 액션 트리거들을 설정할 목적으로 사용자 디바이스(300)가 "발견"될 수 있게 하는 선호를 설정할 수 있고, 푸드 트럭은 푸드 트럭을 식별하는 데이터 신호를 브로드캐스트하는, 그리고, 옵션으로 트리거의 생성을 용이하게 하기 위해 사용자 디바이스로 하여금 유저 인터페이스를 디스플레이하게 하는 근처의 임의의 사용자 디바이스로의 메시지를 트리거하는 디바이스를 포함할 수 있다. 또 다른 예에서, 사용자 디바이스는 푸드 트럭상의 QR 코드 또는 바코드와 같은 코드를 스캔하거나, 사용자 디바이스로 하여금 단거리 RF 시그널 프로토콜을 통해 데이터 신호를 수신하게 하는 "tap your phone on the food truck sign in order to be alerted when it is here next"라는 푸드 트럭상의 표지(sign)를 탭할 수 있다.
2 개의 옵션이 제공된다 - 제 1 옵션(306)의 선택은 도 3b의 유저 인터페이스로 계속될 것이고, 제 2 옵션(308)의 선택은 프로세스를 종료할 것이다. 이제 도 3b를 참조하면, 유저 인터페이스(322)는 제 2 프롬프트(324) 및 3 개의 옵션(326, 328 및 330)을 포함하고, 각각의 옵션은 물리적 환경 특징에 대한 이벤트에 대응한다. 제 1 옵션(326)은 푸드 트럭이 현재 점유하고 있는 위치 근처에 푸드 트럭이 다시 있을 때 발생하는 이벤트를 정의한다. 제 2 옵션(328)은 푸드 트럭이 사용자가 특정하는 위치 근처에 있을 때 발생하는 이벤트를 정의한다. 제 3 옵션(330)은 푸드 트럭이 사용자의 위치 근처에 있을 때 발생하는 이벤트를 정의한다. 사용자의 위치는 사용자 디바이스(300)의 위치에 의해 결정된다.
사용자가 제 3 옵션(330)을 선택한다고 가정한다. 이는 다음에 푸드 트럭이 사용자 근처에 있을 때 발생하는 이벤트를 특정하는 액션 트리거를 생성할 것이다. 도시되지는 않았지만, 사용자는 추가 조건들, 예를 들어, 이벤트가 평일에 오전 11시 30분과 오후 1시 사이에만 발생할 수 있음을 특정할 수 있고, 예를 들어, 다음 날까지는 모니터링이 시작되지 않을 수 있다. 그 후 액션 트리거는 모니터링을 위해 액션 트리거 처리 시스템(120)에 제공된다.
이벤트가 발생했는지를 결정하기 위해, 액션 트리거 처리 시스템(120)은 요청에 의해 또는 푸시에 의해 푸드 트럭 및 사용자 디바이스의 위치 데이터를 수신할 수 있다. 위치 데이터는 물리적 엔티티 푸드 트럭의 현재 위치, 및 사용자 디바이스의 위치의 물리적 환경 특징을 특정한다. 액션 트리거 처리 시스템(120)은 사용자 디바이스의 위치에 대한 푸드 트럭의 현재 위치의 근접도가 임계 근접도보다 작은지를 결정한다. 임계 근접도는 사용자에 의해 설정될 수 있거나, 시스템(120)에 의해 자동으로 설정될 수 있다. 예를 들어, 특정 거리의 반경이 사용될 수 있다. 시스템(120)은 근접도가 임계 근접도보다 작은 경우에 이벤트가 발생한 것으로 결정한다.
위치 데이터가 결정될 수 있는 또 다른 방법은 시각 추적 시스템으로부터 데이터를 수신하는 것이다. 예를 들어, 사용자가 특정 푸드 트럭을 특정할 때, 특정 푸드 트럭의 위치는, 예를 들어, 그러한 물리적 엔티티를 추적할 수 있는 능력을 갖는 위성 시스템에 의해 푸드 트럭의 위치를 모니터링하고 추적하는 것에 의해 결정될 수 있다. 그 후 위성 시스템(또는 임의의 다른 시각 기반 추적 시스템)은 모니터링 및 처리를 위해 액션 데이터 처리 시스템(120)에 위치 데이터를 제공할 수 있다.
도 3c는 이벤트가 발생한 것으로 결정하는 것에 응답하여 알림(342)이 제시되는 유저 인터페이스(340)를 도시한다. 알림(342) 대신 또는 그에 부가하여, 메뉴 아이템들의 사전 구매 등과 같은 다른 액션들이 수행될 수도 있다.
도 4a 내지 도 4c는 또 다른 액션 트리거가 생성되고 수행되는 액션의 결과들이 디스플레이되는 사용자 디바이스(300)에서의 유저 인터페이스들(402, 420 및 440)을 예시하는 것들이다. 이 예에서는, 배달 아이템의 물리적 엔티티에 대한 액션 트리거가 생성된다. 물리적 환경 특징은 문 앞의 위치이고, 이벤트는 문 앞에 배달 아이템의 존재이다. 수행되는 액션은 사용자에게 알림이다.
도 4a에서, 사용자는 액션 트리거의 생성을 용이하게 하는 유저 인터페이스를 호출하였다. 사용자 디바이스(300)는, 예를 들어, 사용자의 보안 시스템으로부터 데이터를 수신할 수 있고, 사용자는 이미지(404)에 도시된 바와 같이 사용자의 현관 문의 비디오 피드를 선택하였다. 프롬프트(406)는 사용자가 특정 비디오 카메라를 선택한 것을 기술하고, 알림을 수신하기 위한 옵션들(408, 410, 412 및 414)을 제공한다.
액션 트리거 처리 시스템(120)(또는, 대안적으로, 사용자 디바이스(400))은 옵션들(408, 410 및 412)에 열거된 것들과 같은 다양한 객체들을 인식하도록 훈련된 기계 학습 시스템을 포함할 수 있다. 사용자는 또한 상이한 객체를 기술하기 위해 옵션(414)을 선택할 수도 있다. 특정 객체들을 검출하기 위해 다양한 기계 학습 이미지 인식 모델들이 사용될 수 있다.
마지막으로, 옵션(416)은 사용자가 수행되어야 하는 상이한 액션을 특정하기를 원하는 경우에 선택될 수 있다. 이러한 상이한 액션들은 객체가 검출될 때 문 앞의 객체의 이미지를 갖는 이메일, 또는 초인종의 자동 울림, 또는 이벤트와 연관된 임의의 다른 액션을 포함할 수 있다.
이 예에서 사용자는 자신의 차를 세차하기를 원할 수 있지만, 농축된 자동차 비누가 없음을 깨달았다고 가정한다. 사용자는 온라인 판매점으로부터 농축된 비누 1 병을 주문했고 배달을 기다리고 있으며 패키지가 배달될 때 그의 차를 세차하는 리마인드를 받기를 원한다. 따라서, 사용자는 옵션(408)을 선택한다.
옵션(408)의 선택에 응답하여, 도 4b의 유저 인터페이스(420)가 디스플레이된다. 유저 인터페이스(420)는 확인 메시지 및 프롬프트(422)를 포함한다. 입력 디스플레이(424)는 사용자가 마이크 입력(426)의 사용에 의해 생성하고 있는 리마인더 명령 메시지를 보여준다. 사용자의 입력이 완료되면, 대응하는 액션 트리거가 생성된다.
그 후 액션 트리거는 액션 트리거 처리 시스템(120)으로 전송된다(또는, 대안적으로, 사용자 디바이스가 모니터링 기능을 수행하는 경우에만 사용자 디바이스(300)에 지속된다).
그 후 시스템은 이벤트의 발생을 모니터링한다. 이 예에서, 시스템은 문 앞 위치의 물리적 환경 특징의 이미지들, 예를 들어 비디오 프레임들을 반복적으로 수신할 수 있다. 각각의 반복마다, 배달 상자 물리적 엔티티가 이미지 내에 묘사되어 있는지를 결정하기 위해 이미지 처리가 수행된다. 배달 상자가 이미지에 존재하는 것으로 결정되는 경우, 시스템은 이벤트가 발생한 것으로 결정하고 리마인더를 제시하는 연관된 액션을 수행한다.
도 4c는 이벤트가 발생한 것으로 결정하는 것에 응답하여 알림(446)이 제시되는 유저 인터페이스(440)를 도시한다. 유저 인터페이스는 이미지(442)를 포함하고, 이미지에는 문 앞에 컨테이너(444)가 묘사되어 있다. 알림(446)은 이벤트를 기술하는 것이고 사용자에 의해 특정된 리마인더를 포함한다.
전술한 바와 같이, 일부 구현들에서, 모니터링되는 이벤트들은 시스템(120)에 의한 자동 변경의 영향을 받을 수 있고, 따라서 액션들도 그럴 수 있다. 변경들은 이벤트 또는 액션과 연관된 값에 영향을 주는 조건들의 결과일 수 있다. 예를 들어, 푸드 트럭 예로 돌아가서, 시스템은 임계 거리가 1,000 미터인 경우에 제공되는 알림들로부터의 피드백을 분석할 수 있다. 시스템(120)은 알림이 제공될 때 푸드 트럭으로부터 500 미터 이상의 거리에 있는 사용자들이 알림이 제공될 때 푸드 트럭으로부터 500 미터 미만의 거리에 있는 사용자들보다 훨씬 낮은 비율로 푸드 트럭에 들리는 것으로 결정할 수 있다. 따라서, 시스템은 이벤트 발생을 1,000 미터에서 500 미터로 변경할 수 있다. 마찬가지로, 액션들도 시스템(120)에 의한 자동 변경의 영향을 받을 수 있다.
또한, 사용자는 트리거를 설정하기 위해 특정 사용자 디바이스를 이용할 필요가 없다. 대신, 트리거를 설정하기 위해 사용자 입력이 사용자와 연관될 수 있는 임의의 디바이스가 사용될 수 있다. 예를 들어, 사용자는 퇴근할 때 단순히 보안 카메라를 향해 말할 수 있다. 보안 카메라는 사용자의 사용자 계정과 연관된 시스템에 연결되어 있기 때문에, 결과 음성 명령은 사용자에 대한 액션 트리거를 설정하는 데 이용될 수 있다. 자동차 세제 예로 돌아가서, 사용자는, 퇴근시, 단순히 카메라를 향해 “Let me know when a box is delivered"라고 말할 수 있다. 시스템(120)은, 기존 시맨틱 및 음성 명령 알고리즘들을 이용하여, 사용자의 음성 명령을 구문 분석하고 사용자를 위한 액션 트리거를 설정할 수 있다.
일부 구현들에서, 사용자는 액션의 객체가 또 다른 사용자인 액션을 특정할 수 있다. 예를 들어, 자동차 세제 예로 돌아가서, 사용자는, 퇴근시, 카메라를 향해 “Notify Jack Child to get the car detergent at the door and then wash my car when a box is delivered”라고 말할 수 있다. 시스템(120)은 사용자의 연락처 정보에 액세스하여 Jack Child가 사용자의 아들임을 결정할 수 있고, 상자가 배달될 때 Jack Child와 연관된 디바이스상에 필요한 알림, 예를 들어, “Please get the car detergent at the door and wash your dad's car”라는 알림을 생성할 것이다.
또한, 액션이 이벤트로부터 따라오는 것으로 결정되는 경우 액션은 특정되지 않아도 된다. 액션은, 예를 들어, 사용자 이력에 기초하여, 또는 액션들을 이벤트들과 연관시키는 엔티티 관계 모델들에 기초하여 이벤트로부터 따라오는 것으로 결정될 수 있다. 예를 들어 사용자는 울타리가 있는 마당으로 애완견을 내보내고 “watch for the dog at the door”라고 말할 수 있다. 이전 액션 트리거들(예를 들어, “Let the dog in when you see him at the door,” “notify me when the dog is at the door” 등)의 사용자 이력에 기초하여 시스템은 나중에 문에 있는 개를 검출할 때 사용자에게 알리는 액션을 추론할 수 있거나, 대안적으로, 자동으로 문을 열어 개가 들어오게 한 다음 문을 닫을 수 있다(문이 그러한 원격 작동으로부터 그렇게 설비되어 있다는 전제 하에).
일부 구현들에서, 이벤트들은 액션의 수행 후에, 또는 액션이 수행된 후에 소정의 지연 후에 다시 모니터링될 수 있다. 이는 사용자 개입 없이 액션 트리거의 "재설정"을 허용하고, 반복적인 이벤트들에 기초한 반복적인 액션들의 컨텍스트에서 유용하다. 예를 들어, 카메라가 있는 냉장고 가전제품이 우유 팩(a carton of milk)과 같은 특정 식료품 아이템들을 모니터링할 수 있다. 우유 팩이 1/3만 채워져 있는 경우, 시스템은 추가 우유 팩을 주문하는 액션을 수행할 수 있다. 시스템은 또한 응답 시간들을 학습하고 자동으로 이벤트 트리거를 조정할 수도 있다. 예를 들어, 우유의 배달 시간이 우유 팩이 도착하기 전에, 냉장고에 우유 팩이 없는 것에 의해 검출되는 바와 같이, 사용자가 우유가 떨어지는 경우라면, 시스템은 우유 팩이 2/3 비어 있는 것 대신 절반이 비어 있는 것을 모니터링하고, 우유 팩이 절반이 비어 있을 때 주문을 할 수 있다.
시스템은 또한 트리거가 조정되어야 함을 나타내는 다른 데이터에 기초하여 트리거를 조정할 수도 있다. 이러한 데이터는 액션에 의해 충족되는 사용자의 특정 욕구가 액션이 수행된 후 충족되지 않을 수 있음을 나타낼 수 있는 데이터를 포함한다. 예를 들어, 소비 욕구를 충족시키는 액션은 소비율을 나타내는 데이터에 기초하여 조정될 수 있다. 예시적으로, 시스템이 사용자의 캘린더에 액세스함으로써, 사용자에게 1 주일 동안 손님들이 있을 것임을 확인한다고 가정한다. 시스템은 손님의 수에 기초하여, 손님들이 존재하는 동안 주문을 하기 위해 우유가 1/3 채워지는 것에서 절반이 채워지는 것으로 이벤트를 변경해야 한다고 결정할 수 있다. 마찬가지로, 시스템이 연장된 기간 동안 사용자의 집에 추가 사람들을 인식했다면, 시스템은 그에 따라 액션 트리거들을 조정할 수 있다.
본 명세서에서 논의된 시스템들이 사용자들에 관한 개인 정보를 수집하거나, 개인 정보를 사용할 수 있는 상황에서는, 프로그램들이나 기능들이 사용자 정보(예를 들어, 사용자의 소셜 네트워크, 소셜 액션들 또는 활동들, 직업, 사용자가 선호하는 것들, 사용자의 현재 위치, 위치 궤적, 집/직장과 같은 추측된 위치들, 추측된 상황, 캘린더 데이터, 이메일로부터의 예정된 이벤트들/예약들 등)를 수집할지를 통제하거나, 또는 사용자와 더 관련이 있을 수 있는 콘텐츠 서버로부터의 콘텐츠를 수신할지 및/또는 어떻게 수신할지를 통제하는 기회가 사용자들에게 제공될 수 있다. 또한, 특정 데이터는 저장되거나 사용되기 전에, 개인 식별 정보가 제거되도록 하나 이상의 방법으로 처리될 수 있다. 예를 들어, 사용자에 대해 개인 식별 정보가 결정할 수 없도록 사용자의 신원이 처리될 수 있거나 사용자의 특정 위치가 결정될 수 없도록, 위치 정보가 획득되는 곳에서 사용자의 지리적 위치가 일반화될 수 있다(예를 들어, 도시, 우편 번호 또는 주 수준으로). 따라서, 사용자는 사용자에 관한 정보가 어떻게 수집되고 콘텐츠 서버에 의해 사용되는지에 대해 통제할 수 있다.
도 5는 예시적인 모바일 컴퓨팅 디바이스의 블록도이다. 이 예시에서, 모바일 컴퓨팅 디바이스(510)는 콘텐츠를 모바일 컴퓨팅 디바이스(510)의 사용자에게 제시하고 터치 기반의 사용자 입력들을 수신하기 위한 터치스크린 디스플레이 디바이스(512)를 포함하는 핸드헬드 모바일 전화(예를 들어, 스마트폰 또는 애플리케이션 전화)로서 도시되어 있다. 다른 시각, 촉각 및 청각 출력 컴포넌트들이 제공될 수도 있고(예를 들어, LED 조명들, 촉각 출력을 위한 진동 메커니즘, 또는 음색의, 음성 생성된 또는 녹음된 출력을 제공하기 위한 스피커), 다양한 상이한 입력 컴포넌트들도 제공될 수 있다.
모바일 컴퓨팅 디바이스(510)는 기계적 또는 터치 감지 버튼들(518a-d)을 포함할 수 있다. 또한, 모바일 컴퓨팅 디바이스는 하나 이상의 스피커(520)에 의한 볼륨 출력을 조정하기 위한 버튼들, 및 모바일 컴퓨팅 디바이스를 켜거나 끄기 위한 버튼을 포함할 수 있다. 마이크로폰(522)은 모바일 컴퓨팅 디바이스(510)가 가청 사운드들을 디지털적으로 인코딩되어 컴퓨터 판독 가능 메모리에 저장되거나, 또 다른 컴퓨팅 디바이스에 송신될 수 있는 전기 신호로 변환하게 한다. 모바일 컴퓨팅 디바이스(510)는 또한 디지털 나침반, 가속도계, 근접 센서들, 및 주변 광 센서들을 포함할 수도 있다.
모바일 컴퓨팅 디바이스(510)는 터치스크린(512)으로 그래픽 유저 인터페이스를 제시할 수 있다. 그래픽 유저 인터페이스는 하나 이상의 그래픽 인터페이스 요소의 모음이며 정적일 수 있거나(예를 들어, 디스플레이가 일정 기간 동안 동일하게 유지되는 것처럼 보임), 또는 동적일 수 있다(예를 들어, 그래픽 유저 인터페이스는 사용자 입력 없이 움직이는 그래픽 인터페이스 요소들을 포함함).
모바일 컴퓨팅 디바이스(510)는 다른 애플리케이션들, 컴퓨팅 서브시스템들, 및 하드웨어를 포함할 수 있다. 음성 인식 서비스(572)는 모바일 컴퓨팅 디바이스의 마이크로폰(522)에 의해 수신된 음성 통신 데이터를 수신하고, 음성 통신을 대응하는 텍스트 데이터로 변환하거나 음성 인식을 수행할 수 있다.
모바일 컴퓨팅 디바이스(510)는 음성 및 데이터 서비스들과 같은 다양한 서비스들을 제공하기 위해 하나 이상의 네트워크와 무선으로 통신할 수 있다.
본 명세서에서 설명된 동작들 및 본 주제의 실시 예들은 디지털 전자 회로로, 또는 본 명세서에 개시된 구조들 및 그 구조적 등가물들을 포함하여, 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어로, 또는 이들 중 하나 이상의 조합들로 구현될 수 있다. 본 명세서에서 설명된 본 주제의 실시 예들은 데이터 처리 장치에 의해 실행을 위해, 또는 데이터 처리 장치의 동작을 제어하기 위해 컴퓨터 저장 매체 상에 인코딩된, 하나 이상의 컴퓨터 프로그램, 즉 컴퓨터 프로그램 명령들의 하나 이상의 모듈로서 구현될 수 있다.
컴퓨터 저장 매체는 컴퓨터 판독 가능 저장 디바이스, 컴퓨터 판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 디바이스, 또는 이들 중 하나 이상의 조합일 수 있거나 이에 포함될 수 있다. 또한, 컴퓨터 저장 매체가 전파 신호는 아니지만, 컴퓨터 저장 매체는 인위적으로 생성된 전파 신호에 인코딩된 컴퓨터 프로그램 명령들의 소스 또는 대상일 수 있다. 컴퓨터 저장 매체는 또한 하나 이상의 별개의 물리적 컴포넌트 또는 매체(예를 들어, 다수의 CD, 디스크, 또는 다른 저장 디바이스)일 수 있거나 이에 포함될 수 있다.
본 명세서에서 설명된 동작들은 하나 이상의 컴퓨터 판독 가능 저장 디바이스에 저장된 또는 다른 소스들로부터 수신된 데이터에 대해 데이터 처리 장치에 의해 수행되는 동작들로서 구현될 수 있다. "데이터 처리 장치"라는 용어는 예로서 프로그램 가능 프로세서, 컴퓨터, 시스템 온 칩, 또는 전술한 것들 중의 다수의 것들, 또는 전술한 것들의 조합들을 포함하는, 데이터를 처리하기 위한 모든 종류의 장치들, 디바이스들 및 기계들을 포괄한다. 이 장치는 특수 목적 논리 회로, 예를 들어, FPGA(필드 프로그램 가능 게이트 어레이) 또는 ASIC(애플리케이션 특정 집적 회로)을 포함할 수 있다. 이 장치는 또한, 하드웨어 이외에, 문제의 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어를 구성하는 코드, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스-플랫폼 런타임 환경, 가상 머신, 또는 이들 중 하나 이상의 조합을 포함할 수 있다. 이 장치 및 실행 환경은 웹 서비스들, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라들과 같은 다양한 상이한 컴퓨팅 모델 인프라들을 실현할 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서들은, 예로서, 범용 마이크로프로세서와 특수 목적 마이크로프로세서 둘 다, 그리고 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은 명령들에 따라 액션들을 수행하기 위한 프로세서 및 명령들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스(예를 들어, 자기, 광자기 디스크들, 또는 광 디스크들)를 포함하거나, 또는 이들로부터 데이터를 수신하거나 이들에 데이터를 전송하거나, 둘 다를 수행하기 위해 동작 가능하게 결합될 것이다. 그러나, 컴퓨터가 그러한 디바이스들을 가져야 하는 것은 아니다.
본 명세서에서 설명된 주제의 실시 예들은 백 엔드 컴포넌트(예를 들어, 데이터 서버로서)를 포함하는, 또는 미들웨어 컴포넌트(예를 들어, 애플리케이션 서버)를 포함하는, 또는 프론트 엔드 컴포넌트(예를 들어, 본 발명에서 설명된 주제의 구현과 사용자가 상호작용할 수 있는 그래픽 유저 인터페이스 또는 웹 브라우저를 갖는 사용자 컴퓨터)를 포함하는, 또는 하나 이상의 이러한 백 엔드, 미들웨어, 또는 프론트 엔드 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템으로 실현될 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어, 통신 네트워크에 의해 상호연결될 수 있다. 통신 네트워크의 예들은 근거리 통신망("LAN") 및 원거리 통신망("WAN")(예를 들어, 인터넷), 인터넷 간 네트워크(예를 들어, 인터넷), 및 피어 투 피어 네트워크들(예를 들어, 애드 혹 피어 투 피어 네트워크들)을 포함한다.
본 명세서는 많은 특정 구현 세부 사항들을 포함하지만, 이들은 임의의 발명들의, 또는 청구될 수 있는 것의 범위에 대한 제한으로서 해석되어서는 안 되며, 오히려 특정 발명들의 특정 실시 예들에 특정한 특징들에 대한 설명들로서 해석되어야 한다. 별개의 실시 예들에 관련하여 본 명세서에서 설명되는 특정 특징들은 또한 단일 실시 예에서 조합으로 구현될 수 있다. 반대로, 단일 실시 예에 관련하여 설명되는 다양한 특징들은 또한 다수의 실시 예들에서 개별적으로 또는 임의의 적합한 서브조합으로 구현될 수 있다. 또한, 특징들이 특정 조합들로 작용하는 것으로 위에 설명되고 심지어 초기에는 그러한 것으로 청구될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징은 일부 경우 조합으로부터 제거될 수 있고, 청구된 조합은 서브조합 또는 서브조합의 변형에 관한 것일 수 있다.
유사하게, 동작들이 도면들에서는 특정 순서로 도시되어 있지만, 이는 바람직한 결과들을 달성하기 위해, 그러한 동작들이 도시된 특정 순서로 또는 순차적인 순서로 수행될 것, 또는 도시된 모든 동작들이 수행될 것을 요구하는 것으로 이해되어서는 안 된다. 특정 상황들에서는, 멀티태스킹 및 병렬 처리가 유리할 수 있다. 또한, 전술한 실시 예들에서 다양한 시스템 컴포넌트들의 분리는 모든 실시 예들에서 그러한 분리를 요구하는 것으로 이해되어서는 안 되며, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품에 함께 통합되거나 다수의 소프트웨어 제품들로 패키징될 수 있음을 이해해야 한다.
따라서, 본 주제의 특정 실시 예들이 설명되었다. 다른 실시 예들은 다음의 청구항들의 범위 내에 있다. 일부 경우에, 청구항들에 기재된 액션들은 상이한 순서로 수행될 수 있으며 그럼에도 바람직한 결과들을 달성할 수 있다. 또한, 첨부된 도면들에 도시된 프로세스들은 바람직한 결과들을 달성하기 위해, 도시된 특정 순서, 또는 순차적인 순서를 반드시 필요로 하는 것은 아니다. 특정 구현들에서는, 멀티태스킹 및 병렬 처리가 유리할 수 있다.

Claims (20)

  1. 방법으로서,
    데이터 처리 장치에 의해, 물리적 엔티티에 대한 이벤트를 나타내는 데이터를 수신하는 단계 - 상기 이벤트는 상기 데이터 처리 장치에 의해 해당 이벤트의 발생이 모니터링되어야 하는 물리적 환경 특징에 의해 부분적으로 특정됨 -;
    상기 데이터 처리 장치에 의해, 상기 이벤트와 연관된 그리고 상기 이벤트의 발생에 응답하여 취해질 액션을 나타내는 데이터를 수신하는 단계;
    상기 물리적 엔티티에 대한 상기 이벤트의 발생을 모니터링하는 단계; 및
    상기 이벤트의 발생에 응답하여, 상기 이벤트와 연관된 액션이 수행되게 하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 이벤트와 상기 이벤트의 발생에 응답하여 취해질 상기 액션을 특정하는 데이터를 액션 트리거 데이터 저장소에 저장하는 단계를 더 포함하고;
    상기 물리적 엔티티에 대한 상기 이벤트의 발생을 모니터링하는 단계는 상기 액션 트리거 데이터 저장소에 저장된 데이터에 기초하여 상기 물리적 엔티티에 대한 상기 이벤트의 발생을 모니터링하는 단계를 포함하는, 방법.
  3. 제1항에 있어서,
    상기 데이터 처리 장치에 의해, 상기 물리적 환경 특징을 기술하는 데이터를 수신하는 단계;
    물리적 환경 특징들과 복수의 이벤트의 연관에 기초하여, 상기 물리적 환경 특징과 연관된 대응하는 이벤트들을 결정하는 단계; 및
    상기 사용자 디바이스로 하여금 상기 물리적 환경 특징과 연관된 상기 대응하는 이벤트들 각각에 대한 각각의 이벤트 선택 입력을 디스플레이하는 액션 트리거 메뉴를 디스플레이하게 하는 데이터를 상기 사용자 디바이스에 제공하는 단계를 더 포함하고;
    상기 이벤트는 상기 사용자 디바이스의 사용자에 의해 선택되는 이벤트 입력 선택의 대응하는 이벤트인, 방법.
  4. 제3항에 있어서,
    이벤트들과 복수의 액션의 연관 및 상기 이벤트에 기초하여, 상기 이벤트와 연관된 대응하는 액션들을 결정하는 단계; 및
    상기 사용자 디바이스로 하여금 상기 이벤트와 연관된 상기 대응하는 액션들 각각에 대한 각각의 액션 선택 입력을 상기 액션 트리거 메뉴 내에 디스플레이하게 하는 데이터를 상기 사용자 디바이스에 제공하는 단계를 더 포함하고;
    상기 사용자 디바이스에 의해 수신된 상기 이벤트와 연관된 상기 액션을 나타내는 상기 데이터는 상기 사용자 디바이스의 상기 사용자에 의해 선택된 상기 액션 선택 입력들 중 하나의 선택에 응답하는 것인, 방법.
  5. 제3항에 있어서, 상기 데이터 처리 장치에 의해 그리고 상기 이벤트에 기초하여, 수행될 상기 액션을 추론하는 단계를 더 포함하는, 방법.
  6. 제1항에 있어서, 상기 액션은 사용자에 알림 제시이고;
    상기 이벤트와 연관된 액션이 수행되게 하는 단계는:
    하나 이상의 알림 조건에 기초하여, 상기 사용자에 상기 알림의 제시를 지연시킬지를 결정하는 단계를 포함하는, 방법.
  7. 제1항에 있어서, 상기 물리적 환경 특징은 상기 물리적 환경 특징의 이미지에 의해 묘사되는, 방법.
  8. 제7항에 있어서, 상기 물리적 환경 특징의 이미지는 상기 물리적 엔티티가 없는 위치의 이미지이고, 상기 이벤트는 상기 위치에 상기 물리적 엔티티의 존재인, 방법.
  9. 제7항에 있어서, 상기 물리적 엔티티에 대한 상기 이벤트의 발생을 모니터링하는 단계는:
    상기 물리적 환경 특징의 이미지들을 반복적으로 수신하는 단계;
    각각의 반복마다, 상기 물리적 엔티티가 상기 이미지 내에 묘사되어 있는지를 이미지 처리에 의해 결정하는 단계; 및
    상기 물리적 엔티티가 상기 이미지 내에 묘사되어 있는 것으로 결정될 때 상기 이벤트가 발생한 것으로 결정하는 단계를 포함하는, 방법.
  10. 제1항에 있어서, 상기 물리적 엔티티에 대한 상기 이벤트의 발생을 모니터링하는 단계는:
    상기 물리적 엔티티의 현재 위치를 특정하는 위치 데이터를 수신하는 단계;
    상기 물리적 환경 특징의 상기 위치에 대한 상기 물리적 엔티티의 상기 현재 위치의 근접도를 결정하는 단계; 및
    상기 근접도가 임계 근접도보다 작은 경우에 상기 이벤트가 발생한 것으로 결정하는 단계를 포함하는, 방법.
  11. 제1항에 있어서, 상기 물리적 환경 특징은 상기 물리적 엔티티에 의해 생성된 데이터 신호에 의해 기술되는, 방법.
  12. 제11항에 있어서, 상기 데이터 신호는 상기 물리적 엔티티를 식별하고, 상기 방법은:
    상기 물리적 엔티티의 현재 위치를 특정하는 위치 데이터를 수신하는 단계;
    상기 물리적 환경 특징의 상기 위치에 대한 상기 물리적 엔티티의 상기 현재 위치의 근접도를 결정하는 단계; 및
    상기 근접도가 임계 근접도보다 작은 경우에 상기 이벤트가 발생한 것으로 결정하는 단계를 더 포함하는, 방법.
  13. 제11항에 있어서,
    상기 데이터 신호는 상기 물리적 엔티티를 식별하고 상기 물리적 엔티티의 위치와 무관한 상기 물리적 엔티티의 조건을 나타내는 데이터를 포함하고;
    상기 방법은:
    상기 물리적 엔티티의 현재 조건을 특정하는 물리적 엔티티 데이터를 수신하는 단계;
    상기 물리적 엔티티의 현재 조건이 상기 이벤트에 의해 특정된 상기 물리적 엔티티의 조건을 만족하는지를 결정하는 단계; 및
    상기 물리적 엔티티의 현재 조건이 상기 이벤트에 의해 특정된 상기 물리적 엔티티의 조건을 만족하는 경우 상기 이벤트가 발생한 것으로 결정하는 단계를 더 포함하는, 방법.
  14. 제1항에 있어서,
    상기 사용자 디바이스에 의해 검출된 상기 물리적 환경 특징은 물리적 엔티티의 위치이고;
    상기 물리적 엔티티에 대한 상기 이벤트의 발생을 모니터링하는 단계는:
    사용자 디바이스의 현재 위치를 특정하는 위치 데이터를 수신하는 단계;
    상기 물리적 엔티티의 상기 위치에 대한 상기 사용자 디바이스의 상기 현재 위치의 근접도를 결정하는 단계; 및
    상기 근접도가 임계 근접도보다 작은 경우에 상기 이벤트가 발생한 것으로 결정하는 단계를 포함하는, 방법.
  15. 방법으로서,
    물리적 엔티티에 대한 이벤트가 모니터링되어야 하는 물리적 환경 특징을 특정하는 데이터를 수신하는 단계;
    상기 환경 특징을 특정하는 상기 데이터에 응답하여, 사용자 디바이스로 하여금 상기 물리적 환경 특징과 연관된 하나 이상의 이벤트 각각에 대한 각각의 이벤트 선택 입력을 디스플레이하는 액션 트리거 메뉴를 디스플레이하게 하는 데이터를 제공하는 단계;
    이벤트를 특정하기 위해 상기 이벤트 선택 입력들 중 하나의 상기 사용자 디바이스에서의 선택을 특정하는 데이터를 수신하는 단계;
    상기 이벤트와, 상기 이벤트의 발생에 응답하여 취해질 액션을 연관시키는 단계; 및
    상기 물리적 엔티티에 대한 이벤트를 나타내는 데이터 및 상기 이벤트와 연관된 액션을 나타내는 데이터를 제공하는 단계를 포함하는, 방법.
  16. 시스템으로서,
    프로세서; 및
    상기 프로세서에 결합된 그리고 명령들이 저장된 컴퓨터 판독 가능 매체를 포함하고, 상기 명령들은 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금:
    물리적 엔티티에 대한 이벤트를 나타내는 데이터를 수신하는 단계 - 상기 이벤트는 데이터 처리 장치에 의해 해당 이벤트의 발생이 모니터링되어야 하는 물리적 환경 특징에 의해 부분적으로 특정됨 -;
    상기 이벤트와 연관된 그리고 상기 이벤트의 발생에 응답하여 취해질 액션을 나타내는 데이터를 수신하는 단계;
    상기 물리적 엔티티에 대한 상기 이벤트의 발생을 모니터링하는 단계; 및
    상기 이벤트의 발생에 응답하여, 상기 이벤트와 연관된 액션이 수행되게 하는 단계를 포함하는 동작들을 수행하게 하는, 시스템.
  17. 제16항에 있어서, 상기 동작들은:
    상기 데이터 처리 장치에 의해, 상기 물리적 환경 특징을 기술하는 데이터를 수신하는 단계;
    물리적 환경 특징들과 복수의 이벤트의 연관에 기초하여, 상기 물리적 환경 특징과 연관된 대응하는 이벤트들을 결정하는 단계; 및
    상기 사용자 디바이스로 하여금 상기 물리적 환경 특징과 연관된 상기 대응하는 이벤트들 각각에 대한 각각의 이벤트 선택 입력을 디스플레이하는 액션 트리거 메뉴를 디스플레이하게 하는 데이터를 상기 사용자 디바이스에 제공하는 단계를 더 포함하고;
    상기 이벤트는 상기 사용자 디바이스의 사용자에 의해 선택되는 이벤트 입력 선택의 대응하는 이벤트인, 시스템.
  18. 제17항에 있어서, 상기 동작들은:
    이벤트들과 복수의 액션의 연관 및 상기 이벤트에 기초하여, 상기 이벤트와 연관된 대응하는 액션들을 결정하는 단계; 및
    상기 사용자 디바이스로 하여금 상기 이벤트와 연관된 상기 대응하는 액션들 각각에 대한 각각의 액션 선택 입력을 상기 액션 트리거 메뉴 내에 디스플레이하게 하는 데이터를 상기 사용자 디바이스에 제공하는 단계를 더 포함하고;
    상기 사용자 디바이스에 의해 수신된 상기 이벤트와 연관된 상기 액션을 나타내는 상기 데이터는 상기 사용자 디바이스의 상기 사용자에 의해 선택된 상기 액션 선택 입력들 중 하나의 선택에 응답하는 것인, 시스템.
  19. 제16항에 있어서, 상기 물리적 엔티티에 대한 상기 이벤트의 발생을 모니터링하는 단계는:
    상기 물리적 엔티티의 현재 위치를 특정하는 위치 데이터를 수신하는 단계;
    상기 물리적 환경 특징의 상기 위치에 대한 상기 물리적 엔티티의 상기 현재 위치의 근접도를 결정하는 단계; 및
    상기 근접도가 임계 근접도보다 작은 경우에 상기 이벤트가 발생한 것으로 결정하는 단계를 포함하는, 시스템.
  20. 명령들이 저장된 컴퓨터 판독 가능 매체로서, 상기 명령들은 프로세서에 의해 실행될 때, 상기 프로세서로 하여금:
    물리적 엔티티에 대한 이벤트를 나타내는 데이터를 수신하는 단계 - 상기 이벤트는 데이터 처리 장치에 의해 해당 이벤트의 발생이 모니터링되어야 하는 물리적 환경 특징에 의해 부분적으로 특정됨 -;
    상기 이벤트와 연관된 그리고 상기 이벤트의 발생에 응답하여 취해질 액션을 나타내는 데이터를 수신하는 단계;
    상기 물리적 엔티티에 대한 상기 이벤트의 발생을 모니터링하는 단계; 및
    상기 이벤트의 발생에 응답하여, 상기 이벤트와 연관된 액션이 수행되게 하는 단계를 포함하는, 컴퓨터 판독 가능 매체.
KR1020177031467A 2015-08-19 2016-08-19 물리적 지식 액션 트리거들 KR101972141B1 (ko)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
KR20170125403A true KR20170125403A (ko) 2017-11-14
KR101972141B1 KR101972141B1 (ko) 2019-04-24

Family

ID=58051063

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177031467A KR101972141B1 (ko) 2015-08-19 2016-08-19 물리적 지식 액션 트리거들

Country Status (9)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11635885B2 (en) 2020-12-02 2023-04-25 Samsung Electronics Co., Ltd. Electronic device for supporting automation services

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
CN110476406B (zh) * 2017-03-29 2021-05-04 夏普株式会社 信息处理系统
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
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
KR102684057B1 (ko) * 2019-07-26 2024-07-12 한화비전 주식회사 복수의 카메라들을 포함하는 네트워크 시스템과 통신하는 컴퓨터 장치 및 그것의 동작 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130117263A1 (en) * 2010-07-22 2013-05-09 Rajan Lukose Context-Based Item Bookmarking
US20140113560A1 (en) * 2012-10-22 2014-04-24 Cambridge Silicon Radio Limited Dynamic interactive zone driven proximity awareness system
US20150185713A1 (en) * 2013-12-30 2015-07-02 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
US20150187201A1 (en) * 2013-12-27 2015-07-02 Google Inc. Notification engine

Family Cites Families (64)

* 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
AU2001286697A1 (en) 2001-07-16 2003-03-03 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
WO2010096193A2 (en) * 2009-02-18 2010-08-26 Exbiblio B.V. Identifying a document by performing spectral analysis on the contents of the document
US20100214428A1 (en) * 2009-02-25 2010-08-26 Research In Motion Limited Method and mobile computing device for setting a pictorial reminder
CN102440009A (zh) * 2009-03-09 2012-05-02 佐科姆有限公司 提供生活观察的移动终端和方法以及具有数据分析、分发以及终端指导特征的相关服务器布置和方法
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
US20140136366A1 (en) * 2012-11-12 2014-05-15 Restaurant Technology Inc. System and method for receiving and managing remotely placed orders
US20120232966A1 (en) * 2011-03-08 2012-09-13 Bank Of America Corporation Identifying predetermined objects in a video stream captured by a mobile device
EP2689572A4 (en) * 2011-03-23 2015-01-21 Ericsson Telefon Ab L M METHOD AND SYSTEM FOR CONTROLLING ACTIONS IN A NOTIFICATION SERVICE
US8766793B2 (en) 2011-03-25 2014-07-01 Microsoft Corporation Contextually-appropriate task reminders
KR20130121923A (ko) * 2011-06-14 2013-11-06 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 실제 상황으로부터의 시뮬레이션의 시작
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
US9218587B2 (en) 2012-09-28 2015-12-22 Panasonic Intellectual Property Corporation Of America Information-providing method, and information-providing system
US20140100904A1 (en) 2012-10-04 2014-04-10 James Louis Wolf Adaptive reminder strategies for user activities
US9554050B2 (en) 2013-03-04 2017-01-24 Apple Inc. Mobile device using images and location for reminders
US20160012136A1 (en) * 2013-03-07 2016-01-14 Eyeducation A.Y. LTD Simultaneous Local and Cloud Searching System and Method
US9412086B2 (en) * 2013-03-07 2016-08-09 Bradd A. Morse Apparatus and method for customized product data management
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
CA2925542C (en) * 2013-10-17 2021-08-17 Adt Us Holdings, Inc. Portable system for managing events
US11030571B2 (en) * 2013-12-20 2021-06-08 Ebay Inc. Managed inventory
US9760856B2 (en) * 2013-12-31 2017-09-12 Tata Consultancy Services Limited Inventory management
AU2015214298B2 (en) 2014-02-10 2018-05-10 Google Llc 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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130117263A1 (en) * 2010-07-22 2013-05-09 Rajan Lukose Context-Based Item Bookmarking
US20140113560A1 (en) * 2012-10-22 2014-04-24 Cambridge Silicon Radio Limited Dynamic interactive zone driven proximity awareness system
US20150187201A1 (en) * 2013-12-27 2015-07-02 Google Inc. Notification engine
US20150185713A1 (en) * 2013-12-30 2015-07-02 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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11635885B2 (en) 2020-12-02 2023-04-25 Samsung Electronics Co., Ltd. Electronic device for supporting automation services

Also Published As

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

Similar Documents

Publication Publication Date Title
KR101972141B1 (ko) 물리적 지식 액션 트리거들
US10382616B2 (en) Contextual alarm and notification management
US20220215258A1 (en) Devices, Systems, and Methods that Observe and Classify Real-World Activity Relating to an Observed Object, and Track and Disseminate State Relating the Observed Object
US11803819B2 (en) System and method of providing to-do list of user
US11663217B2 (en) World knowledge triggers
US9979680B2 (en) Smart notification scheduling and modality selection
US11295275B2 (en) System and method of providing to-do list of user
CN107251065A (zh) 个性化通知
CN107251066A (zh) 个性化提醒
CN110264145A (zh) 生成和处理代表待执行任务的任务项目
US20160026978A1 (en) Method and device for agenda management
CN103473039A (zh) 为了响应通知而生成基于上下文的选项
US20200382367A1 (en) Systems and methods for configuring a device action based on one or more events
US20190036720A1 (en) Method and device to select an electronic device based on delivery attributes

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant