KR20190133642A - Providing a communications channel between instances of automated assistants - Google Patents

Providing a communications channel between instances of automated assistants Download PDF

Info

Publication number
KR20190133642A
KR20190133642A KR1020190123787A KR20190123787A KR20190133642A KR 20190133642 A KR20190133642 A KR 20190133642A KR 1020190123787 A KR1020190123787 A KR 1020190123787A KR 20190123787 A KR20190123787 A KR 20190123787A KR 20190133642 A KR20190133642 A KR 20190133642A
Authority
KR
South Korea
Prior art keywords
client device
computer system
action
action intent
assistant
Prior art date
Application number
KR1020190123787A
Other languages
Korean (ko)
Other versions
KR102100390B1 (en
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 KR20190133642A publication Critical patent/KR20190133642A/en
Priority to KR1020200041423A priority Critical patent/KR102458274B1/en
Application granted granted Critical
Publication of KR102100390B1 publication Critical patent/KR102100390B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K35/00Instruments specially adapted for vehicles; Arrangement of instruments in or on vehicles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K35/00Instruments specially adapted for vehicles; Arrangement of instruments in or on vehicles
    • B60K35/20Output arrangements, i.e. from vehicle to user, associated with vehicle functions or specially adapted therefor
    • B60K35/29Instruments characterised by the way in which information is handled, e.g. showing information on plural displays or prioritising information according to driving conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K35/00Instruments specially adapted for vehicles; Arrangement of instruments in or on vehicles
    • B60K35/80Arrangements for controlling instruments
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K35/00Instruments specially adapted for vehicles; Arrangement of instruments in or on vehicles
    • B60K35/85Arrangements for transferring vehicle- or driver-related data
    • 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
    • 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
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/006Indicating maintenance
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0816Indicating performance data, e.g. occurrence of a malfunction
    • G07C5/0825Indicating performance data, e.g. occurrence of a malfunction using optical means
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K2360/00Indexing scheme associated with groups B60K35/00 or B60K37/00 relating to details of instruments or dashboards
    • B60K2360/18Information management
    • B60K2360/182Distributing information between displays
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K2360/00Indexing scheme associated with groups B60K35/00 or B60K37/00 relating to details of instruments or dashboards
    • B60K2360/55Remote control arrangements
    • B60K2360/56Remote control arrangements using mobile devices
    • B60K2360/563Vehicle displaying mobile device information
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K2360/00Indexing scheme associated with groups B60K35/00 or B60K37/00 relating to details of instruments or dashboards
    • B60K2360/55Remote control arrangements
    • B60K2360/56Remote control arrangements using mobile devices
    • B60K2360/566Mobile devices displaying vehicle information
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K2360/00Indexing scheme associated with groups B60K35/00 or B60K37/00 relating to details of instruments or dashboards
    • B60K2360/55Remote control arrangements
    • B60K2360/56Remote control arrangements using mobile devices
    • B60K2360/569Vehicle controlling mobile device functions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K2360/00Indexing scheme associated with groups B60K35/00 or B60K37/00 relating to details of instruments or dashboards
    • B60K2360/55Remote control arrangements
    • B60K2360/56Remote control arrangements using mobile devices
    • B60K2360/573Mobile devices controlling vehicle functions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K2360/00Indexing scheme associated with groups B60K35/00 or B60K37/00 relating to details of instruments or dashboards
    • B60K2360/589Wireless data transfers
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03547Touch pads, in which fingers can move on a surface
    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/225Feedback of the input speech

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Human Computer Interaction (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Chemical & Material Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Traffic Control Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Navigation (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

According to embodiments of the present invention, the present invention relates to an interaction between an automatic assistance of a vehicle computer system and an individual client device through a wireless communication method. According to a part of the embodiments of the present invention, a client device(s) can be paired with a vehicle computer system, and the client device(s) and vehicle computer system can include individual instances of an automated assistance which can be associated with a different user account. According to other added or alternative embodiments of the present invention, certain actions to be performed by a local application of a client device can be enhanced through user interaction with a vehicle automatic assistance in spite of the correspondence to the local application which is not directly installed on the vehicle computer system. For example, despite the vehicle computer system which is not installed with a third party messaging application, the vehicle automatic assistance can be accessed to an action requested to be performed by the third party messaging application to add a requested action. The vehicle computer system transmits content through a wireless communication method for a third party application to be able to perform further requested action.

Description

자동화된 어시스턴트의 인스턴스들간에 통신 채널 제공{PROVIDING A COMMUNICATIONS CHANNEL BETWEEN INSTANCES OF AUTOMATED ASSISTANTS}PROVIDING A COMMUNICATIONS CHANNEL BETWEEN INSTANCES OF AUTOMATED ASSISTANTS}

본 명세서는 자동 어시스턴트의 인스턴스들 간에 통신 채널 제공에 관한 것이다.This disclosure relates to providing a communication channel between instances of an automatic assistant.

인간은 여기에서 "자동 어시스턴트(automated assistant)"("디지털 에이전트", "채팅 봇", "대화형 개인 어시스턴트", "지능형 개인 어시스턴트", "어시스턴트 애플리케이션", "대화형 에이전트" 등으로 불리기도 함)라고 하는 대화형 소프트웨어 애플리케이션을 사용하여 인간 대 컴퓨터 대화에 참여할 수 있다. 예를 들어, 인간(자동 어시스턴트와 상호 작용할 때 "사용자"라고도 함)는 음성 자연어 입력(즉, 발화)을 사용하여 자동 어시스턴트에 명령 및/또는 요청을 제공할 수 있고, 어떤 경우에는 텍스트로 변환된 다음 처리될 수 있거나, 및/또는 텍스트형(예를 들어, 타이핑된) 자연어 입력을 제공할 수 있다. Humans may also be referred to herein as "automated assistants" ("digital agents", "chat bots", "interactive personal assistants", "intelligent personal assistants", "assisted applications", "interactive agents", etc.). Can be used to participate in human-to-computer conversations. For example, humans (also known as "users" when interacting with an automatic assistant) can use spoken natural language input (i.e. speech) to provide commands and / or requests to the automatic assistant, and in some cases convert to text. And then processed and / or provide textual (eg typed) natural language input.

자동 어시스턴트는 예를 들어 이동 전화기 및 개인용 컴퓨터와 같은 다양한 장치에 설치될 수 있다. 사용자는 이동 전화기 또는 개인용 컴퓨터의 특정 애플리케이션이 각각의 (자동)자동화된 어시스턴트와 상호 작용함으로써 특정 동작을 수행하게 할 수 있다. 그러나, 서로 다른 장치들 간에 기능의 균일성을 나타내기 위해, 사용자는 동일한 애플리케이션의 인스턴스를 다른 장치에 동기식으로 설치해야 할 수 있다. 결과적으로, 네트워크 대역폭은 애플리케이션의 각각의 인스턴스에 대한 중복 애플리케이션 업데이트를 전송하고 일반적으로 애플리케이션의 각각의 인스턴스간에 데이터를 통신하는 것에 빨리 몰입할 수 있다. 또한, 애플리케이션의 각 인스턴스가 해당 장치에 약간의 디스크 공간을 필요로 할 수 있으므로, 장치들에 걸친 메모리 할당은 비효율적으로 사용될 수 있다.Automated assistants can be installed in a variety of devices such as, for example, mobile phones and personal computers. A user can have a particular application on a mobile phone or personal computer perform certain actions by interacting with each (auto) automated assistant. However, to indicate uniformity of functionality between different devices, a user may need to install instances of the same application synchronously on different devices. As a result, network bandwidth can be quickly immersed in sending redundant application updates for each instance of the application and generally in communicating data between each instance of the application. Also, since each instance of an application may require some disk space on that device, memory allocation across devices can be used inefficiently.

일부 상황에서, 자동 어시스턴트를 통해 특정 애플리케이션과 상호 작용하는 것은 사용자가 특정 환경에서 어떻게 참여할 수 있는지에 따라 및/또는 다른 장치가 근처의 다른 사용자에 의해 운영되는지 여부에 따라 편리하지 않을 수 있다. 예를 들어, 이동 전화기의 자동 어시스턴트를 통해 메시지에 회신(응답)하는 것은 사용자가 차량에서 운전하는 동안 어려울 수 있다. 또한, 사용자가 차량 내의 다른 사람들과 함께 운전할 때, 그 사람들은 자동 어시스턴트를 가진 장치를 가질 수도 있는데, 이 장치는 사용자가 각각의 자동 어시스턴트와 접촉할 때 간접적으로 호출 될 수 있다. 이러한 결과는 운전 중에 산만해지는 환경을 조성하고, 실수로 영향을받을 수 있는 장치에서 컴퓨터 자원을 낭비한다.In some situations, interacting with a particular application via automatic assistant may not be convenient depending on how the user can participate in a particular environment and / or whether another device is operated by another nearby user. For example, replying to a message via the automatic assistant of a mobile phone can be difficult while the user is driving in a vehicle. Also, when a user drives with others in a vehicle, they may have a device with an automatic assistant, which may be called indirectly when the user contacts each automatic assistant. This results in an environment that is distracted while driving and wastes computer resources in devices that can be accidentally affected.

본 명세서에 개시된 실시 예들은 자동 어시스턴트의 개별 인스턴스 또는 설치가 특정 동작(액션)을 촉진시키기 위해 통신할 수 있는 통신 채널을 제공하기 위한 시스템, 방법 및 장치에 관한 것이다. 상기 통신 채널은 주요 자동 어시스턴트(예: 자동차 자동 어시스턴트 또는 클라이언트 장치 자동 어시스턴트)와 하나 이상의 보조 자동 어시스턴트(예: 자동차 자동 어시스턴트 및 클라이언트 장치 자동 어시스턴트 중 다른 하나) 간에 제공될 수 있다. 예를 들어, 주요 자동 어시스턴트는 자동차를 타는 것과 같이 특정 상황에서 사용자가 선호하는 어시스턴트가 될 수 있다. 구체적으로, 자동차 컴퓨터 시스템은 사용자가 차량에 타고있는 동안 특정 행동을 촉진(furthering)하기 위해 사용자가 선호하는 자동 어시스턴트를 포함할 수 있다. 자동차 및/또는 클라이언트 장치의 설정에 따라, 자동차 자동 어시스턴트는 클라이언트 장치가 자동차 컴퓨터 시스템에 접속할 때, ‘핵심(principal)으로서 보조(subsidiary) 자동 어시스턴트의 펜딩 인텐트(pending intents) 및/또는 액션들을 떠맡을 수 있다. 이러한 방식으로, 자동차 자동 어시스턴트는 보조 자동 어시스턴트의 확장 기능을 수행할 수 있다. 이를 통해 모든 클라이언트 측 애플리케이션이 자동차 자동 어시스턴트에 대해 특정 인텐트 및/또는 동작을 터널링하거나 채널링할 수 있다. 또한, 이러한 터널링은 자동차 컴퓨터 시스템에서 상관된 "자동차 측" 애플리케이션을 반드시 사용하거나 설치하지 않고도 사용자가 각각의 클라이언트 측 애플리케이션에 참여(관여)할 수 있는 능력을 지원하는 시스템 아키텍처를 제공할 수 있다. 이러한 방식으로, 자동차 측 메모리의 보다 효율적인 사용은 상관관계가 있는 제3자 애플리케이션이 모든 자동차 측 장치에 반드시 설치되는 것을 요구하지 않아도 달성될 수 있다. 또한, 네트워크 트래픽 및 낭비적인 전력 소비는 동기식 작동을 위해 여러 애플리케이션의 여러 인스턴스를 사용하는 대신, 사용자가 자동 어시스턴트에 의존하여 애플리케이션의 적어도 하나의 인스턴스와 통신하는 것만으로 완화될 수 있다. 특히, 메시지 및 확인 수신의 중복 카피를 여러 가지 다른 장치에 보내는 애플리케이션 및 메시징 서버에 의해 네트워크 및 계산 자원의 감소가 나타날 수 있다. Embodiments disclosed herein relate to systems, methods, and apparatus for providing a communication channel through which individual instances or installations of automatic assistants can communicate to facilitate particular operations (actions). The communication channel may be provided between a primary auto assistant (eg, an automobile auto assistant or a client device auto assistant) and one or more subsidiary auto assistants (eg, another one of an automobile auto assistant and a client device auto assistant). For example, the main auto assistant may be the user's preferred assistant in certain situations, such as in a car. In particular, the automotive computer system may include an automatic assistant of the user's preference for furthering certain behaviors while the user is in the vehicle. Depending on the configuration of the car and / or client device, the car auto assistant may be responsible for the pending intents and / or actions of the subsidiary auto assistant as a 'principal' when the client device connects to the car computer system. I can take over. In this way, the automotive automatic assistant can perform the extension function of the secondary automatic assistant. This allows all client-side applications to tunnel or channel specific intents and / or behaviors for the automotive auto assistant. In addition, such tunneling may provide a system architecture that supports the ability of a user to participate in each client-side application without necessarily using or installing correlated "car-side" applications in the automotive computer system. In this way, more efficient use of automotive side memory can be achieved without requiring that correlated third party applications be necessarily installed on all automotive side devices. In addition, network traffic and wasteful power consumption can be mitigated simply by the user relying on an automatic assistant to communicate with at least one instance of the application, rather than using multiple instances of multiple applications for synchronous operation. In particular, a reduction in network and computational resources can be seen by application and messaging servers that send redundant copies of messages and acknowledgments to various other devices.

예를 들어, 일부 구현 예에서, 차량의 자동차 자동 어시스턴트는 이동 전화기와 같은 클라이언트 장치의 제3자 애플리케이션에서 수신된 메시지를 전달하고 그리고 사용자와 자동차 자동 어시스턴트 간의 상호 작용에 따라 메시지에 응답하도록 사용될 수 있다. 이러한 기능을 달성하기 위해, 클라이언트 장치와 자동차의 자동차 컴퓨터 시스템은 클라이언트 장치와 자동차 컴퓨터 시스템 사이에 보안 통신 채널을 설정하기 위해 핸드셰이크를 수행할 수 있다. 특히, 클라이언트 장치는 자동차 컴퓨터 시스템으로 및/또는 자동차 컴퓨터 시스템으로부터 데이터를 송신하기 위한 노드로서 하나 이상의 네트워크 소켓(예를 들어, 블루투스 소켓)을 할당할 수 있다. 보안 통신 채널이 클라이언트 장치와 자동차 컴퓨터 시스템 사이에 설정되면, 액션 인텐트는 클라이언트 자동 어시스턴트와 자동차 자동 어시스턴트 간에 공유될 수 있다. For example, in some implementations, the car's car assistant can be used to deliver a message received from a third party application of a client device, such as a mobile phone, and respond to the message in accordance with the interaction between the user and the car auto assistant. have. To achieve this functionality, the client device and the automotive computer system of the vehicle may perform a handshake to establish a secure communication channel between the client device and the automotive computer system. In particular, the client device may assign one or more network sockets (eg, Bluetooth sockets) as nodes for transmitting data to and / or from the automotive computer system. If a secure communication channel is established between the client device and the automotive computer system, the action intent may be shared between the client automatic assistant and the automotive automatic assistant.

액션(동작) 인텐트는 애플리케이션 또는 별도의 애플리케이션을 통해 수행할 특정 액션을 위해, 애플리케이션의 요청을 나타낼 수 있다. 예를 들어, 액션 인텐트 요청은 제3자 애플리케이션에 의해 생성될 수 있고, 수행될 하나 이상의 액션, 커스텀 식별자, 수행될 액션과 관련된 콘텐트 데이터, 및/또는 애플리케이션에 의해 수행될 액션과 연관될 수 있는 임의의 다른 데이터를 식별할 수 있다. 액션 인텐트는 액션 인텐트가 발생한 장치에서 사용 가능한 운영 체제(시스템), 장치 애플리케이션, 자동 어시스턴트 및/또는 기타 엔진 또는 모듈에 의해 처음 수신될 수 있다. 그 다음 액션 인텐트는 발신(originating) 장치에서 카탈로그화되거나 다른 방법으로 대기될 수 있으며, 자동 어시스턴트의 하나 이상의 인스턴스에 액세스할 수 있다. 예를 들어, 발신 클라이언트 장치의 클라이언트 자동 어시스턴트는 클라이언트 장치가 자동차 컴퓨터 시스템과 페어링되고, 자동차 자동 어시스턴트가 펜딩 액션 인텐트에 액세스할 수 있을 때 펜딩 액션 인텐트에 액세스할 수 있다.An action intent may represent a request of an application for a specific action to be performed through an application or a separate application. For example, an action intent request may be generated by a third party application and associated with one or more actions to be performed, custom identifiers, content data associated with the action to be performed, and / or actions to be performed by the application. Any other data that may be present. The action intent may be initially received by the operating system (system), device application, automatic assistant and / or other engine or module available in the device where the action intent originated. The action intent can then be cataloged or otherwise queued at the originating device, and can access one or more instances of the automatic assistant. For example, the client auto assistant of the originating client device can access the pending action intent when the client device is paired with the car computer system and the car auto assistant can access the pending action intent.

전술한 예에 대해, 자동차 자동 어시스턴트는 펜딩 액션 인텐트 요청을 식별하기 위해 클라이언트 자동 어시스턴트와 통신할 수 있다. 액션 인텐트 요청은 사용자가 자동차에 타고있는 동안 클라이언트 장치의 제3자 애플리케이션에서 수신된 메시지와 연관될 수 있다. "제3자"라는 용어는 제3자 애플리케이션을 생성 및/또는 제공한 엔터티를 지칭할 수 있으며, 클라이언트 장치, 클라이언트 자동 어시스턴트 및/또는 클라이언트 운영 체제의 크리에이터 및/또는 제공자와 다르다. 클라이언트 장치에서 액션 인텐트 요청에 액세스함으로써, 자동차 자동 어시스턴트는 사용자가 특정 펜딩 액션 인텐트 요청을 진행시킬 수 있는 중개자(intermediary) 역할을 할 수 있다. 또한, 자동차 자동 어시스턴트는 클라이언트 장치에서 펜딩중인 다른 액션 인텐트 요청뿐만 아니라 액션 인텐트 요청의 해당 인스턴스가 자동차 컴퓨터 시스템에서 생성되도록 할 수 있다. 자동차 컴퓨터 시스템에서의 액션 인텐트 요청의 해당 인스턴스는 자동차 컴퓨터 시스템이 메시지를 발신한 제3자 애플리케이션을 무효로하고 있음에도 불구하고 자동차 자동 어시스턴트에 의해 처리될 수 있다.For the example described above, the automobile auto assistant may communicate with the client auto assistant to identify the pending action intent request. The action intent request may be associated with a message received at a third party application on the client device while the user is in the car. The term "third party" may refer to the entity that created and / or provided the third party application, and is different from the creators and / or providers of client devices, client auto assistants and / or client operating systems. By accessing the action intent request from the client device, the car auto assistant can serve as an intermediary through which the user can proceed with a particular pending action intent request. In addition, the automotive auto assistant may cause the corresponding instance of the action intent request to be generated in the automotive computer system, as well as other action intent requests pending at the client device. That instance of the action intent request in the automotive computer system may be handled by the automotive automatic assistant even though the automotive computer system invalidates the third party application that sent the message.

자동차 자동 어시스턴트는 일부 구현예에서 액션 인텐트 요청을 제공한 제3자 애플리케이션과 관계없이, 액션 인텐트 요청이 액션 인텐트 요청의 콘텐트에 기초하여 메시지와 연관되어 있는지를 결정할 수 있다. 이러한 방식으로, 자동 어시스턴트는 액션 인텐트를 발생하는 애플리케이션에 대해 무관해 보이는 다양한 애플리케이션에서 액션 인텐트를 관리할 수 있다. 예를 들어, 제1 애플리케이션의 제1 서비스 제공자 및 제2 애플리케이션의 제2 서비스 제공자는 각각 상이한 방식으로 메시지를 제공할 수 있지만, 각각의 메시지는 상관없이 "본문(body)" 및 "발신자" 필드를 가질 것이다. 일부 구현예에서, API를 만족하는 각 애플리케이션으로 인해 부분적으로 있을 수 있는 메시지 구조의 오버랩은 각 메시지가 유사하게 파싱되도록 한다. 그 다음 자동 어시스턴트는 알림을 제공하거나 메시지에 응답하거나 메시지와 관련된 다른 액션을 수행하기 위해 해당 메시지의 파싱된(parsed) 데이터를 사용할 수 있다. 일부 구현 예에서, 유사한 오버랩은 자동 어시스턴트와 상호 작용할 수 있는 다른 애플리케이션에 의해 나타낼 수 있다. 이러한 다른 애플리케이션은 내비게이션 애플리케이션을 포함할 수 있으며, 알림(통지)의 콘텐트는 경로 스텝 및/또는 미디어 애플리케이션을 포함할 수 있으며, 알림의 콘텐트는 이미지 및/또는 비디오와 같은 특정 미디어 데이터의 주소를 포함할 수 있다.The automotive automated assistant may determine in some implementations whether the action intent request is associated with a message based on the content of the action intent request, regardless of the third party application that provided the action intent request. In this way, automatic assistants can manage action intents in various applications that seem irrelevant to the application generating the action intent. For example, a first service provider of a first application and a second service provider of a second application may each provide a message in a different manner, but each message is irrespective of the "body" and "sender" fields. Will have In some implementations, overlap of message structures, which may be partly due to each application that satisfies the API, causes each message to be parsed similarly. The automatic assistant can then use the parsed data of the message to provide notifications, respond to the message, or perform other actions related to the message. In some implementations, similar overlap can be represented by other applications that can interact with the automatic assistant. Such other applications may include navigation applications, where the content of the notification may include route steps and / or media applications, and the content of the notification may include the address of specific media data such as images and / or video. can do.

자동차 자동 어시스턴트가 액션 인텐트 요청의 해당 인스턴스가 메시지와 관련되어 있다고 결정할 때, 자동차 자동 어시스턴트는 해당 인스턴스의 콘텐트를 파싱하게 할 수 있다. 파싱된 콘텐트는 본문, 작성자, 제목, 전송 및/또는 수신된 시간 및/또는 메시지와 연관될 수 있는 임의의 다른 데이터와 같은 메시지의 개별 부분들을 식별하는 데 사용될 수 있다. 자동차 자동 어시스턴트는 액션 인텐트 요청이 메시지에 해당한다고 결정했으므로, 자동차 자동 어시스턴트는 파싱된 콘텐트를 사용자에게 제시하기 위해 상기 파싱된 콘텐트를 사용할 수 있다. 예를 들어, 자동차 자동 어시스턴트는 액션 인텐트 요청의 콘텐트의 적어도 일부를 오디오 시스템과 같은 자동차 컴퓨터 시스템의 자동 어시스턴트 인터페이스로부터 출력될 수 있는 오디오로 변환하기 위한 텍스트-음성 변환(text-to-speech) 엔진을 사용할 수 있다. 오디오는 예를 들어, "'나는 늦을 거야'라고 말하는 문자(텍스트) 메시지를 당신은 '에밀리'로부터 받았습니다"일 수 있다. 작성자 "에밀리"와 "나는 늦을 거야"라는 본문은 액션 인텐트 요청의 해당 인스턴스에서 파싱된 데이터를 기반으로 할 수 있다. When the car auto assistant determines that the instance of the action intent request is associated with a message, the car auto assistant can cause the content of the instance to be parsed. The parsed content may be used to identify individual portions of the message, such as body, author, subject, time sent and / or received, and / or any other data that may be associated with the message. Since the car auto assistant has determined that the action intent request corresponds to a message, the car auto assistant can use the parsed content to present the parsed content to the user. For example, a car auto assistant may be a text-to-speech for converting at least a portion of the content of an action intent request into audio that may be output from an auto assistant interface of a car computer system such as an audio system. The engine can be used. The audio may be, for example, "You received a text message from Emily that says 'I'll be late'." The authors "Emily" and "I'll be late" can be based on data parsed from that instance of an action intent request.

클라이언트 장치에서 수신된 메시지를 사용자에게 알리는 것에 응답하여, 자동차 자동 어시스턴트는 메시지에 응답할 수 있는 옵션을 사용자에게 제시할 수 있는 프롬프트를 후속 조치(follow up)할 수 있다. 프롬프트는 "에밀리에게 회신하시겠습니까?"와 같은 응답 가능한 오디오를 포함할 수 있으며, 이에 응답하여 사용자는 "예, 응답하십시오, '알겠습니다.'"와 같은 음성 발화를 제공할 수 있다. 따라서, 자동차 자동 어시스턴트는 자동차의 자동 어시스턴트 인터페이스를 통해 음성(발언된) 발화를 수신할 수 있고, 음성 발화를 처리하기 위해 자동차 컴퓨터 시스템에 액세스 가능한 음성-텍스트 변환(speech-to-text) 엔진을 이용할 수 있다. 음성 발화로부터 유도된 텍스트는 자동차 자동 어시스턴트에 의해 생성된 후속 액션 인텐트 요청의 일부가 될 수 있는 콘텐트로 구체화될 수 있다. 후속 액션 인텐트 요청은 타겟 애플리케이션(예를 들어, 제3자 애플리케이션)에 의해 수행되어야 하는 메시지 송신과 같은 액션을 식별하기 위해 더 생성될 수 있다. In response to informing the user of the message received at the client device, the car auto assistant may follow up a prompt that may present the user with an option to respond to the message. The prompt may include responsive audio, such as "Are you sure to reply to Emily?" In response, the user may provide a voice utterance such as "Yes, respond, 'Okay.'" Accordingly, the automotive auto assistant may receive a speech (speaked) utterance through the automobile's automatic assistant interface, and may employ a speech-to-text engine that is accessible to the automotive computer system for processing speech utterances. It is available. The text derived from the speech utterance may be embodied into content that may be part of a subsequent action intent request generated by the automotive automated assistant. Subsequent action intent requests may be further generated to identify an action, such as sending a message, that should be performed by the target application (eg, a third party application).

후속 액션 인텐트를 클라이언트 장치에 의해 생성된 액션 인텐트 요청과 동기화하기 위해, 자동차 자동 어시스턴트는 클라이언트 장치(디바이스)에 의해 생성된 액션 인텐트 요청으로 동일한 커스텀 식별자를 사용하여 후속 액션 인텐트를 생성할 수 있다. 이런 방식으로, 클라이언트 장치는 후속 액션 인텐트 요청에 액세스하고 및/또는 후속 액션 인텐트 요청이 자동차 컴퓨터 시스템에서 생성되었는지를 결정하고 그리고 후속 액션 인텐트 요청과 액션 인텐트 요청 사이의 상관관계를 결정할 수 있다. 일부 구현 예에서, 커스텀 식별자는 자동 어시스턴트들 간의 전송을 암호화하기 위한 적어도 하나의 키로서 사용될 수 있다. In order to synchronize the subsequent action intent with the action intent request generated by the client device, the car auto assistant generates the subsequent action intent using the same custom identifier as the action intent request generated by the client device (device). can do. In this way, the client device accesses the subsequent action intent request and / or determines whether the subsequent action intent request was generated in the automotive computer system and determines the correlation between the subsequent action intent request and the action intent request. Can be. In some implementations, the custom identifier can be used as at least one key for encrypting transmissions between automatic assistants.

상기 후속 액션 인텐트 요청이 자동차 컴퓨터 시스템에서 발생된 경우, 클라이언트 자동 어시스턴트는 후속 액션 인텐트 요청이 생성되었음을 결정할 수 있고, 클라이언트 장치에서 후속 액션 인텐트 요청의 해당 인스턴스를 생성할 수 있다. 후속 액션 인텐트 요청은 제3자 애플리케이션을 통해 메시지를 전송할 때 지정되기 때문에 클라이언트 자동 어시스턴트 및/또는 클라이언트 장치는 메시지를 전송하기 위해 제3자 애플리케이션을 호출할 수 있다. 즉, 자동차 컴퓨터 시스템은 제3자 애플리케이션의 인스턴스를 포함하지 않기 때문에, 후속 액션 인텐트 요청의 생성은 자동차 컴퓨터 시스템에 설치된 제3자 애플리케이션의 임의의 인스턴스를 직접 호출하지 않는다. 오히려, 후속 액션 인텐트 요청의 생성을 확인하는 클라이언트 자동 어시스턴트 및/또는 후속 액션 인텐트 요청의 해당 인스턴스가 클라이언트 장치에서 생성되는 것에 응답하여, 제3자 애플리케이션은 응답 메시지의 전송을 수행한다.If the subsequent action intent request originated from the automotive computer system, the client auto assistant may determine that the subsequent action intent request has been generated, and generate a corresponding instance of the subsequent action intent request at the client device. Since the subsequent action intent request is specified when sending a message through the third party application, the client auto assistant and / or the client device may invoke the third party application to send the message. That is, since the automotive computer system does not include an instance of a third party application, the generation of subsequent action intent requests does not directly call any instance of a third party application installed on the automotive computer system. Rather, in response to the client automatic assistant confirming the creation of the subsequent action intent request and / or the corresponding instance of the subsequent action intent request being generated at the client device, the third party application performs transmission of the response message.

일부 구현 예에서, 사용자가 메시지의 수신을 승인한 것에 응답하여 및/또는 사용자가 메시지에 응답하기를 원한다는 것을 나타내는 응답으로, 자동차 컴퓨터 시스템 및 클라이언트 장치에서의 액션 인텐트 요청의 펜던시(pendency)가 해제될 수 있다. 예를 들어, 사용자가 말한 음성("예, 응답하십시오, '오케이'")을 제공한 것에 응답하여, 자동차 자동 어시스턴트는 자동차 컴퓨터 시스템에서 액션 인텐트 요청의 해당 인스턴스가 해제되도록 할 수 있다. 또한, 사용자가 전술한 발화를 제공함에 따라, 클라이언트 자동 어시스턴트는 액션 인텐트 요청이 클라이언트 장치에서 해제되도록 할 수 있다. 원래 수신된 메시지와 연관된 액션 인텐트 요청의 별도의 해당 인스턴스가 예를 들어 원격 서버 장치에서 사용 가능한 경우, 별도의 해당 인스턴스도 해제(dismissed)될 수 있다.In some implementations, the dependency of an action intent request on the automotive computer system and client device in response to the user acknowledging receipt of the message and / or indicative of the user wanting to respond to the message. Can be released. For example, in response to providing a voice spoken by the user (eg, answer, 'Okay'), the car auto assistant may cause that instance of the action intent request in the car computer system to be released. In addition, as the user provides the aforementioned utterance, the client automatic assistant may cause the action intent request to be released at the client device. If a separate corresponding instance of the action intent request associated with the originally received message is available at the remote server device, for example, the separate corresponding instance may also be dismissed.

상기 설명은 본 개시의 일부 구현들의 개요로서 제공된다. 이들 구현 예 및 다른 구현 예에 대한 더 상세한 설명은 이하에서보다 상세하게 설명된다.The above description is provided as an overview of some implementations of the present disclosure. Further details of these and other embodiments are described in more detail below.

일부 구현 예에서, 하나 이상의 프로세서에 의해 구현되는 방법은 자동차 자동 어시스턴트에 의해 클라이언트 장치에서 생성된 제1 액션 인텐트 요청을 식별하는 것과 같은 동작을 포함하는 것으로 설명된다. 클라이언트 장치는 무선 통신 채널을 통해 자동차 컴퓨터 시스템과 페어링되며, 자동차 컴퓨터 시스템은 자동차 자동 어시스턴트를 포함한다. 상기 동작들은 또한, 상기 제1 액션 인텐트 요청을 식별하는 것에 응답하여, 상기 제1 액션 인텐트 요청이, 수행될 제1 요청된 액션, 상기 요청된 액션을 수행하기 위해 액세스될 콘텐트 데이터, 그리고 상기 제1 액션 인텐트 요청을 상기 자동차 컴퓨터 시스템에 적어도 부분적으로 이용 가능하게 하는 애플리케이션과 관련된 식별자를 식별하는지를 결정하는 것을 포함할 수 있다. 또한, 상기 동작들은 수행될 제1 요청된 액션을 촉진(furtherance)시키면서, 자동차 컴퓨터 시스템의 사용자에게 출력을 제공하기 위해 자동 어시스턴트 인터페이스를 자동차 컴퓨터 시스템에 액세스 가능하게 하는 것을 포함할 수 있으며, 상기 출력은 상기 제1 액션 인텐트 요청의 콘텐트 데이터에 기초한다. 상기 동작들은 자동차 자동 어시스턴트에 의해, 사용자가 자동 어시스턴트 인터페이스에서 제공된 상기 출력에 응답하여 입력을 제공했는지를 결정하는 것과; 그리고 상기 사용자가 상기 입력을 제공한 것으로 결정한 것에 응답하여, 상기 클라이언트 장치에 제2 액션 인텐트 요청을 제공하는 것을 더 포함할 수 있다. 상기 제2 액션 인텐트 요청은 클라이언트 장치에서 수행될 제2 요청된 액션, 사용자에 의해 제공된 입력에 기초한 다른 콘텐트 데이터 및 식별자를 식별할 수 있다. 또한, 상기 동작들은 상기 제2 액션 인텐트 요청에 따라 상기 클라이언트 장치에서 상기 제2 요청된 액션이 수행되도록 하는 것을 포함할 수 있다. 제2 요청된 액션은 다른 콘텐트 데이터를 사용하는 애플리케이션에 의해 수행될 수 있고, 상기 애플리케이션은 제2 액션 인텐트 요청에 제공된 식별자를 사용하여 클라이언트 장치에 의해 식별될 수 있다.In some implementations, the method implemented by the one or more processors is described as including an operation, such as identifying a first action intent request generated at the client device by the automotive automatic assistant. The client device is paired with a car computer system via a wireless communication channel, the car computer system including a car auto assistant. The actions may further include in response to identifying the first action intent request, wherein the first action intent request is: a first requested action to be performed, content data to be accessed to perform the requested action, and Determining whether to identify an identifier associated with an application that makes the first action intent request at least partially available to the automotive computer system. The operations may also include making an automatic assistant interface accessible to the automotive computer system to provide an output to a user of the automotive computer system while promoting the first requested action to be performed. Is based on the content data of the first action intent request. The operations include determining, by the automobile auto assistant, a user provided an input in response to the output provided at the auto assistant interface; And in response to determining that the user provided the input, providing a second action intent request to the client device. The second action intent request may identify a second requested action to be performed at the client device, other content data and an identifier based on input provided by the user. Also, the operations may include causing the second requested action to be performed at the client device according to the second action intent request. The second requested action may be performed by an application using other content data, and the application may be identified by the client device using the identifier provided in the second action intent request.

일부 구현 예에서, 상기 방법은 상기 사용자가 상기 입력을 제공한 것으로 결정한 것에 응답하여, 상기 클라이언트 장치에 제3 액션 인텐트 요청을 제공하는 것을 포함할 수 있으며, 상기 제3 액션 인텐트 요청은 상기 식별자 및 제3 요청된 액션을 식별하며, 상기 클라이언트 장치가 상기 제3 액션 인텐트 요청을 수신하는 것에 응답하여, 상기 제3 액션 인텐트 요청은 상기 클라이언트 장치에서의 상기 제2 액션 인텐트 요청의 펜더시가 해제되도록 한다. 일부 구현 예에서, 이 방법은 사용자가 입력을 제공한 것으로 결정한 것에 응답하여, 제2 액션 인텐트 요청의 해당 인스턴스의 별도의 펜던시의 해제를 야기하는 것을 포함할 수 있으며, 상기 제2 액션 인텐트 요청의 해당 인스턴스는 자동차 컴퓨터 시스템에 제공된다. 일부 구현 예에서, 제2 액션 인텐트 요청의 펜던시는 클라이언트 장치를 통해 액세스 가능한 제1 자동 어시스턴트 이벤트 핸들러에 의해 표시되고, 제2 액션 인텐트 요청의 해당 인스턴스의 별도의 펜던시는 자동차 컴퓨터 시스템을 통해 액세스 가능한 제2 자동 어시스턴트 이벤트 핸들러에 의해 표시된다.In some implementations, the method can include providing a third action intent request to the client device in response to determining that the user provided the input, wherein the third action intent request is Identify an identifier and a third requested action, and in response to the client device receiving the third action intent request, the third action intent request is generated from the second action intent request at the client device. Allows fenders to be released. In some implementations, the method can include, in response to determining that the user provided input, cause a separate release of the corresponding redundancy of the instance of the second action intent request, wherein the second action is That instance of the tent request is provided to the car computer system. In some implementations, the dependency of the second action intent request is indicated by a first automatic assistant event handler accessible through the client device, and the separate dependency of that instance of the second action intent request is an automotive computer system. Represented by a second automatic assistant event handler accessible via.

일부 구현 예에서, 자동차 컴퓨터 시스템은 (i) 클라이언트 장치에서 애플리케이션을 제공한 제3자가 제공하고, (ii) 클라이언트 장치에서 애플리케이션과 적어도 부분적으로 상관되는 설치된 애플리케이션이 존재하지 않는다. 일부 구현 예에서, 상기 자동차 컴퓨터 시스템은 클라이언트 장치에서 애플리케이션과 관련하여 다른 제3자에 의해 제공되는 다른 애플리케이션을 포함하는 별도의 클라이언트 장치와 페어링되고, 상기 방법은, 상기 자동차 자동 어시스턴트에 의해, 상기 개별 클라이언트 장치에서 생성된 별도의 액션 인텐트 요청을 식별하는 단계를 더 포함하며, 상기 개별 클라이언트 장치는 자동차 컴퓨터 시스템과 페어링된다. 일부 구현 예에서, 상기 별도의 액션 인텐트 요청은 개별 클라이언트 장치에 의해 생성된 다른 식별자를 포함하고, 상기 방법은, 상기 식별자와 다른 식별자 간의 차이에 기초하여, 상기 별도의 액션 인텐트 요청에 대한 우선순위로서 상기 제1 액션 인텐트 요청을 지정하는 단계를 더 포함한다.In some implementations, the automotive computer system is provided by (i) a third party that provided the application on the client device, and (ii) there is no installed application that is at least partially correlated with the application on the client device. In some implementations, the automotive computer system is paired with a separate client device that includes another application provided by another third party with respect to an application at a client device, and the method further includes: by the automotive automated assistant, Identifying a separate action intent request generated at an individual client device, wherein the individual client device is paired with an automotive computer system. In some implementations, the separate action intent request includes another identifier generated by an individual client device, and the method is based on the difference between the identifier and the other identifier for the separate action intent request. Designating the first action intent request as a priority.

다른 구현예들에서, 하나 이상의 프로세서에 의해 구현되는 방법은, 무선 통신 방식을 통해 제1 클라이언트 장치와 자동차 컴퓨터 시스템을 사용하여 접속하는 것과 같은 동작을 포함하는 것으로서 설명되며, 상기 제1 클라이언트 장치는 클라이언트 자동 어시스턴트를 포함하고, 상기 자동차 컴퓨터 시스템은 자동차 자동 어시스턴트 및 자동차 센서 애플리케이션을 포함하며, 상기 자동차 센서 애플리케이션은 자동차 컴퓨터 시스템의 적어도 하나의 센서를 모니터링하도록 구성된다. 상기 방법은 또한 자동차 컴퓨터 시스템을 사용하여 무선 통신 방식을 통해 제2 클라이언트 장치와 접속하는 단계를 포함할 수 있으며, 상기 제2 클라이언트 장치는 또 다른 클라이언트 자동 어시스턴트를 포함한다. 이 방법은, 자동차 컴퓨터 시스템에 의해, 애플리케이션에 의해 제1 액션 인텐트 요청이 제1 클라이언트 장치에서 생성되었다는 것을 결정하는 단계를 더 포함할 수 있으며, 상기 애플리케이션은 특정 카테고리의 서비스에 대응하고, 제1 서비스 제공자에 의해 제공된다. 이 방법은 또한 자동차 컴퓨터 시스템에 의해, 제2 액션 인텐트 요청이 다른 애플리케이션에 의해 상기 제2 클라이언트 장치에서 생성되었다고 결정하는 단계를 포함할 수 있으며, 상기 다른 애플리케이션은 상기 특정 카테고리의 서비스에 대응하고, 제2 서비스 제공자에 의해 제공된다. 이 방법은 자동차 컴퓨터 시스템을 사용하여, 제3 액션 인텐트 요청이 자동차 센서 애플리케이션에서 생성되었다는 것을 결정하는 단계를 더 포함할 수 있으며, 상기 제3 액션 인텐트 요청은 자동차 컴퓨터 시스템의 센서로부터의 센서 데이터에 기초하여 생성된다. 상기 방법은 또한 자동차 자동 어시스턴트에 의해, 제1 액션 인텐트 요청, 제2 액션 인텐트 요청, 및 제3 액션 인텐트 요청의 각 액션 인텐트 요청의 펜던시를 나타내는 데이터를 생성하는 단계를 포함할 수 있으며, 상기 데이터는 자동차 컴퓨터 시스템에 저장된다. 이 방법은 상기 생성된 데이터에 따라, 상기 자동차 컴퓨터 시스템에 접속된 하나 이상의 인터페이스로 하여금 상기 제1 액션 인텐트 요청, 상기 제2 액션 인텐트 요청 및 상기 제3 액션 인텐트 요청의 각각의 액션 인텐트 요청에 대한 통지를 제공하게 하는 단계를 더 포함할 수 있다. In other implementations, a method implemented by one or more processors is described as including an operation such as connecting using an automotive computer system with a first client device via a wireless communication scheme. A client automatic assistant, wherein the automotive computer system includes an automotive automatic assistant and automotive sensor application, wherein the automotive sensor application is configured to monitor at least one sensor of the automotive computer system. The method may also include connecting with a second client device via a wireless communication scheme using an automotive computer system, wherein the second client device includes another client automatic assistant. The method may further include determining, by the automotive computer system, that the first action intent request was generated at the first client device by the application, the application corresponding to a particular category of service, 1 is provided by the service provider. The method may also include determining, by the automotive computer system, that a second action intent request was generated at the second client device by another application, wherein the other application corresponds to a service of the particular category and Is provided by a second service provider. The method may further comprise determining, using the automotive computer system, that the third action intent request was generated in an automotive sensor application, wherein the third action intent request is a sensor from a sensor of the automobile computer system. It is generated based on the data. The method may also include generating, by the automotive automatic assistant, data indicative of the dependency of each action intent request of the first action intent request, the second action intent request, and the third action intent request. And the data is stored in an automotive computer system. The method according to the generated data causes one or more interfaces connected to the automotive computer system to determine that each of the first action intent request, the second action intent request, and the third action intent request is an action. The method may further include providing a notification about the tent request.

일부 구현 예에서, 상기 방법은 제3 액션 인텐트 요청이 자동차 센서 애플리케이션에서 생성되었다는 결정에 응답하여, 제3 액션 인텐트 요청의 해당 인스턴스가 제1 클라이언트 장치에 저장되도록하는 단계를 포함할 수 있다. 일부 구현 예에서, 상기 방법은 상기 자동차 컴퓨터 시스템에 접속된 상기 하나 이상의 인터페이스들에서 사용자 입력을 수신하는 단계; 그리고 상기 사용자 입력을 수신한 것에 응답하여, 상기 제3 액션 인텐트 요청과 관련된 통지의 펜던시가 상기 자동차 컴퓨터 시스템에서 해제되게 하고, 상기 제3 액션 인텐트 요청의 해당 인스턴스가 상기 제1 클라이언트 장치에서 해제되게 하는 단계를 포함할 수 있다. 일부 구현 예에서, 특정 카테고리 서비스는 메시징 서비스이고, 제1 서비스 제공자는 제2 서비스 제공자와 다르다. 일부 구현 예에서, 상기 방법은 제1 액션 인텐트 요청 및 제2 액션 인텐트 요청의 각 액션 인텐트 요청에 대해, 각 액션 인텐트 요청에 의해 구체화된 각 메시지의 콘텐트를 처리하는 단계를 포함할 수 있으며, 각 메시지의 콘텐트의 처리는 각 메시지가 제1 서비스 제공자 및 제2 서비스 제공자의 서비스 제공자에 의해 제공되었는지의 여부에 무관하게 수행된다. 일부 구현 예에서, 각 액션 인텐트 요청의 펜던시를 나타내는 데이터를 생성하는 단계는, 상기 자동차 자동 어시스턴트에 의해, 상기 제1 액션 인텐트 요청, 상기 제2 액션 인텐트 요청 및 상기 제3 액션 인텐트 요청의 각각의 액션 인텐트 요청의 해당 인스턴스를 생성하는 단계를 포함할 수 있다. In some implementations, the method can include, in response to determining that the third action intent request was generated at an automotive sensor application, causing the instance of the third action intent request to be stored on the first client device. . In some implementations, the method includes receiving user input at the one or more interfaces connected to the vehicle computer system; And in response to receiving the user input, cause the redundancy of the notification associated with the third action intent request to be released from the vehicle computer system, and wherein the instance of the third action intent request is generated by the first client device. It may include the step of being released from. In some implementations, the particular category service is a messaging service and the first service provider is different from the second service provider. In some implementations, the method can include, for each action intent request of the first action intent request and the second action intent request, processing the content of each message specified by each action intent request. The processing of the content of each message may be performed regardless of whether each message has been provided by the service provider of the first service provider and the second service provider. In some implementations, generating data indicative of the dependency of each action intent request is, by the automotive automatic assistant, the first action intent request, the second action intent request, and the third action being Generating a corresponding instance of each action intent request of the tent request.

또 다른 구현예에서, 하나 이상의 프로세서에 의해 구현되는 방법은 차량에 필수적이며 자동차 자동 어시스턴트를 포함하는 자동차 컴퓨터 시스템과 무선 모듈을 통해 클라이언트 장치에 의해 접속되는 것과 같은 동작을 포함하는 것으로 설명되며, 클라이언트 장치는 클라이언트 자동 어시스턴트를 포함한다. 이 방법은 또한 자동차 컴퓨터 시스템을 통해 클라이언트 장치에 의해, 자동차 컴퓨터 시스템의 애플리케이션으로부터 자동차 자동 어시스턴트에 의해 수신된 액션 인텐트 요청에 액세스하는 단계를 포함할 수 있으며, 상기 애플리케이션은 상기 차량의 센서와 통신하고 상기 액션 인텐트 요청은 적어도 상기 센서로부터의 신호에 기초한다. 이 방법은 클라이언트 자동 어시스턴트에 의해, 그리고 액션 인텐트 요청에 액세스하는 것에 기초하여 액션 인텐트 요청의 해당 인스턴스를 생성하는 단계를 더 포함할 수 있으며, 상기 클라이언트 장치는 상기 클라이언트 장치에서 하나 이상의 다른 애플리케이션에 의해 제공되는 하나 이상의 다른 액션 인텐트 요청을 포함한다. 이 방법은 적어도 클라이언트 장치가 차량 또는 자동차 컴퓨터 시스템에 덜 근접(근접거리 이상)하게 되는 것에 기초하여 클라이언트 장치를 자동차 컴퓨터 시스템으로부터 분리하는 단계를 더 포함할 수 있다. 이 방법은, 자동차 컴퓨터 시스템으로부터 분리된 후 클라이언트 자동 어시스턴트에 의해, 액션 인텐트 요청의 해당 인스턴스에 따라 액션을 수행하는 단계를 더 포함할 수 있으며, 상기 액션을 수행하는 단계는 상기 액션 인텐트 요청에 의해 식별된 콘텐트를 상기 클라이언트 장치의 인터페이스에 제공하는 단계를 포함한다. In another embodiment, a method implemented by one or more processors is described as including an operation such as being connected to a client device via a wireless module and a wireless computer system including a vehicle auto assistant, which is essential to the vehicle, and the client The device includes a client automatic assistant. The method may also include accessing, by a client device, an action intent request received by an automotive auto assistant from an application of the automotive computer system via the automotive computer system, the application communicating with a sensor of the vehicle. And the action intent request is based at least on a signal from the sensor. The method may further comprise generating a corresponding instance of the action intent request by the client automatic assistant and based on accessing the action intent request, wherein the client device comprises one or more other applications at the client device. It includes one or more other action intent requests provided by. The method may further comprise detaching the client device from the automotive computer system based at least on the client device becoming less proximally to the vehicle or automotive computer system. The method may further include performing, by the client auto assistant, the action according to the instance of the action intent request after being disconnected from the automotive computer system, wherein performing the action comprises the action intent request. Providing the content identified by the interface to the client device.

일부 구현 예에서, 클라이언트 장치는 (i) 자동차 컴퓨터 시스템에서 애플리케이션을 제공한 제3자가 제공하고 (ii) 자동차 컴퓨터 시스템에서 애플리케이션과 적어도 부분적으로 상관되는 설치된 응용 프로그램이 없음을 나타낸다. 일부 구현 예에서, 특정 컨텍스트를 결정하고, 수행하는 단계는 상기 특정 컨텍스트를 결정하는 것에 응답한다. 일부 구현 예에서, 상기 특정 컨텍스트를 결정하는 단계는 상기 클라이언트 장치의 위치를 결정하는 단계를 포함하고, 상기 방법은, 상기 액션 인텐트 요청에 의해 식별된 상기 콘텐트가 상기 클라이언트장치의 위치와 관련되는지를 결정하는 단계를 더 포함하며, 상기 액션은 액션 인텐트 요청에 의해 식별된 콘텐트가 클라이언트 장치의 위치와 관련되어 있는지를 결정하는 것에 응답하여 수행된다. 일부 구현 예에서, 상기 방법은 액션 인텐트 요청의 해당 인스턴스에 따라 액션을 수행하는 클라이언트 자동 어시스턴트에 기초하여, 자동차 컴퓨터 시스템에서 해제될 액션 인텐트 요청에 대한 요청을 제공하는 단계를 포함할 수 있다. 일부 구현 예에서, 상기 요청은 자동차 컴퓨터 시스템과 통신하고 자동차 컴퓨터 시스템에서 액션 인텐트 요청이 해제되게 하도록 구성된 원격 서버 장치에 제공된다. 일부 구현 예에서, 액션 인텐트 요청은 사용자가 자동차 컴퓨터 시스템의 자동 어시스턴트 인터페이스에 음성 발화를 제공함에 응답하여 생성되며, 상기 방법은, 상기 사용자가 상기 자동 어시스턴트 인터페이스에 상기 음성 발화를 제공하는 것에 응답하여 상기 자동차 컴퓨터 시스템으로부터 상기 음성 발화에 대응하는 데이터를 수신하는 단계; 그리고 자동차 컴퓨터 시스템으로부터 수신된 데이터에 기초하여 응답 데이터를 자동차 컴퓨터 시스템에 제공하는 단계를 더 포함하며, 상기 액션 인텐트 요청은 상기 자동차 컴퓨터 시스템에 의해 수신된 상기 응답 데이터에 더 기초한다.In some implementations, the client device indicates that there are no installed applications (i) provided by the third party that provided the application in the automotive computer system and (ii) at least partially correlated with the application in the automotive computer system. In some implementations, determining and performing a specific context is responsive to determining the specific context. In some implementations, determining the specific context includes determining a location of the client device, and the method includes whether the content identified by the action intent request is related to the location of the client device. The method further includes determining a, wherein the action is performed in response to determining whether the content identified by the action intent request is associated with a location of the client device. In some implementations, the method can include providing a request for an action intent request to be released in the automotive computer system based on a client automatic assistant performing an action in accordance with the instance of the action intent request. . In some implementations, the request is provided to a remote server device configured to communicate with the automotive computer system and cause the action intent request to be released in the automotive computer system. In some implementations, an action intent request is generated in response to a user providing voice speech to an automatic assistant interface of an automotive computer system, the method responsive to the user providing the voice speech to the automatic assistant interface. Receiving data corresponding to the voice utterance from the vehicle computer system; And providing response data to the vehicle computer system based on the data received from the vehicle computer system, wherein the action intent request is further based on the response data received by the vehicle computer system.

다른 구현예들은 하나 이상의 프로세서(예를 들어, 중앙 처리 장치(들)(CPU))에 의해 실행 가능한 명령어를 저장하는 비-일시적 컴퓨터 판독 가능 저장 매체, 그래픽 처리 장치(들)(GPU(들)), 및/또는 전술한 방법 및 또는 본 명세서의 다른 곳에서와 같은 방법을 수행하기 위한 텐서 프로세싱 유닛(들)(TPU(들))을 포함할 수 있다. 또 다른 구현예는 하나 이상의 컴퓨터의 시스템 및/또는 상술한 방법 및/또는 본 명세서의 다른 곳에서와 같은 방법을 수행하기 위해 저장된 명령어를 실행하도록 동작 가능한 하나 이상의 프로세서를 포함하는 하나 이상의 로봇을 포함할 수 있다.Other implementations include non-transitory computer readable storage media, graphics processing unit (s) (GPU (s), that store instructions executable by one or more processors (eg, central processing unit (s) (CPUs)). And / or tensor processing unit (s) (TPU (s)) for performing the methods described above and / or as elsewhere herein. Still other embodiments include one or more robots that include one or more processors operable to execute stored instructions to perform a system of one or more computers and / or methods as described above and / or elsewhere herein. can do.

전술한 개념들 및 본 명세서에서보다 상세하게 기술된 추가적인 개념들의 모든 조합은 본 명세서에 개시된 주제의 일부로서 고려될 수 있음을 이해해야 한다. 예를 들어, 본 명세서의 끝 부분에 나타나는 청구된 요지의 모든 조합은 본 명세서에 개시된 요지의 부분으로 고려된다.It should be understood that all combinations of the foregoing concepts and additional concepts described in more detail herein may be considered as part of the subject matter disclosed herein. For example, all combinations of claimed subject matter appearing at the end of this specification are considered to be part of the subject matter disclosed herein.

도 1은 다수의 상이한 사용자가 차량 자동 어시스턴트가 그들의 각각의 장치에서 애플리케이션과 상호 작용하도록 하는 차량의 사시도를 도시한다.
도 2는 제3자 애플리케이션들에 의해 요청된 액션들을 추가하기 위해 다른 자동 어시스턴트들과 상호 작용할 수 있는 자동 어시스턴트를 제공하는 시스템을 도시한다.
또한, 도 3a, 도 3b 및 도 3c는 휴대용 컴퓨팅 장치의 클라이언트 자동 어시스턴트가 자동 어시스턴트의 다수의(복수의) 인스턴스에 대한 주요 또는 핵심 자동 어시스턴트로서 동작할 수 있는 시나리오의 사시도를 도시한다.
도 4a 및 도 4b는 클라이언트 장치가 자동차 컴퓨터 시스템과 통신할 때 생성된 액션 인텐트 요청을 처리하기 위한 방법을 도시한다.
도 5는 자동 어시스턴트의 상이한 인스턴스들로부터 제공되는 다수의 상이한 액션 인텐트 요청들에 따라 인터페이스로부터의 출력을 제공하는 방법을 도시한다.
도 6은 예시적인 컴퓨터 시스템의 블록도이다.
1 shows a perspective view of a vehicle in which a number of different users allow the vehicle auto assistant to interact with the application on their respective devices.
2 illustrates a system that provides an automatic assistant that can interact with other automatic assistants to add actions requested by third party applications.
3A, 3B, and 3C also illustrate perspective views of scenarios in which a client auto assistant of a portable computing device can act as the main or core auto assistant for multiple (plural) instances of the auto assistant.
4A and 4B illustrate a method for processing an action intent request generated when a client device communicates with an automotive computer system.
5 illustrates a method of providing output from an interface according to a number of different action intent requests provided from different instances of an automatic assistant.
6 is a block diagram of an exemplary computer system.

도 1은 복수의 상이한 사용자가 차량 자동 어시스턴트가 각각의 장치에서 애플리케이션과 상호 작용하도록 하는 차량(114)의 사시도(100)를 도시한다. 차량(114)에 탑승했을 때, 제1 사용자(110) 및 제2 사용자(112)는 차량(114)에서의 그들의 여행 중에 서로 다른 장치를 상호 작용시킬 수 있다. 예를 들어, 제1 사용자(110)는 셀룰러 장치(124)(즉, 클라이언트 장치)를 가져올 수 있고, 제2 사용자(112)는 태블릿 장치(116)(즉, 클라이언트 장치)를 가져올 수 있다. 차량(114)은 자동차 자동 어시스턴트(104)에 대한 액세스를 사용자에게 제공할 수 있는 자동차 컴퓨터 시스템(102)을 포함할 수 있다. 셀룰러 장치(124) 및 태블릿 장치(116) 각각은 클라이언트 자동 어시스턴트(126) 및 클라이언트 자동 어시스턴트(118)를 각각 포함할 수 있다. 또한, 자동차 자동 어시스턴트(104)는 각 사용자가 각각의 장치를 차량(114)으로 가져갈 때 주요(1차) 자동 어시스턴트로서 작동할 수 있다. 이러한 방식으로, 각각의 사용자는 자신의 각각의 장치를 자동차 컴퓨터 시스템(102)에만 배타적으로 페어링(pair)할 필요는 없다. 또한, 자동차 자동 어시스턴트(104)의 일부 구현 예에 따르면, 자동차 컴퓨터 시스템(102)은 각각의 클라이언트 장치 상에 설치되는 동일한 애플리케이션을 반드시 가질 필요는 없다. 이러한 방식으로, 자동차 컴퓨터 시스템(102)은 메모리의 보다 효율적인 사용을 할 수 있고, 또한 더 적은 수의 설치된 애플리케이션으로, 자동차 컴퓨터 시스템(102)은 업데이트를 검색하고 서버와 통신하는 만큼의 네트워크 대역폭을 소비하지 않을 것이다. 이러한 장점은 부분적으로는 차량(114)에서 이용 가능한 무선 통신 방식에 대한 각각의 자동 어시스턴트 간의 상호 작용을 통해 실현될 수 있다. 또한, 각 메시지를 인증하고 전달하기 위해 전화번호를 사용하는 서버에서도 유사한 장점을 얻을 수 있다.1 shows a perspective view 100 of a vehicle 114 that allows a plurality of different users to interact with an application in each device. When boarding the vehicle 114, the first user 110 and the second user 112 can interact with different devices during their journey in the vehicle 114. For example, first user 110 may bring cellular device 124 (ie, client device), and second user 112 may bring tablet device 116 (ie, client device). The vehicle 114 may include an automotive computer system 102 that can provide a user with access to the automotive automatic assistant 104. Each of the cellular device 124 and the tablet device 116 may include a client automatic assistant 126 and a client automatic assistant 118, respectively. In addition, the automotive automatic assistant 104 can act as the primary (primary) automatic assistant when each user brings each device to the vehicle 114. In this way, each user need not exclusively pair his or her respective device to the automotive computer system 102 only. Further, according to some implementations of the automotive automated assistant 104, the automotive computer system 102 does not necessarily have the same application installed on each client device. In this way, the automotive computer system 102 can make more efficient use of memory, and with fewer installed applications, the automotive computer system 102 can take up as much network bandwidth as it retrieves updates and communicates with the server. Will not consume. This advantage can be realized in part through the interaction between the respective automatic assistants for the wireless communication scheme available in the vehicle 114. Similar benefits can also be achieved with servers that use phone numbers to authenticate and forward each message.

예를 들어, 각 사용자는 각각의 클라이언트 장치와 함께 차량(114)에 진입할 수 있고, 각각의 클라이언트 장치는 액션 인텐트 요청을 포함 및/또는 생성할 수 있다. 예를 들어, 태블릿 장치(116)는 액션 인텐트 요청(122)을 생성할 수 있는 하나 이상의 태블릿 애플리케이션(120)을 포함할 수 있고, 셀룰러 장치(124)는 액션 인텐트 요청(130)을 생성할 수 있는 하나 이상의 셀룰러 애플리케이션(128)을 포함할 수 있다. 태블릿 애플리케이션(120) 및/또는 셀룰러 애플리케이션(128)은 자동 어시스턴트의 하나 이상의 인스턴스를 제공하거나 개발한 엔티티와 다른 엔티티에 의해 제공되거나 개발된 애플리케이션 및/또는 제3자 애플리케이션일 수 있다. For example, each user may enter the vehicle 114 with each client device, and each client device may include and / or generate an action intent request. For example, tablet device 116 may include one or more tablet applications 120 that may generate action intent request 122, and cellular device 124 generates action intent request 130. It may include one or more cellular applications 128 capable of doing so. Tablet application 120 and / or cellular application 128 may be an application and / or a third party application provided or developed by an entity other than the one that provided or developed one or more instances of the automatic assistant.

제1 사용자(110) 및 제2 사용자(112)가 각각의 클라이언트 장치들과 함께 자신의 차량(114)에 초기에 진입할 때, 각각의 클라이언트 장치는 차량(114)이 무선 방식으로 통신할 수 있는 자동차 컴퓨터 시스템(102)을 포함하는 것으로 결정할 수 있다. 또한, 각각의 클라이언트 장치는 자동차 컴퓨터 시스템(102)이 자동차 자동 어시스턴트(104)를 포함하는 것으로 결정할 수 있다. 특히, 클라이언트 자동 어시스턴트(118) 및 클라이언트 자동 어시스턴트(126)는 자동차 컴퓨터 시스템(102)이 자동차 자동 어시스턴트(104)를 포함하는지를 결정할 수 있다. 상기 결정을 내리는 것에 응답하여, 클라이언트 자동 어시스턴트(118)는 자동차 컴퓨터 시스템(102)에서 액션 인텐트 요청(122)의 해당 인스턴스를 생성하게 할 수 있고, 클라이언트 자동 어시스턴트(126)는 액션 인텐트 요청(122, 130)의 해당 인스턴스가 자동차 컴퓨터 시스템(102)에서 생성되도록 할 수 있다. 결과적으로, 자동차 자동 어시스턴트(104)는 하나 이상의 사용자와 자동차 자동 인스턴스(104) 간의 상호 작용을 통해 액션 인텐트 요청(액션 인텐트 요청(108)으로서 국부적으로 저장됨)의 해당 인스턴스와 관련된 임의의 액션을 촉진시킬 수 있다. 또한, 자동차 자동 어시스턴트(104)는 태블릿 애플리케이션(120) 및/또는 셀룰러 애플리케이션(128)의 임의의 하나의 애플리케이션과 동일하지 않을 수도 있고 그렇지 않으면 인스턴스일 수도 있는 자동차 애플리케이션(106)을 포함하는 자동차 컴퓨터 시스템(102)에도 불구하고 액션 인텐트 요청(108)에 의해 식별된 액션을 더 진행할 수 있다. 예를 들어, 자동차 애플리케이션(106)은 차량(114)에 관한 정보를 자동차 자동 어시스턴트(104)에 제공하는 유지(maintenance) 애플리케이션을 포함할 수 있다. 상기 정보는 어느 하나의 장치가 유지 애플리케이션의 인스턴스 또는 등가물을 포함하지 않더라도, 태블릿 장치(116) 및 셀룰러 장치(124) 중 하나 이상과 공유될 수 있다. 이는 각 사용자가 여행(excursion) 중에 자신의 장치에 반드시 주의를 기울이지 않고 자동차 자동 어시스턴트(104)에 의존하여 각각의 통지 및/또는 임의의 특정 액션을 중계할 수 있게 한다. When the first user 110 and the second user 112 initially enter their vehicle 114 with their respective client devices, each client device may communicate with the vehicle 114 in a wireless manner. It may be determined to include an automotive computer system 102. In addition, each client device may determine that the automotive computer system 102 includes an automotive automated assistant 104. In particular, client auto assistant 118 and client auto assistant 126 can determine whether auto computer system 102 includes car auto assistant 104. In response to making the determination, the client automatic assistant 118 may cause the automotive computer system 102 to create a corresponding instance of the action intent request 122, and the client automatic assistant 126 may request an action intent request. Corresponding instances of 122, 130 may be created in the automotive computer system 102. As a result, the car auto assistant 104 may interact with one or more users and the car auto instance 104 via any interaction with that instance of the action intent request (stored locally as the action intent request 108). Can promote action. In addition, the automotive automotive assistant 104 may include an automotive computer 106 that may not be the same as any one application of the tablet application 120 and / or the cellular application 128 or may be an instance otherwise. Despite the system 102, the action identified by the action intent request 108 can be further performed. For example, automotive application 106 may include a maintenance application that provides information about vehicle 114 to automotive automotive assistant 104. The information may be shared with one or more of the tablet device 116 and the cellular device 124, even if either device does not contain an instance or equivalent of the maintenance application. This allows each user to relay each notification and / or any particular action depending on the car auto assistant 104 without necessarily paying attention to his or her device during the excursion.

도 2는 제3자 애플리케이션에 의해 요청된 액션을 추가하기 위해 다른 자동 어시스턴트와 상호 작용할 수 있는 자동(자동화된) 어시스턴트를 제공하기 위한 시스템(200)을 도시한다. 자동 어시스턴트(204)는 제1 클라이언트 장치(216)(예를 들어, 셀룰러 폰(242)), 제2 클라이언트 장치(218)(예를 들어, 태블릿 장치(244)) 및/또는 서버 장치(230)와 같은 원격 컴퓨팅 장치(202)와 같은 하나 이상의 컴퓨팅 장치에서 제공되는 어시스턴트 애플리케이션의 일부로서 동작할 수 있다. 사용자는, 마이크로폰, 카메라, 터치스크린 디스플레이, 사용자 인터페이스 및/또는 사용자와 애플리케이션 사이의 인터페이스를 제공할 수 있는 임의의 다른 장치일 수 있는, (예를 들어, 차량(240) 내부) 어시스턴트 인터페이스를 통해 자동 어시스턴트(들)(204)와 상호 작용할 수 있다. 예를 들어, 사용자는 자동 어시스턴트(204)가 기능(예를 들어, 데이터를 제공하고, 주변 장치를 제어하고, 에이전트에 액세스하는 등)을 수행하도록 어시스턴트 인터페이스에 언어, 문자 및/또는 그래픽 입력을 제공함으로써 자동 어시스턴트(204)를 초기화할 수 있다. 제1 클라이언트 장치(216)는 터치 인터페이스를 통해 제1 클라이언트 장치(216)의 셀룰러 애플리케이션(250)에 사용자가 액세스할 수 있도록 터치 입력 및/또는 제스처를 수신하기 위한 터치 인터페이스를 포함하는 디스플레이 패널일 수 있는 디스플레이 장치를 포함할 수 있다. 또한 제2 클라이언트 장치(218)는 사용자가 터치 인터페이스를 통해 제2 클라이언트 장치(218)의 셀룰러 애플리케이션(254)을 제어할 수 있도록 터치 입력 및/또는 제스처를 수신하는 터치 인터페이스를 포함하는 디스플레이 패널일 수 있는 디스플레이 장치를 포함할 수 있다. 일부 구현 예에서, 제2 클라이언트 장치(218)는 그래픽 사용자 인터페이스 출력을 제공하지 않고, 디스플레이 장치가 부족하여, 가청 사용자 인터페이스 출력을 제공할 수 있다. 또한, 제2 클라이언트 장치(218)는 사용자로부터 음성 자연어 입력을 수신하기 위해 마이크로폰과 같은 사용자 인터페이스를 제공할 수 있다.2 illustrates a system 200 for providing an automated (automated) assistant that can interact with another auto assistant to add an action requested by a third party application. The automatic assistant 204 can be a first client device 216 (eg, cellular phone 242), a second client device 218 (eg, tablet device 244) and / or server device 230. Act as part of an assistant application provided in one or more computing devices, such as remote computing device 202. The user is via an assistant interface (eg, inside a vehicle 240), which may be a microphone, a camera, a touchscreen display, a user interface, and / or any other device capable of providing an interface between a user and an application. Interact with the automatic assistant (s) 204. For example, a user may enter language, text, and / or graphical input into the assistant interface so that the automatic assistant 204 may perform a function (eg, provide data, control peripherals, access an agent, etc.). By providing the automatic assistant 204 can be initialized. The first client device 216 is a display panel that includes a touch interface for receiving touch input and / or gestures for a user to access the cellular application 250 of the first client device 216 via a touch interface. It may include a display device that can be. The second client device 218 is also a display panel that includes a touch interface that receives touch input and / or gestures so that a user can control the cellular application 254 of the second client device 218 via a touch interface. It may include a display device that can be. In some implementations, the second client device 218 does not provide a graphical user interface output, and lacks a display device, thereby providing an audible user interface output. In addition, the second client device 218 can provide a user interface, such as a microphone, for receiving voice natural language input from the user.

제1 클라이언트 장치(216) 및 제2 클라이언트 장치(218)는 인터넷과 같은 네트워크(214)를 통해 원격 컴퓨팅 장치(202)와 통신할 수 있다. 제1 클라이언트 장치(216) 및 제2 클라이언트 장치(218)는 각각 제1 클라이언트 장치(216) 및 제2 클라이언트 장치(218)에서 계산 자원을 보존하기 위해 계산 태크스를 원격 컴퓨팅 장치(202)로 오프로딩할 수 있다. 예를 들어, 원격 컴퓨팅 장치(202)는 자동 어시스턴트(204)를 호스팅할 수 있고, 제1 클라이언트 장치(216) 및/또는 제2 클라이언트 장치(218)는 하나 이상의 어시스턴트 인터페이스에서 수신된 입력을 원격 컴퓨팅 장치(202)로 전송할 수 있다. 그러나, 일부 구현 예에서, 자동 어시스턴트(204)는 제1 클라이언트 장치(216) 및/또는 제2 클라이언트 장치(218)에서 호스팅될 수 있다. 다양한 구현 예에서, 자동 어시스턴트(204)의 모든 양태보다 작거나 모두가 제1 클라이언트 장치(216) 및/또는 제2 클라이언트 장치(218) 상에서 구현될 수 있다. 이러한 구현예들 중 일부에서, 자동 어시스턴트(204)의 양태(aspect)들은 제1 클라이언트 장치(216) 또는 제2 클라이언트 장치(218)의 로컬 어시스턴트 애플리케이션 및 자동 어시스턴트(204)의 다른 양태들을 구현하는 원격 컴퓨팅 장치(202)와의 인터페이스를 통해 구현된다. 원격 컴퓨팅 장치(202)는 복수의 스레드를 통해 복수의 사용자 및 그들의 관련 어시스턴트 애플리케이션을 선택적으로 제공할 수 있다. 자동 어시스턴트(204)의 전부 또는 일부가 제1 클라이언트 장치(216)의 클라이언트 자동 어시스턴트(226) 또는 제2 클라이언트 장치(218)의 클라이언트 자동 어시스턴트(226)를 통해 구현되는 일부 구현 예에서, 클라이언트 자동 어시스턴트는 제1 클라이언트 장치(216) 및/또는 제2 클라이언트 장치(218)(예를 들어, 운영 체제의 "탑(top)"에 설치됨)의 운영 체제와 별개의 애플리케이션일 수 있거나, 또는 선택적으로 (예를 들어, 운영 체제의 애플리케이션으로 간주되지만 운영 체제와 통합된 것으로 간주되는) 제1 클라이언트 장치(216) 또는 제2 클라이언트 장치(218)의 운영 체제에 의해 직접 구현될 수 있다. The first client device 216 and the second client device 218 can communicate with the remote computing device 202 over a network 214, such as the Internet. The first client device 216 and the second client device 218 respectively transfer the computational task to the remote computing device 202 to conserve computational resources at the first client device 216 and the second client device 218. Can be offloaded. For example, the remote computing device 202 can host the automatic assistant 204, and the first client device 216 and / or the second client device 218 can remotely receive input received at one or more assistant interfaces. Transmit to computing device 202. However, in some implementations, the automatic assistant 204 can be hosted at the first client device 216 and / or the second client device 218. In various implementations, less than or all of all aspects of the automatic assistant 204 can be implemented on the first client device 216 and / or the second client device 218. In some of these implementations, aspects of the automatic assistant 204 implement other aspects of the local assistant application and the automatic assistant 204 of the first client device 216 or the second client device 218. It is implemented via an interface with a remote computing device 202. The remote computing device 202 can optionally provide a plurality of users and their associated assistant applications via a plurality of threads. In some implementations, all or part of the automatic assistant 204 is implemented through the client automatic assistant 226 of the first client device 216 or the client automatic assistant 226 of the second client device 218, and client automatic. The assistant may be an application separate from the operating system of the first client device 216 and / or the second client device 218 (eg, installed on the “top” of the operating system), or optionally It may be implemented directly by the operating system of the first client device 216 or the second client device 218 (eg, considered an application of the operating system but considered to be integrated with the operating system).

일부 구현 예에서, 원격 컴퓨팅 장치(202)는 어시스턴트 인터페이스에서 수신된 오디오 데이터를 처리하여 그 오디오 데이터에 구체화된 텍스트를 식별할 수 있는 음성-텍스트 변환 엔진(216)을 포함할 수 있다. 오디오 데이터를 텍스트로 변환하는 프로세스는 단어 또는 구에 대응하는 오디오 데이터의 그룹을 식별하기 위해 신경망, 워드투벡터(word2vec) 알고리즘 및/또는 통계 모델을 사용할 수 있는 음성 인식 알고리즘을 포함할 수 있다. 오디오 데이터로부터 변환된 텍스트는 텍스트 파서 엔진(208)에 의해 파싱될 수 있고, 사용자 및/또는 제3자 애플리케이션으로부터 명령 구문을 생성 및/또는 식별하는데 사용될 수 있는 텍스트 데이터로서 자동 어시스턴트(204)에 이용 가능하게 된다. In some implementations, the remote computing device 202 can include a speech-to-text conversion engine 216 that can process audio data received at the assistant interface to identify text embodied in the audio data. The process of converting audio data into text may include a speech recognition algorithm that may use neural networks, word-to-vector algorithms and / or statistical models to identify groups of audio data corresponding to words or phrases. The text converted from the audio data can be parsed by the text parser engine 208 and sent to the automatic assistant 204 as text data that can be used to generate and / or identify command phrases from users and / or third party applications. Become available.

일부 구현 예에서, 원격 컴퓨팅 장치(202)는 텍스트 데이터를 오디오 데이터로 변환하기 위한 텍스트-음성 변환 엔진(228)을 포함할 수 있다. 예를 들어, 수신된 메시지와 관련된 펜딩 액션 인텐트 요청(238)을 식별하는 자동차 자동 어시스턴트(234)에 응답하여, 자동차 자동 어시스턴트(234)는 메시지에 대응하는 콘텐트가 텍스트-음성 변환 엔진(228)으로 전송되게 할 수 있다. 콘텐트 수신에 응답하여, 텍스트-음성 변환 엔진(228)은 콘텐트를 오디오 데이터로 변환할 수 있으며, 이는 자동차 자동 어시스턴트(234)로 다시 송신될 수 있다. 그 다음, 자동차 자동 어시스턴트(234)는 오디오 데이터가 오디오 인터페이스(예를 들어, 스피커(들))로부터의 오디오 출력으로서 출력되도록 할 수 있다. 신경망(들), 통계 모델 및/또는 텍스트 데이터가 오디오(예를 들어, 오디오에 상응하는 자연어 출력)로 변환될 수 있는 임의의 다른 장치 또는 모듈을 사용하여 텍스트가 오디오로 변환될 수 있다. 일부 구현 예에서, 각각의 음성-텍스트 변환 엔진(216), 텍스트-음성 변환 엔진(228) 및/또는 텍스트 파서 엔진(208)은 자동차 컴퓨터 시스템(232), 제1 클라이언트 장치(216) 및/또는 제2 클라이언트 장치(218)와 같은 하나 이상의 클라이언트 측 장치에 위치될 수 있다. 이러한 방식으로, 각각의 자동 어시스턴트는 프로세싱(처리)을 위해 반드시 원격 서버에 데이터를 전송할 필요는 없지만, 오히려 사용자에 대한 특정 데이터를 생성 및/또는 해석하기 위해 데이터를 국부적으로 처리할 수 있다. In some implementations, the remote computing device 202 can include a text-to-speech engine 228 for converting text data into audio data. For example, in response to the car auto assistant 234 identifying the pending action intent request 238 associated with the received message, the car auto assistant 234 may cause the content corresponding to the message to be text-to-speech engine 228. ) Can be sent. In response to receiving the content, the text-to-speech engine 228 may convert the content into audio data, which may be sent back to the automotive automatic assistant 234. The automobile auto assistant 234 may then cause the audio data to be output as audio output from the audio interface (eg, speaker (s)). Text can be converted to audio using any other device or module that can convert neural network (s), statistical models, and / or text data into audio (eg, natural language output corresponding to audio). In some implementations, each speech-to-text conversion engine 216, text-to-speech engine 228 and / or text parser engine 208 may be used in the automotive computer system 232, the first client device 216 and / or the like. Or on one or more client-side devices, such as second client device 218. In this way, each automatic assistant does not necessarily have to send data to the remote server for processing, but rather can process the data locally to generate and / or interpret specific data for the user.

일부 구현 예에서, 서버 장치(230)의 동작들, 애플리케이션들 및/또는 엔진들 중 하나 이상은 자동차 컴퓨터 시스템(232), 제1 클라이언트 장치(216) 및/또는 제2 클라이언트 장치(218)에서 제공 및/또는 실행될 수 있다. 예를 들어, 일부 구현 예에서, 자동차 컴퓨터 시스템(232)은 텍스트-음성 변환 엔진(228) 및/또는 음성-텍스트 변환 엔진(216)에 포함할 수 있다. 또한, 일부 구현 예에서, 자동차 자동 어시스턴트(234), 클라이언트 자동 어시스턴트(246) 및/또는 클라이언트 자동 어시스턴트(248)에서 수신된 임의의 콘텐트는 각각의 어시스턴트를 호스팅하는 장치와 서버 장치(230) 사이에 연결이 있을 때 서버 장치(230)로 송신될 수 있다. 대안적으로 또는 부가적으로, 각각의 장치 또는 시스템과 서버 장치(230)간에 어떠한 연결도 이용 가능하지 않을 때, 수신된 임의의 콘텐트는 콘텐트가 병렬로 처리될 수 있도록 각각의 장치에서 독점적으로 처리되거나 다른 로컬 장치와 공유될 수 있다. 예를 들어, 콘텐트가 제2 클라이언트 장치(218)에서 수신되어 자동차 컴퓨터 시스템(232)에 송신된 메시지에 대응할 때, 자동차 컴퓨터 시스템(232)은 자동차에 타고있는 동안 사용자에게 제공될 수 있는 오디오를 생성하기 위해 로컬 텍스트-음성 변환 엔진을 사용할 수 있다.In some implementations, one or more of the operations, applications, and / or engines of server device 230 may be performed at automotive computer system 232, first client device 216, and / or second client device 218. May be provided and / or implemented. For example, in some implementations, automotive computer system 232 can include text-to-speech engine 228 and / or voice-to-text conversion engine 216. In addition, in some implementations, any content received at car auto assistant 234, client auto assistant 246, and / or client auto assistant 248 may be between the device hosting each assistant and the server device 230. May be sent to the server device 230 when there is a connection. Alternatively or additionally, when no connection is available between each device or system and server device 230, any content received is processed exclusively at each device so that the content can be processed in parallel. Or shared with other local devices. For example, when content is received at the second client device 218 and corresponds to a message sent to the car computer system 232, the car computer system 232 provides audio that may be provided to the user while in the car. You can use the local text-to-speech engine to generate it.

일부 구현 예에서, 하나 이상의 애플리케이션을 포함하는 각각의 장치 또는 시스템은 또한 하나 이상의 대응하는 액션 인텐트 생성 엔진을 포함할 수 있다. 액션 인텐트 생성 엔진은 애플리케이션, 다른 애플리케이션 및/또는 애플리케이션에 액세스 가능한 다른 모듈에 의해 수행되는 특정 액션을 유발하기 위해 애플리케이션에 의해 제어될 수 있다. 예를 들어, 애플리케이션은 메시징 애플리케이션일 수 있으며, 메시징 애플리케이션은 착신(incoming) 메시지를 수신할 수 있다. 착신 메시지 수신에 응답하여, 메시징 애플리케이션의 액션 인텐트 생성 엔진은 자동 어시스턴트를 통해 사용자에게 통지를 제공하기 위한 액션 인텐트를 생성할 수 있다. 액션 인텐트는 수행될 동작(예를 들어, 통지를 제공함), 수신된 메시지의 콘텐트, 메시지와 관련된 커스텀 식별자 및/또는 메시지와 관련될 수 있는 임의의 다른 데이터를 식별할 수 있다.In some implementations, each device or system that includes one or more applications can also include one or more corresponding action intent generation engines. The action intent generation engine may be controlled by an application to cause specific actions to be performed by the application, other applications, and / or other modules accessible to the application. For example, the application may be a messaging application, and the messaging application may receive an incoming message. In response to receiving the incoming message, the action intent generation engine of the messaging application may generate an action intent to provide notification to the user via an automatic assistant. The action intent may identify the action to be performed (eg, provide a notification), the content of the received message, a custom identifier associated with the message, and / or any other data that may be associated with the message.

일부 구현 예에서, 각 액션 인텐트 생성 엔진 및/또는 애플리케이션은 애플리케이션에 의해 수행될 수 있는 액션 유형을 나타내는 디클레이션(declaration) 및/또는 매니페스트(manifest) 파일과 연관될 수 있다. 예를 들어, 메시징 애플리케이션은 메시지 애플리케이션이 적어도 메시지를 수신할 수 있고, 사용자에게 메시지를 통지하고 및/또는 메시지에 응답할 수 있음을 나타내는 매니페스트 파일을 포함할 수 있다. 운영 체제 및/또는 자동 어시스턴트는 특정 애플리케이션이 특정 액션을 처리할 수 있는지 여부를 결정하기 위해 하나 이상의 장치에 있는 각 매니페스트 파일에 액세스할 수 있다. 이러한 방식으로, 예를 들어 자동차 컴퓨터 시스템(232)에서 생성된 액션 인텐트는 장치들 중 하나의 특정 매니페스트 파일이 액션 인텐트를 처리할 수 있는 장치에 애플리케이션이 있는지를 나타내는 지의 여부에 기초하여 제1 클라이언트 장치(216) 또는 제 2 클라이언트 장치(218)에 제공될 수 있다. 하나 이상의 애플리케이션이 특정 액션 인텐트를 처리할 수 있는 경우, 발신(originating) 장치 및/또는 별도의 장치는 (예를 들어, 그래픽 사용자 인터페이스를 통해) 특정 액션 인텐트를 처리하기 위해 장치를 선택하도록 사용자에게 프롬프트할 수 있다.In some implementations, each action intent generation engine and / or application can be associated with a declaration and / or manifest file that indicates the type of action that can be performed by the application. For example, the messaging application may include a manifest file indicating that the message application can receive at least the message, notify the user, and / or respond to the message. The operating system and / or the automatic assistant can access each manifest file on one or more devices to determine whether a particular application can handle a particular action. In this way, for example, the action intent created in the automotive computer system 232 may be based on whether or not the particular manifest file of one of the devices indicates that there is an application on the device that can handle the action intent. It may be provided to the first client device 216 or the second client device 218. If more than one application can handle a particular action intent, the originating device and / or a separate device may select a device to handle the particular action intent (eg, via a graphical user interface). You can prompt the user.

일부 구현 예에서, 각각의 액션 인텐트 생성 엔진은 또한 액션 인텐트의 각 액션 인텐트와 연관된 커스터머(customer) 식별자에 따라 액션 인텐트를 생성 및/또는 필터링할 수 있다. 예를 들어, 액션 인텐트 생성 엔진이 애플리케이션의 방향으로 액션 인텐트를 생성할 때 액션 인텐트 생성 엔진은 또한 커스텀 식별자를 생성할 수 있다. 커스텀 식별자는 액션을 수행하는데 사용될 콘텐트에 대한 식별자, 발신(originating) 애플리케이션을 나타내는 식별자, 수신자에 대한 식별자, 발신 사용자에 대한 식별자, 액션 인텐트의 컨텍스트에 대한 식별자, 및/또는 식별자를 생성하기 위한 기초로서 사용될 수 있는 임의의 다른 정보에 기초하여 생성될 수 있다.In some implementations, each action intent generation engine can also generate and / or filter action intents according to a customer identifier associated with each action intent of the action intent. For example, the action intent generation engine may also generate a custom identifier when the action intent generation engine generates an action intent in the direction of the application. The custom identifier is an identifier for the content to be used to perform the action, an identifier representing the originating application, an identifier for the recipient, an identifier for the originating user, an identifier for the context of the action intent, and / or for generating an identifier. It can be generated based on any other information that can be used as a basis.

각각의 자동 어시스턴트 및/또는 운영 시스템은 콘텐트 데이터, 수행될 의도된 액션 및/또는 커스텀 식별자를 식별하기 위한 액션 인텐트를 파싱하도록 구성될 수 있다. 일부 구현 예에서, 자동 어시스턴트는 발신 애플리케이션과 관련하여 불가지론적으로 보이는(seemingly agnostic) 각 액션 인텐트를 처리할 수 있다. 예를 들어, 제1 클라이언트 장치(216) 및 제2 클라이언트 장치(218)가 상이한 메시징 애플리케이션을 포함함에도 불구하고, 자동차 컴퓨터 시스템(232)은 자동차 컴퓨터 시스템(232)의 자동 어시스턴트 인터페이스를 통해 메시징 애플리케이션들로부터 액션 인텐트 요청들을 검색하고 메시지를 판독할 수 있다. 예를 들어, 제1 클라이언트 장치(216)에서의 메시지 애플리케이션은 액션 인텐트 요청(252)을 생성할 수 있고, 사용자가 차량(240)에 진입할 때, 펜딩 액션 인텐트 요청은 자동차 자동 어시스턴트(234)에 의해 액세스될 수 있다. 그 다음, 자동차 자동 어시스턴트(234)는 펜딩 액션 인텐트 요청의 해당 인스턴스를 생성할 수 있다. 액션 인텐트 요청에 의해 제공된 콘텐트 데이터는 "야, 너 벌써 떠났니? (Hey, have you left yet?)"와 같은 데이터를 포함할 수 있기 때문에, 자동차 자동 어시스턴트(234)는 콘텐트 데이터가 착신 메시지에 대응한다고 결정할 수 있다. 따라서, 많은 다른 메시징 애플리케이션이 유사한 방식으로 액션 인텐트를 생성하므로, 자동차 자동 어시스턴트(234)는 보편적인 방식으로 및/또는 해당 메시징 애플리케이션(예를 들어, 제1 서비스 제공자, 제2 서비스 제공자 등)을 제공한 엔티티에 대해 상대적으로 불가지론 적으로 그러한 액션 인텐트를 제시하고 이에 응답할 수 있다. Each automatic assistant and / or operating system may be configured to parse content data, an intended action to be performed, and / or an action intent to identify a custom identifier. In some implementations, the automatic assistant can handle each action intent that appears agnostic with respect to the originating application. For example, although the first client device 216 and the second client device 218 may include different messaging applications, the automotive computer system 232 may be capable of messaging applications through the automatic assistant interface of the automotive computer system 232. Can retrieve action intent requests and read the message. For example, the message application at the first client device 216 may generate an action intent request 252, and when the user enters the vehicle 240, the pending action intent request may be generated by the car auto assistant ( 234 may be accessed. The car auto assistant 234 may then create a corresponding instance of the pending action intent request. Since the content data provided by the action intent request may include data such as "Hey, have you left yet?", The car auto assistant 234 may request that the content data be an incoming message. Can be determined to correspond to. Thus, because many other messaging applications generate action intents in a similar manner, the automotive automatic assistant 234 is in a universal manner and / or in such messaging applications (eg, first service provider, second service provider, etc.). It is possible to present and respond to such action intents relatively agnosticly for the entity that provided.

일부 구현 예에서, 음성 인식 엔진과 자동 어시스턴트간에 다수의 턴(turn)을 수행하기보다는 복수의 음성 발화에 대응하는 오디오 데이터를 처리하기 위해 음성-텍스트 변환 엔진을 사용함으로써 연산 자원이 보존될 수 있다. 예를 들어, 핵심(주요) 자동 어시스턴트는 "로버트에게 메시지 보내기"와 같은 사용자 명령을 수신할 수 있다. 이에 응답하여 핵심(주요) 자동 어시스턴트는 "Ok, 당신의 제1 애플리케이션, 제2 애플리케이션, 제3 애플리케이션 중에서 어떤 메시징 애플리케이션을 사용하시겠습니까?"와 같은 미리 구성된 응답을 가질 수 있다. 사용자는 "나의 제1 애플리케이션"과 같은 응답을 제공할 수 있으며, "오늘은 어땠어?"와 같은 메시지를 지시할 수 있다. 일부 구현 예에서, 자동 어시스턴트는 사용할 메시징 애플리케이션을 확인하고, 사용자가 메시지 (예: "확인, 메시지를 보내거나 메시지를 변경해야합니까?")를 보내거나 변경할지 여부를 묻습니다. 이때, 사용자는 다른 메시징 애플리케이션을 선택하도록 요청할 수 있다. 예를 들어, 사용자는 "제1 메시징 애플리케이션 대신 제2 메시징 애플리케이션으로 보내주십시오."라고 대답할 수 있다. 이에 응답하여, 자동 어시스턴트는 제2 메시징 애플리케이션에 의해 메시지가 전송되도록 할 수 있다. 이렇게 하면 메시지 처리가 각 개별 메시징 애플리케이션에 맞게 조정될 필요가 없으므로 사용자와 자동 어시스턴트 간의 턴(turn) 횟수를 줄일 수 있다.In some implementations, computational resources can be conserved by using a speech-to-text conversion engine to process audio data corresponding to multiple speech utterances rather than performing multiple turns between the speech recognition engine and the automatic assistant. . For example, the core (major) automatic assistant may receive a user command such as "send a message to Robert." In response, the core (major) automatic assistant may have a preconfigured response such as "Ok, which messaging application do you want to use in your first application, second application, or third application?" The user can provide a response such as "My First Application" and can direct a message like "How was today?" In some implementations, the automatic assistant confirms which messaging application to use and asks if the user sends or changes a message (for example, "Do I need to confirm, send a message, or change the message?"). At this point, the user may request to select another messaging application. For example, the user may reply "Send to the second messaging application instead of the first messaging application." In response, the automatic assistant can cause the message to be sent by the second messaging application. This reduces the number of turns between the user and the automatic assistant because the message processing does not have to be tailored for each individual messaging application.

일부 구현 예에서, 각각의 자동 어시스턴트(예를 들어, 자동차 자동 어시스턴트(234))는 펜딩 액션 인텐트 요청에 대응하는 데이터를 포함하는 이벤트 핸들러를 액세스 및/또는 관리할 수 있다. 펜딩 액션 인텐트 요청을 수행하는 액션이 수행되면 각 자동 어시스턴트의 각 이벤트 핸들러를 업데이트할 수 있다. 일부 구현 예에서, 이벤트 핸들러는 동일한 이벤트에 대응하는 펜딩 액션 인텐트 요청을 포함할 수 있다. 예를 들어, 수신된 메시지에 여러 개의 다른 액션을 연결할 수 있다. 따라서, 사용자가 자신의 제1 클라이언트 장치(216)에서 문자 메시지를 수신하면, 해당 메시징 애플리케이션은 상기 수신된 문자 메시지를 처리하기 위한 다수의 액션 인텐트 요청을 생성할 수 있다. 제1 클라이언트 장치(216)가 블루투스, Wi-Fi, LTE 등과 같은 무선 통신 방식을 통해 자동차 컴퓨터 시스템(232)과 페어링할 때, 자동차 자동 어시스턴트(234)는 다수의 액션 인텐트 요청의 해당 인스턴스를 생성할 수 있다. 다중 액션 인텐트 요청의 해당 인스턴스는 자동차 자동 어시스턴트(234)의 이벤트 핸들러에 의해 관리될 수 있고, 다수의 액션 인텐트 요청들의 해당 인스턴스를 제1 클라이언트 장치(216)에서 수신된 텍스트 메시지와 관련시키는 일정량의 데이터를 포함할 수 있다. 예를 들어, 자동차 자동 어시스턴트(234)의 이벤트 핸들러에 의해 식별된 액션 인텐트 요청은 텍스트 메시지를 사용자에게 알리고 응답을 원하는지 여부를 사용자에게 프롬프트하는 액션에 해당할 수 있다. 자동차 자동 어시스턴트(234)는 제1 클라이언트 장치(216)에 설치된 메시징 애플리케이션에 직접적으로 로컬 액세스하지 않고, 상기 수신된 문자(텍스트) 메시지와 관련된 두 가지 액션을 실행할 수 있다.In some implementations, each auto assistant (eg, auto assistant 234) can access and / or manage an event handler that includes data corresponding to a pending action intent request. When an action that performs a pending action intent request is performed, each event handler of each auto assistant can be updated. In some implementations, the event handler can include a pending action intent request corresponding to the same event. For example, you can associate several different actions with a received message. Thus, when a user receives a text message at his or her first client device 216, the messaging application may generate a number of action intent requests to process the received text message. When the first client device 216 pairs with the automotive computer system 232 via a wireless communication scheme such as Bluetooth, Wi-Fi, LTE, or the like, the automotive automatic assistant 234 may associate corresponding instances of multiple action intent requests. Can be generated. That instance of the multiple action intent request may be managed by an event handler of the automobile auto assistant 234, which associates the instance of the multiple action intent requests with the text message received at the first client device 216. It can contain a certain amount of data. For example, the action intent request identified by the event handler of automobile auto assistant 234 may correspond to an action that informs the user of a text message and prompts the user whether or not they want a response. The automotive automated assistant 234 may execute two actions related to the received text (text) message without having direct local access to a messaging application installed on the first client device 216.

또한, 도 3a, 도 3b 및 도 3c는 휴대용 컴퓨팅 장치의 클라이언트 자동 어시스턴트가 자동 어시스턴트의 다수의 인스턴스에 대한 1차(핵심, 주요) 자동 어시스턴트로서 동작 할 수있는 시나리오의 사시도(300, 302 및 304)를 나타낸다. 예를 들어, 사용자가 집(318)에 있는 동안, 오작동은 사용자와 관련된 자동차(316)에서 검출될 수 있다. 예를 들어, 설치류가 밤에 자동차(316)의 브레이크 센서에 연결되는 전선과 같은 케이블을 씹은(chewed) 것이 이슈가 될 수 있다. 자동차(316)의 자동차 컴퓨터 시스템(306)이 대기 모드에서 작동할 수 있지만, 자동차 자동 어시스턴트(308)는 상기 이슈에 응답하여 그 이슈와 관련된 하나 이상의 액션 인텐트 요청(312)을 생성할 수 있다. 구체적으로, 자동차 자동 어시스턴트(308)는 사용자에게 자동차 이슈 통지(예컨대, "브레이크 센서")를 디스플레이하기 위한 액션 인텐트 요청(314) 및 사용자로 하여금 상기 이슈를 해결하기 위해 유지보수(maintenance)(예: "스케줄 수정?")를 스케줄링하도록 프롬프트하기 위한 또 다른 액션 인텐트 요청(320)을 생성할 수 있다. 각 액션 인텐트 요청은 원래의 이슈와 관련될 수 있는 동일한 커스텀 식별자(예: '4KAJC92W')로 생성될 수 있다. 또한, 각 액션 인텐트 요청은 수행할 액션(예: "통지(알림)" 및 "스케줄(일정)")을 식별할 수 있다.3A, 3B, and 3C also illustrate perspective views 300, 302, and 304 of a scenario in which a client auto assistant of a portable computing device can operate as a primary (core, primary) auto assistant for multiple instances of an auto assistant. ). For example, while the user is at home 318, a malfunction may be detected in the car 316 associated with the user. For example, it may be an issue that rodents chewed a cable, such as a wire, that is connected to the brake sensor of the car 316 at night. Although automotive computer system 306 of automobile 316 may operate in a standby mode, automobile auto assistant 308 may generate one or more action intent requests 312 associated with the issue in response to the issue. . Specifically, the automobile auto assistant 308 may request an action intent request 314 to display a car issue notification (eg, a "brake sensor") to the user and maintain the maintenance ( Example: "Modify Schedule?") May generate another action intent request 320 to prompt for scheduling. Each action intent request can be generated with the same custom identifier (eg '4KAJC92W') that can be associated with the original issue. In addition, each action intent request may identify actions to be performed (eg, "notifications" and "schedules").

도 3b는 클라이언트 자동 어시스턴트(328)로서 자동 어시스턴트의 인스턴스를 또한 포함하는 셀룰러 장치(328)와 함께 자동차(316)에 진입하는 사용자(322)의 사시도(302)를 도시한다. 일부 구현 예에서, 자동차 컴퓨터 시스템(306)은 셀룰러 장치(328)에 직접 설치되지 않은 자동차 애플리케이션(310)을 포함할 수 있다. 또한, 일부 구현 예에서, 셀룰러 장치(328)는 자동차 컴퓨터 시스템(306)에 직접 설치되지 않은 셀룰러 애플리케이션(332)을 포함할 수 있다. 그럼에도 불구하고, 액션 인텐트 요청은 무선 방식을 통해 자동차 컴퓨터 시스템(306)과 셀룰러 장치(328) 사이에서 전송될 수 있고, 각각의 자동 어시스턴트에 의해 파싱될 수 있다. 3B shows a perspective view 302 of a user 322 entering a car 316 with a cellular device 328 that also includes an instance of the automatic assistant as the client automatic assistant 328. In some implementations, automotive computer system 306 may include automotive application 310 that is not directly installed on cellular device 328. In addition, in some implementations, the cellular device 328 can include a cellular application 332 that is not directly installed in the automotive computer system 306. Nevertheless, the action intent request may be sent between the automotive computer system 306 and the cellular device 328 via a wireless scheme, and may be parsed by each automatic assistant.

예를 들어, 액션 인텐트 요청(314 및 320)은 자동차 애플리케이션(310)의 유지보수 애플리케이션에 의해 생성되고, 자동차 자동 어시스턴트(308)에 의해 액세스될 수 있다. 사용자(322)가 그들의 셀룰러 장치(328)와 함께 차량에 진입할 때, 자동차 컴퓨터 시스템(306) 및 셀룰러 장치(328)는 그들 사이에 보안 통신 채널(326)이 제공되도록 보장하기 위해 핸드셰이크를 수행할 수 있다. 통신 채널(326)이 설정되면, 클라이언트 자동 어시스턴트(330)는 자동차 컴퓨터 시스템(306)에서 이용 가능한 펜딩 액션 인텐트 요청(312)을 식별할 수 있다. 또한, 자동차 컴퓨터 시스템(306)은 셀룰러 장치(328)에서 이용 가능한 임의의 액션 인텐트 요청(334)을 식별할 수 있다. 클라이언트 자동 어시스턴트(330)가 액션 인텐트 요청(314 및 320)이 셀룰러 장치(328)에서 임의의 해당 인스턴스를 갖지 않는다고 결정할 때, 클라이언트 자동 어시스턴트(330)는 액션 인텐트 요청(314 및 320)의 인스턴스가 셀룰러 장치(328)에서 이용 가능하게 할 수 있다. 셀룰러 장치(328)에서의 액션 인텐트 요청(314 및 320)의 인스턴스는 자동차 컴퓨터 시스템(306)으로부터의 동일한 커스텀 식별자를 포함할 수 있고, 따라서 특정 이벤트(예를 들어, 브레이크 센서가 검출된 이슈)에 대한 업데이트가 시간에 따라 컴파일(compiled)되도록 한다.For example, action intent requests 314 and 320 may be generated by the maintenance application of the car application 310 and accessed by the car auto assistant 308. When a user 322 enters a vehicle with their cellular device 328, the automotive computer system 306 and the cellular device 328 establish a handshake to ensure that a secure communication channel 326 is provided between them. Can be done. Once the communication channel 326 is established, the client auto assistant 330 can identify the pending action intent request 312 available to the automotive computer system 306. In addition, automotive computer system 306 may identify any action intent request 334 available at cellular device 328. When the client auto assistant 330 determines that the action intent requests 314 and 320 do not have any corresponding instances at the cellular device 328, the client auto assistant 330 is responsible for the action intent requests 314 and 320. The instance may be made available to the cellular device 328. The instances of action intent requests 314 and 320 at the cellular device 328 may include the same custom identifier from the automotive computer system 306, thus causing a particular event (eg, an issue where a brake sensor was detected). To be compiled over time.

도 3c는 액션 인텐트 요청(314 및 320)의 인스턴스가 생성된 이후 자신의 집(346)에 있는 사용자(322)의 사시도(304)를 도시한다. 특히, 사용자(322)는 자신의 집(346)에 진입할 수 있고, 이에 응답하여, 클라이언트 자동 어시스턴트는 액션 인텐트 요청(314 및 320)에 의해 지시된 액션을 완료하려고 시도할 수 있다. 예를 들어, 클라이언트 자동 어시스턴트는 셀룰러 장치(328)의 디스플레이 인터페이스로 하여금 액션 인텐트 요청들(314 및 320)에 대응할 수 있는 선택 가능한 요소들(338 및 340)을 제공하게 할 수 있다. 대안적으로, 사용자(322)는 클라이언트 자동 어시스턴트가 임의의 펜딩 액션 인텐트 요청과 관련된 임의의 통지를 제시하게 하기 위해 셀룰러 장치(328)의 인터페이스(예를 들어, 마이크로폰)에 음성 발화(336)를 제공할 수 있다. 예를 들어, 사용자(322)는 "어시스턴트, 펜딩 통지를 보여줘"와 같은 음성 발화(336)를 제공할 수 있다. 이에 응답하여, 클라이언트 자동 어시스턴트는 인근 디스플레이 패널로 하여금 사용자(322)에게 액션 인텐트 요청과 관련된 통지를 제시하게 한다. 3C shows a perspective view 304 of user 322 in his home 346 after instances of action intent requests 314 and 320 have been created. In particular, user 322 may enter his home 346, and in response, the client auto assistant may attempt to complete the action indicated by action intent requests 314 and 320. For example, the client automatic assistant can cause the display interface of the cellular device 328 to provide selectable elements 338 and 340 that can correspond to action intent requests 314 and 320. Alternatively, user 322 may voice 336 the interface (eg, a microphone) of cellular device 328 to cause the client auto assistant to present any notification associated with any pending action intent request. Can be provided. For example, the user 322 can provide a voice utterance 336 such as "show assistant, pending notification." In response, the client automatic assistant causes the nearby display panel to present a notification to the user 322 related to the action intent request.

사용자(322)가 선택 가능한 요소(338 및 340) 중 하나를 선택하면, 액션 인텐트 요청(314 및 320)의 펜던시는 액션 인텐트 요청들(314 및 320)의 인스턴스를 포함하는 각각의 장치에서 해제(dismissed)될 수 있다. 예를 들어, 액션 인텐트 요청(314 및 320)의 인스턴스는 자동차 컴퓨터 시스템(306) 및 셀룰러 장치(328)에서 해제될 수 있다. 일부 구현 예에서, 사용자(322)가 선택 가능한 요소(338 및 340)를 선택하는 것에 응답하여, 데이터가 네트워크(342)를 통해 원격 장치(344)로 송신될 수 있는 경우, 액션 인텐트 요청(314 및 320)은 자동차 컴퓨터 시스템에서 해제될 수 있다. 원격 장치(344)는 이후에 원격 컴퓨터(344)에서의 데이터에 따라 자동차 컴퓨터 시스템(306)의 이벤트 핸들러를 업데이트할 수 있는 자동차 컴퓨터 시스템(306)에 의해 액세스될 수 있다.When the user 322 selects one of the selectable elements 338 and 340, the device's dependency on action intent requests 314 and 320 respectively includes an instance of the action intent requests 314 and 320. Can be dismissed from. For example, instances of action intent requests 314 and 320 may be released at automotive computer system 306 and cellular device 328. In some implementations, in response to the user 322 selecting the selectable elements 338 and 340, if data can be sent to the remote device 344 via the network 342, the action intent request ( 314 and 320 may be released in an automotive computer system. The remote device 344 may then be accessed by the automotive computer system 306, which may update the event handler of the automotive computer system 306 according to the data at the remote computer 344.

또한, 도 4a 및 도 4b는 클라이언트 장치가 자동차 컴퓨터 시스템과 통신할 때 생성된 액션 인텐트 요청을 핸들링하기 위한 방법(400 및 410)을 도시한다. 방법(400 및 410)은 컴퓨팅 장치, 애플리케이션, 및/또는 무선 접속을 통해 통신할 수 있는 임의의 다른 장치 또는 모듈 중 하나 이상에 의해 수행될 수 있다. 방법(400)은 자동차 자동 어시스턴트에 의해, 클라이언트 장치에서 생성된 제1 액션 인텐트 요청을 식별하는 동작(402)을 포함할 수 있다. 클라이언트 장치는 무선 통신 방식을 통해 자동차 컴퓨터 시스템과 페어링될 수 있다. 제1 액션 인텐트 요청은 예를 들어, 애플리케이션에서 수행된 동작(예를 들어, 메시지 수신)에 응답하여 클라이언트 장치에서의 애플리케이션에 의해 생성될 수 있다. 일부 구현 예에서, 자동차 컴퓨터 시스템은 클라이언트 장치의 애플리케이션의 해당 인스턴스가 무효(void)로 될 수 있다. 구체적으로, 자동차 컴퓨터 시스템은 클라이언트 장치에서 애플리케이션을 제공하고 및/또는 클라이언트 장치에서 애플리케이션과 적어도 부분적으로 상관되는 제3자가 제공하는 별도의 애플리케이션을 무효로 할 수 있다. 예를 들어, 상기 애플리케이션은 텍스트 메시징 애플리케이션일 수 있으며, 자동차 컴퓨터 시스템은 텍스트 메시징 애플리케이션을 무효로 할 수 있다. 4A and 4B also illustrate methods 400 and 410 for handling action intent requests generated when a client device communicates with an automotive computer system. The methods 400 and 410 may be performed by one or more of a computing device, an application, and / or any other device or module capable of communicating over a wireless connection. The method 400 may include an operation 402 of identifying, by the automotive automated assistant, a first action intent request generated at the client device. The client device can be paired with the automotive computer system via a wireless communication scheme. The first action intent request may be generated by the application at the client device, for example in response to an action performed at the application (eg, receiving a message). In some implementations, the automotive computer system can void that instance of the application of the client device. In particular, the automotive computer system may invalidate a separate application provided by a third party that provides the application on the client device and / or at least partially correlates with the application on the client device. For example, the application may be a text messaging application, and the automotive computer system may invalidate the text messaging application.

방법(400)은 제1 액션 인텐트 요청이 수행될 제1 요청된 액션, 콘텐트 데이터 및 커스텀 식별자를 식별하는지를 결정하는 동작(404)을 더 포함할 수 있다. 상기 제1 요청된 액션은 착신 메시지가 클라이언트 장치에 설치된 메시징 애플리케이션에서 수신되었음을 사용자에게 알리기위한 요청일 수 있다. 콘텐트 데이터는 수신된 텍스트 메시지(예를 들어, "진행 중입니까?")에 제공된 텍스트의 일부 또는 전부를 식별할 수 있다. 또한, 커스텀 식별자는 수신된 텍스트 메시지와 제1 액션 인텐트 요청 사이의 대응(correspondence)을 제공할 수 있는 데이터의 스트링일 수 있어서, 제1 액션 인텐트 요청으로 취해진 임의의 추가 액션이 수신된 텍스트 메시지와 후속적으로 연관될 수 있다.The method 400 may further include an operation 404 of determining whether the first action intent request identifies a first requested action, content data, and a custom identifier to be performed. The first requested action may be a request to inform the user that an incoming message has been received at a messaging application installed on a client device. The content data may identify some or all of the text provided in the received text message (eg, “in progress?”). In addition, the custom identifier may be a string of data that may provide a correspondence between the received text message and the first action intent request, such that any additional action taken with the first action intent request was received. May be subsequently associated with the message.

방법(400)은 또한 자동차 컴퓨터 시스템에 액세스 가능한 자동 어시스턴트 인터페이스가 자동차 컴퓨터 시스템의 사용자에게 출력을 제공하도록 하는 동작(406)을 포함할 수 있다. 예를 들어, 출력은 제1 액션 인텐트 요청이 통지를 제공하는 액션에 대응한다고 결정하는 자동차 자동 어시스턴트에 응답하여 제공될 수 있다. 상기 통지는 자동차 컴퓨터 시스템에 연결된 디스플레이 패널일 수 있는 자동 어시스턴트 인터페이스에서 제공될 수 있다. 또는, 자동 어시스턴트 인터페이스는 자동차 컴퓨터 시스템에 연결된 스피커일 수 있으며, 상기 통지(알림)는 "메튜가 '가는 중이니?'라는 메시지를 당신에게 보냈습니다"와 같은 가청 오디오 출력일 수 있다.The method 400 may also include an operation 406 that causes an automatic assistant interface accessible to the automotive computer system to provide output to a user of the automotive computer system. For example, the output may be provided in response to an automobile auto assistant that determines that the first action intent request corresponds to an action that provides a notification. The notification may be provided at an automatic assistant interface, which may be a display panel connected to the automotive computer system. Alternatively, the automatic assistant interface may be a speaker connected to the automotive computer system, and the notification may be an audible audio output such as "Meeting has sent you the message 'Are you going?'".

방법(400)은, 자동차 자동 어시스턴트에 의해, 사용자가 자동 어시스턴트 인터페이스에서 제공된 출력에 응답하여 입력을 제공했는지를 결정하는 동작(408)을 더 포함할 수 있다. 예를 들어, 사용자는 자동차의 자동 어시스턴트 인터페이스(예: 마이크로폰)에 "응답하십시오. 예, 가고 있습니다."와 같이 응답하는 음성 발화를 제공할 수 있다. 자동차 자동 어시스턴트 장치는 상기 응답하는 음성 발화에 대응하는 오디오 데이터를 수신할 수 있고, 오디오 데이터가 국부적으로 처리되도록하거나 처리를 위해 별도의 장치로 오디오 데이터를 전송할 수 있다. 오디오 데이터를 처리함으로써, 자동차 자동 어시스턴트는 사용자가 텍스트 메시지의 통지를 승인했는지 여부 및 사용자가 수행하기를 원하는 임의의 다른 동작을 결정할 수 있다. 예를 들어, 응답하는 음성 발화를 수신한 것에 응답하여, 자동차 자동 어시스턴트는 제2 액션 인텐트 요청이 생성되게 할 수 있다.The method 400 may further include an operation 408 of determining, by the automobile auto assistant, whether the user provided an input in response to an output provided at the auto assistant interface. For example, a user may provide a spoken speech that responds to the car's automatic assistant interface (such as a microphone) such as "Respond. Yes, go." The automotive assistant device may receive audio data corresponding to the responding voice utterance, and may cause the audio data to be locally processed or transmit the audio data to a separate device for processing. By processing the audio data, the car auto assistant can determine whether the user has approved the notification of the text message and any other action the user wants to perform. For example, in response to receiving the responding voice utterance, the automotive automated assistant may cause the second action intent request to be generated.

방법(400)은 도 4a 및 4b에서 원으로 둘러싼 연속 요소 "A"에 의해 지시된 바와 같이 방법(410)으로 진행할 수 있다. 방법(410)은 사용자가 입력을 제공한 것으로 결정한 것에 응답하여, 클라이언트 장치에 제2 액션 인텐트 요청을 제공하는 동작(412)을 포함할 수 있다. 제2 액션 인텐트 요청은 제2 요청된 액션, 다른 콘텐트 데이터, 및/또는 제1 액션 인텐트 요청과 관련된 커스텀 식별자를 식별할 수 있다. 제2 요청된 액션은 메시징 애플리케이션에서 수신된 텍스트 메시지에 응답하도록 하는 요청일 수 있다. 다른 콘텐트 데이터는 응답하는 음성 발화(예: "콘텐트-데이터 ='텍스트: 예, 가고 있습니다")를 기반으로 한 텍스트를 포함할 수 있으며, 커스텀 식별자는 제1 액션 인텐트 요청과 동일한 커스텀 식별자일 수 있다. Method 400 may proceed to method 410 as indicated by the continuous element “A” enclosed in circles in FIGS. 4A and 4B. The method 410 may include an act 412 of providing a second action intent request to the client device in response to determining that the user provided the input. The second action intent request may identify a second requested action, other content data, and / or a custom identifier associated with the first action intent request. The second requested action may be a request to respond to a text message received at the messaging application. The other content data may include text based on the responding voice utterance (eg, "content-data = 'text: yes, go"), the custom identifier being the same custom identifier as the first action intent request. Can be.

방법(410)은 제2 요청된 액션이 다른 콘텐트 데이터를 사용하는 애플리케이션에 의해 클라이언트 장치에서 수행되게 하는 동작(414)을 더 포함할 수 있다. 예를 들어, 액션이 응답하는 메시지를 송신하는 것을 포함하는 경우, 클라이언트 장치는 응답하는 메시지를 생성하고, 텍스트 메시지를 클라이언트 장치로 초기에 보낸 사람에게 응답 메시지를 송신하기 위해 콘텐트 데이터를 사용할 수 있다. 제2 액션 인텐트 요청이 대응하는 텍스트 메시지 및/또는 애플리케이션을 식별하기 위해, 클라이언트 장치에서의 자동 어시스턴트의 인스턴스는 커스텀 식별자를 제1 액션 인텐트 요청과 함께 제공된 커스텀 식별자와 비교할 수 있다. 선택적으로 또는 부가적으로, 자동 어시스턴트는 메시징 애플리케이션의 매니페스트 파일에 의해 지시된 바와 같이, 메시징 애플리케이션이 제2 요청된 액션을 수행할 수 있는지 여부에 기초하여 메시징 애플리케이션을 식별할 수 있다. 클라이언트 장치의 자동 어시스턴트는 메시징 애플리케이션으로 하여금 제2 요청된 액션을 수행하게 하고, 그에 따라 응답하는 음성 발화에 대응하는 텍스트 메시지를 전송할 수 있게 한다.The method 410 may further include an operation 414 for causing the second requested action to be performed at the client device by an application using other content data. For example, if the action includes sending a replying message, the client device may use the content data to generate a replying message and send a response message to the sender who initially sent the text message to the client device. . In order to identify the text message and / or application to which the second action intent request corresponds, the instance of the automatic assistant at the client device can compare the custom identifier with the custom identifier provided with the first action intent request. Optionally or additionally, the automatic assistant can identify the messaging application based on whether the messaging application can perform the second requested action, as indicated by the manifest file of the messaging application. The automatic assistant of the client device allows the messaging application to perform the second requested action and thus send a text message corresponding to the responding voice utterance.

도 5는 자동 어시스턴트의 상이한 인스턴스들로부터 제공되는 다수의 상이한 액션 인텐트 요청들에 따라 인터페이스로부터의 출력을 제공하는 방법(500)을 도시한다. 방법(500)은 컴퓨팅 장치, 애플리케이션, 및/또는 자동 어시스턴트와 상호 작용할 수 있는 임의의 다른 장치 또는 모듈 중 하나 이상에 의해 수행될 수 있다. 상기 방법(500)은 자동차 컴퓨터 시스템에 의해, 무선 통신 방식을 통해 클라이언트 자동 어시스턴트를 포함하는 제1 클라이언트 장치와 접속하기 위한 동작(502)을 포함할 수 있다. 제1 클라이언트 장치는 예를 들어, 휴대 전화기 또는 태블릿 컴퓨터와 같은 휴대용 컴퓨팅 장치일 수 있고, 자동차 컴퓨터 시스템은 다수의 승객을 운송할 수 있는 차량에 필수적인 컴퓨팅 장치일 수 있다. 또한, 무선 방식은 블루투스, Wi-Fi, LTE 및/또는 다수의 컴퓨팅 장치가 상호 작용할 수 있는 임의의 다른 방식과 같은 하나 이상의 무선 통신 프로토콜일 수 있다.5 shows a method 500 for providing output from an interface in accordance with a number of different action intent requests provided from different instances of an automatic assistant. Method 500 may be performed by one or more of a computing device, an application, and / or any other device or module capable of interacting with an automatic assistant. The method 500 may include an operation 502 for connecting, by an automotive computer system, with a first client device that includes a client automatic assistant via a wireless communication scheme. The first client device may be, for example, a portable computing device such as a mobile phone or tablet computer, and the automotive computer system may be a computing device essential for a vehicle capable of carrying a large number of passengers. In addition, the wireless scheme may be one or more wireless communication protocols, such as Bluetooth, Wi-Fi, LTE, and / or any other manner in which multiple computing devices may interact.

방법(500)은 자동차 컴퓨터 시스템에 의해 그리고 무선 통신 방식을 통해 다른 클라이언트 자동 어시스턴트를 포함하는 제2 클라이언트 장치와 연결(접속)하는 동작(504)을 더 포함할 수 있다. 다른 클라이언트 자동 어시스턴트는 클라이언트 자동 어시스턴트와 동일하거나 상이한 엔티티로 제공될 수 있고, 제2 클라이언트 장치는 제1 클라이언트 장치와 동일하거나 상이한 타입의 클라이언트 장치일 수 있다. 예를 들어, 제1 클라이언트 장치는 자동차의 운전자에 의해 소유될 수 있고, 제2 클라이언트 장치는 자동차의 승객에 의해 소유될 수 있다. 또한, 운전자 및 자동차 승객이 자동차에 진입할 때, 동작(502) 및 동작(504)이 수행될 수 있다. 이런 방식으로, 자동차 자동 어시스턴트는 운전자와 승객이 자동차에 있을 때 클라이언트 자동 어시스턴트 및 다른 클라이언트 자동 어시스턴트와 상호 작용할 수 있다.The method 500 may further comprise an operation 504 of connecting (connecting) with a second client device including another client automatic assistant by the automotive computer system and via a wireless communication scheme. The other client automatic assistant may be provided in the same or different entity as the client automatic assistant, and the second client device may be the same or different type of client device as the first client device. For example, the first client device may be owned by the driver of the car and the second client device may be owned by the passenger of the car. Further, when the driver and the car passenger enter the car, the operations 502 and 504 may be performed. In this way, the car auto assistant can interact with the client auto assistant and other client auto assistants when the driver and passenger are in the car.

방법(500)은 제1 액션 인텐트 요청이 제1 클라이언트 장치에서 애플리케이션에 의해 생성되었고 제2 액션 인텐트 요청이 제2 클라이언트 장치에서 다른 애플리케이션에 의해 생성되었다는 것을 결정하는 동작(506)을 더 포함할 수 있다. 제1 액션 인텐트 요청은 운전자에게 제공될 통지에 대한 요청에 대응할 수 있고, 상기 통지는 제1 클라이언트 장치에서 수신된 메시지에 관한 정보를 제공할 수 있다. 제2 액션 인텐트 요청은 승객에게 제시될 다른 통지에 대한 다른 요청에 대응할 수 있다. 다른 통지는 제2 클라이언트 장치에서 수신된 다른 메시지에 관한 상이한 정보를 제공할 수 있다. The method 500 further includes an operation 506 of determining that the first action intent request was generated by the application at the first client device and the second action intent request was generated by another application at the second client device. can do. The first action intent request may correspond to a request for a notification to be provided to a driver, wherein the notification may provide information about a message received at the first client device. The second action intent request may correspond to another request for another notification to be presented to the passenger. The other notification can provide different information about the other message received at the second client device.

방법(500)은 또한 자동차 컴퓨터 시스템에서 별도의 애플리케이션에 의해 제3 액션 인텐트 요청이 생성되었다는 것을 결정하는 동작(508)을 포함할 수 있다. 별도의 애플리케이션은 예를 들어 자동차의 하나 이상의 센서를 모니터링하는 유지관리(유지보수) 애플리케이션일 수 있다. 또한, 제1 클라이언트 장치 및 제2 클라이언트 장치는 유지보수 애플리케이션의 임의의 해당 인스턴스를 무효로 할 수 있다. 일부 구현 예에서, 제3 액션 인텐트 요청은 오일 교환이 지연되고 및/또는 브레이크 유동체가 교체될 필요가 있는 것과 같은 차량 상태에 관해 운전자에게 제공될 통지에 대한 요청에 대응할 수 있다.The method 500 may also include an operation 508 for determining that the third action intent request was generated by a separate application in the automotive computer system. The separate application can be, for example, a maintenance (maintenance) application that monitors one or more sensors of the vehicle. In addition, the first client device and the second client device may invalidate any corresponding instance of the maintenance application. In some implementations, the third action intent request can correspond to a request for a notification to be provided to the driver regarding a vehicle condition, such as delayed oil change and / or brake fluid needs to be replaced.

방법(500)은 또한 자동차 컴퓨터 시스템에서, 제1 액션 인텐트 요청, 제2 액션 인텐트 요청 및 제3 액션 인텐트 요청의 각 액션 인텐트 요청의 펜던시를 나타내는 데이터를 생성하는 동작(510)을 포함할 수 있다. 상기 데이터는 다양한 상이한 애플리케이션 및/또는 장치로부터의 다양한 상이한 액션 인텐트 요청에 대응하는 데이터를 정렬할 수 있는 이벤트 핸들러 엔진으로서 구현되거나 액세스 가능할 수 있다. 예를 들어, 데이터는 각각의 액션 인텐트 요청의 우선순위를 식별할 수 있다. 액션 인텐트 요청에 대한 우선순위는 예를 들어 액션 인텐트 요청이 1차(핵심, 주요) 자동 어시스턴트(즉, 적어도 하나 이상의 다른 자동 어시스턴트가 통신하고 있는 자동 어시스턴트)를 포함하는 장치에서 생성되었는지 여부에 기반할 수 있다. 예를 들어, 운전자 및 승객이 자동차에 탑승할 때, 1차 자동 어시스턴트는 자동차의 자동차 컴퓨터 시스템에 설치되기 때문에 자동차 자동 어시스턴트가 될 수 있다. 제1 클라이언트 장치와 같이 차량의 운전자와 관련된 장치에 의해 제공되는 동액션 인텐트 요청에 다음 우선 순위가 부여될 수 있다. 그 후에, 다른 우선순위는 자동차의 승객과 관련된 액션 인텐트 요청에 할당될 수 있다.The method 500 also operates 510 for generating, in the automotive computer system, data indicative of the dependency of each action intent request of the first action intent request, the second action intent request, and the third action intent request. It may include. The data may be implemented or accessible as an event handler engine capable of sorting data corresponding to various different action intent requests from various different applications and / or devices. For example, the data can identify the priority of each action intent request. The priority for an action intent request may be, for example, whether the action intent request was generated on a device that includes a primary (core, primary) automatic assistant (i.e., an automatic assistant with which at least one other automatic assistant is communicating). Can be based on For example, when a driver and a passenger board a car, the primary auto assistant may be a car auto assistant because it is installed in the car computer system of the car. The next priority may be given to the same action intent request provided by the device associated with the driver of the vehicle, such as the first client device. Thereafter, another priority may be assigned to the action intent request associated with the passenger of the vehicle.

방법(500)은 생성된 데이터에 기초하여, 자동차 컴퓨터 시스템에 접속된 하나 이상의 인터페이스로 하여금 제1 액션 인텐트 요청, 제2 액션 인텐트 요청, 및 제3 액션 인텐트 요청의 각각의 액션 인텐트 요청에 대한 통지를 제공하도록 하는 동작(512)을 더 포함할 수 있다. 일부 구현 예에서, 자동차 컴퓨터 시스템은 그래픽 요소가 제시되는 디스플레이 패널과 같은 인터페이스를 포함할 수 있고, 하나 이상의 그래픽 요소는 액션 인텐트 요청 중 어느 하나에 대응할 수 있다. 또한, 디스플레이 패널은 사용자가 통지를 확인하고 자동차 컴퓨터 시스템에서 다른 액션 인텐트 요청을 생성하게 하기 위해 그래픽 요소를 선택할 수 있는 터치 인터페이스일 수 있다. The method 500 causes the one or more interfaces connected to the automotive computer system to cause each action intent of the first action intent request, the second action intent request, and the third action intent request based on the generated data. It may further comprise an operation 512 to provide a notification for the request. In some implementations, the automotive computer system can include an interface, such as a display panel, on which graphical elements are presented, and one or more graphical elements can correspond to any of the action intent requests. The display panel may also be a touch interface that allows the user to select graphical elements to confirm notifications and to generate other action intent requests in the automotive computer system.

도 6은 예시적인 컴퓨터 시스템(610)의 블록도이다. 컴퓨터 시스템(610)은 전형적으로 버스 서브시스템(612)을 통해 다수의 주변 장치와 통신하는 적어도 하나의 프로세서(614)를 포함한다. 이러한 주변 장치는 예를 들어 메모리(625) 및 파일 저장 서브시스템(626), 사용자 인터페이스 출력 장치(620), 사용자 인터페이스 입력 장치(622) 및 네트워크 인터페이스 서브시스템(616)을 포함하는 저장 서브시스템(624)을 포함할 수 있다. 입력 및 출력 장치는 컴퓨터 시스템(610)과 사용자 상호 작용을 허용한다. 네트워크 인터페이스 서브시스템(616)은 외부 네트워크에 인터페이스를 제공하고 다른 컴퓨터 시스템의 대응 인터페이스 장치에 연결된다.6 is a block diagram of an example computer system 610. Computer system 610 typically includes at least one processor 614 in communication with a number of peripheral devices through bus subsystem 612. Such peripherals may include, for example, storage subsystems including memory 625 and file storage subsystem 626, user interface output device 620, user interface input device 622, and network interface subsystem 616. 624). Input and output devices allow user interaction with computer system 610. Network interface subsystem 616 provides an interface to an external network and is coupled to a corresponding interface device of another computer system.

사용자 인터페이스 입력 장치들(622)은 키보드, 마우스, 트랙볼, 터치 패드 또는 그래픽 태블릿과 같은 포인팅 장치, 스캐너, 디스플레이에 통합된 터치 스크린, 음성 인식 시스템과 같은 오디오 입력 장치, 마이크로폰 및/또는 다른 유형의 입력 장치를 포함할 수 있다. 일반적으로, 용어 "입력 장치"의 사용은 컴퓨터 시스템(610) 또는 통신 네트워크상에 정보를 입력하는 모든 가능한 유형의 장치 및 방법을 포함하도록 의도된다.The user interface input devices 622 may be a pointing device such as a keyboard, mouse, trackball, touch pad or graphics tablet, a scanner, a touch screen integrated into a display, an audio input device such as a speech recognition system, a microphone and / or other type. It may include an input device. In general, the use of the term “input device” is intended to include all possible types of devices and methods for entering information on the computer system 610 or communication network.

사용자 인터페이스 출력 장치(620)는 디스플레이 서브시스템, 프린터, 팩스 기계, 또는 오디오 출력 장치와 같은 비시각적 디스플레이를 포함할 수 있다. 디스플레이 서브시스템은 음극선관(CRT), 액정 디스플레이(LCD)와 같은 평판 장치, 프로젝션 장치, 또는 가시적 이미지를 생성하기 위한 다른 메커니즘을 포함할 수 있다. 디스플레이 서브시스템은 또한 오디오 출력 장치를 통한 비-시각적 디스플레이를 제공할 수 있다. 일반적으로, 용어 "출력 장치"의 사용은 컴퓨터 시스템(610)으로부터 사용자 또는 다른 기계 또는 컴퓨터 시스템으로 정보를 출력하는 모든 가능한 유형의 장치 및 방법을 포함하도록 의도된다.User interface output device 620 may include a non-visual display such as a display subsystem, printer, fax machine, or audio output device. The display subsystem may include a cathode ray tube (CRT), a flat panel device such as a liquid crystal display (LCD), a projection device, or other mechanism for generating a visible image. The display subsystem may also provide a non-visual display through the audio output device. In general, the use of the term “output device” is intended to include all possible types of devices and methods for outputting information from computer system 610 to a user or other machine or computer system.

저장 서브시스템(624)은 여기에 설명된 일부 또는 모든 모듈의 기능을 제공하는 프로그래밍 및 데이터 구성을 저장한다. 예를 들어, 저장 서브시스템(624)은 방법(400), 방법(500)의 선택된 양태들을 수행하도록 하는 로직 및/또는 자동차 자동 어시스턴트, 자동차 컴퓨터 시스템, 클라이언트 자동 어시스턴트, 클라이언트 장치, 원격 장치, 서버 장치, 차량 및/또는 여기에 논의된 임의의 다른 모듈 또는 장치 중 하나 이상을 구현하도록 하는 로직을 포함할 수 있다.Storage subsystem 624 stores programming and data configurations that provide the functionality of some or all of the modules described herein. For example, the storage subsystem 624 may include logic and / or automotive automatic assistants, automotive computer systems, client automatic assistants, client devices, remote devices, servers to perform the selected aspects of the method 400, method 500. Logic to implement one or more of an apparatus, a vehicle, and / or any other module or apparatus discussed herein.

이들 소프트웨어 모듈은 일반적으로 프로세서(614) 단독으로 또는 다른 프로세서와 조합하여 실행된다. 저장 서브시스템(624)에서 사용되는 메모리(625)는 프로그램 실행 중 명령어 및 데이터의 저장을 위한 메인 랜덤 액세스 메모리(RAM) (630) 및 고정된 명령어들이 저장되는 판독 전용 메모리(ROM)(632)를 포함하는 다수의 메모리를 포함할 수 있다. 파일 저장 서브시스템(626)은 프로그램 및 데이터 파일을 위한 영구 저장 장치를 제공할 수 있고, 하드 디스크 드라이브, 관련 이동식 매체를 갖는 플로피 디스크 드라이브, CD-ROM 드라이브, 광 드라이브 또는 이동식 매체 카트리지를 포함할 수 있다. 특정 구현예의 기능을 구현하는 모듈은 저장 서브시스템(624)의 파일 저장 서브시스템(626) 또는 프로세서(들)(614)에 의해 액세스 가능한 다른 머신에 저장될 수 있다.These software modules generally execute on the processor 614 alone or in combination with other processors. Memory 625 used in storage subsystem 624 includes main random access memory (RAM) 630 for storage of instructions and data during program execution and read-only memory (ROM) 632 in which fixed instructions are stored. It may include a plurality of memory including a. File storage subsystem 626 may provide persistent storage for program and data files and may include a hard disk drive, a floppy disk drive with associated removable media, a CD-ROM drive, an optical drive, or a removable media cartridge. Can be. Modules that implement the functionality of a particular implementation may be stored on the file storage subsystem 626 of the storage subsystem 624 or on another machine accessible by the processor (s) 614.

버스 서브시스템(612)은 컴퓨터 시스템(610)의 다양한 컴포넌트들 및 서브시스템들이 의도된 바와 같이 서로 통신하게 하는 메커니즘을 제공한다. 버스 서브시스템(612)은 단일 버스로서 개략적으로 도시되어 있지만, 버스 서브시스템의 다른 구현 예는 다수의 버스를 사용할 수 있다.Bus subsystem 612 provides a mechanism for various components and subsystems of computer system 610 to communicate with each other as intended. Although bus subsystem 612 is schematically depicted as a single bus, other implementations of the bus subsystem may use multiple buses.

컴퓨터 시스템(610)은 워크스테이션, 서버, 컴퓨팅 클러스터, 블레이드 서버, 서버 팜, 또는 임의의 다른 데이터 처리 시스템 또는 컴퓨팅 장치를 포함하는 다양한 유형일 수 있다. 컴퓨터 및 네트워크의 끊임없이 변화하는 특성으로 인해, 도 6에 도시된 컴퓨터 시스템(610)의 설명은 단지 일부 구현 예를 설명하기 위한 구체적인 예로서만 의도된다. 컴퓨터 시스템(610)의 많은 다른 구성이 도 6에 도시된 컴퓨터 시스템보다 많은 또는 보다 적은 컴포넌트들을 갖는 것이 가능하다.Computer system 610 may be of various types, including a workstation, server, computing cluster, blade server, server farm, or any other data processing system or computing device. Due to the ever-changing nature of computers and networks, the description of computer system 610 shown in FIG. 6 is intended only as a specific example for describing some implementations. Many other configurations of computer system 610 are possible having more or fewer components than the computer system shown in FIG. 6.

여기에 설명된 시스템이 사용자에 대한 개인 정보를 수집하는 경우 (또는 여기에서 종종 "참가자"라고 함) 또는 개인 정보를 사용할 수 있는 경우, 사용자는 프로그램 또는 기능이 사용자 정보(예: 사용자의 소셜 네트워크, 사회적 행동 또는 활동, 직업, 사용자의 선호 또는 사용자의 현재 지리적 위치에 대한 정보)를 수집하는지 또는 사용자의 정보를 수집할지 여부를 제어할 수 있는 기회를 제공받을 수 있거나, 사용자에게 더 관련이 있는 콘텐트 서버로부터 콘텐트를 수신할지 여부 및/또는 수신 방법을 제어할 수 있다. 또한 특정 데이터는 개인 식별 정보가 제거될 수 있도록 저장 또는 사용되기 전에 하나 이상의 방법으로 취급될 수 있다. 예를 들어, 사용자의 신원정보는 사용자에 대해 개인 식별 가능한 정보가 결정될 수 없도록 처리되거나 지리적 위치 정보가 획득되는 곳 (도시, 우편 번호 또는 주 수준과 같은)으로 사용자의 지리적 위치가 일반화될 수 있도록 처리될 수 있으며, 따라서 사용자의 특정 지리적 위치가 결정될 수 없다. 따라서, 사용자는 사용자에 관한 정보 수집 방법 및/또는 사용 방법을 제어할 수 있다. If the systems described herein collect personal information about you (or often referred to herein as "participants"), or if personal information is available to you, you may not be able to obtain a program or feature that contains information about you (e.g. your social network). , Social behavior or activities, occupations, preferences of the user, or the current geographical location of the user), or may be provided with the opportunity to control whether It is possible to control whether to receive content from the content server and / or a receiving method. Certain data may also be treated in one or more ways before it is stored or used so that personally identifiable information can be removed. For example, the user's identity may be processed so that no personally identifiable information can be determined for the user or the user's geographic location may be generalized to where the geographic location information is obtained (such as city, zip code or state level). Can be processed, and thus a particular geographic location of the user cannot be determined. Thus, the user can control how to collect and / or use information about the user.

일부 구현 예가 본 명세서에서 설명되고 도시되었지만, 기능을 수행하고 및/또는 결과 및/또는 본원에 기술된 하나 이상의 장점을 얻기 위한 다양한 다른 수단 및/또는 구조가 이용될 수 있으며, 이러한 변형 및/또는 수정은 본 명세서에서 설명된 구현예들의 범위 내에 있는 것으로 간주된다. 보다 일반적으로, 본 명세서에 기술된 모든 파라미터, 치수, 재료 및 구성은 예시적인 것이며, 실제 파라미터, 치수, 재료 및/또는 구성은 특정 용도 또는 그 교시가 사용되는 용도에 따라 좌우될 것이다. 당업자는 일상적인 실험만을 사용하여 본 명세서에 설명된 특정 구현 예에 대한 다수의 등가물을 인식할 수 있거나 또는 확인할 수 있을 것이다. 따라서, 전술한 구현 예는 단지 예로서 제시되고, 첨부된 청구 범위 및 그 균등물의 범위 내에서 구현예는 구체적으로 기술되고 청구된 것과 다르게 실시될 수 있다는 것을 이해해야 한다. 본 개시의 구현예는 여기에 기술된 각각의 개별적인 특징, 시스템, 아티클, 재료, 키트 및/또는 방법에 관한 것이다. 또한, 그러한 피쳐, 시스템, 아티클, 재료, 키트 및/또는 방법이 서로 불일치하지 않는 경우, 둘 이상의 그러한 피쳐, 시스템, 아티클, 재료, 키트 및/또는 방법의 모든 조합이 본 개시의 범위 내에 포함된다.While some implementations have been described and illustrated herein, various other means and / or structures may be used to perform the functions and / or obtain the results and / or one or more advantages described herein, and such variations and / or Modifications are considered to be within the scope of the embodiments described herein. More generally, all parameters, dimensions, materials, and configurations described herein are exemplary, and actual parameters, dimensions, materials, and / or configurations will depend upon the particular application or use for which the teaching is used. Those skilled in the art will recognize, or be able to ascertain, many equivalents to the specific embodiments described herein using routine experimentation only. Accordingly, it is to be understood that the foregoing embodiments are presented by way of example only, and that within the scope of the appended claims and equivalents thereto, the embodiments may be practiced otherwise than as specifically described and claimed. Embodiments of the present disclosure relate to each individual feature, system, article, material, kit, and / or method described herein. In addition, all combinations of two or more such features, systems, articles, materials, kits, and / or methods are included within the scope of the present disclosure unless such features, systems, articles, materials, kits, and / or methods are inconsistent with each other. .

Claims (1)

하나 이상의 프로세서에 의해 구현되는 방법으로서,
자동차 자동 어시스턴트에 의해, 클라이언트 장치에서 생성된 제1 액션 인텐트(intent) 요청을 식별하는 단계 -상기 클라이언트 장치 및 개별 클라이언트 장치는 무선 통신 채널을 통해 자동차 컴퓨터 시스템과 페어링되고, 상기 자동차 컴퓨터 시스템은 자동차 자동 어시스턴트를 포함함 -;
상기 제1 액션 인텐트 요청을 식별하는 것에 응답하여, 상기 제1 액션 인텐트 요청이, 수행될 제1 요청된 액션, 상기 제1 요청된 액션을 수행하기 위해 액세스될 콘텐트 데이터, 및 상기 자동차 컴퓨터 시스템에 상기 제1 액션 인텐트 요청이 적어도 부분적으로 이용 가능하게 되도록 하는 상기 클라이언트 장치에서의 애플리케이션과 관련된 식별자를 식별하는지를 결정하는 단계 -상기 개별 클라이언트 장치는 상기 클라이언트 장치에서 상기 애플리케이션을 제공한 제3자에 대하여 다른 제3자에 의해 제공되는 다른 애플리케이션을 포함하고, 상기 자동차 컴퓨터 시스템은 상기 제3자에 의해 제공되는 설치된 애플리케이션이 없음 -;
상기 자동차 자동 어시스턴트에 의해, 상기 개별 클라이언트 장치에서 생성된 개별 액션 인텐트 요청을 식별하는 단계;
수행될 제1 요청된 액션의 촉진(furtherance)에 있어서, 자동차 컴퓨터 시스템의 사용자에게 출력을 제공하도록 자동 어시스턴트 인터페이스를 자동차 컴퓨터 시스템에 액세스 가능하게 하는 단계 -상기 출력은 상기 제1 액션 인텐트 요청의 콘텐트 데이터에 기초함 -;
자동차 자동 어시스턴트에 의해, 사용자가 자동 어시스턴트 인터페이스에서 제공된 상기 출력에 응답하여 입력을 제공했는지를 결정하는 단계;
상기 사용자가 상기 입력을 제공한 것으로 결정한 것에 응답하여, 상기 클라이언트 장치에 제2 액션 인텐트 요청을 제공하는 단계 -상기 제2 액션 인텐트 요청은 상기 클라이언트 장치에서 수행될 제2 요청된 액션, 상기 사용자에 의해 제공되는 상기 입력에 기초한 다른 콘텐트 데이터 및 상기 식별자를 식별함 -; 그리고
상기 제2 요청된 액션이 상기 제2 액션 인텐트 요청에 따라 상기 클라이언트 장치에서 수행되도록 하는 단계를 포함하며,
상기 제2 요청된 액션은 상기 다른 콘텐트 데이터를 사용하여 상기 애플리케이션에 의해 수행되며, 상기 애플리케이션은 상기 제2 액션 인텐트 요청에서 제공된 상기 식별자를 사용하여 상기 클라이언트 장치에 의해 식별되는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
A method implemented by one or more processors,
Identifying, by the automotive auto assistant, the first action intent request generated at the client device, wherein the client device and the individual client device are paired with the automotive computer system via a wireless communication channel, the automotive computer system being Includes a car auto assistant;
In response to identifying the first action intent request, the first action intent request is executed: a first requested action to be performed, content data to be accessed to perform the first requested action, and the automotive computer Determining if the system identifies an identifier associated with an application at the client device that makes the first action intent request at least partially available; wherein the respective client device is a third party providing the application at the client device; Another application provided by a third party with respect to the third party, wherein the automotive computer system is free of installed applications provided by the third party;
Identifying, by the automotive automated assistant, an individual action intent request generated at the respective client device;
In the promotion of the first requested action to be performed, making the automatic assistant interface accessible to the automotive computer system to provide an output to a user of the automotive computer system, wherein the output is to determine the first action intent request. Based on content data;
Determining, by the car auto assistant, whether a user provided an input in response to the output provided at the auto assistant interface;
In response to determining that the user has provided the input, providing a second action intent request to the client device, wherein the second action intent request is a second requested action to be performed at the client device; Identifying the identifier and other content data based on the input provided by a user; And
Causing the second requested action to be performed at the client device in accordance with the second action intent request;
The second requested action is performed by the application using the other content data, wherein the application is identified by the client device using the identifier provided in the second action intent request The method implemented by the above processor.
KR1020190123787A 2018-05-23 2019-10-07 Providing a communications channel between instances of automated assistants KR102100390B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200041423A KR102458274B1 (en) 2018-05-23 2020-04-06 Providing a communications channel between instances of automated assistants

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862675342P 2018-05-23 2018-05-23
US62/675,342 2018-05-23
US16/009,116 US10198877B1 (en) 2018-05-23 2018-06-14 Providing a communications channel between instances of automated assistants
US16/009,116 2018-06-14

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190056977A Division KR102032475B1 (en) 2018-05-23 2019-05-15 Providing a communications channel between instances of automated assistants

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020200041423A Division KR102458274B1 (en) 2018-05-23 2020-04-06 Providing a communications channel between instances of automated assistants

Publications (2)

Publication Number Publication Date
KR20190133642A true KR20190133642A (en) 2019-12-03
KR102100390B1 KR102100390B1 (en) 2020-04-13

Family

ID=65200194

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020190056977A KR102032475B1 (en) 2018-05-23 2019-05-15 Providing a communications channel between instances of automated assistants
KR1020190123787A KR102100390B1 (en) 2018-05-23 2019-10-07 Providing a communications channel between instances of automated assistants
KR1020200041423A KR102458274B1 (en) 2018-05-23 2020-04-06 Providing a communications channel between instances of automated assistants

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020190056977A KR102032475B1 (en) 2018-05-23 2019-05-15 Providing a communications channel between instances of automated assistants

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020200041423A KR102458274B1 (en) 2018-05-23 2020-04-06 Providing a communications channel between instances of automated assistants

Country Status (5)

Country Link
US (4) US10198877B1 (en)
EP (2) EP4345599A3 (en)
JP (1) JP6665341B2 (en)
KR (3) KR102032475B1 (en)
CN (2) CN111756810B (en)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) * 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
EP2753052B1 (en) * 2013-01-02 2017-10-04 Samsung Electronics Co., Ltd Message transfer system including display device and mobile device and message transfer method thereof
DE112014000709B4 (en) 2013-02-07 2021-12-30 Apple Inc. METHOD AND DEVICE FOR OPERATING A VOICE TRIGGER FOR A DIGITAL ASSISTANT
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. Low-latency intelligent automated assistant
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US11113027B2 (en) * 2017-12-28 2021-09-07 Sharp Kabushiki Kaisha Apparatus, system, and method that support operation to switch to input terminal to be activated among input terminals included in display apparatus
EP3555739A1 (en) 2018-03-08 2019-10-23 Google LLC Mitigation of client device latency in rendering of remotely generated automated assistant content
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11798552B2 (en) * 2018-10-05 2023-10-24 Honda Motor Co., Ltd. Agent device, agent control method, and program
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
JP7341243B2 (en) * 2019-05-09 2023-09-08 グーグル エルエルシー Automated assistant proposal for third-party vehicle computing devices with restricted architecture
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US20210081863A1 (en) * 2019-07-25 2021-03-18 Airwire Technologies Vehicle intelligent assistant
EP4022431A1 (en) * 2019-10-29 2022-07-06 Google LLC Automated assistant architecture for preserving privacy of application content
US11218856B2 (en) * 2019-11-22 2022-01-04 Lenovo (Singapore) Pte. Ltd. Data sharing with multiple Bluetooth devices
CN114424259A (en) * 2019-11-29 2022-04-29 宝马股份公司 Intelligent personal assistant system based on personality
CN113138864A (en) * 2020-01-19 2021-07-20 华为技术有限公司 Message communication method, computer system and agent device
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
US11700226B2 (en) 2020-08-03 2023-07-11 Google Llc Sending messages from smart speakers and smart displays via smartphones
US11990116B1 (en) * 2020-09-22 2024-05-21 Amazon Technologies, Inc. Dynamically rendered notifications and announcements
US11959764B2 (en) * 2021-04-02 2024-04-16 Google Llc Automated assistant that detects and supplements various vehicle computing device capabilities

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070042812A1 (en) * 2005-06-13 2007-02-22 Basir Otman A Vehicle immersive communication system
US20100127847A1 (en) * 2008-10-07 2010-05-27 Cisco Technology, Inc. Virtual dashboard
KR20150080561A (en) * 2012-12-27 2015-07-09 인텔 코포레이션 Uri-based host to mobile device setup and pairing

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1578951A (en) * 2001-05-24 2005-02-09 英特尔公司 Method and apparatus for message escalation by digital assistants
JP4202621B2 (en) 2001-07-06 2008-12-24 アルパイン株式会社 Information exchange system
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US9081902B2 (en) 2008-06-20 2015-07-14 Microsoft Technology Licensing, Llc. Generalized architecture to support representation of multi-transport devices
US20100184406A1 (en) 2009-01-21 2010-07-22 Michael Schrader Total Integrated Messaging
US20130117021A1 (en) 2011-11-03 2013-05-09 Gm Global Technolog Operations Llc Message and vehicle interface integration system and method
US9286266B1 (en) * 2012-05-04 2016-03-15 Left Lane Network, Inc. Cloud computed data service for automated reporting of vehicle trip data and analysis
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US9674331B2 (en) * 2012-06-08 2017-06-06 Apple Inc. Transmitting data from an automated assistant to an accessory
WO2014172312A2 (en) * 2013-04-15 2014-10-23 Flextronics Ap, Llc User interface and virtual personality presentation based on user profile
US20150350118A1 (en) 2014-05-30 2015-12-03 Apple Inc. Canned answers in messages
CN106469040B (en) 2015-08-19 2019-06-21 华为终端有限公司 Communication means, server and equipment
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US20170322940A1 (en) 2016-05-03 2017-11-09 International Business Machines Corporation Community content identification
US11227017B2 (en) 2016-05-17 2022-01-18 Google Llc Providing suggestions for interaction with an automated assistant in a multi-user message exchange thread
US10291565B2 (en) * 2016-05-17 2019-05-14 Google Llc Incorporating selectable application links into conversations with personal assistant modules
EP3482344B1 (en) 2016-07-07 2022-08-31 Harman International Industries, Incorporated Portable personalization
CN106327241A (en) 2016-08-15 2017-01-11 陈琛 Vehicle-mounted intelligent networking advertisement release and display system, method and equipment
US10192551B2 (en) * 2016-08-30 2019-01-29 Google Llc Using textual input and user state information to generate reply content to present in response to the textual input
US10127227B1 (en) 2017-05-15 2018-11-13 Google Llc Providing access to user-controlled resources by automated assistants

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070042812A1 (en) * 2005-06-13 2007-02-22 Basir Otman A Vehicle immersive communication system
US20100127847A1 (en) * 2008-10-07 2010-05-27 Cisco Technology, Inc. Virtual dashboard
KR20150080561A (en) * 2012-12-27 2015-07-09 인텔 코포레이션 Uri-based host to mobile device setup and pairing

Also Published As

Publication number Publication date
KR102100390B1 (en) 2020-04-13
US10861254B2 (en) 2020-12-08
US10957126B2 (en) 2021-03-23
EP4345599A3 (en) 2024-04-17
KR102458274B1 (en) 2022-10-24
CN110149402B (en) 2020-06-19
CN111756810A (en) 2020-10-09
US20200118357A1 (en) 2020-04-16
CN110149402A (en) 2019-08-20
US20190362568A1 (en) 2019-11-28
JP2020024723A (en) 2020-02-13
EP3608783A1 (en) 2020-02-12
CN111756810B (en) 2023-08-08
KR20200038450A (en) 2020-04-13
US20210192866A1 (en) 2021-06-24
KR102032475B1 (en) 2019-10-15
US11721135B2 (en) 2023-08-08
EP4345599A2 (en) 2024-04-03
US10198877B1 (en) 2019-02-05
JP6665341B2 (en) 2020-03-13

Similar Documents

Publication Publication Date Title
KR102032475B1 (en) Providing a communications channel between instances of automated assistants
JP7412499B2 (en) Directing a vehicle client device to use on-device functionality
KR102505136B1 (en) Dynamically adapting provision of notification output to reduce user distraction and/or mitigate usage of computational resources
US11086598B2 (en) Providing a communications channel between instances of automated assistants
US20230336521A1 (en) Sending messages from smart speakers and smart displays via smartphones
US20230178078A1 (en) Automated assistant for facilitating communications through dissimilar messaging features of different applications
US11656844B2 (en) Providing a communications channel between instances of automated assistants
JP6985439B2 (en) Providing communication channels between instances of automated assistants
CN113227973A (en) Reinforcement learning techniques for selecting software policy networks and autonomously controlling corresponding software clients based on the selected policy networks
US20240172304A1 (en) Connection sequencing involving automated assistants and peripheral devices
US11885632B2 (en) Conditional preparation for automated assistant input from a user in a vehicle

Legal Events

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