KR102551715B1 - Iot 기반 알림을 생성 및 클라이언트 디바이스(들)의 자동화된 어시스턴트 클라이언트(들)에 의해 iot 기반 알림을 자동 렌더링하게 하는 명령(들)의 제공 - Google Patents

Iot 기반 알림을 생성 및 클라이언트 디바이스(들)의 자동화된 어시스턴트 클라이언트(들)에 의해 iot 기반 알림을 자동 렌더링하게 하는 명령(들)의 제공 Download PDF

Info

Publication number
KR102551715B1
KR102551715B1 KR1020227024890A KR20227024890A KR102551715B1 KR 102551715 B1 KR102551715 B1 KR 102551715B1 KR 1020227024890 A KR1020227024890 A KR 1020227024890A KR 20227024890 A KR20227024890 A KR 20227024890A KR 102551715 B1 KR102551715 B1 KR 102551715B1
Authority
KR
South Korea
Prior art keywords
iot
notification
client device
devices
assistant client
Prior art date
Application number
KR1020227024890A
Other languages
English (en)
Other versions
KR20220104078A (ko
Inventor
데이비드 로이 스채어러
수메르 모하메드
4세 마크 스파테스
프렘 쿠마르
치 영 조나단 엔지
디 주
스티븐 클라크
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 구글 엘엘씨
Priority to KR1020237021937A priority Critical patent/KR20230107384A/ko
Publication of KR20220104078A publication Critical patent/KR20220104078A/ko
Application granted granted Critical
Publication of KR102551715B1 publication Critical patent/KR102551715B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • 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/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification
    • G10L17/22Interactive procedures; Man-machine interfaces
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification
    • G10L17/22Interactive procedures; Man-machine interfaces
    • G10L17/24Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/10Detection; Monitoring
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/30Control
    • G16Y40/35Management of things, i.e. controlling in accordance with a policy or in order to achieve specified objectives
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/282Controlling appliance services of a home automation network by calling their functionalities based on user interaction within the home
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Abstract

원격 자동화된 어시스턴트 컴포넌트(들)는 적어도 하나의 IoT 디바이스와 연관된 적어도 하나의 상태의 변화를 표시하는 수신된 IoT 상태 변화 알림을 기초하여 클라이언트 디바이스 알림(들)을 생성한다. 생성된 클라이언트 디바이스 알림(들)은 각각 적어도 하나의 IoT 디바이스와 연관된 상태의 변화를 표시할 수 있고, 선택적으로 적어도 하나의 IoT 디바이스를 표시할 수 있다. 또한, 원격 자동화된 어시스턴트 컴포넌트(들)는 적어도 하나의 IoT 디바이스와 연관된 후보 어시스턴트 클라이언트 디바이스를 식별할 수 있고, 하나 이상의 후보 어시스턴트 클라이언트 디바이스(들) 각각이 대응하는 클라이언트 디바이스 알림을 렌더링해야 하는지 여부를 결정할 수 있다. 그 후, 원격 자동화된 어시스턴트 컴포넌트(들)는 대응하는 명령을 대응하는 클라이언트 디바이스 알림을 렌더링해야 한다고 결정한 어시스턴트 클라이언트 디바이스(들) 각각에 전송할 수 있으며, 각 전송된 명령은 대응하는 어시스턴트 클라이언트 디바이스로 하여금 대응하는 클라이언트 디바이스 알림을 렌더링하게 한다.

Description

IOT 기반 알림을 생성 및 클라이언트 디바이스(들)의 자동화된 어시스턴트 클라이언트(들)에 의해 IOT 기반 알림을 자동 렌더링하게 하는 명령(들)의 제공{GENERATING IOT-BASED NOTIFICATION(S) AND PROVISIONING OF COMMAND(S) TO CAUSE AUTOMATIC RENDERING OF THE IOT-BASED NOTIFICATION(S) BY AUTOMATED ASSISTANT CLIENT(S) OF CLIENT DEVICE(S)}
사람은 본 명세서에서 "자동화된 어시스턴트"("챗봇", "인터랙티브 퍼스널 어시스턴트", "지능형 퍼스널 어시스턴트", "개인 음성 어시스턴트", "대화형 에이전트들"로도 지칭됨)로 지칭되는 인터렉티브 소프트웨어 어플리케이션과의 사람-컴퓨터 간 대화에 참여할 수 있다. 예를 들어, 사람(자동화된 어시스턴트와 인터렉션할 때 "사용자"라고 할 수 있음)은 자동화된 어시스턴트가 응답 출력을 생성하고 제공하게 하고, 하나 이상의 사물 인터넷(IoT) 디바이스를 제어하게 하고 및/또는 하나 이상의 다른 기능을 수행하게 하는 입력(예: 명령, 쿼리 및/또는 요청)을 자동화된 어시스턴트에 제공할 수 있다. 사용자에 의해 제공되는 입력은 예를 들어, 일부 경우에 텍스트(또는 다른 의미론적 표현)로 변환되고, 그 후 추가 프로세싱될 수 있는 발화된 자연어 입력(즉, 발언) 및/또는 타이핑된 자연어 입력일 수 있다.
일부 경우에, 자동화된 어시스턴트는 클라이언트 디바이스에 의해 로컬적으로 실행되고 사용자가 직접 참여하는 자동화된 어시스턴트 클라이언트는 물론, 자동화된 어시스턴트 클라이언트가 사용자의 입력에 응답하게 하기 위해 클라우드의 사실상 무한한 리소스를 활용하는 클라우드 기반 대응물을 포함할 수 있다. 예를 들어, 자동화된 어시스턴트 클라이언트는 클라우드 기반 대응물(들)에게 사용자의 발화된 발언(또는 그것의 텍스트 변환)의 오디오 녹음 및 선택적으로 사용자의 신원을 표시하는 데이터(예: 크리덴셜)를 제공할 수 있다. 클라우드 기반 대응물은 쿼리에 대한 다양한 프로세싱을 수행하여 결과(들)를 자동화된 어시스턴트 클라이언트에 반환할 수 있으며, 그러면 대응하는 출력을 사용자에게 제공할 수 있다.
많은 사용자가 다수의 클라이언트 디바이스를 사용하여 자동화된 어시스턴트를 사용할 수 있다. 예를 들어, 일부 사용자는 여러 다른 클라이언트 디바이스들 중에서도 하나 이상의 스마트폰, 하나 이상의 태블릿 컴퓨터, 하나 이상의 차량 컴퓨팅 시스템, 하나 이상의 웨어러블 컴퓨팅 디바이스, 하나 이상의 스마트 텔레비전 및/또는 하나 이상의 독립형 인터렉티브 스피커와 같은 클라이언트 디바이스의 조정된 "생태계"를 소유할 수 있다. 사용자는 이러한 클라이언트 디바이스 중 하나를 사용하여 자동화된 어시스턴트와 인간 대 컴퓨터 대화에 참여할 수 있다(자동화된 어시스턴트 클라이언트가 설치되어 있다고 가정). 일부 경우에, 이러한 클라이언트 디바이스는 사용자의 주 거주지, 보조 거주지, 직장 및/또는 기타 구조 주변에 산개되어 있을 수 있다. 예를 들어, 스마트폰, 태블릿, 스마트 워치 등과 같은 모바일 클라이언트 디바이스는 사용자의 몸 및/또는 사용자가 마지막으로 배치한 위치에 있을 수 있다. 전통적인 데스크탑 컴퓨터, 스마트 텔레비전 및 독립형 인터렉티브 스피커와 같은 다른 클라이언트 디바이스는 더 고정적일 수 있지만, 그럼에도 불구하고 사용자의 집이나 직장 내의 다양한 장소(예: 방)에 위치될 수 있다.
사용자(예: 단일 사용자, 가족의 여러 사용자, 동료, 동거인 등)가 클라이언트 디바이스의 조정된 생태계 중 하나의 자동화된 어시스턴트 클라이언트를 사용하여 자동화된 어시스턴트 클라이언트와 연관된 복수의 IoT 디바이스 중 어느 하나를 제어하게 할 수 있는 기법이 존재한다. 예를 들어, 사용자는 클라이언트 디바이스의 자동화된 어시스턴트 클라이언트에게 "거실 조명을 꺼"라는 발화된 명령을 하여, 대응하는 IoT 디바이스(즉, 자동화된 어시스턴트 클라이언트에 연결되고 "거실"로 라벨링된 조명)가 조명을 끄게 할 수 있다. 또한, 자동화된 어시스턴트 클라이언트는 조명을 끄라는 명령이 실행되었음을 표시하는(그리고 선택적으로 성공했는지 여부를 나타내는) 응답 출력과 같은 발화된 명령에 응답하여 응답 출력을 제공할 수 있다.
사용자(들)가 클라이언트 디바이스의 자동화된 어시스턴트 클라이언트를 활용하여 명시적으로 IoT 디바이스의 상태를 요청하고 이에 대한 응답으로 상태 표시를 수신하게 할 수 있는 기법도 존재한다. 예를 들어, "온도 조절기 설정이 뭐야"라는 발화된 발언에 대한 응답으로, 일부 자동화된 어시스턴트는 온도 조절기 IoT 디바이스의 현재 온도 설정을 확인하고, 현재 온도 설정을 나타내는 응답 출력을 제공할 수 있다. 그러나 이러한 기법은 사용자가 클라이언트 디바이스의 자동화된 어시스턴트 클라이언트를 통해 제공되는 사용자 입력을 통해 IoT 디바이스의 상태를 명시적으로 요청해야 한다. 또한, 이러한 기법은 계산 및/또는 네트워크 리소스에 부담을 줄 수 있다. 예를 들어, 이러한 기법은 클라이언트 디바이스가 사용자의 요청을 프로세싱하고, 클라이언트 디바이스가 상기 요청에 대응하는 데이터를 원격 자동화된 어시스턴트 컴포넌트(들)로 전송하고, 상기 원격 자동화된 어시스턴트 컴포넌트(들)가 별도의 IoT 시스템과 인터렉션하여 상태를 확인하고, 상기 원격 자동화된 어시스턴트 컴포넌트(들)는 상태를 표시하는 응답을 클라이언트 디바이스에 전송할 것을 요구한다.
본 명세서에 기술된 구현예는 IoT 기반 알림(들)을 생성하고 클라이언트 디바이스(들)의 자동화된 어시스턴트 클라이언트(들)에 의해 IoT 기반 알림을 자동 렌더링하게 하는 명령(들)의 제공과 관련된다. 예를 들면, 원격 자동화된 어시스턴트 컴포넌트(들)(본 명세서에서 "클라우드 기반 자동화된 어시스턴트 컴포넌트(들)로도 지칭됨)는 적어도 하나의 IoT 디바이스와 연관된 적어도 하나의 상태의 변화를 표시하는 수신된 IoT 상태 변화 알림을 기초하여 클라이언트 디바이스 알림(들)을 생성한다. 생성된 클라이언트 디바이스 알림(들)은 각각 적어도 하나의 IoT 디바이스와 연관된 상태의 변화를 표시할 수 있고, 선택적으로 적어도 하나의 IoT 디바이스를 표시할 수 있다. 또한, 원격 자동화된 어시스턴트 컴포넌트(들)는 적어도 하나의 IoT 디바이스와 연관된 후보 어시스턴트 클라이언트 디바이스(자동화된 어시스턴트 클라이언트 디바이스를 각각 포함하는 클라이언트 디바이스)를 식별할 수 있고, 하나 이상의 후보 어시스턴트 클라이언트 디바이스(들) 각각이 대응하는 클라이언트 디바이스 알림을 렌더링해야 하는지 여부를 결정할 수 있다. 그 후, 원격 자동화된 어시스턴트 컴포넌트(들)는 대응하는 명령을 대응하는 클라이언트 디바이스 알림을 렌더링해야 한다고 결정한 어시스턴트 클라이언트 디바이스(들) 각각에 전송할 수 있으며, 각 전송된 명령은 대응하는 어시스턴트 클라이언트 디바이스로 하여금 대응하는 클라이언트 디바이스 알림을 렌더링하게 한다. 예를 들면, 명령은 제1 어시스턴트 클라이언트 디바이스에 전송되어 상기 제1 어시스턴트 클라이언트 디바이스로 하여금 클라이언트 디바이스 알림을 자동적으로 청각적으로 렌더링하게 하고, 명령은 제2 어시스턴트 클라이언트 디바이스에 전송되어 상기 제2 어시스턴트 클라이언트 디바이스로 하여금 동일한 클라이언트 디바이스 알림을 자동적으로 청각적으로 렌더링하게 할 수 있다. 예를 들면, 명령은 알림의 렌더링을 명시적으로 요청하는 임의의 사용자 인터페이스 입력과 무관하게 그리고 심지어 임의의 사용자 인터페이스 입력과도 전혀 무관하게(예: 수신에 응답하여 렌더링) 클라이언트 디바이스에 의해 자동적으로 렌더링하게 할 수 있다. 하나의 특정 예로서, 명령은 클라이언트 디바이스 알림의 텍스트를 포함할 수 있으며, 명령은 어시스턴트 클라이언트 디바이스로 하여금 텍스트의 텍스트-음성 변환을 수행하고, 대응하는 오디오 데이터를 스피커(들)를 통해 렌더링하게 할 수 있다.
본 명세서에 기술된 일부 구현예에서, 어시스턴트 클라이언트 디바이스로 하여금 클라이언트 디바이스 알림을 렌더링하게 하기 위해 어시스턴트 클라이언트 디바이스로 전송된 명령은 또한 클라이언트 디바이스 알림이 적어도 부분적으로 렌더링된 후 시간의 기간 동안 음성 입력을 자동적으로 모니터링하게 하고, 상기 자동 모니터링 동안 검출된 발화된 발언에 대응하는 데이터를 전송하게 할 수 있다. 이러한 방식으로, 사용자는 어시스턴트 클라이언트 디바이스의 어시스턴트 클라이언트를 먼저 명시적으로 호출할 필요가 없기 때문에(예를 들어, "Hey, Assistant"와 같은 호출 문구를 먼저 말하거나 또는 호출 버튼 누름), 감소된 양의 입력으로 클라이언트 디바이스 알림과 관련된 발화된 발언을 제공할 수 있다. . 이는 자동화된 어시스턴트 클라이언트를 호출하기 위한 입력(들)이 어시스턴트 클라이언트 디바이스에 의해 프로세싱될 필요가 없기 때문에 어시스턴트 클라이언트 디바이스의 리소스를 보존할 수 있다.
또한, 이러한 구현예 중 일부에서, 자동화된 어시스턴트(자동화된 어시스턴트 클라이언트 디바이스 및/또는 원격 자동화된 어시스턴트 컴포넌트(들))는 발화된 발언을 프로세싱하고, 상기 발화된 발언의 프로세싱에 기초하고, 상기 발화된 발언이 음성 입력에 대한 자동 모니터링 중에 검출되는 것에 기초하여 추가 어시스턴트 액션(들)을 수행한다. 예를 들어, 자동화된 어시스턴트는 발화된 발언의 음성-텍스트 변환을 수행함으로써 생성된 텍스트에 기초하고, 상기 발화된 발언이 음성 입력에 대한 모니터링 동안에 검출되는 것에 기초하여 추론된 값(들)에 기초하여 추가 어시스턴트 액션(들)을 생성할 수 있다. 추론된 값(들)은 클라이언트 디바이스 알림 및/또는 클라이언트 디바이스 알림의 기반이 되는 IoT 상태 변화 알림을 기초할 수 있다. 하나의 특정한 예로서, 클라이언트 디바이스 알림이 "your front door lock is unlocked"이고, 모니터링 중에 제공된 발화된 발언이 "lock it"인 경우, 자동화된 어시스턴트는 "it"에 대해 "front door lock"의 값을 추론할 수 있고, IoT 명령을 생성하고 전송하여 "front door lock"의 "unlocked" 상태를 "locked" 상태로 변경하게 한다. 이러한 방식과 다른 방식에서, 일반적으로 발화된 발언에 필요한 값(들)이 위에 설명된 대로 대신 추론될 수 있기 때문에 사용자는 클라이언트 디바이스 알림에 응답하여 더 짧은 발화된 발언을 제공할 수 있다. 이는 더 짧은 발화된 발언으로 인해 더 적은 오디오 데이터가 전송 및/또는 프로세싱(예를 들어, 음성-텍스트)될 필요가 있기 때문에, 어시스턴트 클라이언트 디바이스 및/또는 원격 자동화된 어시스턴트 컴포넌트(들)의 리소스를 보존할 수 있다.
본 명세서에 기술된 일부 추가적 또는 대안적 구현예에서, 원격 자동화된 어시스턴트 컴포넌트(들)는 수신된 IoT 상태 변화 알림에 응답하여 클라이언트 디바이스 알림을 렌더링해야 하는 클라이언트 디바이스(들)(있는 경우)를 결정한다. 원격 자동화된 어시스턴트 컴포넌트(들)는 수신된 IoT 상태 변화 알림의 속성, 클라이언트 디바이스(들)와 연관된 현재 속성, 시간, 요일 및/또는 하나 이상의 기타 기준에 기초하여, 클라이언트 디바이스 알림을 렌더링해야 하는 클라이언트 디바이스(있는 경우)를 결정할 수 있다. 따라서, 이러한 고려 사항에 기초하여, 원격 자동화된 어시스턴트 컴포넌트(들)는 수신된 IoT 상태 변화 알림에 응답하여 모든 어시스턴트 클라이언트 디바이스보다 적은 수(일부 경우에는 없음)에 명령을 선택적으로 전송할 수 있다. 이러한 방식과 다른 방식에서, 클라이언트 디바이스의 생태계와 연관된 모든 IoT 디바이스에 대한 모든 IoT 상태 변화 알림은 생태계의 모든 클라이언트 디바이스가 대응하는 클라이언트 디바이스 알림을 렌더링하게 하지 않는다. 오히려, 클라이언트 디바이스(들)의 전부(및 일부 경우에는 없음)보다 적은 수가 하나 이상의 상태 변화 알림에 대한 대응하는 클라이언트 디바이스 알림을 렌더링한다. 이는 다양한 상황에서 클라이언트 디바이스에 명령이 전송되거나 그에 의해 프로세싱되지 않기 때문에 클라이언트 디바이스에서 계산 리소스를 절약할 수 있다. 또한, 다양한 상황에서 전송해야 하는 명령의 양을 줄여 네트워크 리소스를 절약할 수 있다.
상기 설명은 본 개시의 단지 일부 구현예의 개요로서 제공된다. 이러한 구현예 및 기타 구현예에 대한 추가 설명은 본 명세서에서 더 자세히 설명된다. 하나의 비-제한적인 예로서, 다양한 구현예가 본 명세서에 포함된 청구 범위에서 더 상세히 설명된다.
추가로, 일부 구현예들은 하나 이상의 컴퓨팅 디바이스들의 하나 이상의 프로세서들을 포함하며, 상기 하나 이상의 프로세서들은 연관된 메모리에 저장된 명령어들을 실행하도록 동작가능하며, 상기 명령어들은 본 명세서에 기술된 임의의 방법들을 수행하게 하도록 구성된다. 또한, 일부 구현예들은 본 명세서에 기술된 방법들 중 임의의 것을 수행하도록 하나 이상의 프로세서들에 의해 실행가능한 컴퓨터 명령어들을 저장하는 하나 이상의 비일시적 컴퓨터 판독가능 저장 매체를 포함한다.
본 명세서에서 매우 상세히 기술된 상기 개념들 및 추가적 개념들의 모든 조합들은 본 명세서에 개시된 본 발명의 일부인 것으로 고려되어야 한다. 예를 들면, 본 명세서의 끝부분에 나타나는 청구된 발명의 모든 조합들은 본 명세서에 개시된 본 발명의 일부인 것으로 고려된다.
도 1a는 본 명세서에 개시된 구현예들이 구현될 수 있는 예시적 환경의 블록도이다.
도 2aa, 2ab, 2ac, 2ad, 2b, 2c 및 2d는 다양한 구현예에 따라 IoT 기반 클라이언트 디바이스 알림을 자동으로 렌더링하는 클라이언트 디바이스와 연관된 일부 예시를 도시한다.
도 3은 다양한 구현에 따른 예시적 상태도를 도시한다.
도 4는 다양한 구현에 따른 다른 예시적 상태도를 도시한다.
도 5는 다양한 구현에 따른 또 다른 예시적 상태도를 도시한다.
도 6은 컴퓨팅 디바이스의 예시적 아키텍처를 도시한다.
사운드 스피커, 홈 알람, 도어록, 카메라, 조명 시스템, 트레드밀, 온도 조절기, 체중계, 스마트 침대, 관개 시스템, 차고 문 개폐기, 어플라이언스, 베이비 모니터, 화재 경보기, 습도 감지기와 같은 스마트 멀티 센싱 네트워크 연결 디바이스(여기서 IoT 디바이스라고도 함)가 확산되고 있다. 종종 다수의 IoT 디바이스가 집과 같은 구조의 경계 내에 위치하거나 사용자의 주 거주지 및 사용자의 보조 거주지 및/또는 직장 위치와 같은 다수의 관련된 구조 내에 위치된다.
또한, 어시스턴트의 논리적 인스턴스를 형성하기 위해 하나 이상의 원격 자동화된 어시스턴트 컴포넌트와 인터렉션할 수 있는 어시스턴트 클라이언트를 각각 포함하는 어시스턴트 클라이언트 디바이스가 확산되고 있다. 어시스턴트 클라이언트 디바이스는 어시스턴트 기능(예: 어시스턴트 기능에만 전념하는 독립형 스피커 및/또는 어시스턴트 클라이언트 및 연관 인터페이스만을 포함하는 독립형 오디오/비주얼 디바이스)에만 전념하거나 다른 기능에 추가하여 어시스턴트 기능을 수행할 수 있다(예: 어시스턴트 클라이언트를 다수의 애플리케이션 중 하나로 포함하는 모바일폰 또는 태블릿). 또한, 일부 IoT 디바이스는 어시스턴트 클라이언트 디바이스일 수 있다. 예를 들어, 일부 IoT 디바이스는 어시스턴트 클라이언트 및 어시스턴트 클라이언트의 어시스턴트 인터페이스를 위한 사용자 인터페이스 출력 및/또는 입력 디바이스로서(적어도 부분적으로) 기능하는 적어도 스피커(들) 및/또는 마이크(들)를 포함할 수 있다.
IoT 디바이스를 자동화된 어시스턴트의 대응하는 논리적 인스턴스(및 선택적으로 개별 어시스턴트 클라이언트 디바이스)와 연결하기 위한 다양한 기술이 제안되었다. 예를 들어, 사용자, 사용자 그룹, 어시스턴트 클라이언트 디바이스 및/또는 어시스턴트 클라이언트 디바이스 그룹(예: 구조 내 모두)은 복수의 별개의 IoT 디바이스와 연결되어(예: 하나 이상의 데이터베이스에서) 자동화된 어시스턴트를 통해 IoT 디바이스와 인터렉션(예: 제어)하게 할 수 있다. 예를 들어, 가정에서 다수의 어시스턴트 클라이언트 디바이스 각각은 가정의 다수의 별개의 IoT 디바이스 각각에 연결되어, 임의의 사용자(또는 제한된 사용자 그룹)로 하여금 다수의 별개의 IoT 디바이스 중 임의의 것과 인터렉션하기 위해 어시스턴트 클라이언트 디바이스 중 임의의 것과 인터페이싱하게 할 수 있다.
이러한 연결의 한 예는 사용자 생성 및/또는 자동 생성이 가능한 디바이스 토폴로지 표현이며, 다양한 어시스턴트 클라이언트 디바이스, 다양한 IoT 디바이스, 각각에 대한 식별자 및/또는 각각에 대한 속성(들)을 정의할 수 있다. 예를 들어, 디바이스의 식별자(들)는 디바이스가 위치된 구조의 방(및/또는 기타 영역(들))을 특정할 수 있고(예: 거실, 주방) 및/또는 디바이스에 대한 별칭(들) 및/또는 별명(들)을 특정할 수 있다(예: 소파 램프, 앞문 잠금, 침실 스피커, 주방 어시스턴트 등). 이러한 방식으로, 디바이스의 식별자는 사용자가 각각의 디바이스와 연관시킬 가능성이 있는 각각의 디바이스의 이름, 별명 및/또는 위치일 수 있다.
디바이스 토폴로지 표현은 각각의 디바이스와 연관된 하나 이상의 디바이스 속성을 추가로 특정할 수 있다. 어시스턴트 클라이언트 디바이스에 대한 디바이스 속성은 예를 들어 어시스턴트 클라이언트 디바이스에 의해 지원되는 하나 이상의 입력 및/또는 출력 양식과 연관될 수 있다. 예를 들어, 독립형 스피커 전용 어시스턴트 클라이언트 디바이스의 디바이스 속성은 가청 출력을 제공할 수 있지만 시각적 출력을 제공할 수 없음을 나타낼 수 있다. IoT 디바이스의 디바이스 속성은 예를 들어 IoT 디바이스 자체에 의해 결정될 수 있는 상태 및/또는 IoT 디바이스가 결정에 활용될 수 있는 해당 데이터의 상태(들)와 같이 IoT 디바이스와 연관된 하나 이상의 상태와 연관될 수 있다. 예를 들어, 조명 디바이스와 연관된 디바이스 속성은 온 상태, 오프 상태, 디밍 상태 등을 포함할 수 있다. 또 다른 예로서, 자동 문 잠금 디바이스는 잠금 상태와 잠금 해제 상태를 포함할 수 있다. 또 다른 예로서, 카메라가 있는 스마트 초인종은 링 상태(예를 들어, 스마트 초인종의 버튼이 작동될 때 활성화됨), 물체 감지 상태(예를 들어, 카메라로부터의 데이터에 기초함) 등을 포함할 수 있다.
본 명세서에 설명된 구현예는 다양한 IoT 디바이스의 상태 변화에 응답하여 생성된 IoT 상태 변화 알림을 원격 자동화된 어시스턴트 컴포넌트(들)에 의해 수신하는 것과 관련된다. 이러한 구현예는 또한 다양한 기준에 기초하여 원격 자동화된 어시스턴트 컴포넌트(들)에 의해, 그러한 IoT 디바이스와 연관된 클라이언트 디바이스(들)의 어시스턴트 인터페이스를 통해 대응하는 클라이언트 디바이스 알림의 렌더링을 할 시기 및/또는 방법을 결정하는 것과 관련된다. 또한, 이러한 구현예는 IoT 기반 클라이언트 디바이스 알림(들)이 렌더링되어야 한다고 결정되는 경우, 명령(들)을 클라이언트 디바이스(들)에 전송하는 것과 관련되며, 상기 명령(들)은 클라이언트 디바이스 알림을 자동으로 렌더링하게 하고 선택적으로 그들을 결정된 방식으로 렌더링하게 한다.
이제 도 1로 돌아가면, 본 명세서에 개시된 기법들이 구현될 수 있는 예시적 환경이 도시된다. 예시적인 환경은 복수의 클라이언트 컴퓨팅 디바이스(1061-N)(또한 단순히 "클라이언트 디바이스"로 본원에 지칭됨), 하나 이상의 클라우드 기반 자동화된 어시스턴트 컴포넌트(119), 하나 이상의 IoT 시스템(140), IoT 디바이스(1451-N) 및 사용자 정보 데이터베이스(135)를 포함한다. 도 1의 클라이언트 디바이스(106) 및 IoT 디바이스(145)는 (예를 들어, 디바이스 토폴로지를 통해) 적어도 선택적으로 서로 연관되는 클라이언트 디바이스 및 IoT 디바이스를 나타낸다. 예를 들어, IoT 디바이스(145)는 모두 집(예를 들어, 집의 내부 및/또는 외부)에 있을 수 있고, 클라이언트 디바이스(106)는 적어도 때때로 동일한 집에 있을 수 있으며, IoT 디바이스(145)와 클라이언트는 디바이스(106)는 여기에 설명된 것과 같은 하나 이상의 기법을 이용하여 서로 연결될 수 있다. 이러한 연관을 통해, 하나 이상의 사용자는 자동화된 어시스턴트 클라이언트(106)를 활용하여 IoT 디바이스(145)와 인터렉션할 수 있고 및/또는 본 명세서에 기술된 구현예에 따라 하나 이상의 IoT 디바이스(145) 중 하나 이상과 관련된 알림이 하나 이상의 클라이언트 디바이스(106)에서 자동으로 렌더링되도록 할 수 있다.
각 클라이언트 디바이스(106)는 자동화된 어시스턴트 클라이언트(118)의 각각의 인스턴스를 실행할 수 있다. 자동화된 어시스턴트 클라이언트(118)의 인스턴스는 클라이언트 디바이스(116)의 운영 체제와 별개의 애플리케이션일 수 있거나(예를 들어, 운영 체제 "상에" 설치됨), 또는 대안적으로 클라이언트 디바이스(116)의 운영 체제에 의해 직접 구현될 수 있다.
하나 이상의 클라우드 기반 자동화된 어시스턴트 컴포넌트(119)는 하나 이상의 컴퓨팅 시스템(통칭하여 "클라우드" 또는 "원격" 컴퓨팅 시스템으로 지칭됨)에서 구현될 수 있으며, 이는 하나 이상의 근거리 통신망(Wi-Fi LAN, 메시 네트워크 등을 포함한 "LAN") 및/또는 광역 통신망(예: 인터넷)을 통해 클라이언트 디바이스(1061-N)에 통신적으로 연결된다. 클라우드 기반 자동화된 어시스턴트 컴포넌트(119)와 클라이언트 디바이스(1061-N)의 통신적 연결은 일반적으로 도 1의 1101로 표시된다.
클라우드 기반 자동화된 어시스턴트 컴포넌트(119)는 또한 하나 이상의 네트워크를 통해 하나 이상의 IoT 시스템(140)과 통신적으로 연결될 수 있다. 클라우드 기반 자동화된 어시스턴트 컴포넌트(119)와 IoT 시스템(들)(140)의 통신적 연결은 일반적으로 도 1의 1103으로 표시된다. 또한, IoT 시스템(140)은 각각 하나 이상의 네트워크를 통해 하나 이상의 IoT 디바이스(1451-N)의 대응하는 그룹에 통신적으로 연결될 수 있다. 예를 들어, 제1 IoT 시스템(140)은 하나 이상의 IoT 디바이스(1451)의 제1 그룹과 통신적으로 연결되고, 그로부터 데이터를 수신하고, 제2 IoT 시스템(140)은 하나 이상의 IoT 디바이스(145N)의 제2 그룹과 통신적으로 연결되고, 그로부터 데이터를 수신한다. IoT 시스템(들)(140)과 IoT 시스템(145)의 통신적 연결은 일반적으로 도 1의 1104로 표시된다. 또한, 일부 실시예에서, 복수의 클라이언트 디바이스(1061-N)는 도 1의 1101로 일반적으로 표시된 하나 이상의 네트워크를 통해 서로 통신 가능하게 연결될 수 있다.
일부 구현예에서, 복수의 클라이언트 컴퓨팅 디바이스(1061-N) 및 IoT 디바이스(1451-N)는 여기에 설명된 기법의 수행을 용이하게 하기 위해 다양한 방식으로 서로 연관될 수 있다. 예를 들어, 일부 구현예에서, 복수의 클라이언트 컴퓨팅 디바이스(1061-N) 및 IoT 디바이스(1451-N)는 하나 이상의 LAN을 통해 통신적으로 연결되어 서로 연관될 수 있다. 예를 들어, 이는 복수의 클라이언트 컴퓨팅 디바이스(1061-N)가 가정, 건물 등과 같은 특정 영역 또는 환경에 걸쳐 배치되는 경우일 수 있다. 추가적으로 또는 대안적으로, 일부 구현예에서, 클라이언트 컴퓨팅 디바이스(1061-N)과 IoT 디바이스(1451-N)는 하나 이상의 사용자(예: 개인, 가족, 조직의 직원, 다른 미리 정의된 그룹 등)에 의해 적어도 선택적으로 액세스가능한 클라이언트 디바이스(106)과 IoT 디바이스(1451-N)의 조정된 생태계의 구성원이므로 서로 연관될 수 있다. 이러한 구현예 중 일부에서, 클라이언트 디바이스(106) 및 IoT 디바이스(1451-N)의 생태계는 디바이스 토폴로지에서 서로 수동 및/또는 자동으로 연관될 수 있다.
하나 이상의 클라우드 기반 자동화된 어시스턴트 컴포넌트(119)와의 인터렉션들에 의한 자동화된 어시스턴트 클라이언트(118)의 인스턴스는 사용자의 관점에서 사용자가 인간-대-컴퓨터 대화에 참여할 수 있게 하는 자동화된 어시스턴트(120)의 논리적 인스턴스로 보이는 것을 형성할 수 있다. 이러한 자동화된 어시스턴트(120)의 2개의 인스턴스가 도 1에 도시된다. 점선으로 둘러싸인 제1 자동화된 어시스턴트(120A)는 클라이언트 디바이스(1061)의 자동화된 어시스턴트 클라이언트(1181) 및 하나 이상의 클라우드 기반 자동화된 어시스턴트 컴포넌트(119)를 포함한다. 1점 쇄선으로 둘러싸인 제2 자동화된 어시스턴트(120B)는 클라이언트 디바이스(106N)의 자동화된 어시스턴트 클라이언트(118N) 및 하나 이상의 클라우드 기반 자동화된 어시스턴트 컴포넌트(119)를 포함한다. 따라서, 클라이언트 디바이스(106)상에서 실행되는 자동화된 어시스턴트 클라이언트(118)를 사용하는 각 사용자는 사실상 자동화된 어시스턴트(120)의 자신의 논리적 인스턴스(또는 가정 또는 다른 그룹의 사용자 사이에서 공유되는 자동화된 어시스턴트(120)의 논리적 인스턴스)를 사용할 수 있음을 이해해야 한다. 간결하고 간단하게 하기 위해, 본 명세서에서 사용되는 "자동화된 어시스턴트"라는 용어는 클라이언트 디바이스(106)에서 실행되는 자동화된 어시스턴트 클라이언트(118) 및 하나 이상의 클라우드 기반 자동화된 어시스턴트 컴포넌트들(119)(여러 자동화된 어시스턴트 클라이언트들(118) 간에 공유될 수 있음)의 조합을 지칭한다. 복수의 연관된 클라이언트 디바이스(106)만이 도 1에 도시되어 있지만, 클라우드 기반 자동화된 어시스턴트 컴포넌트(들)(119)는 연관된 클라이언트 디바이스의 많은 추가 그룹을 추가로 서비스할 수 있다는 것이 이해된다.
클라이언트 디바이스(1061-N)는 예를 들어, 데스크톱 컴퓨터 디바이스, 랩톱 컴퓨팅 디바이스, 태블릿 컴퓨팅 디바이스, 모바일폰 컴퓨팅 디바이스, 사용자의 차량의 컴퓨팅 디바이스(예를 들어, 차량 내 통신 시스템, 차량 내 엔터테인먼트 시스템, 차량 내 네비게이션 시스템), 단독형 인터렉티브 스피커, 스마트 텔레비전과 같은 스마트 장비 및/또는 컴퓨팅 디바이스를 포함하는 사용자의 웨어러블 장치(예를 들어, 컴퓨팅 디바이스를 구비한 사용자의 시계, 컴퓨팅 디바이스를 구비한 사용자의 안경, 가상 또는 증강 현실 컴퓨팅 디바이스)일 수 있다. 추가적 및/또는 대안적 클라이언트 컴퓨팅 디바이스들이 제공될 수 있다.
IoT 시스템(들)(140)은 하나 이상의 서드 파티(3P) 시스템 및/또는 하나 이상의 제1 파티(1P) 시스템을 포함할 수 있다. 본 명세서에서 사용된 서드 파티 시스템은 참조되는 자동화된 어시스턴트를 제어하는 당사자와는 다른 당사자에 의해 제어되는 시스템을 참조한다. 제1 파티 시스템은 참조되는 자동화된 어시스턴트를 제어하는 당사자와 동일한 당사자에 의해 제어되는 시스템을 참조한다.
IoT 시스템(140)은 통신 가능하게 연결된 IoT 디바이스(145)로부터 데이터를 수신하고, 수신된 데이터에 기초한 IoT 상태 변화 알림을 클라우드 기반 자동화된 어시스턴트 컴포넌트(119)에 선택적으로 전송한다. 예를 들어, 만약 IoT 디바이스(들)(1451)는 스마트 초인종의 IoT 디바이스를 포함한다고 가정한다. 사람이 초인종 IoT 디바이스의 버튼을 누르면, 초인종 IoT 디바이스는 대응하는 데이터를 IoT 시스템(140) 중 하나(예: 초인종 제조업체에서 관리하는 IoT 시스템 중 하나)에 전송할 수 있다. IoT 시스템(들)(140) 중 하나는 이러한 데이터에 기초하여 초인종 IoT 디바이스의 상태 변화를 결정할 수 있다. 예를 들어, IoT 시스템(들)(140) 중 하나는 비활성 상태(예를 들어, 최근에 버튼을 누르지 않음)에서 활성 상태(최근에 버튼을 누름)로의 초인종의 변화를 결정할 수 있다. 또한, IoT 시스템(들)(140) 중 하나는 대응하는 IoT 상태 변화 알림을 클라우드 기반 자동화된 어시스턴트 컴포넌트(들)(119)에 전송할 수 있다. 전송된 IoT 상태 변화 알림은 예를 들어 적어도 하나의 IoT 디바이스와 연관된 상태의 변화를 표시하는 상태 표시("초인종 울림" 또는 "누군가 문 앞에 있음"을 표시), 클라우드 기반 자동화된 어시스턴트 컴포넌트(들)(119)로 하여금 적어도 하나의 IoT 디바이스와 연관된 클라이언트 디바이스(들)를 식별하게 하는 고유 식별자 및 선택적으로 적어도 하나의 IoT 디바이스의 표시(예: "초인종"의 일반적 표시, "앞문 초인종"의 보다 구체적인 표시 또는 해당 초인종에 고유한 고유 식별자)를 포함하는 구조화된 데이터일 수 있다. 일부 구현예에서, 해당 초인종에 특정적인 고유 식별자는 또한 자동화된 어시스턴트로 하여금 적어도 하나의 IoT 디바이스와 연관된 클라이언트 디바이스(들)를 식별하게 하는 고유 식별자로서 서비스할 수 있다. 예를 들어, 해당 초인종에 특정적인 고유 식별자를 활용하여 디바이스 토폴로지에서 초인종을 식별하고, 식별된 디바이스 토폴로지에서 해당 초인종과 연관된 클라이언트 디바이스를 식별할 수 있다.
클라우드 기반 자동화된 어시스턴트 컴포넌트(들)(119)는 수신된 IoT 상태 변화 알림의 고유 식별자를 이용하여 하나 이상의 후보 클라이언트 디바이스를 식별할 수 있다. 예를 들어, IoT 알림 엔진(130)은 사용자 정보 데이터베이스(135)에서 클라이언트 디바이스(106)에(직간접 적으로) 매핑되는 포함된 고유 식별자에 기초하여 수신된 IoT 상태 변화 알림에 대해 도 1의 클라이언트 디바이스(106)를 식별할 수 있다. 예를 들어, IoT 알림 엔진(130)은 사용자 정보 데이터베이스(135)에서 어시스턴트 계정을 식별하기 위해 고유 식별자를 이용할 수 있고, 사용자 정보 데이터베이스(135)에서 해당 어시스턴트 계정에 연결된 그리고 선택적으로 IoT 상태 변화 알림에 표시된 적어도 하나의 IoT 디바이스와 연결된(예: 어시스턴트 계정에 대해 상이한 클라이언트 디바이스가 상이한 IoT 디바이스에 연결된 경우) 클라이언트 디바이스(들)(106)를 식별할 수 있다. 다른 예로서, 고유 식별자는 적어도 하나의 IoT 디바이스에 특정적인 고유 식별자일 수 있고, IoT 알림 엔진(130)은 고유 식별자를 이용하여 사용자 정보 데이터베이스(135)에서 적어도 하나의 IoT 디바이스를 식별하고 데이터베이스(135)에서 해당 IoT 디바이스에 연결된 클라이언트 디바이스(106)를 식별한다. IoT 알림 엔진(130)은 후보 클라이언트 디바이스를 식별할 때 사용자 정보 데이터베이스(135)에서 하나 이상의 디바이스 토폴로지 표현 및/또는 다른 데이터 구조를 활용할 수 있다.
IoT 알림 엔진(130)은 식별된 클라이언트 디바이스(들)(106) 중 하나 이상에 대한 클라이언트 디바이스 알림(들)을 추가로 생성할 수 있다. IoT 알림 엔진(130) 컴포넌트(들)는 상태 변화 알림에 기초하고 선택적으로 클라이언트 디바이스 알림이 렌더링될 클라이언트 디바이스(106)의 하나 이상의 속성에 기초하여 클라이언트 디바이스 알림을 생성할 수 있다. 예를 들어, IoT 알림 엔진(130)은 IoT 상태 변화 알림의 상태 표시에 기초하고 상태 변화 알림의 적어도 하나의 IoT 디바이스의 표시에 기초하여 선택되는 텍스트 콘텐츠를 포함하는 클라이언트 디바이스 알림을 생성할 수 있다. 예를 들어, 텍스트 내용은 "누군가 앞문에 있습니다"일 수 있고, "누군가 있습니다"는 "초인종 링"을 표시하는 상태 표시에 기초하여 선택될 수 있으며, "앞문"은 "앞문"의 디스크립터를 포함하거나 "앞문"의 디스크립터(예를 들어, 디바이스 토폴로지 표현에서)로 디바이스에 매핑되는 적어도 하나의 IoT 디바이스의 표시에 기초하여 선택될 수 있다.
다른 예로서, 저장된 템플릿은 상태 변화 알림의 하나 이상의 속성에 기초하여 선택될 수 있으며, IoT 알림 엔진(130)은 상태 변화 알림을 기초하여 템플릿을 채울 수 있다. 예를 들어, 템플릿은 "초인종 링"을 표시하는 상태 변화 알림에 할당될 수 있고, 텍스트 콘텐츠를 생성하기 위해 IoT 알림 엔진(130)에 의해 이용될 수 있다. 예를 들어, 수신된 IoT 상태 변화 알림은 "초인종 링"을 표시하는 상태 표시, "앞문"의 텍스트 디스크립터인 적어도 하나의 IoT 디바이스의 표시 및 "Bob"에 대한 설명이 있는 알려진 사람에 의한 초인종임을 표시하는 추가 데이터를 포함할 수 있다. 이러한 경우, 템플릿을 사용하여 "Bob이 앞문에 있습니다"라는 텍스트 콘텐츠를 생성할 수 있고, 여기서 "Bob"은 포함된 사람에 대한 설명과 템플릿의 "if person=known, with description"이라는 조건이 IoT 상태 변화 알림에 의해 만족됨에 기초하여 포함된다. 반면에, IoT 상태 변화 알림에서 알 수 없는 사람이 초인종을 울렸다고 표시하는 경우, 템플릿을 사용하여 "누군가가 앞문에 있다"라는 텍스트 콘텐츠를 생성할 수 있고, 여기서 "누군가"는 템플릿의 "if person = unknown" 조건이 IoT 상태 변화 알림에 의해 만족됨에 기초하여 포함된다.
IoT 알림 엔진(130)은 하나 이상의 어시스턴트 클라이언트 디바이스(들)(106) 각각이 대응하는 클라이언트 디바이스 알림을 렌더링해야 하는지 여부를 결정할 수 있다. IoT 알림 엔진(130)은 대응하는 클라이언트 디바이스 알림을 렌더링해야 한다고 결정한(있는 경우) 클라이언트 디바이스(들)(106) 각각에 대응하는 명령을 전송할 수 있으며, 각 전송된 명령은 대응하는 클라이언트 디바이스(106)로 하여금 대응하는 디바이스 알림을 렌더링하게 한다. 예를 들어, IoT 알림 엔진(130)은 명령을 클라이언트 디바이스(1061)에 전송하여 클라이언트 디바이스(1061)로 하여금 클라이언트 디바이스 알림을 자동으로 청각적으로 렌더링하게 하고, IoT 알림 엔진(130)은 명령을 클라이언트 디바이스(106N)에 전송하여 클라이언트 디바이스(106N)로 하여금 동일한 클라이언트 알림을 자동으로 청각적으로 렌더링하게 한다. 예를 들면, 명령은 알림의 렌더링을 명시적으로 요청하는 임의의 사용자 인터페이스 입력과 무관하게 그리고 심지어 임의의 사용자 인터페이스 입력과도 전혀 무관하게(예: 수신에 응답하여 렌더링) 클라이언트 디바이스에 의해 자동적으로 렌더링하게 할 수 있다. 이러한 경우, 명령은 즉시 자동으로 렌더링하게 할 수 있다. 즉, 명령을 수신한 후 가능한 한 빨리 클라이언트 디바이스에 의한 렌더링, 명령 프로세싱 및/또는 렌더링에 필요한 프로세싱에 약간의 지연이 있을 수 있다.
일부 구현예에서, IoT 알림 엔진(130)은 수신된 IoT 상태 변화 알림의 속성, 클라이언트 디바이스(들)와 연관된 현재 속성, 시간, 요일 및/또는 하나 이상의 기타 기준에 기초하여, 클라이언트 디바이스 알림을 렌더링해야 하는 클라이언트 디바이스(있는 경우)를 결정할 수 있다. 이러한 고려 사항에 기초하여, IoT 알림 엔진(130)은 수신된 IoT 상태 변화 알림에 응답하여 모든 어시스턴트 클라이언트 디바이스보다 적은 수(일부 경우에는 없음)에 명령을 선택적으로 전송할 수 있다.
일부 구현예에서, 클라이언트 디바이스로 하여금 클라이언트 디바이스 알림을 렌더링하게 하기 위해 IoT 알림 엔진(130)에 의해 클라이언트 디바이스(106)에 전송된 명령은 또한 클라이언트 디바이스로 하여금 클라이언트 디바이스 알림이 적어도 부분적으로 렌더링된 후 시간의 기간 동안 음성 입력을 자동적으로 모니터링하게 하고, 상기 자동 모니터링 동안 검출된 발화된 발언에 대응하는 데이터(예: 오디오 데이터 또는 그것의 변환)를 전송하게 할 수 있다. 클라우드 기반 자동화된 어시스턴트 컴포넌트(들)(119)는 전송된 데이터를 수신 및 프로세싱할 수 있고, 발화된 발언의 프로세싱 및 음성 입력에 대한 자동 모니터링 동안 검출된 발화된 발언에 기초하여 추가 어시스턴트 액션(들)을 수행한다. 예를 들어, 자동화된 어시스턴트는 발화된 발언의 음성-텍스트 변환을 수행함으로써 생성된 텍스트에 기초하고, 상기 발화된 발언이 음성 입력에 대한 모니터링 동안에 검출되는 것에 기초하여 추론된 값(들)에 기초하여 추가 어시스턴트 액션(들)을 생성할 수 있다. 추론된 값(들)은 클라이언트 디바이스 알림 및/또는 클라이언트 디바이스 알림의 기반이 되는 IoT 상태 변화 알림을 기초할 수 있다. 하나의 특정 예로서, 클라이언트 디바이스 알림이 "당신의 스마트 청소기가 브러시가 고장났다고 보고 하고 있습니다"이고 모니터링 중에 제공된 발화된 발언이 "어디서 새 것을 살 수 있어?"인 경우, 자동화된 어시스턴트는 "것"에 대해 "스마트 청소기 브러시" 값을 추론할 수 있고, "어디서 새 스마트 청소기 브러시를 살 수 있어?"에 기초한 응답 콘텐츠를 생성하고, 클라이언트 디바이스를 통해 렌더링하기 위해 응답 콘텐츠를 제공한다. IoT 알림 엔진(130)의 구현예에 대한 추가 설명이 본 명세서에서 제공된다(예를 들어, 도 2aa 내지 도 5와 관련된 설명에서).
다양한 구현예에서, 클라이언트 컴퓨팅 디바이스(1061-N) 중 하나 이상은 대응하는 사용자(들)로부터 승인을 받아 검출된 존재, 특히 사람의 존재를 표시하는 신호를 제공하도록 구성된 하나 이상의 존재 센서(1051-N)를 포함할 수 있다. 이러한 구현예 중 일부에서, IoT 알림 엔진(130)은 사용자(및 선택적으로 특정 사용자)가 현재 근처에 있고 및/또는 최근에 근접했던 클라이언트 디바이스(들)(106)에서만 클라이언트 디바이스 알림이 렌더링되어야 한다고 결정할 수 있다. 본 명세서에 설명된 바와 같이, IoT 알림 엔진(130)은 사용자가 근처에 있거나 최근에 근접했던 클라이언트 디바이스(들)(106)를 결정할 때 존재 센서(1051-N)에 기초하여 결정된 데이터를 활용할 수 있고, 대응하는 명령을 해당 클라이언트 디바이스(들)(106)에만 제공한다. 일부 추가적 또는 대안적 구현예에서, IoT 알림 엔진(130)은 임의의 사용자(들)(임의의 사용자 또는 특정 사용자)가 현재 임의의 클라이언트 디바이스(들)에 근접한지 여부를 결정할 때 존재 센서(1051-N)에 기초하여 결정된 데이터를 활용할 수 있고, 그리고 사용자(모든 사용자 또는 특정 사용자)가 클라이언트 디바이스(들)(106) 중 어느 것에도 근접하지 않은 것으로 결정될 때 명령의 제공을 억제한다. 따라서, 이러한 방식 및 다른 방식으로, 그렇지 않으면(사용자가 클라이언트 디바이스(106) 중 어느 것에도 근접하지 않다는 결정이 없는 경우) 제공되었을 명령이 억제될 수 있으며, 이에 따라 이러한 클라이언트 디바이스(106)의 자원의 과도한 소비를 완화할 수 있다.
존재 센서(1051-N)는 다양한 형태일 수 있다. 일부 클라이언트 디바이스(106)에는 시야에서 검출된 움직임을 표시하는 신호(들)를 캡처 및 제공하도록 구성된 하나 이상의 디지털 카메라가 장착될 수 있다. 추가적으로 또는 대안적으로, 일부 클라이언트 디바이스(106)에는 시야 내의 오브젝트로부터 방사되는 적외선("IR") 광을 측정하는 패시브 적외선("PIR") 센서와 같은 다른 유형의 광 기반 존재 센서(105)가 장착될 수 있다. 추가적으로 또는 대안적으로, 일부 클라이언트 디바이스(106)에는 하나 이상의 마이크로폰과 같은 음향(또는 압력)파를 검출하는 존재 센서(105)가 장착될 수 있다. 더욱이, 클라이언트 디바이스(106)에 추가하여, 일부 IoT 디바이스(145)는 추가로 또는 대안적으로 존재 센서(105)를 포함할 수 있고, 이러한 센서로부터 제공된 신호는 설명된 구현에 따라 알림을 렌더링할지 여부 및/또는 방법을 결정하는데 자동화된 어시스턴트에 의해 추가로 사용될 수 있다.
추가적으로 또는 대안적으로, 일부 구현예에서, 존재 센서(105)는 인간 존재와 연관된 다른 현상을 검출하도록 구성될 수 있다. 예를 들어, 일부 실시예에서, 클라이언트 디바이스(106)에는 예를 들어 특정한 사용자가 휴대/동작하는 모바일 클라이언트 디바이스(106)에 의해 방출되는 다양한 유형의 파동(예를 들어, 라디오, 초음파, 전자기 등)을 검출하는 존재 센서(105)가 장착될 수 있다. 예를 들어, 일부 클라이언트 디바이스(106)는 다른 클라이언트 디바이스(106)에 의해 검출될 수 있는 초음파 또는 적외선과 같이 사람이 인식할 수 없는 파동을 방출하도록 구성될 수 있다(예를 들어, 초음파 지원 마이크와 같은 초음파/적외선 수신기를 통해).
추가적으로 또는 대안적으로, 다양한 클라이언트 디바이스(106)는 하나 이상의 다른 클라이언트 디바이스(106)에 의해 검출되고 동작하는 사용자의 특정한 위치를 결정하는데 사용되는 무선파(예를 들어, Wi-Fi, 블루투스, 셀룰러 등)와 같은 다른 유형의 인간이 감지할 수 없는 파동을 방출할 수 있다. 일부 구현예에서, Wi-Fi 삼각 측량은 예를 들어 클라이언트 디바이스(106)에 대한 또는 그로부터의 Wi-Fi 신호에 기초하여 사람의 위치를 검출하는데 사용될 수 있다. 다른 구현예에서, 시간-f 빛, 신호 강도 등과 같은 다른 무선 신호 특성은 사람이 휴대하는 클라이언트 디바이스(106)에 의해 방출된 신호에 기초하여 특정한 사람의 위치를 결정하기 위해 다양한 클라이언트 디바이스(106)에 의해 단독으로 또는 집합 적으로 사용될 수 있다.
추가적으로 또는 대안적으로, 일부 구현예에서, 하나 이상의 클라이언트 디바이스(106)는 음성 인식을 수행하여 음성으로부터 사람을 인식할 수 있다. 예를 들어, 일부 자동화된 어시스턴트(120)는 예를 들어 다양한 리소스에 대한 액세스를 제공/제한하기 위한 목적으로 음성을 사용자의 프로필에 매칭하도록 구성될 수 있다. 일부 구현예에서, 스피커의 움직임은 예를 들어 IoT 디바이스에 통합될 수 있는 하나 이상의 다른 존재 센서에 의해 결정될 수 있다. 일부 구현예에서, 이러한 검출된 움직임에 기초하여, 사람의 위치가 예측될 수 있으며, 이 위치는 클라이언트 디바이스 알림이 해당 클라이언트 디바이스(들)이 사람의 위치에 근접함에 기초하여 하나 이상의 클라이언트 디바이스에서 렌더링되게 된 경우 사람의 위치인 것으로 가정된다. 일부 구현예에서, 사람은, 특히 마지막 참여 이후 많은 시간이 지나지 않았다면, 자동화된 어시스턴트(120)와 참여한 마지막 위치에 있는 것으로 단순히 가정될 수 있다.
클라이언트 컴퓨팅 디바이스(1061-N) 각각은 하나 이상의 사용자 인터페이스 입력 디바이스(예를 들어, 마이크로폰, 터치스크린, 키보드) 및/또는 하나 이상의 사용자 인터페이스 출력 디바이스(예: 디스플레이, 스피커, 프로젝터)를 각각 포함할 수 있는 사용자 인터페이스 컴포넌트(들)(1071-N)을 더 포함한다. 일례로서, 사용자 인터페이스 컴포넌트(1071)는 스피커(들) 및 마이크로폰(들)만을 포함할 수 있는 반면, 사용자 인터페이스 컴포넌트(107N)는 스피커(들), 터치스크린 및 마이크로폰(들)을 포함할 수 있다.
클라이언트 디바이스(1061-N) 각각 및 클라우드 기반 자동화된 어시스턴트 컴포넌트(119)를 동작하는 컴퓨팅 디바이스(들)는 데이터 및 소프트웨어 애플리케이션의 저장을 위한 하나 이상의 메모리, 데이터에 액세스하고 어플리케이션을 실행하기 위한 하나 이상의 프로세서 및 네트워크를 통해 통신을 지원하는 다른 컴포넌트를 포함할 수 있다. 하나 이상의 클라이언트 디바이스(1061-N)에 의해 및/또는 자동화된 어시스턴트(120)에 의해 수행되는 동작들은 다수의 컴퓨터 시스템에 걸쳐 분산될 수 있다. 자동화된 어시스턴트(120)는 예를 들면, 네트워크를 통해 서로 연결된 하나 이상의 위치들에서 하나 이상의 컴퓨터에서 실행되는 컴퓨터 프로그램들로서 구현될 수 있다.
위에서 언급된 바와 같이, 다양한 구현예에서, 클라이언트 컴퓨팅 디바이스(1061-N) 각각은 자동화된 어시스턴트 클라이언트(118)를 동작할 수 있다. 다양한 실시예에서, 각각의 자동화된 어시스턴트 클라이언트(118)는 대응하는 음성 캡처/텍스트 음성 변환("TTS")/음성 텍스트 변환("STT") 모듈(114)을 포함할 수 있다. 다른 구현예에서, 음성 캡처/TTS/STT 모듈(114)의 하나 이상의 양태들은 자동화된 어시스턴트 클라이언트(118)와 별도로 구현될 수 있다.
각 음성 캡처/TTS/STT 모듈(114)은 하나 이상의 기능을 수행하도록 구성될 수 있다: 사용자의 음성 캡처(마이크로폰(일부 경우에 존재 센서(105)를 포함)을 통해 음성 캡처); 캡처한 오디오를 텍스트 및/또는 다른 표현 또는 임베딩으로 변환; 및/또는 텍스트를 음성으로 변환. 예를 들어, 일부 구현예에서, 클라이언트 디바이스(106)는 컴퓨팅 리소스(예: 프로세서 사이클, 메모리, 배터리 등)과 관련하여 상대적으로 제한될 수 있기 때문에, 각 클라이언트 디바이스(106)에 대해 로컬적인 음성 캡처/TTS/STT 모듈(114)은 한정된 수의 상이한 발화된 문구를 텍스트(또는 보다 낮은 차원성 임베딩과 같은 다른 형태)로 변환하도록 구성될 수 있다. 다른 음성 입력은 클라우드 기반 자동화된 어시스턴트 컴포넌트(119)로 송신될 수 있으며, 이는 클라우드 기반 TTS 모듈(116) 및/또는 클라우드 기반 STT 모듈(117)을 포함할 수 있다.
클라우드 기반 STT 모듈(117)은 음성 캡쳐/TTS/STT 모듈(114)에 의해 캡처된 오디오 데이터를 텍스트(이후 자연어 프로세서(122)에 제공될 수 있음)로 변환하기 위해 클라우드의 사실상 무한한 자원을 활용하도록 구성될 수 있다. 클라우드 기반 TTS 모듈(116)은 텍스트 데이터(예를 들어, 자동화된 어시스턴트(120)에 의해 생성된 텍스트)를 컴퓨터 생성 음성 출력으로 변환하기 위해 클라우드의 사실상 무한한 자원을 활용하도록 구성될 수 있다. 일부 구현예에서, TTS 모듈(116)은 컴퓨터 생성된 음성 출력을 클라이언트 디바이스(106)에 제공하여, 예를 들어 하나 이상의 스피커를 사용하여 직접 출력될 수 있다. 다른 구현예에서, 자동화된 어시스턴트(120)에 의해 생성된 텍스트 데이터(예를 들어, 명령에 포함된 클라이언트 디바이스 알림)는 음성 캡처/TTS/STT 모듈(114)에 제공될 수 있고, 음성 캡처/TTS/STT 모듈(114)은 텍스트 데이터를 로컬 스피커(들)를 통해 렌더링되는 로컬적으로 출력되는 컴퓨터 생성 음성으로 변환할 수 있다.
자동화된 어시스턴트(120)(및 특히 클라우드 기반 자동화된 어시스턴트 컴포넌트(119))는 자연어 프로세서(122), 전술한 TTS 모듈(116), 전술한 STT 모듈(117) 및 기타 컴포넌트를 포함할 수 있고, 이들 중 일부는 아래에 더 상세히 설명된다. 일부 구현예들에서, 자동화된 어시스턴트(120)의 엔진들 및/또는 모듈들 중 하나 이상은 생략, 조합될 수 있고 및/또는 자동화된 어시스턴트(120)와 별개인 컴포넌트에서 구현될 수 있다.
일부 구현예에서, 자동화된 어시스턴트(120)는 자동화된 어시스턴트(120)와의 인간 대 컴퓨터 대화 세션 동안 클라이언트 디바이스들(1061-N) 중 하나의 사용자에 의해 생성된 다양한 입력들에 응답하여 응답 콘텐츠를 생성한다. 자동화된 어시스턴트(120)는 대화 세션의 일부로서 사용자에게 제시하기 위해(예를 들어, 사용자의 클라이언트 디바이스로부터 분리될 때 하나 이상의 네트워크를 통해) 응답 콘텐츠를 제공할 수 있다. 예를 들어, 자동화된 어시스턴트(120)는 클라이언트 디바이스들(1061-N) 중 하나를 통해 제공되는 자유 형식의 자연어 입력에 응답하여 응답 콘텐츠를 생성할 수 있다. 본 명세서에서 사용된 바와 같이, 자유 형식의 입력은 사용자에 의해 진술된 입력이며, 사용자에 의한 선택을 위한 제시된 옵션들의 그룹에 제한되지 않는 입력이다.
자동화된 어시스턴트(120)의 자연어 프로세서(122)는 클라이언트 디바이스(1061-N)을 통해 사용자에 의해 생성된 자연어 입력을 프로세싱하고, 자동화된 어시스턴트(120)의 하나 이상의 다른 컴포넌트에 의해 사용하기 위해 주석이 달린 출력을 생성할 수 있다. 예를 들면, 자연어 프로세서(122)는 클라이언트 디바이스(1061)의 하나 이상의 사용자 인터페이스 입력 디바이스들을 통해 사용자에 의해 생성된 자연어 자유 형식의 입력을 프로세싱할 수 있다. 생성된 주석이 달린 출력은 자연어 입력의 하나 이상의 주석들 및 선택적으로 자연어 입력의 용어들 중 하나 이상(예를 들어, 전부)을 포함한다.
일부 구현예들에서, 자연어 프로세서(122)는 자연어 입력에서 문법적 정보의 다양한 유형들을 식별하고 주석을 달도록 구성된다. 예를 들면, 자연어 프로세서(122)는 용어들에 그들의 문법적 역할들로 주석을 달도록 구성된 품사 태그기를 포함할 수 있다. 일부 구현예들에서, 자연어 프로세서(122)는 추가적으로 및/또는 대안적으로 사람들(예를 들어, 문학적 캐릭터, 유명인, 공인 등을 포함), 조직들, 위치들(실제 및 가상) 등에 대한 참조들과 같은 하나 이상의 세그먼트들에서 엔터티 참조들을 주석을 달도록 구성된 엔터티 태그기(entity tagger)(도시되지 않음)를 포함할 수 있다. 일부 구현예에서, 엔터티들에 관한 데이터는 지식 그래프(도시되지 않음)와 같은 하나 이상의 데이터베이스에 저장될 수 있다. 일부 구현예에서, 지식 그래프는 알려진 엔터티(및 경우에 따라 엔터티 속성)를 나타내는 노드뿐만 아니라 노드를 연결하고 엔터티 사이의 관계를 나타내는 에지를 포함할 수 있다.
자연어 프로세서(122)의 엔터티 태그기는 높은 입상도(예를 들어, 사람들과 같은 엔터티 클래스에 대한 모든 참조들의 식별을 가능하게 하기 위해) 및/또는 낮은 입상도(예를 들어, 특정한 사람과 같은 특정한 엔터티에 대한 모든 참조들의 식별을 가능하게 하기 위해)에서 엔터티에 대한 참조들을 주석을 달을 수 있다. 엔터티 태그기는 특정한 엔터티를 리졸브(resolve)하기 위해 자연어 입력의 콘텐츠에 의존할 수 있고 및/또는 선택적으로 특정한 엔터티를 리졸브하기 위해 지식 그래프 또는 다른 엔터티 데이터베이스와 통신할 수 있다.
일부 구현예들에서, 자연어 프로세서(122)는 추가적으로 및/또는 대안적으로 하나 이상의 컨텍스트적 큐(cue)들에 기초하여 동일한 엔터티에 대한 참조인 그룹 또는 "클러스터"로 구성된 공동참조 리졸버(coreference resolver)(도시되지 않음)를 포함할 수 있다. 예를 들어, 공동참조 리졸버는 자연어 입력 "lock it"을 수신하기 바로 직전에 렌더링된 클라이언트 디바이스 알림에서 언급된 "front door lock"에 기초하여, 자연어 입력 "lock it"에서 "it"이라는 용어를 "front door lock"으로 해석하는데 활용될 수 있다.
일부 구현예들에서, 자연어 프로세서(122)의 하나 이상의 컴포넌트들은 자연어 프로세서(122)의 하나 이상의 다른 컴포넌트들로부터의 주석들에 의존할 수 있다. 예를 들면, 일부 구현예들에서, 명명된 엔터티 태그기는 특정한 엔터티에 대한 모든 언급들에 주석을 다는 것에 있어 공동참조 리졸버 및/또는 종속성 파서로부터의 주석들에 의존할 수 있다. 또한, 예를 들면, 일부 구현예들에서, 공동참조 리졸버는 동일한 엔터티에 대한 참조들을 클러스터링하는 것에 있어 종속성 파서로부터의 주석들에 의존할 수 있다. 일부 구현예에서, 특정한 자연어 입력을 프로세싱할 때, 자연어 프로세서(122)의 하나 이상의 컴포넌트는 하나 이상의 주석을 결정하기 위해 자연어 입력을 수신하기 바로 전에 렌더링된 클라이언트 디바이스 알림 및/또는 클라이언트 디바이스 알림이 기초하는 IoT 상태 변화 알림과 같은 특정한 자연어 입력 외부의 관련 데이터를 사용할 수 있다.
도 1의 다양한 컴포넌트에 대한 추가 설명이 도 2aa, 2ab, 2ac, 2ad, 2b, 2c 및 2d를 참조하여 제공된다. 각 도면에는 집의 평면도가 도시되어 있다. 도시된 평면도는 복수의 방 250-262을 포함한다. 복수의 클라이언트 디바이스(1061-4)는 적어도 일부 방에 걸쳐 배치된다. 각각의 클라이언트 디바이스(106)는 본 개시의 선택된 양태들로 구성된 자동화된 어시스턴트 클라이언트(118)의 인스턴스를 구현할 수 있고, 근처의 사람에 의해 발화된 발언을 캡처할 수 있는 마이크와 같은 하나 이상의 입력 디바이스를 포함할 수 있다. 예를 들어, 독립형 양방향 스피커의 형태를 취하는 제1 클라이언트 디바이스(1061) 및 디스플레이 디바이스(예를 들어, 디스플레이 스크린, 프로젝터 등)가 이 예에서 주방인 방(250)에 배치된다. 소위 "스마트" 텔레비전의 형태를 취하는 제2 클라이언트 디바이스(1062)(예를 들어, 자동화된 어시스턴트 클라이언트(118)의 인스턴스를 구현하는 하나 이상의 프로세서를 갖는 네트워크 텔레비전)는 이 실시예에서 서재인 방(252)에 배치된다. 인터렉티브 독립형 스피커의 형태를 취하는 제3 클라이언트 디바이스(1063)는 이 예에서 침실인 방(254)에 배치된다. 다른 인터렉티브 독립형 스피커의 형태를 취하는 제4 클라이언트 디바이스(1064)는 이 예에서 거실인 방(256)에 배치된다.
도 2에는 도시되지 않았지만, 복수의 클라이언트 디바이스(1061-4)는 하나 이상의 유무선 LAN을 통해(예: 도 1a에서 1102) 서로 및/또는 다른 리소스(예를 들어, 인터넷)와 통신적으로 연결될 수 있다. 추가적으로, 다른 클라이언트 디바이스(특히 스마트폰, 태블릿, 랩톱, 웨어러블 디바이스 등과 같은 모바일 디바이스)도 존재할 수 있으며, 예를 들어 집에 있는 한 명 이상의 사람이 휴대할 수 있으며 동일한 LAN에 연결되거나 연결되지 않을 수 있다. 도 2에 도시된 클라이언트 디바이스의 구성은 단지 하나의 예이며; 더 많거나 더 적은 및/또는 상이한 클라이언트 디바이스(106)는 임의의 수의 다른 방 및/또는 가정 이외의 영역에 걸쳐 배치될 수 있다.
도 2aa-2d 각각에서 더 도시된 것은 복수의 IoT 디바이스(1451-5)이다. 예를 들어, 스마트 초인종의 형태를 취하는 제1 IoT 디바이스(1451)는 집의 앞문에 가까운 집의 외부에 배치된다. 스마트 도어록의 형태를 취하는 제2 IoT 디바이스(1452)는 집의 앞문에 집의 외부에 배치된다. 스마트 의류 세탁기의 형태를 취하는 제3 IoT 디바이스(1453)는 이 예에서 세탁실인 방(262)에 배치된다. 문 개폐 센서 형태를 취하는 제4 IoT 디바이스(1454)는 방(162)에서 뒷문 근처에 배치되어, 뒷문의 개폐 여부를 감지한다. 스마트 온도조절기의 형태를 취하는 제5 IoT 디바이스(1455)는 이 예에서 서재인 방(252)에 배치된다.
각각의 IoT 디바이스(145)는 각각의 IoT 시스템(140)(도 1)과 (예를 들어, 인터넷을 통해) 통신할 수 있어서, IoT 시스템에 데이터를 제공하고 IoT 시스템에서 제공하는 명령에 따라 선택적으로 제어될 수 있다. 도 2aa-2d에 도시된 IoT 디바이스(145)의 구성은 하나의 예일 뿐이며; 더 많거나 더 적은 및/또는 상이한 IoT 디바이스(145)가 임의의 수의 다른 방 및/또는 가정 이외의 영역에 걸쳐 배치될 수 있다.
도 2aa은 클라이언트 디바이스(1061, 1062 및 1064) 모두가 각각의 스피커(들)를 통해 "누군가가 문 앞에 있습니다"의 동일한 청각적 클라이언트 디바이스 알림을 렌더링하는 것을 도시한다. 클라이언트 디바이스(1061, 1062 및 1064)는 각각 클라우드 기반 자동화된 어시스턴트 컴포넌트(들)에 의해 전송된 수신된 명령(119)에 응답하여, 상기 청각적 알림을 제공할 수 있다. 예를 들어, 각 명령은 "누군가가 문 앞에 있습니다"라는 클라이언트 디바이스 알림 텍스트와 클라이언트 디바이스가 텍스트의 텍스트-음성 변환 프로세싱을 수행하고 결과 음성 오디오 데이터가 즉시 자동으로 청각적으로 렌더링되게 해야 한다는 표시를 포함할 수 있다. 다른 예로서, 각 명령은 "누군가가 문 앞에 있습니다"라는 클라이언트 디바이스 알림 텍스트에 대한 음성을 포함하는 오디오 데이터(예를 들어, 텍스트-음성 변환 프로세싱 TTS 컴포넌트(116)에 기초하여 생성됨)와 클라이언트 디바이스는 오디오 데이터가 즉시 자동으로 청각적으로 렌더링되게 해야 한다는 표시를 포함할 수 있다.
IoT 알림 엔진(130)은 클라이언트 디바이스 알림을 생성하고, IoT 시스템(140) 중 하나로부터 대응하는 IoT 상태 알림을 수신함에 응답하여 대응하는 명령이 전송되게 할 수 있다. 예를 들어, IoT 시스템(140) 중 하나는 스마트 초인종 IoT 디바이스(1451)에 대해 초인종 링을 표시하는 IoT 상태 알림을 제공할 수 있다. IoT 상태 알림이 생성하고, 스마트 초인종 IoT 디바이스(1451)로부터 대응하는 데이터를 수신함에 응답하여 IoT 시스템 중 하나에 의해 IoT 상태 알림이 생성되고 제공될 수 있다.
특히, 도 2aa에서 클라이언트 디바이스(1063)는 클라이언트 디바이스 알림에 대응하는 출력을 제공하지 않는다. 이는 클라이언트 디바이스(1063)가 클라우드 기반 자동화된 어시스턴트 컴포넌트(들)(119)로부터 명령을 수신하지 않은 결과일 수 있다. IoT 알림 엔진(130)는 다양한 기준에 기초하여 클라이언트 디바이스(1063)에서 클라이언트 디바이스 알림을 렌더링하지 않도록(그리고 결과적으로 명령을 그에 제공하지 않도록) 결정할 수 있다. 상기 클라이언트 디바이스(1063)에서 상기 클라이언트 디바이스 알림 렌더링을 하지 않음으로써, 상기 클라이언트 디바이스(1063)의 리소스는 보존될 수 있다. 또한, 클라이언트 디바이스(1063)에 명령을 제공하지 않음으로써, 클라우드 기반 자동화된 어시스턴트 컴포넌트(들)(119)의 리소스가 보존될 수 있다. 그렇지 않으면, 명령을 클라우드 기반 자동화된 어시스턴트 컴포넌트(들)(119)로부터 클라이언트 디바이스(1063)에 제공하는데 사용될 수 있는 네트워크 리소스 또한 보존될 수 있다. 일 예시로서, 사용자 정보 데이터베이스(135)에 저장된 수동으로 생성된 및/또는 자동적으로 결정된 규칙들은 클라이언트 디바이스(1063)가 임의의 알림도 렌더링하지 않도록 지시하고, 상기 규칙에 기초하여 알림 엔진(130)은 클라이언트 디바이스(1063)를 제외할 수 있다. 다른 예로서, 사용자 정보 데이터베이스(135)에 저장된 규칙(들)은 클라이언트 디바이스(1063)가 "초인종 울림" 알림 또는 초인종의 IoT 디바이스(1451)로부터의 알림들과 같은 특정한 유형의 알림을 렌더링하지 않도록 지시하고, 상기 규칙에 기초하여 알림 엔진(130)은 클라이언트 디바이스(1063)를 제외할 수 있다. 또 다른 예시로서, 사용자 정보 데이터베이스(135)에 저장된 규칙(들)은 클라이언트 디바이스(1063)가 특정한 시간, 특정한 요일, 클라이언트 디바이스(1063) 근처에 사용자(임의의 사용자 또는 특정한 사용자)의 검출된 존재의 부재 및/또는 하나 이상의 미리 정의된 상태에 있는 클라이언트 디바이스(1063)(예: "슬립" 상태, 임의의 다른 유형의 출력을 활동적으로 제공하는 상태, 특정한 유형의 출력(예: 음악)을 활동적으로 제공하는 상태)과 같은 하나 이상의 다른 조건이 만족되는 경우 특정한 유형의 알림을 렌더링하지 않도록 지시하고, 상기 규칙에 기초하여 알림 엔진(130)은 클라이언트 디바이스(1063)를 제외할 수 있다. 사용자 정보 데이터베이스(135)에서 수동으로 큐레이트된 규칙은 복수의 사용자 또는 복수의 생태계에 적용되는 글로벌 규칙 중 하나 또는 둘 모두를 포함할 수 있으며, 단일 사용자 또는 단일 생태계에만 적용할 수 있는 보다 세분화된 규칙을 포함할 수 있다(단일 사용자 또는 단일 생태계의 사용자에 의해 큐레이트될 수 있음). 더욱이, 다양한 구현예에서 하나 이상의 규칙은 하나 이상의 트레이닝된 기계 학습 모델로 보완되거나 대체될 수 있다.
이제 도 2ab에 도시된 바와 같이, 집에 있는 사용자는 도 2aa의 클라이언트 디바이스 알림의 렌더링 직후에 "보여줘"의 발화된 발언을 제공한다. 클라이언트 디바이스(1061)는 발화된 발언을 검출하고, 원격 자동화된 어시스턴트 컴포넌트(들)(119)에 대응하는 데이터를 전송할 수 있다. 전송된 대응하는 데이터는 오디오 데이터 또는 클라이언트 디바이스(1061)에 의해 수행된 로컬 스피치-투-텍스트 프로세싱에 기초한 텍스트 표현과 같은 오디오 데이터의 의미론적 표현일 수 있다. 일부 구현예에서, 클라이언트 디바이스(1061)는 클라이언트 디바이스 알림의 적어도 일부를 렌더링함에 응답하여 발화된 발언에 대해 자동으로 모니터링(예: 자동으로 음성 캡처 수행)할 수 있고, 그에 따라 사용자가 "핫워드" 또는 다른 수단을 통해 클라이언트 디바이스(1061)를 명시적으로 호출할 필요성을 제거한다.
원격 자동화된 어시스턴트 컴포넌트(들)(119)는 클라이언트 디바이스(1061)에 의해 전송된 데이터를 프로세싱하고, 데이터의 프로세싱에 기초하여 하나 이상의 어시스턴트 액션(들)을 수행할 수 있다. 예를 들어, 데이터가 오디오 데이터인 경우 STT 컴포넌트(117)는 텍스트를 생성하는데 사용될 수 있고, 자연어 프로세서(122)는 수행할 어시스턴트 액션(들)을 결정하는 것에서 생성된 텍스트를 프로세싱할 수 있다. 또한, 음성 입력에 대한 자동 모니터링 동안 검출되는 발화된 발언에 기초하여, 자연어 프로세서(122) 및/또는 기타 컴포넌트는 수행할 어시스턴트 액션(들)을 결정하는 것에서 클라이언트 디바이스 알림(및/또는 기반이 된 IoT 상태 변화 알림)을 활용할 수 있다. 예를 들어, 자연어 프로세서(122)는 발화된 발언 "보여줘"가 초인종 IoT 디바이스(1451)을 참조한다고 결정하고, 그 결과, 발화된 발언이 초인종 IoT 디바이스(1451)의 카메라로부터의 라이브 비디오 피드를 보기 위한 요청임을 결정한다. 원격 자동화된 어시스턴트 컴포넌트(들)(119)는 전송된 경우 카메라로부터 라이브 비디오 피드를 제공할 수 있는 IoT 디바이스 명령을 생성할 수 있다.
도 2ac는 상기 IoT 디바이스에 명령을 전송하는 원격 자동화된 어시스턴트 컴포넌트(들)(119)의 결과로서 초인종의 IoT 디바이스(1451)의 카메라로부터의 라이브 비디오 피드를 제공하는 클라이언트 디바이스(1061)를 도시한다. 라이브 비디오 피드는 원격 자동화된 어시스턴트 컴포넌트(들)(119)을 통해 또는 직접 클라이언트 디바이스(1061)에 전송될 수 있다.
도 2ad는 도 2ac의 대안을 도시하며, 클라이언트 디바이스(1061)가 디스플레이 기능이 없는 경우의 예이다. 클라이언트 디바이스(1061)가 디스플레이 기능이 없으므로, 라이브 비디오 피드는 클라이언트 디바이스(1062)를 통해 대신 제공되며 및 클라이언트 디바이스(1061)는 라이브 비디오 피드가 클라이언트 디바이스(1062)를 통해 제시되고 있음을 나타내는 가청 응답을 제공한다. 예를 들어, 하나 이상의 원격 자동화된 어시스턴트 컴포넌트(들)(119)는 라이브 비디오 피드가 디스플레이 기능을 필요로 한다고 결정하고, 예를 들어 디바이스 토폴로지 표현에서 클라이언트 디바이스(1061)에 대한 디바이스 속성에 기초하여, 클라이언트 디바이스(1061)가 디스플레이 기능이 없다고 추가로 결정할 수 있다. 또한, 하나 이상의 원격 자동화된 어시스턴트 컴포넌트(들)(119)는 디바이스 토폴로지 표현을 활용하여, 클라이언트 디바이스(1062)가 디스플레이 기능을 가지며, 그 결과, 클라이언트 디바이스(1062)를 통해 라이브 비디오 피드가 제공되게 할 수 있다고 결정한다.
도 2aa에서, 클라이언트 디바이스(1061, 1062 및 1064)는 모두가 각각의 스피커(들)를 통해 "누군가가 문 앞에 있습니다"의 동일한 청각적 클라이언트 디바이스 알림을 렌더링하는 것으로 도시된다. 그러나 일부 구현예 및/또는 상황에서, 동일한 IoT 상태 변화 알림에 대해 다른 클라이언트 디바이스 알림이 상이한 클라이언트 디바이스에서 제공될 수 있다. 도 2b는 그러한 상황 중 하나를 도시한다. 특히, 도 2b는 도 2aa의 동일한 IoT 상태 변화 알림에 대해 제공될 수 있는 대안적 알림을 도시한다.
도 2b에서, 클라이언트 디바이스(1064)는 도 2aa에서와 동일한 청각적 클라이언트 디바이스에 알림을 제공한다. 그러나, 클라이언트 디바이스들(1061 및 1062)는 도 2aa과 상이한 클라이언트 디바이스 알림 및 도 2b과 상이한 클라이언트 디바이스 알림을 제공한다. 특히, 클라이언트 디바이스(1062)는 클라이언트 디바이스에 알림으로서 "띵" 소리만 렌더링한다. 일부 구현예에서, 클라이언트 디바이스(1062)의 현재 상태에 기초하여, 긴 지속시간인 "누군가 문 앞에 있습니다." 및/또는 임의의 시각적 알림이 아닌 단지 "띵" 소리만 제공된다. 예를 들어, 클라이언트 디바이스(1062)가 오디오 시각 콘텐츠를 이미 렌더링하는 상태에 있는 결과(예: 영화를 보고 있음), 보다 적게 두드러지는 "띵" 소리가 제공될 수 있다. 일부 실시예에서, 보다 적게 두드러지는 소리가 알림 엔진(130)이 클라이언트 디바이스(1062)의 현재 상태를 결정하고 상기 현재 상태에 기초하여 클라이언트 디바이스(1062)에 제공되는 명령을 조정함에 기초하여 제공될 수 있다. 다른 구현예에서, 클라이언트 디바이스(1062)에 제공되는 명령은 클라이언트 디바이스(1062)에 클라이언트 디바이스 알림을 어떻게 렌더링할지 다수의 클라이언트 디바이스 알림 중 어느 것을 제공할지와 관련한 유연성을 제공할 수 있고, 클라이언트 디바이스(1062)는 스스로 덜 두드러지는 소리를 제공하도록 결정할 수 있다.
도 2b에서, 클라이언트 디바이스(1061)는 "띵" 소리 및 인터렉티브 그래픽 인터페이스 둘 모두를 클라이언트 디바이스 알림으로서 렌더링한다. 인터렉티브 그래픽 인터페이스는 현관에 있는 사람의 초인종 IoT 디바이스(1451)의 카메라에 의해 캡처된 이미지를 포함한다. 인터렉티브 그래픽 인터페이스는 사용자가 선택할 수 있는 인터렉티브 "대화" 버튼을 추가로 포함한다. "통화" 버튼의 선택은 클라이언트 디바이스(1061)의 마이크로폰(들) 및 스피커(들) 및 초인종 IoT 디바이스(1451)의 마이크로폰(들) 및 스피커(들)를 통해 사용자가 문에 있는 사람과 통신하게 할 수 있는 "인터콤" 유형 통신을 설정하는 IoT 명령이 생성되게 할 수 있다. 일부 실시예에서, 보다 강력한 클라이언트 디바이스 알림이 클라이언트 디바이스(1061)의 현재 상태, 클라이언트 디바이스(1061)에 대한 사용자의 검출된 근접성, 클라이언트 디바이스(1061)의 출력 기능 및/또는 다른 요인에 기초하여 제공된다. 예를 들어, 보다 강력한 알림이 사용자가 클라이언트 디바이스(1061)에 근접하다고 검출함에 기초하여, 그리고 클라이언트 디바이스(1061)의 출력 기능에 기초하여 제공될 수 있다. 일부 실시예에서, 보다 강력한 알림이 IoT 알림 엔진(130)이 상기 요인(들)을 고려하고, 상기 요인들에 기초하여 클라이언트 디바이스(1061)에 제공되는 명령을 조정함에 기초하여 제공될 수 있다. 다른 구현예에서, 클라이언트 디바이스(1061)에 제공되는 명령은 클라이언트 디바이스(1061)에 클라이언트 디바이스 알림을 어떻게 렌더링할지 다수의 클라이언트 디바이스 알림 중 어느 것을 제공할지와 관련한 유연성을 제공할 수 있고, 클라이언트 디바이스(1061)는 스스로 보다 강력한 알림을 제공하도록 결정할 수 있다.
도 2c는 스피커(들)를 통해 "세탁이 완료되었습니다"의 청각적 클라이언트 디바이스 알림을 렌더링하는 클라이언트 디바이스(1061)를 도시한다. 클라이언트 디바이스(1061)는 각각 클라우드 기반 자동화된 어시스턴트 컴포넌트(들)에 의해 전송된 수신된 명령(119)에 응답하여, 상기 청각적 알림을 제공할 수 있다. IoT 알림 엔진(130)은 클라이언트 디바이스 알림을 생성하고, IoT 시스템(140) 중 하나로부터 대응하는 IoT 상태 알림을 수신함에 응답하여 명령이 전송되게 할 수 있다. 예를 들어, IoT 시스템(140) 중 하나는 세탁기 IoT 디바이스(1453)가 사이클을 완료했다고 표시하는 IoT 상태 알림을 제공할 수 있다. IoT 상태 알림이 생성하고, 세탁기 IoT 디바이스(1453)로부터 대응하는 데이터를 수신함에 응답하여 IoT 시스템 중 하나에 의해 IoT 상태 알림이 생성되고 제공될 수 있다.
도 2c에서, IoT 알림 엔진(130)은 클라이언트 디바이스(1061)에서만 클라이언트 디바이스 알림을 렌더링하게 하도록 결정할 수 있다. 일 예시로서, 사용자 정보 데이터베이스(135)에 저장된 수동 생성 및/또는 자동 결정 규칙은 "사이클 완료" 알림 또는 보다 일반적으로 세탁기 IoT 디바이스(1453)로부터의 모든 알림이 현재 사용자에게 가장 가까운 클라이언트 디바이스에만 제공되어야 하고 및/또는 상기 알림이 단일의 클라이언트 디바이스를 통해서만 제공되어야 하고, 사용자가 집에 있다고 결정되는 경우에만 제공되어야 한다고 지시할 수 있다. 알림이 제공되는 클라이언트 디바이스, 장소 및/또는 시간을 제한함으로써, 클라이언트 디바이스(1061)의 리소스가 보존될 수 있다. 또한, IoT 알림 엔진(130)이 클라이언트 디바이스 알림을 렌더링하지 않음에 따라, 클라우드 기반 자동화된 어시스턴트 컴포넌트(들)(119)의 리소스도 보존될 수 있다. 그렇지 않으면 렌더링하게 하기 위해 클라우드 기반 자동화된 어시스턴트 컴포넌트(들)(119)로부터 클라이언트 디바이스(1061)에 통신하는데 사용되었을 네트워크 리소스 또한 보존될 수 있다. 존재 센서(105)와 관련하여 여기에 설명된 것과 같이, 사용자에게 근접한 클라이언트 디바이스(들)를 결정하기 위해 다양한 기법이 이용될 수 있다.
도 2d는 클라이언트 디바이스(1061)가 사용자로부터 비관련 발화된 발언("오늘 날씨")를 먼저 수신하고, 상기 비관련 발화된 발언에 대한 응답 콘텐츠("75도 맑습니다.")를 렌더링한 후, 클라이언트 디바이스(1061)의 스피커(들)를 통해 "한편, 뒷문이 몇 시간째 약간 열려있습니다."의 청각적 클라이언트 디바이스의 알림을 렌더링하는 예시를 도시한다. 도 2d에서 청각적 클라이언트 디바이스 알림의 렌더링은 임의의 알림의 렌더링을 명시적으로 요청하는 임의의 사용자 인터페이스 입력과는 무관하게 렌더링된다는 점에서 여전히 "자동"이다(예: "내 알림은 무엇입니까"와 같은 발화된 발언과는 별개). 그러나, 도 2d에서 청각적 클라이언트 디바이스 알림의 렌더링은 즉각적이지 않으며, 사용자의 별도의 비관련 입력에 응답하여 사용자에게 별개의 비관련 출력을 제공해야 한다. 청각적 클라이언트 디바이스 알림의 렌더링은 별개의 비관련 출력의 제공을 조건으로 하기 때문에, 청각적 클라이언트 디바이스는 사용자를 산만하게 하거나 그렇지 않으면 바람직하지 않은 시간에 청각적 클라이언트 디바이스 알림을 렌더링하는 것을 방지할 수 있다.
일부 실시예에서, IoT 알림 엔진(130)은 클라이언트 디바이스(1061)로 하여금 "75도 맑습니다."에 이어 "한편, 뒷문이 몇 시간째 약간 열려있습니다."를 렌더링하게 하는 명령을 클라이언트 디바이스(1061)에 제공할 수 있다. 명령은 "75도 맑습니다."의 제공을 위해 제공된 데이터와 함께 제공될 수 있거나 클라이언트 디바이스(1061)에 선제적으로 제공될 수 있다. 선제적으로 제공되는 경우, 상기 클라이언트 디바이스(1061)는 로컬적으로 클라이언트 디바이스 알림을 저장하고, 클라이언트 디바이스에 의해 제공되는 "다음" 출력에 자동으로 첨부할 수 있다.
IoT 알림 엔진(130)은 IoT 시스템(140) 중 하나로부터 대응하는 IoT 상태 알림을 수신하는 것에 응답하여 도 2d의 클라이언트 디바이스 알림을 생성할 수 있다. 예를 들어, IoT 시스템(140) 중 하나는 도어 열림/닫힘 센서 IoT 디바이스(1454)가 뒷문이 열려있다고 표시한다고 표시하는 IoT 상태 알림을 제공할 수 있다. IoT 상태 알림이 생성하고, 도어 열림/닫힘 센서 IoT 디바이스(1454)로부터 대응하는 데이터를 수신함에 응답하여 IoT 시스템 중 하나에 의해 IoT 상태 알림이 생성되고 제공될 수 있다. 일부 구현예에서, IoT 알림 엔진(130)은 뒷문이 열려 있음을 표시하는 IoT 상태 알림을 결정하고, 하나 이상의 추가 조건이 만족됨에 응답하여 클라이언트 디바이스 알림이 렌더링되게 한다. 추가 조건(들)은 예를 들어, 적어도 임계 시간량(예: 적어도 1시간) 경과, 뒷문이 이제 닫혔음을 나타내는 후속 IoT 상태 알림이 수신되지 않았음을 포함할 수 있다. 따라서, 그러한 예에서, IoT 알림 엔진(130)은 적어도 임계 시간량이 경과하지 않았다면 임의의 대응하는 클라이언트 디바이스 알림이 렌더링되도록 하지 않을 것이다. 또한, 일부 구현예에서, IoT 알림 엔진(130)은 하나 이상의 추가 조건이 만족되는 경우(예: 문이 임계 시간량을 훨씬 넘어서 계속 열려 있음) 즉시 클라이언트 디바이스 알림이 렌더링되도록 할 수 있다. 보다 일반적으로, IoT 알림 엔진(130)은 변화하는 조건에 기초하여 IoT 상태 알림에 대한 중요도 측정을 동적으로 적응시킬 수 있고, 적응 중요도 측정에 기초하여 클라이언트 디바이스 알림이 자동으로 제공되는 방법 및/또는 시기를 동적으로 적응시킬 수 있다.
도 3은 다양한 구현에 따른 예시적 상태도(300)를 도시한다. 도 3에서, IoT 디바이스(들)(1451)로부터 전송된 IoT 데이터(370)는 IoT 시스템(1401)에 의해 수신된다. 372에서, IoT 시스템(1401)은 IoT 데이터(370)에 기초하여 상태의 변화를 결정한다. 일 예시로서, IoT 디바이스(들)(1451)는 카메라를 포함하며, IoT 데이터(370)는 이미지 및/또는 카메라로부터 비디오 피드를 포함하며, 결정된 상태의 변화는 IoT 시스템(1401)에 의해 IoT 데이터(370)의 분석에 기초하여 사람(또는 특정한 사람)의 검출된 존재일 수 있다. 다른 예시로서, IoT 디바이스(들)(1451)는 기기를 포함하며, IoT 데이터(370)는 기기의 오류 상태를 표시하며, 결정된 상태의 변화는 에러 상태일 수 있다.
374에서, IoT 시스템(1401)은 IoT 상태 변화 알림을 IoT 알림 엔진(130)에 전송한다. IoT 상태 변화 알림은 예를 들어, 적어도 하나의 IoT 디바이스와 연관된 상태의 변화를 표시하는 상태 표시, 적어도 하나의 IoT 디바이스와 연관된 클라이언트 디바이스(들)의 식별을 나타내는 고유 식별자 및 선택적으로 적어도 하나의 IoT 디바이스의 표시를 포함하는 구조화된 데이터일 수 있다. 일부 구현예에서, 374에서, IoT 시스템(1401)은 IoT 알림 엔진(130)과 연관된 자동화된 어시스턴트의 애플리케이션 프로그래밍 인터페이스(API)를 사용하여 IoT 상태 변화 알림을 IoT 알림 엔진(130)에 전송한다.
376에서, IoT 알림 엔진(130)은 IoT 상태 변화 알림과 연관되고 IoT 상태 변화 알림에 대응하는 알림을 렌더링하게 하는 하나 이상의 클라이언트 디바이스를 결정한다. 본 명세서에 설명된 바와 같이, IoT 상태 변화 알림과 연관된 클라이언트 디바이스는 IoT 상태 변화 알림에 포함된 고유 식별자에 기초하여 식별될 수 있다. 일부 구현예에서, IoT 알림 엔진(130)은 IoT 상태 변화 알림과 연관된 모든 클라이언트 디바이스가 IoT 상태 변화 알림에 대응하는 알림을 렌더링하게 해야 한다고 결정한다. 그러나, 다른 구현예에서 IoT 알림 엔진(130)은 IoT 상태 변화 알림에 대응하는 알림을 렌더링하게 해야 하는 클라이언트 디바이스의 서브세트를 결정한다. 예를 들어, 도 3에서, IoT 알림 엔진(130)은 클라이언트 디바이스(1061 및 106N)만 IoT가 상태 변화 알림에 대응하는 알림을 렌더링하게 해야 한다고 결정한다. 상기 구현예 중 일부에서, IoT 알림 엔진(130)은 수신된 IoT 상태 변화 알림의 속성, 클라이언트 디바이스(들)와 연관된 현재 속성, 시간, 요일 및/또는 하나 이상의 기타 기준에 기초하여, 서브세트를 결정한다.
378에서, IoT 알림 엔진(130)은 결정된 클라이언트 디바이스에 대한 하나 이상의 알림(378)을 생성한다. 일부 구현예에서, 모든 클라이언트 디바이스에 대해 단일 알림이 생성될 수 있다. 일부 다른 구현예에서, 다수의 알림이 생성된다. 이러한 다른 구현예 중 일부에서, 주어진 디바이스의 현재 상태, 주어진 디바이스의 검출된 사용자 근접도, 주어진 사용자 디바이스의 출력 기능 및/또는 다른 요인에 기초하여 주어진 디바이스에 대한 알림이 생성될 수 있다.
3801에서, IoT 알림 엔진(130)은 명령을 클라이언트 디바이스(1061)에 전송한다. 상기 명령은 클라이언트 디바이스(1061)로 하여금 하나 이상의 알림 중 하나를 자동으로 그리고 즉각적으로 렌더링하게 한다. 이러한 렌더링은 3821에 표시된다. 3802에서, IoT 알림 엔진(130)은 명령을 클라이언트 디바이스(106N)에 전송한다. 상기 명령은 클라이언트 디바이스(106N)로 하여금 하나 이상의 알림 중 하나를 자동으로 그리고 즉각적으로 렌더링하게 한다. 이러한 렌더링은 3822에 표시된다. 일부 구현예에서 3801 및 3802는 동시에 또는 실질적으로 동시에(예를 들어, 서로 1초 이내, 서로 0.5초 이내, 또는 서로 1/10초 이내) 발생할 수 있다는 점을 주목해야 한다. 또한, 일부 구현예에서 3821 및 3822는 동시에 또는 실질적으로 동시에(예를 들어, 서로 1초 이내, 서로 0.5초 이내, 또는 서로 1/10초 이내) 발생할 수 있다는 점을 주목해야 한다.
384에서, 클라이언트 디바이스(1061)는 3821에서 클라이언트 디바이스(1061)에 의해 렌더링된 알림에 대한 응답인 사용자 인터페이스 입력에 기초하여 데이터를 전송한다. 일부 구현예에서, 사용자 인터페이스 입력은 클라이언트 디바이스(1061)의 마이크로폰을 통해 검출된 발화된 발언일 수 있고, 데이터는 발화된 발언을 캡처하는 오디오 데이터 및/또는 오디오 데이터의 텍스트 변환을 포함한다. 이들 구현예 중 일부에서, 발화된 발언은 클라이언트 디바이스 알림이 적어도 부분적으로 렌더링된 후 일정 시간 동안 발화된 발언에 대한 자동 모니터링에 기초하여 검출된다.
386에서, IoT 알림 컴포넌트(130)(및/또는 다른 원격 자동화된 어시스턴트 컴포넌트(들))는 384에서 전송된 데이터에 기초하여 IoT 명령을 생성한다. 예를 들어, IoT 명령은 발화된 발언의 음성-텍스트 변환을 수행하여 생성된 텍스트 및 3821에서 클라이언트 디바이스(1061)에 의해 렌더링된 알림에 응답하여 발화된 발언에 기초하여 추론된 값(들)을 기초하여 생성될 수 있다. 추론된 값(들)은 클라이언트 디바이스 알림 및/또는 클라이언트 디바이스 알림의 기반이 되는 IoT 상태 변화 알림을 기초할 수 있다.
388에서, IoT 알림 컴포넌트(130)(및/또는 다른 원격 자동화된 어시스턴트 컴포넌트(들))는 IoT 시스템(1401)에 IoT 명령을 전송한다.
390에서, IoT 시스템(1401)은 수평 점선으로 표시된 바와 같이, IoT 디바이스(1451)과 인터페이스할 수 있는 것을 포함하여, IoT 명령에 대한 응답을 생성한다. 다양한 응답이 생성될 수 있다. 예를 들어, IoT 디바이스(1451)가 스마트 도어록이고, IoT 명령이 스마트 도어록을 잠금 해제하는 명령인 경우, 응답은 스마트 도어록이 해제된다는 확인일 수 있다. 다른 예시로서, IoT 디바이스(1451)은 카메라를 포함하며, IoT 명령이 카메라로부터의 피드를 제공하라는 명령인 경우, 응답은 피드 또는 피드를 설정하라는 명령어일 수 있다.
392에서, IoT 시스템(1401)은 IoT 알림 컴포넌트(130)(및/또는 다른 원격 자동화된 어시스턴트 컴포넌트(들))에 응답을 전송한다.
394에서, IoT 알림 컴포넌트(130)(및/또는 다른 원격 자동화된 어시스턴트 컴포넌트(들))는 상기 응답에 기초한 응답 콘텐츠(394)를 전송하고, 396에서, 클라이언트 디바이스(1061)는 응답 콘텐츠를 렌더링한다.
도 4는 다양한 구현에 따른 다른 예시적 상태도(400)를 도시한다. 도 4에서, 470에서, IoT 시스템(1401)은 하나 이상의 IoT 디바이스(들)(1451)에 의해 제공된 데이터에 기초하여 상태의 변화를 결정한다(도 4에 도시되지 않음). 작업 예로서, 하나 이상의 IoT 디바이스(들)(1451)는 스마트 도어록을 포함할 수 있고, 상태의 변화는 잠금해제로의 도어록의 변화일 수 있다.
472에서, IoT 시스템(1401)은 IoT 상태 변화 알림을 IoT 알림 엔진(130)에 전송한다. 472의 IoT 상태 변화 알림은 470에서 결정된 상태의 변화에 대응한다. 작업 예에서, IoT 상태 변화 알림은 예를 들어 스마트 도어록의 표시, 잠금 해제로의 변화를 표시하는 상태 표시 및 스마트 도어록과 연관된 클라이언트 디바이스를 식별할 수 있는 고유 식별자를 포함하는 구조화된 데이터일 수 있다.
474에서, IoT 알림 엔진(130)은 472의 IoT 상태 변화 알림에 기초하여, 클라이언트 디바이스가 IoT 상태 변화 알림에 기초하여 알림을 렌더링하게 하는 명령을 전송하지 않기로 결정한다. 예를 들어, IoT 알림 엔진(130)은 단독으로 472의 IoT 상태 변화 알림이 낮은 우선 순위이고, 임의의 대응하는 클라이언트 디바이스 알림의 제공을 보장하지 않는다고 결정할 수 있다.
이후에, 475에서, 별개의 IoT 시스템(1402)(예를 들면, IoT 시스템(1401)을 제어하는 것과 다른 서드 파티에 의해 제어되는)은 하나 이상의 IoT 디바이스(들)에 의해 제공되는 데이터에 기초하여 상태의 변화(1452)를 결정한다(도 4에 도시되지 않음). 작업 예시를 계속하며, 하나 이상의 IoT 디바이스(들)(1452)는 스마트 도어록 근처 존재 센서를 포함할 수 있고, 상태의 변화는 존재 검출로부터 더 이상 존재가 검출되지 않은 것으로 변화일 수 있다.
476에서, IoT 시스템(1402)은 IoT 상태 변화 알림을 IoT 알림 엔진(130)에 전송한다. 476의 IoT 상태 변화 알림은 475에서 결정된 상태의 변화에 대응한다. 작업 예에서, IoT 상태 변화 알림은 예를 들어 존재 센서의 표시, 더 이상 존재가 검출되지 않는 변화를 표시하는 상태 표시 및 존재 센서와 연관된 클라이언트 디바이스를 식별할 수 있는 고유 식별자를 포함하는 구조화된 데이터일 수 있다.
478에서, IoT 알림 엔진(130)은 472의 IoT 상태 변화 알림 및 476의 IoT 상태 변화 알림 모두에 기초하여, 클라이언트 디바이스가 472의 IoT 상태 변화 알림 및 476의 IoT 상태 변화 알림에 기초한 결합된 알림을 렌더링하게 하는 명령을 전송하기로 결정한다. 예를 들어, 그리고 작업 예를 계속하여, IoT 알림 엔진(130)은 디바이스 토폴로지 표현을 사용하여 존재 센서와 스마트 도어록이 같은 방에 있음을 결정할 수 있다. 또한, IoT 알림 엔진(130)은 잠금 해제 중인 스마트 도어록과 존재의 부재를 표시하는 존재 센서의 조합이 대응하는 알림의 제공을 보장한다고 결정할 수 있다.
480에서, IoT 알림 엔진(130)은 472 및 476의 IoT 상태 변화 알림과 연관되고 IoT 상태 변화 알림에 대응하는 알림을 렌더링하게 하는 하나 이상의 클라이언트 디바이스를 결정한다.
482에서, IoT 알림 엔진(130)은 결정된 클라이언트 디바이스에 대한 하나 이상의 알림을 생성한다.
4841에서, IoT 알림 엔진(130)은 명령을 클라이언트 디바이스(1061)에 전송한다. 상기 명령은 클라이언트 디바이스(1061)로 하여금 하나 이상의 알림 중 하나를 자동으로 그리고 즉각적으로 렌더링하게 한다. 이러한 렌더링은 4861에 표시된다. 4842에서, IoT 알림 엔진(130)은 명령을 클라이언트 디바이스(106N)에 전송한다. 상기 명령은 클라이언트 디바이스(106N)로 하여금 하나 이상의 알림 중 하나를 자동으로 그리고 즉각적으로 렌더링하게 한다. 이러한 렌더링은 3862에서 표시된다. 일부 구현예에서 4841 및 4842는 동시에 또는 실질적으로 동시에 발생할 수 있고 및/또는 4861 및 4862는 동시에 또는 실질적으로 동시에 발생할 수 있다는 점을 주목해야 한다.
도 5는 다양한 구현에 따른 또 다른 예시적 상태도(500)를 도시한다.
도 5에서, IoT 시스템(1401)은 570에서 상태 변화를 결정하고, 572에서 대응하는 IoT 상태 변화 알림을 전송한다.
574에서, IoT 알림 엔진(130)은 다수의 후보 클라이언트 디바이스(1061-N) 중 두 개의 클라이언트 디바이스들(1061 및 106N)이 572의 IoT 상태 변화 알림에 대응하는 알림을 렌더링하게 해야 한다고 결정한다.
576에서, IoT 알림 엔진(130)은 상기 결정된 클라이언트 디바이스(1061 및 106N)에 대한 알림을 생성한다.
5781에서, IoT 알림 엔진(130)은 명령을 클라이언트 디바이스(1061)에 전송한다. 상기 명령은 클라이언트 디바이스(1061)로 하여금 알림을 자동으로 그리고 즉각적으로 렌더링하게 한다. 이러한 렌더링은 5801에 표시된다. 5782에서, IoT 알림 엔진(130)은 명령을 클라이언트 디바이스(106N)에 전송한다. 상기 명령은 클라이언트 디바이스(106N)로 하여금 알림을 자동으로 그리고 즉각적으로 렌더링하게 한다. 이러한 렌더링은 5802에 표시된다.
582에서, IoT 시스템(1401)은 상태의 변화를 결정하고, 584에서 대응하는 IoT 상태 변화 알림을 전송한다.
586에서, IoT 알림 엔진(130)은 다수의 후보 클라이언트 디바이스(1061-N) 중 단지 하나의 클라이언트 디바이스(1061)가 572의 IoT 상태 변화 알림에 대응하는 알림을 렌더링하게 해야 한다고 결정한다. 586에서 단 하나의 클라이언트 디바이스만 결정되는 반면 574에서 두 개가 결정되었다. 이 차이는 2개의 수신된 IoT 상태 변화 알림의 상이한 속성, 결정이 내려진 시점의 클라이언트 디바이스(들)와 연관된 속성, 결정이 내려진 시간, 결정이 내려진 요일과 같은 다양한 요인에 기초할 수 있다.
588에서, IoT 알림 엔진(130)은 상기 결정된 클라이언트 디바이스(1061)에 대한 알림을 생성한다.
590에서, IoT 알림 엔진(130)은 명령을 클라이언트 디바이스(1061)에 전송한다. 상기 명령은 클라이언트 디바이스(1061)로 하여금 알림을 자동으로 그리고 즉각적으로 렌더링하게 한다. 이러한 렌더링은 592에서 표시된다.
도 6은 본 명세서에 기술된 기법들의 하나 이상의 양태들을 수행하기 위해 선택적으로 활용될 수 있는 예시적 컴퓨팅 디바이스(610)의 블록도이다. 일부 구현예에서, 클라이언트 컴퓨팅 디바이스, IoT 알림 엔진(130) 및/또는 다른 컴포넌트(들) 중 하나 이상은 예시적 컴퓨팅 디바이스(610) 중 하나 이상의 컴포넌트를 포함할 수 있다.
컴퓨팅 디바이스(610)는 일반적으로 적어도 하나의 프로세서(614)를 포함하며, 버스 서브시스템(612)을 통해 다수의 주변 디바이스들과 통신한다. 이들 주변 디바이스들은 예를 들면, 메모리 서브시스템(625) 및 파일 저장 서브시스템(626)을 포함하는 저장 서브시스템(624), 사용자 인터페이스 출력 디바이스(620), 사용자 인터페이스 입력 디바이스(622) 및 네트워크 인터페이스 서브시스템(616)을 포함할 수 있다. 입력 및 출력 디바이스는 컴퓨팅 디바이스(610)와 사용자 인터렉션을 하게 한다. 네트워크 인터페이스 서브시스템(616)은 외부 네트워크에 대한 인터페이스를 제공하며, 다른 컴퓨팅 디바이스들의 대응하는 인터페이스 디바이스들과 연결된다.
사용자 인터페이스 입력 디바이스(622)는 키보드, 마우스, 트랙볼, 터치패드 또는 그래픽 태블릿, 스캐너, 디스플레이에 통합된 터치스크린과 같은 포인팅 디바이스, 음성 인식 시스템, 마이크로폰과 같은 오디오 입력 디바이스 및/또는 다른 유형의 입력 디바이스를 포함한다. 일반적으로, 용어 “입력 디바이스”의 사용은 정보를 컴퓨팅 디바이스(610) 또는 통신 네트워크에 입력하기 위한 모든 가능한 유형의 디바이스들과 방식들을 포함하도록 의도된다.
사용자 인터페이스 출력 디바이스(620)는 디스플레이 서브시스템, 프린터, 팩스 기계 또는 오디오 출력 디바이스와 같은 비-시각적 디스플레이를 포함할 수 있다. 디스플레이 서브시스템은 CRT, LCD와 같은 평면 패널 디바이스, 프로젝션 디바이스 또는 시각적 이미지를 생성하기 위한 일부 기타 메커니즘을 포함할 수 있다. 또한, 디스플레이 서브시스템은 오디오 출력 디바이스와 같은 비-시각적 디스플레이를 제공할 수 있다. 일반적으로, 용어 “출력 디바이스”의 사용은 정보를 컴퓨팅 디바이스(610)로부터 사용자에게 또는 다른 기계 또는 컴퓨팅 디바이스에 정보를 출력하기 위한 모든 가능한 유형의 디바이스들과 방식들을 포함하도록 의도된다.
저장 서브시스템(624)은 본 명세서에 기술된 일부 또는 전부의 모듈들의 기능을 제공하기 위한 프로그래밍 및 데이터 구조를 저장한다. 예를 들면, 저장 서브시스템(624)은 본 명세서에 기술된 방법의 선택된 양태들을 수행하고 뿐만 아니라 도 1에 도시된 다양한 컴포넌트들을 구현하기 위한 로직을 포함할 수 있다.
이들 소프트웨어 모듈들은 일반적으로 프로세서(614) 단독으로 또는 다른 프로세서들과의 조합에 의해 실행된다. 저장 서브시스템(624)에서 사용된 메모리(625)는 프로그램 실행 중에 명령어들 및 데이터의 저장을 위한 메인 RAM(630) 및 고정된 명령어들이 저장되는 ROM(632)을 포함하는 다수의 메모리들을 포함할 수 있다. 파일 저장 서브시스템(626)은 프로그램 및 데이터 파일에 대한 영구적 저장을 제공할 수 있고, 하드 디스크 드라이브, 연관된 이동식 매체와 함께인 플로피 디스크 드라이브, CD-ROM 드라이브, 광학 드라이브 또는 이동식 매체 카트리지들을 포함할 수 있다. 특정 구현예들의 기능을 구현하는 모듈들은 파일 저장 서브시스템(626)에 의해 저장 서브시스템(624)에 또는 프로세서(들)(614)에 의해 액세스가능한 다른 기계에 저장될 수 있다.
버스 서브시스템(612)은 의도된 대로 컴퓨팅 디바이스(610)의 다양한 컴포넌트들 및 서브시스템들이 서로 통신하게 하기 위한 메커니즘을 제공한다. 버스 서브시스템(612)이 개략적으로 단일의 버스로 도시되었지만, 버스 서브시스템의 대안적 구현예들은 다수의 버스들을 사용할 수 있다.
컴퓨팅 디바이스(610)는 워크스테이션, 서버, 컴퓨팅 클러스터, 블레이드 서버, 서퍼팜 또는 임의의 기타 데이터 프로세싱 시스템 또는 컴퓨팅 디바이스를 포함하는 다양한 유형들일 수 있다. 컴퓨터 및 네트워크의 끊임없이 변화하는 특성으로 인해, 도 6에 도시된 컴퓨팅 디바이스(610)는 일부 구현예들을 설명하기 위한 목적의 특정 예로서 만 의도된다. 컴퓨팅 디바이스(610)의 많은 다른 구성들이 도 6에 도시된 컴퓨팅 디바이스보다 많거나 적은 컴포넌트들을 가질 수 있다.
본 명세서에서 논의된 특정 구현예들이 사용자에 관한 개인 정보(예를 들어, 다른 전자 통신으로부터 추출된 사용자 데이터, 사용자의 소셜 네트워크에 관한 정보, 사용자의 위치, 사용자의 시간, 사용자의 생체 정보 및 사용자의 활동 및 인구통계적 정보, 사용자들 간의 관계 등)를 수집하거나 사용하는 상황들에서, 사용자에게 정보가 수집될지 여부, 개인정보가 저장될지 여부, 개인 정보가 사용될지 여부 및 사용자에 관한 정보가 어떻게 수집되고 저장되고 사용될지를 제어하기 위한 하나 이상의 기회들이 제공된다. 즉, 본 명세서에서 논의된 시스템 및 방법은 관련된 사용자로부터 명시적 허가를 수신함에 따라서만 사용자 개인 정보를 수집하고 저장 및/또는 사용한다.
예를 들면, 프로그램 또는 구성이 그 특정한 사용자 또는 프로그램 또는 구성과 관련된 다른 사용자에 관한 사용자 정보를 수집할지 여부에 관한 제어권이 사용자에게 제공된다. 개인정보가 수집될 각 사용자에게 그 사용자에 관한 정보 수집에 대해 제어하게 하고, 정보가 수집될지 여부에 관한 그리고 정보의 어떤 부분이 수집될지 허가 또는 인가를 제공하기 위한 하나 이상의 옵션들이 제시된다. 예를 들면, 통신 네트워크를 통해 사용자들에게 하나 이상의 상기 제어 옵션들이 제공될 수 있다. 추가로, 특정 데이터는 그것이 저장되거나 사용되기 전에 하나 이상의 다양한 방식들로 취급되어, 개인적으로 식별가능한 정보는 제거된다. 일 예시로서, 사용자의 신원은 개인적으로 식별가능한 정보가 결정될 수 없도록 취급될 수 있다. 다른 예시로서, 사용자의 지리적 위치는 넓은 지역으로 일반화되어 사용자의 특정한 위치가 결정될 수 없도록 한다.
일부 구현예에서, 상기 방법은 자동화된 어시스턴트 컴퓨팅 시스템의 하나 이상의 네트워크 인터페이스를 통해 IoT 상태 변화 알림을 수신하는 단계를 포함한다. IoT 상태 변화 알림은 적어도 하나의 IoT 디바이스와 연관된 상태의 변화를 결정하는 것에 응답하여 자동화된 어시스턴트 컴퓨팅 시스템에 전송된다. IoT 상태 변화 알림은 고유 식별자, 적어도 하나의 IoT 디바이스의 표시 및 적어도 하나의 IoT 디바이스와 연관된 상태의 변화를 표시하는 상태 표시를 포함한다. 상기 방법은 상기 자동화된 어시스턴트 컴퓨팅 시스템에 의해, 상기 고유 식별자에 기초하여, 상기 고유 식별자와 각각 연관되고 각각 대응하는 자동화된 어시스턴트 클라이언트를 갖는 복수의 후보 어시스턴트 클라이언트 디바이스를 식별하는 단계를 더 포함한다. 상기 방법은 상기 자동화된 어시스턴트 컴퓨팅 시스템에 의해, 상기 적어도 하나의 IoT 디바이스의 표시에 기초하고, 상기 상태 표시에 기초하여, 상기 복수의 후보 어시스턴트 클라이언트 디바이스 중 적어도 하나의 클라이언트 디바이스에 대한 클라이언트 디바이스 알림을 생성하는 단계를 더 포함한다. 상기 방법은 명령을 상기 하나의 클라이언트 디바이스에 전송하는 단계를 더 포함하며, 상기 명령은 상기 하나의 클라이언트 디바이스의 자동화된 어시스턴트 클라이언트로 하여금: 상기 하나의 클라이언트 디바이스 중 적어도 하나의 사용자 인터페이스 출력 디바이스를 통해 상기 생성된 클라이언트 디바이스 알림을 자동으로 렌더링하게 한다. 예를 들어, 명령은 클라이언트 디바이스로 하여금 임의의 알림 렌더링을 명시적으로 요청하는 임의의 사용자 인터페이스 입력과 관계없이, 생성된 클라이언트 디바이스 알림을 자동으로 렌더링하게 할 수 있다. 상기 명령은 상기 하나의 클라이언트 디바이스의 자동화된 어시스턴트 클라이언트로 하여금: 상기 클라이언트 디바이스 알림이 적어도 부분적으로 렌더링된 후 일정 기간 동안 음성 입력을 자동으로 모니터링하게 하고, 그리고 상기 음성 입력에 대한 자동 모니터링 동안 검출되는 발화된 발언에 기초하여 발화된 발언에 대응하는 데이터를 전송하게 할 수 있다.
본 명세서에서 논의된 기술의 이들 또는 다른 구현예들은 다음 구성들 중 하나 이상을 포함할 수 있다.
일부 구현예에서, 상기 방법은: 상기 하나의 클라이언트 디바이스로부터, 상기 발화된 발언에 대응하는 데이터를 수신하는 단계; 상기 발화된 발언에 대응하는 데이터 및 상기 음성 입력에 대한 자동 모니터링 동안 검출되는 상기 발화된 발언에 기초하여, IoT 디바이스 명령을 생성하는 단계; 및 상기 IoT 디바이스 명령을 전송하는 단계를 포함한다. IoT 디바이스 명령의 전송은 적어도 하나의 IoT 디바이스의 상태 또는 추가 상태를 변경하게 한다. 상기 구현예 중 일부 버전에서, 상기 발화된 발언에 대응하는 데이터 및 상기 음성 입력에 대한 자동 모니터링 동안 검출되는 상기 발화된 발언에 기초하여, IoT 디바이스 명령을 생성하는 단계는: 상기 발화된 발언에 대응하는 데이터에 기초하여 상기 IoT 디바이스 명령에 대한 적어도 하나의 값을 생성하는 단계; 및 상기 음성 입력에 대한 자동 모니터링 동안 검출되는 발화된 발언에 기초하여 IoT 디바이스 명령에 대한 적어도 하나의 추가 값을 추론하는 단계를 포함한다. 적어도 하나의 추가 값을 추론하는 것은 클라이언트 디바이스 알림 및/또는 클라이언트 디바이스 알림이 생성되는 IoT 상태 변화 알림에 기초할 수 있다. 예를 들면, 상기 IoT 상태 변화 알림에 기초하여 상기 적어도 하나의 추가 값을 추론하는 단계는 상기 IoT 상태 변화 알림 또는 상기 클라이언트 디바이스 알림에 기초하여 상기 적어도 하나의 IoT 디바이스의 식별자를 추론하는 단계를 포함할 수 있다.
일부 구현예에서, 상기 방법은: 상기 하나의 클라이언트 디바이스로부터, 상기 발화된 발언에 대응하는 데이터를 수신하는 단계; 상기 발화된 발언에 대응하는 데이터 및 상기 음성 입력에 대한 자동 모니터링 동안 검출되는 상기 발화된 발언에 기초하여, 응답 콘텐츠를 생성하는 단계; 및 상기 하나의 클라이언트 디바이스로 하여금 상기 응답 콘텐츠에 기초하는 응답 출력을 렌더링하게 하도록 상기 응답 콘텐츠를 상기 하나의 클라이언트 디바이스에 전송하는 단계를 더 포함한다. 일부 구현예 중 일부에서, 상기 발화된 발언에 대응하는 데이터 및 상기 음성 입력에 대한 자동 모니터링 동안 검출되는 상기 발화된 발언에 기초하여, 상기 응답 콘텐츠를 생성하는 단계는: 상기 발화된 발언에 대응하는 데이터에 기초하여 적어도 하나의 값을 생성하는 단계; 및 상기 음성 입력에 대한 자동 모니터링 동안 검출되는 발화된 발언에 기초하여 적어도 하나의 추가 값을 추론하는 단계를 포함한다. 적어도 하나의 추가 값을 추론하는 것은 클라이언트 디바이스 알림 및/또는 클라이언트 디바이스 알림이 생성되는 IoT 상태 변화 알림에 기초할 수 있다. 응답 콘텐츠를 생성하는 것은 적어도 하나의 값 및 적어도 하나의 추가 값에 기초할 수 있다.
일부 구현예에서, 클라이언트 디바이스 알림은 텍스트를 포함한다. 이들 구현예 중 일부 버전에서, 상기 명령은 상기 클라이언트 디바이스 알림의 텍스트를 포함하고, 상기 명령은 상기 선택된 하나의 클라이언트 디바이스의 자동화된 어시스턴트 클라이언트로 하여금 상기 하나의 클라이언트 디바이스가 상기 텍스트를 오디오 데이터로 변환하고 상기 하나의 클라이언트 디바이스의 적어도 하나의 스피커를 통해 오디오 데이터를 렌더링하게 함으로써 상기 하나의 클라이언트 디바이스의 적어도 하나의 사용자 인터페이스 출력 디바이스를 통해 상기 생성된 클라이언트 디바이스 알림을 자동으로 렌더링하게 한다.
일부 구현예에서, 방법은 IoT 상태 변화 알림에서의 적어도 하나의 IoT 디바이스의 표시 및/또는 상태 변화 알림에서의 상태 표시에 기초하여 명령을 하나의 클라이언트 디바이스로 전송하기로 결정하는 단계를 더 포함한다. 일부 구현예에서, 상기 방법은 추가적으로 또는 대안적으로 현재 시간 및 현재 요일에 기초하여 상기 명령을 상기 하나의 클라이언트 디바이스에 전송하기로 결정하는 단계를 더 포함한다. 일부 구현예에서, 상기 방법은 추가적으로 또는 대안적으로 적어도 한 사용자가 상기 하나의 클라이언트 디바이스에 근접한 것으로 결정하는 것 및/또는 상기 하나의 클라이언트 디바이스가 하나 이상의 미리 정의된 상태에 있지 않다고 결정하는 것에 기초하여 상기 명령을 상기 하나의 클라이언트 디바이스에 전송하기로 결정하는 단계를 더 포함한다. 상기 구현예들 중 일부 버전에서, 상기 사용자가 상기 하나의 클라이언트 디바이스에 근접한 것으로 결정하는 것은 상기 하나의 클라이언트 디바이스와 사용자 인터렉션의 최근성, 상기 하나의 클라이언트 디바이스 중 적어도 하나의 센서로부터의 클라이언트 디바이스 센서, 및/또는 상기 하나의 클라이언트 디바이스의 센서는 아니지만 상기 하나의 클라이언트 디바이스에 근접한 적어도 하나의 센서로부터의 추가 센서 데이터에 기초한다.
일부 구현예에서, 상기 방법은: 상기 하나의 클라이언트 디바이스를 포함하는 다수의 후보 클라이언트 디바이스의 그룹을 선택하는 단계; 상기 선택된 그룹에 포함된 상기 하나의 클라이언트 디바이스에 기초하여 상기 명령을 상기 하나의 클라이언트 디바이스에 전송하는 단계; 및 상기 선택된 그룹에 포함된 상기 다른 후보 클라이언트 디바이스에 기초하여 상기 선택된 그룹의 상기 다른 후보 클라이언트 디바이스 각각에 각각의 명령을 전송하는 단계를 더 포함한다. 상기 각각의 명령들은 각각 상기 다른 후보 클라이언트 디바이스 중 각각의 클라이언트 디바이스로 하여금 적어도 하나의 IoT 디바이스의 표시 및 상태 표시에 기초하여 생성된 각각의 클라이언트 디바이스 알림을 렌더링하게 한다. 상기 구현예들 중 일부 버전에서, 상기 각각의 명령들은 각각 상기 명령과 동일하고, 상기 각각의 클라이언트 디바이스 알림들은 각각 상기 클라이언트 디바이스 알림과 동일하다. 상기 구현예들 중 일부 버전에서, 상기 각각의 명령들 중 적어도 하나는 상기 명령과 상이하고, 상기 각각의 클라이언트 디바이스 알림들 중 적어도 하나는 상기 클라이언트 디바이스 알림과 상이하다. 일부 구현예에서, 다수의 후보 클라이언트 디바이스의 그룹을 선택하는 단계는 주어진 클라이언트 디바이스가 하나 이상의 미리 정의된 상태에 있다는 결정; IoT 상태 변화 알림에서 적어도 하나의 IoT 디바이스의 표시; 및/또는 IoT 상태 변화 알림에서 상태 알림에 기초하여 상기 그룹으로부터 후보 클라이언트 디바이스 중 주어진 클라이언트 디바이스를 배제하는 단계를 포함한다.
일부 구현예에서, 상기 방법은 자동화된 어시스턴트 컴퓨팅 시스템의 하나 이상의 네트워크 인터페이스를 통해, 제1 서드 파티 시스템으로부터 제1 IoT 상태 알림 및 제2 서드 파티 시스템으로부터 제2 IoT 상태 알림을 수신하는 단계를 포함한다. 제1 IoT 상태 알림은 자동화된 어시스턴트 컴퓨팅 시스템에 전송되고, 하나 이상의 IoT 디바이스의 제1 그룹과 연관된 제1 상태를 표시한다. 제1 IoT 상태 알림은 고유 식별자 및 하나 이상의 IoT 디바이스의 제1 그룹과 연관된 제1 상태를 표시하는 제1 상태 표시를 포함한다. 제2 IoT 상태 알림은 자동화된 어시스턴트 컴퓨팅 시스템에 전송되고, 하나 이상의 IoT 디바이스의 제2 그룹과 연관된 제2 상태를 표시한다. 제2 IoT 상태 알림은 고유 식별자 또는 추가 고유 식별자, 및 하나 이상의 IoT 디바이스의 제2 그룹과 연관된 제2 상태를 표시하는 제2 상태 표시를 포함한다. 방법은 제1 IoT 상태 알림 및 제2 IoT 상태 알림 둘 모두에 기초한 결합된 알림을 전송하기로 결정하는 단계를 더 포함한다. 결합된 알림을 전송하기로 결정하는 것은 제1 IoT 상태 알림 및 제2 IoT 상태 알림에 기초하여, 제1 상태 및 제2 상태가 공동 발생함을 결정하는 것에 기초한다. 상기 방법은 상기 고유 식별자에 적어도 부분적으로 기초하여 상기 자동화된 어시스턴트 컴퓨팅 시스템에 의해, 각각 대응하는 자동화된 어시스턴트 클라이언트를 갖고, 각각 하나 이상의 IoT 디바이스의 제1 그룹 및 하나 이상의 IoT 디바이스의 제2 그룹 둘 모두와 연관된 복수의 후보 어시스턴트 클라이언트 디바이스를 식별하는 단계를 더 포함한다. 상기 방법은 상기 후보 어시스턴트 클라이언트 디바이스 중 적어도 하나를 선택하는 단계, 및 상기 후보 어시스턴트 클라이언트 디바이스 중 선택된 적어도 하나에 명령을 전송하는 단계를 더 포함한다. 상기 명령은 상기 결합된 알림을 포함하며, 상기 후보 디바이스 중 적어도 하나의 자동화된 어시스턴트 클라이언트로 하여금: 상기 후보 어시스턴트 클라이언트 디바이스 중 적어도 하나의 사용자 인터페이스 출력 디바이스를 통해 상기 결합된 알림을 자동으로 렌더링하게 한다.
본 명세서에서 논의된 기술의 이들 또는 다른 구현예들은 다음 구성들 중 하나 이상을 포함할 수 있다.
일부 구현예에서, 상기 결합된 알림은 프롬프트를 포함하고, 상기 명령은 또한 상기 자동화된 어시스턴트 클라이언트로 하여금 상기 프롬프트에 대한 응답을 모니터링하고 상기 응답을 상기 프롬프트에 전송하게 한다. 상기 구현예들 중 일부 버전에서, 상기 프롬프트는 하나 이상의 IoT 디바이스의 제1 그룹과 연관된 제1 상태에 대한 변화를 추천한다. 상기 버전 중 일부에서, 방법은 프롬프트에 대해 긍정적인 응답을 수신함에 응답하여: 상기 하나 이상의 IoT 디바이스의 제1 그룹과 연관된 상태로 변화하게 하는 IoT 명령을 전송하는 단계를 더 포함한다. 상기 구현예 중 일부 추가 또는 대안적 버전에서, 결합된 알림은 그래픽 인터페이스를 포함하고, 프롬프트는 그래픽 인터페이스의 선택가능한 엘리먼트이다. 이러한 추가 또는 대안적 버전에서, 프롬프트에 대한 긍정적인 응답은 그래픽 인터페이스의 선택가능한 엘리먼트의 선택일 수 있다.
일부 구현예에서, 제1 IoT 상태 알림은 제1 시간에 수신되고 제2 IoT 상태 알림은 제1 시간 이후인 제2 시간에 수신된다. 상기 구현예들 중 일부에서, 상기 방법은 상기 제1 시간 이후 그리고 상기 제2 시간 이전에, 상기 제1 IoT 상태 알림에 기초하여 임의의 알림을 렌더링하게 하는 임의의 명령도 전송하지 않도록 결정하는 단계를 더 포함한다.
일부 구현예에서, 방법은 자동화된 어시스턴트 컴퓨팅 시스템의 하나 이상의 네트워크 인터페이스를 통해, IoT 상태 변화 알림을 수신하는 단계를 포함한다. IoT 상태 변화 알림은 적어도 하나의 IoT 디바이스와 연관된 상태의 변화를 결정하는 것에 응답하여 자동화된 어시스턴트 컴퓨팅 시스템에 전송된다. IoT 상태 변화 알림은 고유 식별자, 적어도 하나의 IoT 디바이스의 표시 및 적어도 하나의 IoT 디바이스와 연관된 상태의 변화를 표시하는 상태 표시를 포함한다. 상기 방법은 상기 자동화된 어시스턴트 컴퓨팅 시스템에 의해, 상기 고유 식별자에 기초하여, 상기 고유 식별자와 각각 연관되고 각각 대응하는 자동화된 어시스턴트 클라이언트를 갖는 복수의 어시스턴트 클라이언트 디바이스를 식별하는 단계를 더 포함한다. 상기 방법은 적어도 하나의 IoT 디바이스의 표시 및/또는 적어도 하나의 IoT 디바이스와 연관된 상태의 변화를 표시하는 상기 상태 표시에 적어도 부분적으로 기초하여 상기 서브세트를 선택하는 단계를 더 포함한다. 상기 방법은 대응하는 명령을 상기 선택된 서브세트의 상기 어시스턴트 클라이언트 디바이스 각각에만 전송하는 단계를 포함하며, 상기 대응하는 명령은 상기 어시스턴트 클라이언트 디바이스의 자동화된 어시스턴트 클라이언트로 하여금: 상기 IoT 상태 변화 알림에 맞게 조정된 대응하는 알림을 자동으로 렌더링하게 한다.
일부 구현예에서, 방법은 제1 시간에 자동화된 어시스턴트 컴퓨팅 시스템의 하나 이상의 네트워크 인터페이스를 통해, 제1 서드 파티 시스템으로부터 제1 IoT 상태 변화 알림을 수신하는 단계를 포함한다. 제1 IoT 상태 변화 알림은 자동화된 어시스턴트 컴퓨팅 시스템에 전송되고, 하나 이상의 IoT 디바이스의 제1 그룹과 연관된 제1 상태의 변화를 표시한다. 제1 IoT 상태 변화 알림은 고유 식별자, 하나 이상의 IoT 디바이스의 제1 그룹의 표시, 및 하나 이상의 IoT 디바이스의 제1 그룹과 연관된 제1 상태를 표시하는 제1 상태 표시를 포함한다. 상기 방법은 상기 자동화된 어시스턴트 컴퓨팅 시스템에 의해, 상기 고유 식별자에 기초하여, 상기 고유 식별자와 각각 연관되고 각각 대응하는 자동화된 어시스턴트 클라이언트를 갖는 복수의 후보 어시스턴트 클라이언트 디바이스를 식별하는 단계를 더 포함한다. 상기 방법은 상기 후보 어시스턴트 클라이언트 디바이스의 제1 서브세트를 선택하는 단계를 더 포함한다. 상기 제1 서브세트를 선택하는 단계는 하나 이상의 IoT 디바이스의 제1 그룹의 표시 및/또는 하나 이상의 IoT 디바이스의 제1 그룹과 연관된 제1 상태를 표시하는 상기 제1 상태 표시에 적어도 부분적으로 기초한다. 방법은 제1 서브세트의 후보 어시스턴트 클라이언트 디바이스들 각각에만 대응하는 명령을 전송하는 단계를 더 포함한다. 대응하는 명령(들) 각각은 제1 그룹의 후보 어시스턴트 클라이언트 디바이스(들) 중 대응하는 하나의 자동화된 어시스턴트 클라이언트로 하여금 제1 IoT 상태 변화 알림에 맞게 조정된 대응하는 알림을 자동으로 렌더링하게 한다. 방법은 제2 시간에 자동화된 어시스턴트 컴퓨팅 시스템의 하나 이상의 네트워크 인터페이스를 통해, 제2 서드 파티 시스템으로부터 제2 IoT 상태 변화 알림을 수신하는 단계를 포함한다. 제2 IoT 상태 변화 알림은 자동화된 어시스턴트 컴퓨팅 시스템에 전송되고, 하나 이상의 IoT 디바이스의 제2 그룹과 연관된 제2 상태의 변화를 표시한다. 제2 IoT 상태 변화 알림은 고유 식별자 또는 추가 고유 식별자, 하나 이상의 IoT 디바이스의 제2 그룹의 표시 및 하나 이상의 IoT 디바이스의 제2 그룹과 연관된 제2 상태를 표시하는 제2 상태 표시를 포함한다. 상기 방법은 상기 자동화된 어시스턴트 컴퓨팅 시스템에 의해, 상기 고유 식별자 또는 상기 추가 고유 식별자에 기초하여, 상기 복수의 후보 어시스턴트 클라이언트 디바이스를 식별하는 단계를 더 포함한다. 방법은 후보 어시스턴트 클라이언트 디바이스의 제2 서브세트를 선택하는 단계를 더 포함하며, 상기 제2 서브세트는 상기 제1 서브세트와 다르다. 상기 제2 서브세트를 선택하는 단계는 하나 이상의 IoT 디바이스의 제2 그룹의 표시 및/또는 하나 이상의 IoT 디바이스의 제2 그룹과 연관된 제2 상태를 표시하는 상기 제2 상태 표시에 적어도 부분적으로 기초한다. 방법은 제2 서브세트의 후보 어시스턴트 클라이언트 디바이스들 각각에만 대응하는 제2 명령을 전송하는 단계를 더 포함한다. 대응하는 제2 명령(들)은 각각 제2 그룹의 후보 어시스턴트 클라이언트 디바이스(들) 중 대응하는 하나의 자동화된 어시스턴트 클라이언트로 하여금: 상기 제2 IoT 상태 변화 알림에 맞게 조정된 대응하는 제2 알림을 자동으로 렌더링하게 한다.
일부 구현예에서, 방법은 제1 시간에 자동화된 어시스턴트 컴퓨팅 시스템의 하나 이상의 네트워크 인터페이스를 통해, 제1 서드 파티 시스템으로부터 제1 IoT 상태 변화 알림을 수신하는 단계를 포함한다. 제1 IoT 상태 변화 알림은 자동화된 어시스턴트 컴퓨팅 시스템에 전송되고, 하나 이상의 IoT 디바이스의 제1 그룹과 연관된 제1 상태의 변화를 표시한다. 제1 IoT 상태 변화 알림은 고유 식별자, 하나 이상의 IoT 디바이스의 제1 그룹의 표시, 및 하나 이상의 IoT 디바이스의 제1 그룹과 연관된 제1 상태를 표시하는 제1 상태 표시를 포함한다. 상기 방법은 상기 자동화된 어시스턴트 컴퓨팅 시스템에 의해, 상기 고유 식별자에 기초하여, 상기 고유 식별자와 각각 연관되고, 자동화된 어시스턴트 클라이언트를 포함하는 클라이언트 디바이스를 식별하는 단계를 더 포함한다. 상기 방법은 상기 후보 어시스턴트 클라이언트의 자동화된 어시스턴트 클라이언트로 하여금 상기 제1 IoT 상태 변화 알림에 맞게 조정된 상기 제1 출력을 자동적으로 그리고 즉각적으로 청각적으로 렌더링하게 하는 제1 명령을 전송하기로 결정하는 단계를 더 포함한다. 상기 후보 어시스턴트 클라이언트의 자동화된 어시스턴트 클라이언트로 하여금 상기 제1 IoT 상태 변화 알림에 맞게 조정된 상기 제1 출력을 자동적으로 그리고 즉각적으로 청각적으로 렌더링하게 하는 제1 명령을 전송하기로 결정하는 단계는 하나 이상의 IoT 디바이스의 제1 그룹의 표시 및/또는 하나 이상의 IoT 디바이스의 제1 그룹과 연관된 상기 제1 상태를 표시하는 제1 상태 표시에 기초한다.. 방법은 제2 시간에 자동화된 어시스턴트 컴퓨팅 시스템의 하나 이상의 네트워크 인터페이스를 통해, 제2 서드 파티 시스템으로부터 제2 IoT 상태 변화 알림을 수신하는 단계를 포함한다. 제2 IoT 상태 변화 알림은 자동화된 어시스턴트 컴퓨팅 시스템에 전송되고, 하나 이상의 IoT 디바이스의 제2 그룹과 연관된 제2 상태의 변화를 표시한다. 제2 IoT 상태 변화 알림은 고유 식별자 또는 추가 고유 식별자, 하나 이상의 IoT 디바이스의 제2 그룹의 표시 및 하나 이상의 IoT 디바이스의 제2 그룹과 연관된 제2 상태를 표시하는 제2 상태 표시를 포함한다. 상기 방법은 상기 자동화된 어시스턴트 컴퓨팅 시스템에 의해, 상기 고유 식별자 또는 상기 추가 고유 식별자에 기초하여, 상기 자동화된 어시스턴트 클라이언트 디바이스를 포함하는 상기 클라이언트 디바이스를 식별하는 단계를 더 포함한다. 상기 방법은 상기 어시스턴트 클라이언트의 자동화된 어시스턴트 클라이언트로 하여금 상기 제2 IoT 상태 변화 알림에 맞게 조정된 제2 출력을 렌더링하게 하지만, 상기 제2 출력을 비-청각적으로 및/또는 비-즉각적으로 렌더링하게 하는 제2 명령을 전송하기로 결정하는 단계를 포함한다. 상기 어시스턴트 클라이언트의 자동화된 어시스턴트 클라이언트로 하여금 상기 제2 IoT 상태 변화 알림에 맞게 조정된 제2 출력을 비-청각적으로 및/또는 비-즉각적으로 렌더링하게 하는 제2 명령을 전송하기로 결정하는 단계는 하나 이상의 IoT 디바이스의 제2 그룹의 표시 및/또는 하나 이상의 IoT 디바이스의 제2 그룹과 연관된 상기 제2 상태를 표시하는 제2 상태 표시에 기초한다.

Claims (20)

  1. 방법으로서,
    자동화된 어시스턴트 컴퓨팅 시스템의 하나 이상의 네트워크 인터페이스를 통해:
    제1 서드 파티 시스템으로부터의 제1 IoT 상태 알림, 상기 제1 IoT 상태 알림은 상기 자동화된 어시스턴트 컴퓨팅 시스템에 전송되며, 하나 이상의 IoT 디바이스의 제1 그룹과 연관된 제1 상태를 표시하며, 그리고 고유 식별자 및 하나 이상의 IoT 디바이스의 제1 그룹과 연관된 제1 상태를 표시하는 제1 상태 표시를 포함하며; 및
    제2 서드 파티 시스템으로부터의 제2 IoT 상태 알림을 수신하는 단계, 상기 제2 IoT 상태 알림은 상기 자동화된 어시스턴트 컴퓨팅 시스템에 전송되며, 하나 이상의 IoT 디바이스의 제2 그룹과 연관된 제2 상태를 표시하며, 그리고 상기 고유 식별자 또는 추가 고유 식별자, 및 하나 이상의 IoT 디바이스의 제2 그룹과 연관된 제2 상태 표시를 포함하며;
    상기 제1 IoT 상태 알림 및 상기 제2 IoT 상태 알림 둘 모두에 기초한 결합된 알림을 전송하기로 결정하는 단계, 상기 결합된 알림을 전송하기로 결정하는 단계는 상기 제1 IoT 상태 알림 및 상기 제2 IoT 상태 알림에 기초하여, 상기 제1 상태와 상기 제2 상태가 함께 발생한다고 결정하는 것에 기초하며;
    상기 고유 식별자에 적어도 부분적으로 기초하여 상기 자동화된 어시스턴트 컴퓨팅 시스템에 의해, 각각 대응하는 자동화된 어시스턴트 클라이언트를 갖고, 각각 하나 이상의 IoT 디바이스의 제1 그룹 및 하나 이상의 IoT 디바이스의 제2 그룹 둘 모두와 연관된 복수의 후보 어시스턴트 클라이언트 디바이스를 식별하는 단계;
    상기 후보 어시스턴트 클라이언트 디바이스 중 적어도 하나를 선택하는 단계; 및
    상기 결합된 알림을 포함하는 명령을 상기 후보 어시스턴트 클라이언트 디바이스 중 적어도 하나에 전송하는 단계를 포함하며, 상기 명령은 상기 후보 어시스턴트 클라이언트 디바이스 중 적어도 하나의 자동화된 어시스턴트 클라이언트로 하여금:
    상기 후보 어시스턴트 클라이언트 디바이스 중 적어도 하나의 사용자 인터페이스 출력 디바이스를 통해 상기 결합된 알림을 자동으로 렌더링하게 하는, 방법.
  2. 청구항 1에 있어서, 상기 결합된 알림은 프롬프트를 포함하고, 상기 명령은 또한 상기 자동화된 어시스턴트 클라이언트로 하여금 상기 프롬프트에 대한 응답을 모니터링하게 하는, 방법.
  3. 청구항 2에 있어서, 상기 프롬프트는 하나 이상의 IoT 디바이스의 제1 그룹과 연관된 제1 상태에 대한 변화를 추천하고, 상기 방법은:
    프롬프트에 대해 긍정적인 응답을 수신함에 응답하여:
    상기 하나 이상의 IoT 디바이스의 제1 그룹과 연관된 상태로 변화하게 하는 IoT 명령을 전송하는 단계를 더 포함하는, 방법.
  4. 청구항 3에 있어서, 상기 결합된 알림은 그래픽 인터페이스를 포함하고, 상기 프롬프트는 상기 그래픽 인터페이스의 선택가능한 엘리먼트인, 방법.
  5. 청구항 4에 있어서, 상기 프롬프트에 대한 긍정적인 응답은 상기 그래픽 인터페이스의 선택가능한 엘리먼트의 선택인, 방법.
  6. 청구항 1에 있어서, 상기 제1 IoT 상태 알림은 제1 시간에 수신되고, 상기 제2 IoT 상태 알림은 제1 시간 이후인 제2 시간에 수신되며, 상기 방법은:
    상기 제1 시간 이후 그리고 상기 제2 시간 이전에, 상기 제1 IoT 상태 알림에 기초하여 임의의 알림을 자동으로 렌더링하게 하는 임의의 명령도 전송하지 않도록 결정하는 단계를 더 포함하는, 방법.
  7. 청구항 1에 있어서, 상기 하나 이상의 IoT 디바이스의 제1 그룹은 스마트 도어록을 포함하고, 제1 상태는 상기 스마트 도어록의 잠금 해제 상태인, 방법.
  8. 방법으로서,
    자동화된 어시스턴트 컴퓨팅 시스템의 하나 이상의 네트워크 인터페이스를 통해, IoT 상태 변화 알림을 수신하는 단계, 상기 IoT 상태 변화 알림은 적어도 하나의 IoT 디바이스와 연관된 상태의 변화를 결정함에 응답하여 상기 자동화된 어시스턴트 컴퓨팅 시스템에 전송되며, 그리고 상기 IoT 상태 변화 알림은:
    고유 식별자,
    상기 적어도 하나의 IoT 디바이스의 표시, 및
    상기 적어도 하나의 IoT 디바이스와 연관된 상기 상태 변화를 표시하는 상태 표시를 포함하며;
    상기 자동화된 어시스턴트 컴퓨팅 시스템에 의해, 상기 고유 식별자에 기초하여, 상기 고유 식별자와 각각 연관되고 각각 대응하는 자동화된 어시스턴트 클라이언트를 갖는 복수의 어시스턴트 클라이언트 디바이스를 식별하는 단계;
    상기 어시스턴트 클라이언트 디바이스의 서브세트를 선택하는 단계, 상기 서브세트를 선택하는 단계는 적어도 하나의 IoT 디바이스의 표시 및 적어도 하나의 IoT 디바이스와 연관된 상태의 변화를 표시하는 상기 상태 표시 중 하나 또는 둘 모두에 적어도 부분적으로 기초하며;
    대응하는 명령을 상기 선택된 서브세트의 상기 어시스턴트 클라이언트 디바이스 각각에만 전송하는 단계를 포함하며, 상기 대응하는 명령은 상기 어시스턴트 클라이언트 디바이스의 자동화된 어시스턴트 클라이언트로 하여금:
    상기 IoT 상태 변화 알림에 맞게 조정된 대응하는 알림을 자동으로 렌더링하는 단계를 포함하는, 방법.
  9. 청구항 8에 있어서, 상기 적어도 하나의 IoT 디바이스는 스마트 초인종인, 방법.
  10. 청구항 8에 있어서,
    상기 자동화된 어시스턴트 컴퓨팅 시스템의 하나 이상의 네트워크 인터페이스를 통해, 추가 사물 인터넷(IoT) 상태 변화 알림을 수신하는 단계, 상기 추가 IoT 상태 변화 알림은 적어도 하나의 IoT 디바이스와 별개인 추가 IoT 디바이스와 연관된 추가 상태의 추가 변화를 결정함에 응답하여 상기 자동화된 어시스턴트 컴퓨팅 시스템에 전송되며, 그리고 상기 추가 IoT 상태 변화 알림은:
    추가 고유 식별자,
    상기 추가 IoT 디바이스의 추가 표시, 및
    상기 추가 IoT 디바이스와 연관된 상기 추가 상태의 추가 변화를 표시하는 추가 상태 표시를 포함하며;
    상기 복수의 어시스턴트 클라이언트 디바이스로부터, 상기 어시스턴트 클라이언트 디바이스의 추가 서브세트를 선택하는 단계, 상기 추가 서브세트는 상기 서브세트와 상이하며, 상기 추가 서브세트를 선택하는 단계는 상기 추가 IoT 디바이스의 추가 표시 및 상기 추가 IoT 디바이스와 연관된 추가 상태의 추가 변화를 표시하는 상기 추가 상태 표시 중 하나 또는 둘 모두에 적어도 부분적으로 기초하며;
    대응하는 추가 명령을 상기 선택된 추가 서브세트의 상기 어시스턴트 클라이언트 디바이스 각각에만 전송하는 단계를 포함하며, 상기 대응하는 명령은 상기 어시스턴트 클라이언트 디바이스의 자동화된 어시스턴트 클라이언트로 하여금:
    상기 추가 IoT 상태 변화 알림에 맞게 조정된 대응하는 추가 알림을 자동으로 렌더링하는 단계를 더 포함하는, 방법.
  11. 청구항 10에 있어서, 상기 적어도 하나의 IoT 디바이스는 제1 스마트 초인종이고, 상기 추가 IoT 디바이스는 제2 스마트 초인종인, 방법.
  12. 청구항 10에 있어서, 상기 적어도 하나의 IoT 디바이스는 제1 스마트 기기이고, 상기 추가 IoT 디바이스는 제2 스마트 기기인, 방법.
  13. 삭제
  14. 청구항 8에 있어서, 상기 서브세트를 선택하는 단계는 상기 복수의 어시스턴트 클라이언트 디바이스의 현재 속성에 적어도 부분적으로 기초하는, 방법.
  15. 청구항 8에 있어서, 상기 서브세트를 선택하는 단계는 하루 중 시간 또는 요일에 적어도 부분적으로 기초하는, 방법.
  16. 청구항 8에 있어서, 상기 선택된 서브세트의 어시스턴트 클라이언트 디바이스는 제1 어시스턴트 클라이언트 디바이스 및 제2 어시스턴트 클라이언트 디바이스를 포함하고, 상기 제1 어시스턴트 클라이언트 디바이스의 자동화된 어시스턴트 클라이언트에 의해 자동으로 렌더링되는 대응하는 알림은 상기 제2 어시스턴트 클라이언트 디바이스의 자동화된 어시스턴트 클라이언트에 의해 자동으로 렌더링되는 대응하는 알림보다 적게 두드러지는, 방법.
  17. 청구항 16에 있어서,
    상기 제1 어시스턴트 클라이언트 디바이스의 현재 상태에 기초하여, 상기 제1 어시스턴트 클라이언트 디바이스에서, 상기 제2 어시스턴트 클라이언트의 자동화된 어시스턴트 클라이언트에 의해 자동으로 렌더링되는 대응하는 알림보다 적게 두드러지는 대응하는 알림을 자동으로 렌더링하도록 결정하는 단계를 더 포함하는, 방법.
  18. 청구항 8에 있어서, 상기 선택된 서브세트의 어시스턴트 클라이언트 디바이스는 제1 어시스턴트 클라이언트 디바이스 및 제2 어시스턴트 클라이언트 디바이스를 포함하고, 상기 제1 어시스턴트 클라이언트 디바이스의 자동화된 어시스턴트 클라이언트에 의해 자동으로 렌더링되는 대응하는 알림은 청각적 알림이고, 상기 제2 어시스턴트 클라이언트 디바이스의 자동화된 어시스턴트 클라이언트에 의해 자동으로 렌더링되는 대응하는 알림은 청각 및 시각적 알림인, 방법.
  19. 청구항 8에 있어서, 상기 적어도 하나의 IoT 디바이스는 스마트 기기이고, 상기 상태의 변화는 상기 스마트 기기의 오류 상태를 나타내는, 방법.
  20. 방법으로서,
    제1 시간에, 자동화된 어시스턴트 컴퓨팅 시스템의 하나 이상의 네트워크 인터페이스를 통해:
    제1 서드 파티 시스템으로부터의 제1 IoT 상태 알림을 수신하는 단계, 상기 제1 IoT 상태 변화 알림은 상기 자동화된 어시스턴트 컴퓨팅 시스템에 전송되며, 하나 이상의 IoT 디바이스의 제1 그룹과 연관된 제1 상태의 변화를 표시하며, 그리고 고유 식별자, 하나 이상의 IoT 디바이스의 제1 그룹의 표시 및 하나 이상의 IoT 디바이스의 제1 그룹과 연관된 제1 상태를 표시하는 제1 상태 표시를 포함하며; 및
    상기 자동화된 어시스턴트 컴퓨팅 시스템에 의해, 상기 고유 식별자에 기초하여, 상기 고유 식별자와 각각 연관되고 각각 대응하는 자동화된 어시스턴트 클라이언트를 갖는 복수의 후보 어시스턴트 클라이언트 디바이스를 식별하는 단계;
    상기 후보 어시스턴트 클라이언트 디바이스의 제1 서브세트를 선택하는 단계, 상기 제1 서브세트를 선택하는 단계는 하나 이상의 IoT 디바이스의 제1 그룹의 표시 및 하나 이상의 IoT 디바이스의 제1 그룹과 연관된 제1 상태를 표시하는 상기 제1 상태 표시 중 하나 또는 둘 모두에 적어도 부분적으로 기초하며;
    대응하는 명령을 상기 제1 서브세트의 상기 후보 어시스턴트 클라이언트 디바이스 각각에만 전송하는 단계를 포함하며, 상기 대응하는 명령은 상기 후보 어시스턴트 클라이언트 디바이스의 자동화된 어시스턴트 클라이언트로 하여금:
    상기 제1 IoT 상태 변화 알림에 맞게 조정된 대응하는 알림을 자동으로 렌더링하게 하며;
    제2 시간에, 자동화된 어시스턴트 컴퓨팅 시스템의 하나 이상의 네트워크 인터페이스를 통해:
    제2 서드 파티 시스템으로부터의 제2 IoT 상태 알림을 수신하는 단계, 상기 제2 IoT 상태 변화 알림은 상기 자동화된 어시스턴트 컴퓨팅 시스템에 전송되며, 하나 이상의 IoT 디바이스의 제2 그룹과 연관된 제2 상태의 변화를 표시하며, 그리고 고유 식별자 또는 추가 고유 식별자, 하나 이상의 IoT 디바이스의 제2 그룹의 표시 및 하나 이상의 IoT 디바이스의 제2 그룹과 연관된 제2 상태를 표시하는 제2 상태 표시를 포함하며;
    상기 자동화된 어시스턴트 컴퓨팅 시스템에 의해, 상기 고유 식별자 또는 상기 추가 고유 식별자에 기초하여, 상기 복수의 후보 어시스턴트 클라이언트 디바이스를 식별하는 단계;
    상기 후보 어시스턴트 클라이언트 디바이스의 제2 서브세트를 선택하는 단계, 상기 제2 서브세트는 제1 서브세트와 다르며, 상기 제2 서브세트를 선택하는 단계는 하나 이상의 IoT 디바이스의 제2 그룹의 표시, 및 하나 이상의 IoT 디바이스의 제2 그룹과 연관된 제2 상태를 나타내는 제2 상태 표시 중 하나 또는 둘 모두에 적어도 부분적으로 기초하며;
    대응하는 제2 명령을 상기 제2 서브세트의 상기 후보 어시스턴트 클라이언트 디바이스 각각에만 전송하는 단계를 포함하며, 상기 대응하는 명령은 상기 후보 어시스턴트 클라이언트 디바이스의 자동화된 어시스턴트 클라이언트로 하여금:
    상기 제2 IoT 상태 변화 알림에 맞게 조정된 대응하는 제2 알림을 자동으로 렌더링하는 단계를 포함하는, 방법.
KR1020227024890A 2018-03-14 2019-03-13 Iot 기반 알림을 생성 및 클라이언트 디바이스(들)의 자동화된 어시스턴트 클라이언트(들)에 의해 iot 기반 알림을 자동 렌더링하게 하는 명령(들)의 제공 KR102551715B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020237021937A KR20230107384A (ko) 2018-03-14 2019-03-13 Iot 기반 알림을 생성 및 클라이언트 디바이스(들)의자동화된 어시스턴트 클라이언트(들)에 의해 iot 기반 알림을 자동 렌더링하게 하는 명령(들)의 제공

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862643065P 2018-03-14 2018-03-14
US62/643,065 2018-03-14
KR1020207029358A KR102424260B1 (ko) 2018-03-14 2019-03-13 Iot 기반 알림을 생성 및 클라이언트 디바이스(들)의 자동화된 어시스턴트 클라이언트(들)에 의해 iot 기반 알림을 자동 렌더링하게 하는 명령(들)의 제공
PCT/US2019/022055 WO2019178229A1 (en) 2018-03-14 2019-03-13 Generating iot-based notification(s) and provisioning of command(s) to cause automatic rendering of the iot-based notification(s) by automated assistant client(s) of client device(s)

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020207029358A Division KR102424260B1 (ko) 2018-03-14 2019-03-13 Iot 기반 알림을 생성 및 클라이언트 디바이스(들)의 자동화된 어시스턴트 클라이언트(들)에 의해 iot 기반 알림을 자동 렌더링하게 하는 명령(들)의 제공

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020237021937A Division KR20230107384A (ko) 2018-03-14 2019-03-13 Iot 기반 알림을 생성 및 클라이언트 디바이스(들)의자동화된 어시스턴트 클라이언트(들)에 의해 iot 기반 알림을 자동 렌더링하게 하는 명령(들)의 제공

Publications (2)

Publication Number Publication Date
KR20220104078A KR20220104078A (ko) 2022-07-25
KR102551715B1 true KR102551715B1 (ko) 2023-07-04

Family

ID=65911298

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020207029358A KR102424260B1 (ko) 2018-03-14 2019-03-13 Iot 기반 알림을 생성 및 클라이언트 디바이스(들)의 자동화된 어시스턴트 클라이언트(들)에 의해 iot 기반 알림을 자동 렌더링하게 하는 명령(들)의 제공
KR1020237021937A KR20230107384A (ko) 2018-03-14 2019-03-13 Iot 기반 알림을 생성 및 클라이언트 디바이스(들)의자동화된 어시스턴트 클라이언트(들)에 의해 iot 기반 알림을 자동 렌더링하게 하는 명령(들)의 제공
KR1020227024890A KR102551715B1 (ko) 2018-03-14 2019-03-13 Iot 기반 알림을 생성 및 클라이언트 디바이스(들)의 자동화된 어시스턴트 클라이언트(들)에 의해 iot 기반 알림을 자동 렌더링하게 하는 명령(들)의 제공

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020207029358A KR102424260B1 (ko) 2018-03-14 2019-03-13 Iot 기반 알림을 생성 및 클라이언트 디바이스(들)의 자동화된 어시스턴트 클라이언트(들)에 의해 iot 기반 알림을 자동 렌더링하게 하는 명령(들)의 제공
KR1020237021937A KR20230107384A (ko) 2018-03-14 2019-03-13 Iot 기반 알림을 생성 및 클라이언트 디바이스(들)의자동화된 어시스턴트 클라이언트(들)에 의해 iot 기반 알림을 자동 렌더링하게 하는 명령(들)의 제공

Country Status (7)

Country Link
US (3) US10885917B2 (ko)
EP (3) EP3751823B1 (ko)
JP (3) JP6974626B2 (ko)
KR (3) KR102424260B1 (ko)
CN (1) CN111869185B (ko)
AU (3) AU2019234822B2 (ko)
WO (1) WO2019178229A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102424260B1 (ko) * 2018-03-14 2022-07-25 구글 엘엘씨 Iot 기반 알림을 생성 및 클라이언트 디바이스(들)의 자동화된 어시스턴트 클라이언트(들)에 의해 iot 기반 알림을 자동 렌더링하게 하는 명령(들)의 제공
US10795743B2 (en) * 2018-05-21 2020-10-06 Salesforce.Com, Inc. Computing device notification management software
DK201970509A1 (en) * 2019-05-06 2021-01-15 Apple Inc Spoken notifications
JP7114722B2 (ja) 2019-10-15 2022-08-08 グーグル エルエルシー スマートデバイスの、効率的で低レイテンシである自動アシスタント制御
CN111243587A (zh) * 2020-01-08 2020-06-05 北京松果电子有限公司 语音交互方法、装置、设备及存储介质
US11403925B2 (en) * 2020-04-28 2022-08-02 Ademco Inc. Systems and methods for broadcasting an audio or visual alert that includes a description of features of an ambient object extracted from an image captured by a camera of a doorbell device
US11861315B2 (en) 2021-04-21 2024-01-02 Meta Platforms, Inc. Continuous learning for natural-language understanding models for assistant systems
US20220358917A1 (en) * 2021-04-21 2022-11-10 Meta Platforms, Inc. Multi-device Mediation for Assistant Systems
US11523190B1 (en) * 2021-12-17 2022-12-06 Google Llc Generating notifications that provide context for predicted content interruptions
KR20230128914A (ko) * 2022-02-28 2023-09-05 주식회사 플루이즈 로컬서버가 IoT 기기의 상태정보를 전송하는 방법

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020077830A1 (en) * 2000-12-19 2002-06-20 Nokia Corporation Method for activating context sensitive speech recognition in a terminal
US8738377B2 (en) 2010-06-07 2014-05-27 Google Inc. Predicting and learning carrier phrases for speech input
US20130143519A1 (en) * 2010-07-29 2013-06-06 J&M I.P. Holding Company, Llc Fall-Responsive Emergency Device, System, and Method
US20130260320A1 (en) * 2012-03-28 2013-10-03 Randolph G. Townsend Range and Notification System, and Associated Method
JP6231327B2 (ja) * 2012-09-28 2017-11-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 端末制御方法、端末制御システム、及び、サーバ装置
JP6314088B2 (ja) * 2012-11-15 2018-04-18 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 情報提供方法及び情報提供装置
US8977555B2 (en) * 2012-12-20 2015-03-10 Amazon Technologies, Inc. Identification of utterance subjects
US20140195620A1 (en) * 2013-01-08 2014-07-10 Ebay Inc. Notification routing to a user device
US9853826B2 (en) 2013-02-25 2017-12-26 Qualcomm Incorporated Establishing groups of internet of things (IOT) devices and enabling communication among the groups of IOT devices
KR101904293B1 (ko) * 2013-03-15 2018-10-05 애플 인크. 콘텍스트-민감성 방해 처리
JP2017163172A (ja) * 2013-06-21 2017-09-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 携帯端末の制御方法及びプログラム
WO2014208057A1 (ja) * 2013-06-24 2014-12-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 情報通知方法、情報端末、およびプログラム
US20150006296A1 (en) 2013-06-26 2015-01-01 Qualcomm Innovation Center, Inc. NOTIFICATION DISMISSAL IN AN INTERNET OF THINGS (IoT) ENVIRONMENT
US9584775B2 (en) 2013-07-18 2017-02-28 BOT Home Automation, Inc. Wireless entrance communication device
US8780201B1 (en) 2013-07-26 2014-07-15 SkyBell Technologies, Inc. Doorbell communication systems and methods
US10051068B2 (en) * 2013-11-14 2018-08-14 Qualcomm Incorporated Mechanisms to route IoT notifications according to user activity and/or proximity detection
US9495860B2 (en) 2013-12-11 2016-11-15 Echostar Technologies L.L.C. False alarm identification
KR102138027B1 (ko) * 2014-02-05 2020-07-27 애플 인크. 제어기와 액세서리 사이의 통신을 위한 균일한 통신 프로토콜
JP6349386B2 (ja) * 2014-05-15 2018-06-27 シャープ株式会社 ネットワークシステム、サーバ、通信機器、および情報処理方法
US10170123B2 (en) * 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US10097619B2 (en) * 2014-06-24 2018-10-09 Google Llc Cross-device notifications
EP3167630A1 (en) 2014-07-07 2017-05-17 Convida Wireless, LLC Coordinated grouping for machine type communications group based services
JP6305883B2 (ja) * 2014-09-08 2018-04-04 シャープ株式会社 通知装置、出力装置、情報通知システム、通知装置の制御方法、および制御プログラム
US9152737B1 (en) * 2014-11-26 2015-10-06 Sense Labs, Inc. Providing notifications to a user
US9712477B2 (en) * 2015-05-01 2017-07-18 Airwatch Llc Email notifications
US10620920B2 (en) * 2016-05-17 2020-04-14 Google Llc Automatic graphical user interface generation from notification data
US10832665B2 (en) 2016-05-27 2020-11-10 Centurylink Intellectual Property Llc Internet of things (IoT) human interface apparatus, system, and method
US9942328B2 (en) 2016-05-27 2018-04-10 Afero, Inc. System and method for latched attributes in an internet of things (IOT) system
US20180025725A1 (en) * 2016-07-22 2018-01-25 Lenovo (Singapore) Pte. Ltd. Systems and methods for activating a voice assistant and providing an indicator that the voice assistant has assistance to give
US20180039478A1 (en) * 2016-08-02 2018-02-08 Google Inc. Voice interaction services
US10708313B2 (en) * 2016-12-30 2020-07-07 Google Llc Multimodal transmission of packetized data
US10861450B2 (en) * 2017-02-10 2020-12-08 Samsung Electronics Co., Ltd. Method and apparatus for managing voice-based interaction in internet of things network system
US10187870B1 (en) * 2017-07-21 2019-01-22 Qualcomm Incorporated Systems and methods for intelligent routing of notifications of incoming voice communication requests
US10051600B1 (en) * 2017-12-12 2018-08-14 Amazon Technologies, Inc. Selective notification delivery based on user presence detections
US10425780B1 (en) * 2018-02-22 2019-09-24 Amazon Technologies, Inc. Outputting notifications using device groups
KR102424260B1 (ko) * 2018-03-14 2022-07-25 구글 엘엘씨 Iot 기반 알림을 생성 및 클라이언트 디바이스(들)의 자동화된 어시스턴트 클라이언트(들)에 의해 iot 기반 알림을 자동 렌더링하게 하는 명령(들)의 제공
US11115630B1 (en) * 2018-03-28 2021-09-07 Amazon Technologies, Inc. Custom and automated audio prompts for devices
US10978064B2 (en) * 2018-11-30 2021-04-13 International Business Machines Corporation Contextually relevant spoken device-to-device communication between IoT devices

Also Published As

Publication number Publication date
JP2023082034A (ja) 2023-06-13
AU2021200128B2 (en) 2022-02-03
JP2022033744A (ja) 2022-03-02
JP6974626B2 (ja) 2021-12-01
AU2019234822A1 (en) 2020-09-17
JP2021509975A (ja) 2021-04-08
KR20200131299A (ko) 2020-11-23
KR102424260B1 (ko) 2022-07-25
AU2022202683A1 (en) 2022-05-19
AU2019234822B2 (en) 2020-10-22
EP3751823B1 (en) 2023-06-28
EP3751823A1 (en) 2020-12-16
KR20220104078A (ko) 2022-07-25
EP3590249A1 (en) 2020-01-08
JP7250887B2 (ja) 2023-04-03
EP4235644A2 (en) 2023-08-30
US20230237996A1 (en) 2023-07-27
US10885917B2 (en) 2021-01-05
AU2022202683B2 (en) 2023-01-12
EP3590249B1 (en) 2020-12-30
US20210090566A1 (en) 2021-03-25
CN111869185A (zh) 2020-10-30
US11538477B2 (en) 2022-12-27
AU2021200128A1 (en) 2021-03-18
EP4235644A3 (en) 2023-10-25
CN111869185B (zh) 2024-03-12
WO2019178229A1 (en) 2019-09-19
US20200211546A1 (en) 2020-07-02
KR20230107384A (ko) 2023-07-14

Similar Documents

Publication Publication Date Title
KR102551715B1 (ko) Iot 기반 알림을 생성 및 클라이언트 디바이스(들)의 자동화된 어시스턴트 클라이언트(들)에 의해 iot 기반 알림을 자동 렌더링하게 하는 명령(들)의 제공
KR102581347B1 (ko) 스마트 장치의 효율적이고 낮은 대기시간 자동 어시스턴트 제어
US20230419951A1 (en) Simultaneous acoustic event detection across multiple assistant devices
US11886510B2 (en) Inferring semantic label(s) for assistant device(s) based on device-specific signal(s)
US20220272055A1 (en) Inferring assistant action(s) based on ambient sensing by assistant device(s)

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant