KR102458274B1 - 자동화된 어시스턴트의 인스턴스들간에 통신 채널 제공 - Google Patents

자동화된 어시스턴트의 인스턴스들간에 통신 채널 제공 Download PDF

Info

Publication number
KR102458274B1
KR102458274B1 KR1020200041423A KR20200041423A KR102458274B1 KR 102458274 B1 KR102458274 B1 KR 102458274B1 KR 1020200041423 A KR1020200041423 A KR 1020200041423A KR 20200041423 A KR20200041423 A KR 20200041423A KR 102458274 B1 KR102458274 B1 KR 102458274B1
Authority
KR
South Korea
Prior art keywords
action intent
intent request
computer system
client device
action
Prior art date
Application number
KR1020200041423A
Other languages
English (en)
Other versions
KR20200038450A (ko
Inventor
알렉산드르 말트세브
비크람 어가르왈
모이스 모겐스턴 갈리
조셉 피로초
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20200038450A publication Critical patent/KR20200038450A/ko
Application granted granted Critical
Publication of KR102458274B1 publication Critical patent/KR102458274B1/ko

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
    • 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
    • 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/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)
  • Chemical & Material Sciences (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Combustion & Propulsion (AREA)
  • General Engineering & Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Traffic Control Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Navigation (AREA)

Abstract

구현예들은 무선 통신 방식을 통한, 자동차 컴퓨터 시스템의 자동 어시스턴트 및 개별 클라이언트 장치 간의 상호 작용에 관한 것이다. 이러한 구현예들 중 일부에서, 클라이언트 장치(들)는 자동차 컴퓨터 시스템과 페어링될 수 있고, 클라이언트 장치(들) 및 자동차 컴퓨터 시스템은 상이한 사용자 계정과 연관될 수 있는 자동화된 어시스턴트의 개별 인스턴스들을 포함할 수 있다. 일부 추가 또는 대안적인 구현예들에서, 클라이언트 장치의 로컬 애플리케이션에 의해 수행될 특정 액션들은 자동차 컴퓨터 시스템에 직접 설치되지 않은 로컬 애플리케이션에 대한 대응에도 불구하고 자동차 자동 어시스턴트와의 사용자 상호 작용을 통해 향상될 수 있다. 예를 들어, 제3자 메시징 애플리케이션이 설치되지 않은 자동차 컴퓨터 시스템에도 불구하고, 자동차 자동 어시스턴트는 요청된 액션(동작)을 추가로 하기 위해 제3자 메시징 애플리케이션에 의해 수행될 요청된 액션에 액세스할 수 있다. 자동차 컴퓨터 시스템은 무선 통신 방식을 통해 콘텐츠를 전송하여 제3자 애플리케이션이 요청된 액션을 더 진행하도록 할 수 있다.

Description

자동화된 어시스턴트의 인스턴스들간에 통신 채널 제공{PROVIDING A COMMUNICATIONS CHANNEL BETWEEN INSTANCES OF AUTOMATED ASSISTANTS}
본 명세서는 자동 어시스턴트의 인스턴스들 간에 통신 채널 제공에 관한 것이다.
인간은 여기에서 "자동 어시스턴트(automated assistant)"("디지털 에이전트", "채팅 봇", "대화형 개인 어시스턴트", "지능형 개인 어시스턴트", "어시스턴트 애플리케이션", "대화형 에이전트" 등으로 불리기도 함)라고 하는 대화형 소프트웨어 애플리케이션을 사용하여 인간 대 컴퓨터 대화에 참여할 수 있다. 예를 들어, 인간(자동 어시스턴트와 상호 작용할 때 "사용자"라고도 함)는 음성 자연어 입력(즉, 발화)을 사용하여 자동 어시스턴트에 명령 및/또는 요청을 제공할 수 있고, 어떤 경우에는 텍스트로 변환된 다음 처리될 수 있거나, 및/또는 텍스트형(예를 들어, 타이핑된) 자연어 입력을 제공할 수 있다.
자동 어시스턴트는 예를 들어 이동 전화기 및 개인용 컴퓨터와 같은 다양한 장치에 설치될 수 있다. 사용자는 이동 전화기 또는 개인용 컴퓨터의 특정 애플리케이션이 각각의 (자동)자동화된 어시스턴트와 상호 작용함으로써 특정 동작을 수행하게 할 수 있다. 그러나, 서로 다른 장치들 간에 기능의 균일성을 나타내기 위해, 사용자는 동일한 애플리케이션의 인스턴스를 다른 장치에 동기식으로 설치해야 할 수 있다. 결과적으로, 네트워크 대역폭은 애플리케이션의 각각의 인스턴스에 대한 중복 애플리케이션 업데이트를 전송하고 일반적으로 애플리케이션의 각각의 인스턴스간에 데이터를 통신하는 것에 빨리 몰입할 수 있다. 또한, 애플리케이션의 각 인스턴스가 해당 장치에 약간의 디스크 공간을 필요로 할 수 있으므로, 장치들에 걸친 메모리 할당은 비효율적으로 사용될 수 있다.
일부 상황에서, 자동 어시스턴트를 통해 특정 애플리케이션과 상호 작용하는 것은 사용자가 특정 환경에서 어떻게 참여할 수 있는지에 따라 및/또는 다른 장치가 근처의 다른 사용자에 의해 운영되는지 여부에 따라 편리하지 않을 수 있다. 예를 들어, 이동 전화기의 자동 어시스턴트를 통해 메시지에 회신(응답)하는 것은 사용자가 차량에서 운전하는 동안 어려울 수 있다. 또한, 사용자가 차량 내의 다른 사람들과 함께 운전할 때, 그 사람들은 자동 어시스턴트를 가진 장치를 가질 수도 있는데, 이 장치는 사용자가 각각의 자동 어시스턴트와 접촉할 때 간접적으로 호출 될 수 있다. 이러한 결과는 운전 중에 산만해지는 환경을 조성하고, 실수로 영향을받을 수 있는 장치에서 컴퓨터 자원을 낭비한다.
본 명세서에 개시된 실시 예들은 자동 어시스턴트의 개별 인스턴스 또는 설치가 특정 동작(액션)을 촉진시키기 위해 통신할 수 있는 통신 채널을 제공하기 위한 시스템, 방법 및 장치에 관한 것이다. 상기 통신 채널은 주요 자동 어시스턴트(예: 자동차 자동 어시스턴트 또는 클라이언트 장치 자동 어시스턴트)와 하나 이상의 보조 자동 어시스턴트(예: 자동차 자동 어시스턴트 및 클라이언트 장치 자동 어시스턴트 중 다른 하나) 간에 제공될 수 있다. 예를 들어, 주요 자동 어시스턴트는 자동차를 타는 것과 같이 특정 상황에서 사용자가 선호하는 어시스턴트가 될 수 있다. 구체적으로, 자동차 컴퓨터 시스템은 사용자가 차량에 타고있는 동안 특정 행동을 촉진(furthering)하기 위해 사용자가 선호하는 자동 어시스턴트를 포함할 수 있다. 자동차 및/또는 클라이언트 장치의 설정에 따라, 자동차 자동 어시스턴트는 클라이언트 장치가 자동차 컴퓨터 시스템에 접속할 때, ‘핵심(principal)으로서 보조(subsidiary) 자동 어시스턴트의 펜딩 인텐트(pending intents) 및/또는 액션들을 떠맡을 수 있다. 이러한 방식으로, 자동차 자동 어시스턴트는 보조 자동 어시스턴트의 확장 기능을 수행할 수 있다. 이를 통해 모든 클라이언트 측 애플리케이션이 자동차 자동 어시스턴트에 대해 특정 인텐트 및/또는 동작을 터널링하거나 채널링할 수 있다. 또한, 이러한 터널링은 자동차 컴퓨터 시스템에서 상관된 "자동차 측" 애플리케이션을 반드시 사용하거나 설치하지 않고도 사용자가 각각의 클라이언트 측 애플리케이션에 참여(관여)할 수 있는 능력을 지원하는 시스템 아키텍처를 제공할 수 있다. 이러한 방식으로, 자동차 측 메모리의 보다 효율적인 사용은 상관관계가 있는 제3자 애플리케이션이 모든 자동차 측 장치에 반드시 설치되는 것을 요구하지 않아도 달성될 수 있다. 또한, 네트워크 트래픽 및 낭비적인 전력 소비는 동기식 작동을 위해 여러 애플리케이션의 여러 인스턴스를 사용하는 대신, 사용자가 자동 어시스턴트에 의존하여 애플리케이션의 적어도 하나의 인스턴스와 통신하는 것만으로 완화될 수 있다. 특히, 메시지 및 확인 수신의 중복 카피를 여러 가지 다른 장치에 보내는 애플리케이션 및 메시징 서버에 의해 네트워크 및 계산 자원의 감소가 나타날 수 있다.
예를 들어, 일부 구현 예에서, 차량의 자동차 자동 어시스턴트는 이동 전화기와 같은 클라이언트 장치의 제3자 애플리케이션에서 수신된 메시지를 전달하고 그리고 사용자와 자동차 자동 어시스턴트 간의 상호 작용에 따라 메시지에 응답하도록 사용될 수 있다. 이러한 기능을 달성하기 위해, 클라이언트 장치와 자동차의 자동차 컴퓨터 시스템은 클라이언트 장치와 자동차 컴퓨터 시스템 사이에 보안 통신 채널을 설정하기 위해 핸드셰이크를 수행할 수 있다. 특히, 클라이언트 장치는 자동차 컴퓨터 시스템으로 및/또는 자동차 컴퓨터 시스템으로부터 데이터를 송신하기 위한 노드로서 하나 이상의 네트워크 소켓(예를 들어, 블루투스 소켓)을 할당할 수 있다. 보안 통신 채널이 클라이언트 장치와 자동차 컴퓨터 시스템 사이에 설정되면, 액션 인텐트는 클라이언트 자동 어시스턴트와 자동차 자동 어시스턴트 간에 공유될 수 있다.
액션(동작) 인텐트는 애플리케이션 또는 별도의 애플리케이션을 통해 수행할 특정 액션을 위해, 애플리케이션의 요청을 나타낼 수 있다. 예를 들어, 액션 인텐트 요청은 제3자 애플리케이션에 의해 생성될 수 있고, 수행될 하나 이상의 액션, 커스텀 식별자, 수행될 액션과 관련된 콘텐트 데이터, 및/또는 애플리케이션에 의해 수행될 액션과 연관될 수 있는 임의의 다른 데이터를 식별할 수 있다. 액션 인텐트는 액션 인텐트가 발생한 장치에서 사용 가능한 운영 체제(시스템), 장치 애플리케이션, 자동 어시스턴트 및/또는 기타 엔진 또는 모듈에 의해 처음 수신될 수 있다. 그 다음 액션 인텐트는 발신(originating) 장치에서 카탈로그화되거나 다른 방법으로 대기될 수 있으며, 자동 어시스턴트의 하나 이상의 인스턴스에 액세스할 수 있다. 예를 들어, 발신 클라이언트 장치의 클라이언트 자동 어시스턴트는 클라이언트 장치가 자동차 컴퓨터 시스템과 페어링되고, 자동차 자동 어시스턴트가 펜딩 액션 인텐트에 액세스할 수 있을 때 펜딩 액션 인텐트에 액세스할 수 있다.
전술한 예에 대해, 자동차 자동 어시스턴트는 펜딩 액션 인텐트 요청을 식별하기 위해 클라이언트 자동 어시스턴트와 통신할 수 있다. 액션 인텐트 요청은 사용자가 자동차에 타고있는 동안 클라이언트 장치의 제3자 애플리케이션에서 수신된 메시지와 연관될 수 있다. "제3자"라는 용어는 제3자 애플리케이션을 생성 및/또는 제공한 엔터티를 지칭할 수 있으며, 클라이언트 장치, 클라이언트 자동 어시스턴트 및/또는 클라이언트 운영 체제의 크리에이터 및/또는 제공자와 다르다. 클라이언트 장치에서 액션 인텐트 요청에 액세스함으로써, 자동차 자동 어시스턴트는 사용자가 특정 펜딩 액션 인텐트 요청을 진행시킬 수 있는 중개자(intermediary) 역할을 할 수 있다. 또한, 자동차 자동 어시스턴트는 클라이언트 장치에서 펜딩중인 다른 액션 인텐트 요청뿐만 아니라 액션 인텐트 요청의 해당 인스턴스가 자동차 컴퓨터 시스템에서 생성되도록 할 수 있다. 자동차 컴퓨터 시스템에서의 액션 인텐트 요청의 해당 인스턴스는 자동차 컴퓨터 시스템이 메시지를 발신한 제3자 애플리케이션을 무효로하고 있음에도 불구하고 자동차 자동 어시스턴트에 의해 처리될 수 있다.
자동차 자동 어시스턴트는 일부 구현예에서 액션 인텐트 요청을 제공한 제3자 애플리케이션과 관계없이, 액션 인텐트 요청이 액션 인텐트 요청의 콘텐트에 기초하여 메시지와 연관되어 있는지를 결정할 수 있다. 이러한 방식으로, 자동 어시스턴트는 액션 인텐트를 발생하는 애플리케이션에 대해 무관해 보이는 다양한 애플리케이션에서 액션 인텐트를 관리할 수 있다. 예를 들어, 제1 애플리케이션의 제1 서비스 제공자 및 제2 애플리케이션의 제2 서비스 제공자는 각각 상이한 방식으로 메시지를 제공할 수 있지만, 각각의 메시지는 상관없이 "본문(body)" 및 "발신자" 필드를 가질 것이다. 일부 구현예에서, API를 만족하는 각 애플리케이션으로 인해 부분적으로 있을 수 있는 메시지 구조의 오버랩은 각 메시지가 유사하게 파싱되도록 한다. 그 다음 자동 어시스턴트는 알림을 제공하거나 메시지에 응답하거나 메시지와 관련된 다른 액션을 수행하기 위해 해당 메시지의 파싱된(parsed) 데이터를 사용할 수 있다. 일부 구현 예에서, 유사한 오버랩은 자동 어시스턴트와 상호 작용할 수 있는 다른 애플리케이션에 의해 나타낼 수 있다. 이러한 다른 애플리케이션은 내비게이션 애플리케이션을 포함할 수 있으며, 알림(통지)의 콘텐트는 경로 스텝 및/또는 미디어 애플리케이션을 포함할 수 있으며, 알림의 콘텐트는 이미지 및/또는 비디오와 같은 특정 미디어 데이터의 주소를 포함할 수 있다.
자동차 자동 어시스턴트가 액션 인텐트 요청의 해당 인스턴스가 메시지와 관련되어 있다고 결정할 때, 자동차 자동 어시스턴트는 해당 인스턴스의 콘텐트를 파싱하게 할 수 있다. 파싱된 콘텐트는 본문, 작성자, 제목, 전송 및/또는 수신된 시간 및/또는 메시지와 연관될 수 있는 임의의 다른 데이터와 같은 메시지의 개별 부분들을 식별하는 데 사용될 수 있다. 자동차 자동 어시스턴트는 액션 인텐트 요청이 메시지에 해당한다고 결정했으므로, 자동차 자동 어시스턴트는 파싱된 콘텐트를 사용자에게 제시하기 위해 상기 파싱된 콘텐트를 사용할 수 있다. 예를 들어, 자동차 자동 어시스턴트는 액션 인텐트 요청의 콘텐트의 적어도 일부를 오디오 시스템과 같은 자동차 컴퓨터 시스템의 자동 어시스턴트 인터페이스로부터 출력될 수 있는 오디오로 변환하기 위한 텍스트-음성 변환(text-to-speech) 엔진을 사용할 수 있다. 오디오는 예를 들어, "'나는 늦을 거야'라고 말하는 문자(텍스트) 메시지를 당신은 '에밀리'로부터 받았습니다"일 수 있다. 작성자 "에밀리"와 "나는 늦을 거야"라는 본문은 액션 인텐트 요청의 해당 인스턴스에서 파싱된 데이터를 기반으로 할 수 있다.
클라이언트 장치에서 수신된 메시지를 사용자에게 알리는 것에 응답하여, 자동차 자동 어시스턴트는 메시지에 응답할 수 있는 옵션을 사용자에게 제시할 수 있는 프롬프트를 후속 조치(follow up)할 수 있다. 프롬프트는 "에밀리에게 회신하시겠습니까?"와 같은 응답 가능한 오디오를 포함할 수 있으며, 이에 응답하여 사용자는 "예, 응답하십시오, '알겠습니다.'"와 같은 음성 발화를 제공할 수 있다. 따라서, 자동차 자동 어시스턴트는 자동차의 자동 어시스턴트 인터페이스를 통해 음성(발언된) 발화를 수신할 수 있고, 음성 발화를 처리하기 위해 자동차 컴퓨터 시스템에 액세스 가능한 음성-텍스트 변환(speech-to-text) 엔진을 이용할 수 있다. 음성 발화로부터 유도된 텍스트는 자동차 자동 어시스턴트에 의해 생성된 후속 액션 인텐트 요청의 일부가 될 수 있는 콘텐트로 구체화될 수 있다. 후속 액션 인텐트 요청은 타겟 애플리케이션(예를 들어, 제3자 애플리케이션)에 의해 수행되어야 하는 메시지 송신과 같은 액션을 식별하기 위해 더 생성될 수 있다.
후속 액션 인텐트를 클라이언트 장치에 의해 생성된 액션 인텐트 요청과 동기화하기 위해, 자동차 자동 어시스턴트는 클라이언트 장치(디바이스)에 의해 생성된 액션 인텐트 요청으로 동일한 커스텀 식별자를 사용하여 후속 액션 인텐트를 생성할 수 있다. 이런 방식으로, 클라이언트 장치는 후속 액션 인텐트 요청에 액세스하고 및/또는 후속 액션 인텐트 요청이 자동차 컴퓨터 시스템에서 생성되었는지를 결정하고 그리고 후속 액션 인텐트 요청과 액션 인텐트 요청 사이의 상관관계를 결정할 수 있다. 일부 구현 예에서, 커스텀 식별자는 자동 어시스턴트들 간의 전송을 암호화하기 위한 적어도 하나의 키로서 사용될 수 있다.
상기 후속 액션 인텐트 요청이 자동차 컴퓨터 시스템에서 발생된 경우, 클라이언트 자동 어시스턴트는 후속 액션 인텐트 요청이 생성되었음을 결정할 수 있고, 클라이언트 장치에서 후속 액션 인텐트 요청의 해당 인스턴스를 생성할 수 있다. 후속 액션 인텐트 요청은 제3자 애플리케이션을 통해 메시지를 전송할 때 지정되기 때문에 클라이언트 자동 어시스턴트 및/또는 클라이언트 장치는 메시지를 전송하기 위해 제3자 애플리케이션을 호출할 수 있다. 즉, 자동차 컴퓨터 시스템은 제3자 애플리케이션의 인스턴스를 포함하지 않기 때문에, 후속 액션 인텐트 요청의 생성은 자동차 컴퓨터 시스템에 설치된 제3자 애플리케이션의 임의의 인스턴스를 직접 호출하지 않는다. 오히려, 후속 액션 인텐트 요청의 생성을 확인하는 클라이언트 자동 어시스턴트 및/또는 후속 액션 인텐트 요청의 해당 인스턴스가 클라이언트 장치에서 생성되는 것에 응답하여, 제3자 애플리케이션은 응답 메시지의 전송을 수행한다.
일부 구현 예에서, 사용자가 메시지의 수신을 승인한 것에 응답하여 및/또는 사용자가 메시지에 응답하기를 원한다는 것을 나타내는 응답으로, 자동차 컴퓨터 시스템 및 클라이언트 장치에서의 액션 인텐트 요청의 펜던시(pendency)가 해제될 수 있다. 예를 들어, 사용자가 말한 음성("예, 응답하십시오, '오케이'")을 제공한 것에 응답하여, 자동차 자동 어시스턴트는 자동차 컴퓨터 시스템에서 액션 인텐트 요청의 해당 인스턴스가 해제되도록 할 수 있다. 또한, 사용자가 전술한 발화를 제공함에 따라, 클라이언트 자동 어시스턴트는 액션 인텐트 요청이 클라이언트 장치에서 해제되도록 할 수 있다. 원래 수신된 메시지와 연관된 액션 인텐트 요청의 별도의 해당 인스턴스가 예를 들어 원격 서버 장치에서 사용 가능한 경우, 별도의 해당 인스턴스도 해제(dismissed)될 수 있다.
상기 설명은 본 개시의 일부 구현들의 개요로서 제공된다. 이들 구현 예 및 다른 구현 예에 대한 더 상세한 설명은 이하에서보다 상세하게 설명된다.
일부 구현 예에서, 하나 이상의 프로세서에 의해 구현되는 방법은 자동차 자동 어시스턴트에 의해 클라이언트 장치에서 생성된 제1 액션 인텐트 요청을 식별하는 것과 같은 동작을 포함하는 것으로 설명된다. 클라이언트 장치는 무선 통신 채널을 통해 자동차 컴퓨터 시스템과 페어링되며, 자동차 컴퓨터 시스템은 자동차 자동 어시스턴트를 포함한다. 상기 동작들은 또한, 상기 제1 액션 인텐트 요청을 식별하는 것에 응답하여, 상기 제1 액션 인텐트 요청이, 수행될 제1 요청된 액션, 상기 요청된 액션을 수행하기 위해 액세스될 콘텐트 데이터, 그리고 상기 제1 액션 인텐트 요청을 상기 자동차 컴퓨터 시스템에 적어도 부분적으로 이용 가능하게 하는 애플리케이션과 관련된 식별자를 식별하는지를 결정하는 것을 포함할 수 있다. 또한, 상기 동작들은 수행될 제1 요청된 액션을 촉진(furtherance)시키면서, 자동차 컴퓨터 시스템의 사용자에게 출력을 제공하기 위해 자동 어시스턴트 인터페이스를 자동차 컴퓨터 시스템에 액세스 가능하게 하는 것을 포함할 수 있으며, 상기 출력은 상기 제1 액션 인텐트 요청의 콘텐트 데이터에 기초한다. 상기 동작들은 자동차 자동 어시스턴트에 의해, 사용자가 자동 어시스턴트 인터페이스에서 제공된 상기 출력에 응답하여 입력을 제공했는지를 결정하는 것과; 그리고 상기 사용자가 상기 입력을 제공한 것으로 결정한 것에 응답하여, 상기 클라이언트 장치에 제2 액션 인텐트 요청을 제공하는 것을 더 포함할 수 있다. 상기 제2 액션 인텐트 요청은 클라이언트 장치에서 수행될 제2 요청된 액션, 사용자에 의해 제공된 입력에 기초한 다른 콘텐트 데이터 및 식별자를 식별할 수 있다. 또한, 상기 동작들은 상기 제2 액션 인텐트 요청에 따라 상기 클라이언트 장치에서 상기 제2 요청된 액션이 수행되도록 하는 것을 포함할 수 있다. 제2 요청된 액션은 다른 콘텐트 데이터를 사용하는 애플리케이션에 의해 수행될 수 있고, 상기 애플리케이션은 제2 액션 인텐트 요청에 제공된 식별자를 사용하여 클라이언트 장치에 의해 식별될 수 있다.
일부 구현 예에서, 상기 방법은 상기 사용자가 상기 입력을 제공한 것으로 결정한 것에 응답하여, 상기 클라이언트 장치에 제3 액션 인텐트 요청을 제공하는 것을 포함할 수 있으며, 상기 제3 액션 인텐트 요청은 상기 식별자 및 제3 요청된 액션을 식별하며, 상기 클라이언트 장치가 상기 제3 액션 인텐트 요청을 수신하는 것에 응답하여, 상기 제3 액션 인텐트 요청은 상기 클라이언트 장치에서의 상기 제2 액션 인텐트 요청의 펜더시가 해제되도록 한다. 일부 구현 예에서, 이 방법은 사용자가 입력을 제공한 것으로 결정한 것에 응답하여, 제2 액션 인텐트 요청의 해당 인스턴스의 별도의 펜던시의 해제를 야기하는 것을 포함할 수 있으며, 상기 제2 액션 인텐트 요청의 해당 인스턴스는 자동차 컴퓨터 시스템에 제공된다. 일부 구현 예에서, 제2 액션 인텐트 요청의 펜던시는 클라이언트 장치를 통해 액세스 가능한 제1 자동 어시스턴트 이벤트 핸들러에 의해 표시되고, 제2 액션 인텐트 요청의 해당 인스턴스의 별도의 펜던시는 자동차 컴퓨터 시스템을 통해 액세스 가능한 제2 자동 어시스턴트 이벤트 핸들러에 의해 표시된다.
일부 구현 예에서, 자동차 컴퓨터 시스템은 (i) 클라이언트 장치에서 애플리케이션을 제공한 제3자가 제공하고, (ii) 클라이언트 장치에서 애플리케이션과 적어도 부분적으로 상관되는 설치된 애플리케이션이 존재하지 않는다. 일부 구현 예에서, 상기 자동차 컴퓨터 시스템은 클라이언트 장치에서 애플리케이션과 관련하여 다른 제3자에 의해 제공되는 다른 애플리케이션을 포함하는 별도의 클라이언트 장치와 페어링되고, 상기 방법은, 상기 자동차 자동 어시스턴트에 의해, 상기 개별 클라이언트 장치에서 생성된 별도의 액션 인텐트 요청을 식별하는 단계를 더 포함하며, 상기 개별 클라이언트 장치는 자동차 컴퓨터 시스템과 페어링된다. 일부 구현 예에서, 상기 별도의 액션 인텐트 요청은 개별 클라이언트 장치에 의해 생성된 다른 식별자를 포함하고, 상기 방법은, 상기 식별자와 다른 식별자 간의 차이에 기초하여, 상기 별도의 액션 인텐트 요청에 대한 우선순위로서 상기 제1 액션 인텐트 요청을 지정하는 단계를 더 포함한다.
다른 구현예들에서, 하나 이상의 프로세서에 의해 구현되는 방법은, 무선 통신 방식을 통해 제1 클라이언트 장치와 자동차 컴퓨터 시스템을 사용하여 접속하는 것과 같은 동작을 포함하는 것으로서 설명되며, 상기 제1 클라이언트 장치는 클라이언트 자동 어시스턴트를 포함하고, 상기 자동차 컴퓨터 시스템은 자동차 자동 어시스턴트 및 자동차 센서 애플리케이션을 포함하며, 상기 자동차 센서 애플리케이션은 자동차 컴퓨터 시스템의 적어도 하나의 센서를 모니터링하도록 구성된다. 상기 방법은 또한 자동차 컴퓨터 시스템을 사용하여 무선 통신 방식을 통해 제2 클라이언트 장치와 접속하는 단계를 포함할 수 있으며, 상기 제2 클라이언트 장치는 또 다른 클라이언트 자동 어시스턴트를 포함한다. 이 방법은, 자동차 컴퓨터 시스템에 의해, 애플리케이션에 의해 제1 액션 인텐트 요청이 제1 클라이언트 장치에서 생성되었다는 것을 결정하는 단계를 더 포함할 수 있으며, 상기 애플리케이션은 특정 카테고리의 서비스에 대응하고, 제1 서비스 제공자에 의해 제공된다. 이 방법은 또한 자동차 컴퓨터 시스템에 의해, 제2 액션 인텐트 요청이 다른 애플리케이션에 의해 상기 제2 클라이언트 장치에서 생성되었다고 결정하는 단계를 포함할 수 있으며, 상기 다른 애플리케이션은 상기 특정 카테고리의 서비스에 대응하고, 제2 서비스 제공자에 의해 제공된다. 이 방법은 자동차 컴퓨터 시스템을 사용하여, 제3 액션 인텐트 요청이 자동차 센서 애플리케이션에서 생성되었다는 것을 결정하는 단계를 더 포함할 수 있으며, 상기 제3 액션 인텐트 요청은 자동차 컴퓨터 시스템의 센서로부터의 센서 데이터에 기초하여 생성된다. 상기 방법은 또한 자동차 자동 어시스턴트에 의해, 제1 액션 인텐트 요청, 제2 액션 인텐트 요청, 및 제3 액션 인텐트 요청의 각 액션 인텐트 요청의 펜던시를 나타내는 데이터를 생성하는 단계를 포함할 수 있으며, 상기 데이터는 자동차 컴퓨터 시스템에 저장된다. 이 방법은 상기 생성된 데이터에 따라, 상기 자동차 컴퓨터 시스템에 접속된 하나 이상의 인터페이스로 하여금 상기 제1 액션 인텐트 요청, 상기 제2 액션 인텐트 요청 및 상기 제3 액션 인텐트 요청의 각각의 액션 인텐트 요청에 대한 통지를 제공하게 하는 단계를 더 포함할 수 있다.
일부 구현 예에서, 상기 방법은 제3 액션 인텐트 요청이 자동차 센서 애플리케이션에서 생성되었다는 결정에 응답하여, 제3 액션 인텐트 요청의 해당 인스턴스가 제1 클라이언트 장치에 저장되도록하는 단계를 포함할 수 있다. 일부 구현 예에서, 상기 방법은 상기 자동차 컴퓨터 시스템에 접속된 상기 하나 이상의 인터페이스들에서 사용자 입력을 수신하는 단계; 그리고 상기 사용자 입력을 수신한 것에 응답하여, 상기 제3 액션 인텐트 요청과 관련된 통지의 펜던시가 상기 자동차 컴퓨터 시스템에서 해제되게 하고, 상기 제3 액션 인텐트 요청의 해당 인스턴스가 상기 제1 클라이언트 장치에서 해제되게 하는 단계를 포함할 수 있다. 일부 구현 예에서, 특정 카테고리 서비스는 메시징 서비스이고, 제1 서비스 제공자는 제2 서비스 제공자와 다르다. 일부 구현 예에서, 상기 방법은 제1 액션 인텐트 요청 및 제2 액션 인텐트 요청의 각 액션 인텐트 요청에 대해, 각 액션 인텐트 요청에 의해 구체화된 각 메시지의 콘텐트를 처리하는 단계를 포함할 수 있으며, 각 메시지의 콘텐트의 처리는 각 메시지가 제1 서비스 제공자 및 제2 서비스 제공자의 서비스 제공자에 의해 제공되었는지의 여부에 무관하게 수행된다. 일부 구현 예에서, 각 액션 인텐트 요청의 펜던시를 나타내는 데이터를 생성하는 단계는, 상기 자동차 자동 어시스턴트에 의해, 상기 제1 액션 인텐트 요청, 상기 제2 액션 인텐트 요청 및 상기 제3 액션 인텐트 요청의 각각의 액션 인텐트 요청의 해당 인스턴스를 생성하는 단계를 포함할 수 있다.
또 다른 구현예에서, 하나 이상의 프로세서에 의해 구현되는 방법은 차량에 필수적이며 자동차 자동 어시스턴트를 포함하는 자동차 컴퓨터 시스템과 무선 모듈을 통해 클라이언트 장치에 의해 접속되는 것과 같은 동작을 포함하는 것으로 설명되며, 클라이언트 장치는 클라이언트 자동 어시스턴트를 포함한다. 이 방법은 또한 자동차 컴퓨터 시스템을 통해 클라이언트 장치에 의해, 자동차 컴퓨터 시스템의 애플리케이션으로부터 자동차 자동 어시스턴트에 의해 수신된 액션 인텐트 요청에 액세스하는 단계를 포함할 수 있으며, 상기 애플리케이션은 상기 차량의 센서와 통신하고 상기 액션 인텐트 요청은 적어도 상기 센서로부터의 신호에 기초한다. 이 방법은 클라이언트 자동 어시스턴트에 의해, 그리고 액션 인텐트 요청에 액세스하는 것에 기초하여 액션 인텐트 요청의 해당 인스턴스를 생성하는 단계를 더 포함할 수 있으며, 상기 클라이언트 장치는 상기 클라이언트 장치에서 하나 이상의 다른 애플리케이션에 의해 제공되는 하나 이상의 다른 액션 인텐트 요청을 포함한다. 이 방법은 적어도 클라이언트 장치가 차량 또는 자동차 컴퓨터 시스템에 덜 근접(근접거리 이상)하게 되는 것에 기초하여 클라이언트 장치를 자동차 컴퓨터 시스템으로부터 분리하는 단계를 더 포함할 수 있다. 이 방법은, 자동차 컴퓨터 시스템으로부터 분리된 후 클라이언트 자동 어시스턴트에 의해, 액션 인텐트 요청의 해당 인스턴스에 따라 액션을 수행하는 단계를 더 포함할 수 있으며, 상기 액션을 수행하는 단계는 상기 액션 인텐트 요청에 의해 식별된 콘텐트를 상기 클라이언트 장치의 인터페이스에 제공하는 단계를 포함한다.
일부 구현 예에서, 클라이언트 장치는 (i) 자동차 컴퓨터 시스템에서 애플리케이션을 제공한 제3자가 제공하고 (ii) 자동차 컴퓨터 시스템에서 애플리케이션과 적어도 부분적으로 상관되는 설치된 응용 프로그램이 없음을 나타낸다. 일부 구현 예에서, 특정 컨텍스트를 결정하고, 수행하는 단계는 상기 특정 컨텍스트를 결정하는 것에 응답한다. 일부 구현 예에서, 상기 특정 컨텍스트를 결정하는 단계는 상기 클라이언트 장치의 위치를 결정하는 단계를 포함하고, 상기 방법은, 상기 액션 인텐트 요청에 의해 식별된 상기 콘텐트가 상기 클라이언트장치의 위치와 관련되는지를 결정하는 단계를 더 포함하며, 상기 액션은 액션 인텐트 요청에 의해 식별된 콘텐트가 클라이언트 장치의 위치와 관련되어 있는지를 결정하는 것에 응답하여 수행된다. 일부 구현 예에서, 상기 방법은 액션 인텐트 요청의 해당 인스턴스에 따라 액션을 수행하는 클라이언트 자동 어시스턴트에 기초하여, 자동차 컴퓨터 시스템에서 해제될 액션 인텐트 요청에 대한 요청을 제공하는 단계를 포함할 수 있다. 일부 구현 예에서, 상기 요청은 자동차 컴퓨터 시스템과 통신하고 자동차 컴퓨터 시스템에서 액션 인텐트 요청이 해제되게 하도록 구성된 원격 서버 장치에 제공된다. 일부 구현 예에서, 액션 인텐트 요청은 사용자가 자동차 컴퓨터 시스템의 자동 어시스턴트 인터페이스에 음성 발화를 제공함에 응답하여 생성되며, 상기 방법은, 상기 사용자가 상기 자동 어시스턴트 인터페이스에 상기 음성 발화를 제공하는 것에 응답하여 상기 자동차 컴퓨터 시스템으로부터 상기 음성 발화에 대응하는 데이터를 수신하는 단계; 그리고 자동차 컴퓨터 시스템으로부터 수신된 데이터에 기초하여 응답 데이터를 자동차 컴퓨터 시스템에 제공하는 단계를 더 포함하며, 상기 액션 인텐트 요청은 상기 자동차 컴퓨터 시스템에 의해 수신된 상기 응답 데이터에 더 기초한다.
다른 구현예들은 하나 이상의 프로세서(예를 들어, 중앙 처리 장치(들)(CPU))에 의해 실행 가능한 명령어를 저장하는 비-일시적 컴퓨터 판독 가능 저장 매체, 그래픽 처리 장치(들)(GPU(들)), 및/또는 전술한 방법 및 또는 본 명세서의 다른 곳에서와 같은 방법을 수행하기 위한 텐서 프로세싱 유닛(들)(TPU(들))을 포함할 수 있다. 또 다른 구현예는 하나 이상의 컴퓨터의 시스템 및/또는 상술한 방법 및/또는 본 명세서의 다른 곳에서와 같은 방법을 수행하기 위해 저장된 명령어를 실행하도록 동작 가능한 하나 이상의 프로세서를 포함하는 하나 이상의 로봇을 포함할 수 있다.
전술한 개념들 및 본 명세서에서보다 상세하게 기술된 추가적인 개념들의 모든 조합은 본 명세서에 개시된 주제의 일부로서 고려될 수 있음을 이해해야 한다. 예를 들어, 본 명세서의 끝 부분에 나타나는 청구된 요지의 모든 조합은 본 명세서에 개시된 요지의 부분으로 고려된다.
도 1은 다수의 상이한 사용자가 차량 자동 어시스턴트가 그들의 각각의 장치에서 애플리케이션과 상호 작용하도록 하는 차량의 사시도를 도시한다.
도 2는 제3자 애플리케이션들에 의해 요청된 액션들을 추가하기 위해 다른 자동 어시스턴트들과 상호 작용할 수 있는 자동 어시스턴트를 제공하는 시스템을 도시한다.
또한, 도 3a, 도 3b 및 도 3c는 휴대용 컴퓨팅 장치의 클라이언트 자동 어시스턴트가 자동 어시스턴트의 다수의(복수의) 인스턴스에 대한 주요 또는 핵심 자동 어시스턴트로서 동작할 수 있는 시나리오의 사시도를 도시한다.
도 4a 및 도 4b는 클라이언트 장치가 자동차 컴퓨터 시스템과 통신할 때 생성된 액션 인텐트 요청을 처리하기 위한 방법을 도시한다.
도 5는 자동 어시스턴트의 상이한 인스턴스들로부터 제공되는 다수의 상이한 액션 인텐트 요청들에 따라 인터페이스로부터의 출력을 제공하는 방법을 도시한다.
도 6은 예시적인 컴퓨터 시스템의 블록도이다.
도 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)에서 이용 가능한 무선 통신 방식에 대한 각각의 자동 어시스턴트 간의 상호 작용을 통해 실현될 수 있다. 또한, 각 메시지를 인증하고 전달하기 위해 전화번호를 사용하는 서버에서도 유사한 장점을 얻을 수 있다.
예를 들어, 각 사용자는 각각의 클라이언트 장치와 함께 차량(114)에 진입할 수 있고, 각각의 클라이언트 장치는 액션 인텐트 요청을 포함 및/또는 생성할 수 있다. 예를 들어, 태블릿 장치(116)는 액션 인텐트 요청(122)을 생성할 수 있는 하나 이상의 태블릿 애플리케이션(120)을 포함할 수 있고, 셀룰러 장치(124)는 액션 인텐트 요청(130)을 생성할 수 있는 하나 이상의 셀룰러 애플리케이션(128)을 포함할 수 있다. 태블릿 애플리케이션(120) 및/또는 셀룰러 애플리케이션(128)은 자동 어시스턴트의 하나 이상의 인스턴스를 제공하거나 개발한 엔티티와 다른 엔티티에 의해 제공되거나 개발된 애플리케이션 및/또는 제3자 애플리케이션일 수 있다.
제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)에 의존하여 각각의 통지 및/또는 임의의 특정 액션을 중계할 수 있게 한다.
도 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)는 사용자로부터 음성 자연어 입력을 수신하기 위해 마이크로폰과 같은 사용자 인터페이스를 제공할 수 있다.
제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)의 운영 체제에 의해 직접 구현될 수 있다.
일부 구현 예에서, 원격 컴퓨팅 장치(202)는 어시스턴트 인터페이스에서 수신된 오디오 데이터를 처리하여 그 오디오 데이터에 구체화된 텍스트를 식별할 수 있는 음성-텍스트 변환 엔진(216)을 포함할 수 있다. 오디오 데이터를 텍스트로 변환하는 프로세스는 단어 또는 구에 대응하는 오디오 데이터의 그룹을 식별하기 위해 신경망, 워드투벡터(word2vec) 알고리즘 및/또는 통계 모델을 사용할 수 있는 음성 인식 알고리즘을 포함할 수 있다. 오디오 데이터로부터 변환된 텍스트는 텍스트 파서 엔진(208)에 의해 파싱될 수 있고, 사용자 및/또는 제3자 애플리케이션으로부터 명령 구문을 생성 및/또는 식별하는데 사용될 수 있는 텍스트 데이터로서 자동 어시스턴트(204)에 이용 가능하게 된다.
일부 구현 예에서, 원격 컴퓨팅 장치(202)는 텍스트 데이터를 오디오 데이터로 변환하기 위한 텍스트-음성 변환 엔진(228)을 포함할 수 있다. 예를 들어, 수신된 메시지와 관련된 펜딩 액션 인텐트 요청(238)을 식별하는 자동차 자동 어시스턴트(234)에 응답하여, 자동차 자동 어시스턴트(234)는 메시지에 대응하는 콘텐트가 텍스트-음성 변환 엔진(228)으로 전송되게 할 수 있다. 콘텐트 수신에 응답하여, 텍스트-음성 변환 엔진(228)은 콘텐트를 오디오 데이터로 변환할 수 있으며, 이는 자동차 자동 어시스턴트(234)로 다시 송신될 수 있다. 그 다음, 자동차 자동 어시스턴트(234)는 오디오 데이터가 오디오 인터페이스(예를 들어, 스피커(들))로부터의 오디오 출력으로서 출력되도록 할 수 있다. 신경망(들), 통계 모델 및/또는 텍스트 데이터가 오디오(예를 들어, 오디오에 상응하는 자연어 출력)로 변환될 수 있는 임의의 다른 장치 또는 모듈을 사용하여 텍스트가 오디오로 변환될 수 있다. 일부 구현 예에서, 각각의 음성-텍스트 변환 엔진(216), 텍스트-음성 변환 엔진(228) 및/또는 텍스트 파서 엔진(208)은 자동차 컴퓨터 시스템(232), 제1 클라이언트 장치(216) 및/또는 제2 클라이언트 장치(218)와 같은 하나 이상의 클라이언트 측 장치에 위치될 수 있다. 이러한 방식으로, 각각의 자동 어시스턴트는 프로세싱(처리)을 위해 반드시 원격 서버에 데이터를 전송할 필요는 없지만, 오히려 사용자에 대한 특정 데이터를 생성 및/또는 해석하기 위해 데이터를 국부적으로 처리할 수 있다.
일부 구현 예에서, 서버 장치(230)의 동작들, 애플리케이션들 및/또는 엔진들 중 하나 이상은 자동차 컴퓨터 시스템(232), 제1 클라이언트 장치(216) 및/또는 제2 클라이언트 장치(218)에서 제공 및/또는 실행될 수 있다. 예를 들어, 일부 구현 예에서, 자동차 컴퓨터 시스템(232)은 텍스트-음성 변환 엔진(228) 및/또는 음성-텍스트 변환 엔진(216)에 포함할 수 있다. 또한, 일부 구현 예에서, 자동차 자동 어시스턴트(234), 클라이언트 자동 어시스턴트(246) 및/또는 클라이언트 자동 어시스턴트(248)에서 수신된 임의의 콘텐트는 각각의 어시스턴트를 호스팅하는 장치와 서버 장치(230) 사이에 연결이 있을 때 서버 장치(230)로 송신될 수 있다. 대안적으로 또는 부가적으로, 각각의 장치 또는 시스템과 서버 장치(230)간에 어떠한 연결도 이용 가능하지 않을 때, 수신된 임의의 콘텐트는 콘텐트가 병렬로 처리될 수 있도록 각각의 장치에서 독점적으로 처리되거나 다른 로컬 장치와 공유될 수 있다. 예를 들어, 콘텐트가 제2 클라이언트 장치(218)에서 수신되어 자동차 컴퓨터 시스템(232)에 송신된 메시지에 대응할 때, 자동차 컴퓨터 시스템(232)은 자동차에 타고있는 동안 사용자에게 제공될 수 있는 오디오를 생성하기 위해 로컬 텍스트-음성 변환 엔진을 사용할 수 있다.
일부 구현 예에서, 하나 이상의 애플리케이션을 포함하는 각각의 장치 또는 시스템은 또한 하나 이상의 대응하는 액션 인텐트 생성 엔진을 포함할 수 있다. 액션 인텐트 생성 엔진은 애플리케이션, 다른 애플리케이션 및/또는 애플리케이션에 액세스 가능한 다른 모듈에 의해 수행되는 특정 액션을 유발하기 위해 애플리케이션에 의해 제어될 수 있다. 예를 들어, 애플리케이션은 메시징 애플리케이션일 수 있으며, 메시징 애플리케이션은 착신(incoming) 메시지를 수신할 수 있다. 착신 메시지 수신에 응답하여, 메시징 애플리케이션의 액션 인텐트 생성 엔진은 자동 어시스턴트를 통해 사용자에게 통지를 제공하기 위한 액션 인텐트를 생성할 수 있다. 액션 인텐트는 수행될 동작(예를 들어, 통지를 제공함), 수신된 메시지의 콘텐트, 메시지와 관련된 커스텀 식별자 및/또는 메시지와 관련될 수 있는 임의의 다른 데이터를 식별할 수 있다.
일부 구현 예에서, 각 액션 인텐트 생성 엔진 및/또는 애플리케이션은 애플리케이션에 의해 수행될 수 있는 액션 유형을 나타내는 디클레이션(declaration) 및/또는 매니페스트(manifest) 파일과 연관될 수 있다. 예를 들어, 메시징 애플리케이션은 메시지 애플리케이션이 적어도 메시지를 수신할 수 있고, 사용자에게 메시지를 통지하고 및/또는 메시지에 응답할 수 있음을 나타내는 매니페스트 파일을 포함할 수 있다. 운영 체제 및/또는 자동 어시스턴트는 특정 애플리케이션이 특정 액션을 처리할 수 있는지 여부를 결정하기 위해 하나 이상의 장치에 있는 각 매니페스트 파일에 액세스할 수 있다. 이러한 방식으로, 예를 들어 자동차 컴퓨터 시스템(232)에서 생성된 액션 인텐트는 장치들 중 하나의 특정 매니페스트 파일이 액션 인텐트를 처리할 수 있는 장치에 애플리케이션이 있는지를 나타내는 지의 여부에 기초하여 제1 클라이언트 장치(216) 또는 제 2 클라이언트 장치(218)에 제공될 수 있다. 하나 이상의 애플리케이션이 특정 액션 인텐트를 처리할 수 있는 경우, 발신(originating) 장치 및/또는 별도의 장치는 (예를 들어, 그래픽 사용자 인터페이스를 통해) 특정 액션 인텐트를 처리하기 위해 장치를 선택하도록 사용자에게 프롬프트할 수 있다.
일부 구현 예에서, 각각의 액션 인텐트 생성 엔진은 또한 액션 인텐트의 각 액션 인텐트와 연관된 커스터머(customer) 식별자에 따라 액션 인텐트를 생성 및/또는 필터링할 수 있다. 예를 들어, 액션 인텐트 생성 엔진이 애플리케이션의 방향으로 액션 인텐트를 생성할 때 액션 인텐트 생성 엔진은 또한 커스텀 식별자를 생성할 수 있다. 커스텀 식별자는 액션을 수행하는데 사용될 콘텐트에 대한 식별자, 발신(originating) 애플리케이션을 나타내는 식별자, 수신자에 대한 식별자, 발신 사용자에 대한 식별자, 액션 인텐트의 컨텍스트에 대한 식별자, 및/또는 식별자를 생성하기 위한 기초로서 사용될 수 있는 임의의 다른 정보에 기초하여 생성될 수 있다.
각각의 자동 어시스턴트 및/또는 운영 시스템은 콘텐트 데이터, 수행될 의도된 액션 및/또는 커스텀 식별자를 식별하기 위한 액션 인텐트를 파싱하도록 구성될 수 있다. 일부 구현 예에서, 자동 어시스턴트는 발신 애플리케이션과 관련하여 불가지론적으로 보이는(seemingly agnostic) 각 액션 인텐트를 처리할 수 있다. 예를 들어, 제1 클라이언트 장치(216) 및 제2 클라이언트 장치(218)가 상이한 메시징 애플리케이션을 포함함에도 불구하고, 자동차 컴퓨터 시스템(232)은 자동차 컴퓨터 시스템(232)의 자동 어시스턴트 인터페이스를 통해 메시징 애플리케이션들로부터 액션 인텐트 요청들을 검색하고 메시지를 판독할 수 있다. 예를 들어, 제1 클라이언트 장치(216)에서의 메시지 애플리케이션은 액션 인텐트 요청(252)을 생성할 수 있고, 사용자가 차량(240)에 진입할 때, 펜딩 액션 인텐트 요청은 자동차 자동 어시스턴트(234)에 의해 액세스될 수 있다. 그 다음, 자동차 자동 어시스턴트(234)는 펜딩 액션 인텐트 요청의 해당 인스턴스를 생성할 수 있다. 액션 인텐트 요청에 의해 제공된 콘텐트 데이터는 "야, 너 벌써 떠났니? (Hey, have you left yet?)"와 같은 데이터를 포함할 수 있기 때문에, 자동차 자동 어시스턴트(234)는 콘텐트 데이터가 착신 메시지에 대응한다고 결정할 수 있다. 따라서, 많은 다른 메시징 애플리케이션이 유사한 방식으로 액션 인텐트를 생성하므로, 자동차 자동 어시스턴트(234)는 보편적인 방식으로 및/또는 해당 메시징 애플리케이션(예를 들어, 제1 서비스 제공자, 제2 서비스 제공자 등)을 제공한 엔티티에 대해 상대적으로 불가지론 적으로 그러한 액션 인텐트를 제시하고 이에 응답할 수 있다.
일부 구현 예에서, 음성 인식 엔진과 자동 어시스턴트간에 다수의 턴(turn)을 수행하기보다는 복수의 음성 발화에 대응하는 오디오 데이터를 처리하기 위해 음성-텍스트 변환 엔진을 사용함으로써 연산 자원이 보존될 수 있다. 예를 들어, 핵심(주요) 자동 어시스턴트는 "로버트에게 메시지 보내기"와 같은 사용자 명령을 수신할 수 있다. 이에 응답하여 핵심(주요) 자동 어시스턴트는 "Ok, 당신의 제1 애플리케이션, 제2 애플리케이션, 제3 애플리케이션 중에서 어떤 메시징 애플리케이션을 사용하시겠습니까?"와 같은 미리 구성된 응답을 가질 수 있다. 사용자는 "나의 제1 애플리케이션"과 같은 응답을 제공할 수 있으며, "오늘은 어땠어?"와 같은 메시지를 지시할 수 있다. 일부 구현 예에서, 자동 어시스턴트는 사용할 메시징 애플리케이션을 확인하고, 사용자가 메시지 (예: "확인, 메시지를 보내거나 메시지를 변경해야합니까?")를 보내거나 변경할지 여부를 묻습니다. 이때, 사용자는 다른 메시징 애플리케이션을 선택하도록 요청할 수 있다. 예를 들어, 사용자는 "제1 메시징 애플리케이션 대신 제2 메시징 애플리케이션으로 보내주십시오."라고 대답할 수 있다. 이에 응답하여, 자동 어시스턴트는 제2 메시징 애플리케이션에 의해 메시지가 전송되도록 할 수 있다. 이렇게 하면 메시지 처리가 각 개별 메시징 애플리케이션에 맞게 조정될 필요가 없으므로 사용자와 자동 어시스턴트 간의 턴(turn) 횟수를 줄일 수 있다.
일부 구현 예에서, 각각의 자동 어시스턴트(예를 들어, 자동차 자동 어시스턴트(234))는 펜딩 액션 인텐트 요청에 대응하는 데이터를 포함하는 이벤트 핸들러를 액세스 및/또는 관리할 수 있다. 펜딩 액션 인텐트 요청을 수행하는 액션이 수행되면 각 자동 어시스턴트의 각 이벤트 핸들러를 업데이트할 수 있다. 일부 구현 예에서, 이벤트 핸들러는 동일한 이벤트에 대응하는 펜딩 액션 인텐트 요청을 포함할 수 있다. 예를 들어, 수신된 메시지에 여러 개의 다른 액션을 연결할 수 있다. 따라서, 사용자가 자신의 제1 클라이언트 장치(216)에서 문자 메시지를 수신하면, 해당 메시징 애플리케이션은 상기 수신된 문자 메시지를 처리하기 위한 다수의 액션 인텐트 요청을 생성할 수 있다. 제1 클라이언트 장치(216)가 블루투스, Wi-Fi, LTE 등과 같은 무선 통신 방식을 통해 자동차 컴퓨터 시스템(232)과 페어링할 때, 자동차 자동 어시스턴트(234)는 다수의 액션 인텐트 요청의 해당 인스턴스를 생성할 수 있다. 다중 액션 인텐트 요청의 해당 인스턴스는 자동차 자동 어시스턴트(234)의 이벤트 핸들러에 의해 관리될 수 있고, 다수의 액션 인텐트 요청들의 해당 인스턴스를 제1 클라이언트 장치(216)에서 수신된 텍스트 메시지와 관련시키는 일정량의 데이터를 포함할 수 있다. 예를 들어, 자동차 자동 어시스턴트(234)의 이벤트 핸들러에 의해 식별된 액션 인텐트 요청은 텍스트 메시지를 사용자에게 알리고 응답을 원하는지 여부를 사용자에게 프롬프트하는 액션에 해당할 수 있다. 자동차 자동 어시스턴트(234)는 제1 클라이언트 장치(216)에 설치된 메시징 애플리케이션에 직접적으로 로컬 액세스하지 않고, 상기 수신된 문자(텍스트) 메시지와 관련된 두 가지 액션을 실행할 수 있다.
또한, 도 3a, 도 3b 및 도 3c는 휴대용 컴퓨팅 장치의 클라이언트 자동 어시스턴트가 자동 어시스턴트의 다수의 인스턴스에 대한 1차(핵심, 주요) 자동 어시스턴트로서 동작 할 수있는 시나리오의 사시도(300, 302 및 304)를 나타낸다. 예를 들어, 사용자가 집(318)에 있는 동안, 오작동은 사용자와 관련된 자동차(316)에서 검출될 수 있다. 예를 들어, 설치류가 밤에 자동차(316)의 브레이크 센서에 연결되는 전선과 같은 케이블을 씹은(chewed) 것이 이슈가 될 수 있다. 자동차(316)의 자동차 컴퓨터 시스템(306)이 대기 모드에서 작동할 수 있지만, 자동차 자동 어시스턴트(308)는 상기 이슈에 응답하여 그 이슈와 관련된 하나 이상의 액션 인텐트 요청(312)을 생성할 수 있다. 구체적으로, 자동차 자동 어시스턴트(308)는 사용자에게 자동차 이슈 통지(예컨대, "브레이크 센서")를 디스플레이하기 위한 액션 인텐트 요청(314) 및 사용자로 하여금 상기 이슈를 해결하기 위해 유지보수(maintenance)(예: "스케줄 수정?")를 스케줄링하도록 프롬프트하기 위한 또 다른 액션 인텐트 요청(320)을 생성할 수 있다. 각 액션 인텐트 요청은 원래의 이슈와 관련될 수 있는 동일한 커스텀 식별자(예: '4KAJC92W')로 생성될 수 있다. 또한, 각 액션 인텐트 요청은 수행할 액션(예: "통지(알림)" 및 "스케줄(일정)")을 식별할 수 있다.
도 3b는 클라이언트 자동 어시스턴트(328)로서 자동 어시스턴트의 인스턴스를 또한 포함하는 셀룰러 장치(328)와 함께 자동차(316)에 진입하는 사용자(322)의 사시도(302)를 도시한다. 일부 구현 예에서, 자동차 컴퓨터 시스템(306)은 셀룰러 장치(328)에 직접 설치되지 않은 자동차 애플리케이션(310)을 포함할 수 있다. 또한, 일부 구현 예에서, 셀룰러 장치(328)는 자동차 컴퓨터 시스템(306)에 직접 설치되지 않은 셀룰러 애플리케이션(332)을 포함할 수 있다. 그럼에도 불구하고, 액션 인텐트 요청은 무선 방식을 통해 자동차 컴퓨터 시스템(306)과 셀룰러 장치(328) 사이에서 전송될 수 있고, 각각의 자동 어시스턴트에 의해 파싱될 수 있다.
예를 들어, 액션 인텐트 요청(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)되도록 한다.
도 3c는 액션 인텐트 요청(314 및 320)의 인스턴스가 생성된 이후 자신의 집(346)에 있는 사용자(322)의 사시도(304)를 도시한다. 특히, 사용자(322)는 자신의 집(346)에 진입할 수 있고, 이에 응답하여, 클라이언트 자동 어시스턴트는 액션 인텐트 요청(314 및 320)에 의해 지시된 액션을 완료하려고 시도할 수 있다. 예를 들어, 클라이언트 자동 어시스턴트는 셀룰러 장치(328)의 디스플레이 인터페이스로 하여금 액션 인텐트 요청들(314 및 320)에 대응할 수 있는 선택 가능한 요소들(338 및 340)을 제공하게 할 수 있다. 대안적으로, 사용자(322)는 클라이언트 자동 어시스턴트가 임의의 펜딩 액션 인텐트 요청과 관련된 임의의 통지를 제시하게 하기 위해 셀룰러 장치(328)의 인터페이스(예를 들어, 마이크로폰)에 음성 발화(336)를 제공할 수 있다. 예를 들어, 사용자(322)는 "어시스턴트, 펜딩 통지를 보여줘"와 같은 음성 발화(336)를 제공할 수 있다. 이에 응답하여, 클라이언트 자동 어시스턴트는 인근 디스플레이 패널로 하여금 사용자(322)에게 액션 인텐트 요청과 관련된 통지를 제시하게 한다.
사용자(322)가 선택 가능한 요소(338 및 340) 중 하나를 선택하면, 액션 인텐트 요청(314 및 320)의 펜던시는 액션 인텐트 요청들(314 및 320)의 인스턴스를 포함하는 각각의 장치에서 해제(dismissed)될 수 있다. 예를 들어, 액션 인텐트 요청(314 및 320)의 인스턴스는 자동차 컴퓨터 시스템(306) 및 셀룰러 장치(328)에서 해제될 수 있다. 일부 구현 예에서, 사용자(322)가 선택 가능한 요소(338 및 340)를 선택하는 것에 응답하여, 데이터가 네트워크(342)를 통해 원격 장치(344)로 송신될 수 있는 경우, 액션 인텐트 요청(314 및 320)은 자동차 컴퓨터 시스템에서 해제될 수 있다. 원격 장치(344)는 이후에 원격 컴퓨터(344)에서의 데이터에 따라 자동차 컴퓨터 시스템(306)의 이벤트 핸들러를 업데이트할 수 있는 자동차 컴퓨터 시스템(306)에 의해 액세스될 수 있다.
또한, 도 4a 및 도 4b는 클라이언트 장치가 자동차 컴퓨터 시스템과 통신할 때 생성된 액션 인텐트 요청을 핸들링하기 위한 방법(400 및 410)을 도시한다. 방법(400 및 410)은 컴퓨팅 장치, 애플리케이션, 및/또는 무선 접속을 통해 통신할 수 있는 임의의 다른 장치 또는 모듈 중 하나 이상에 의해 수행될 수 있다. 방법(400)은 자동차 자동 어시스턴트에 의해, 클라이언트 장치에서 생성된 제1 액션 인텐트 요청을 식별하는 동작(402)을 포함할 수 있다. 클라이언트 장치는 무선 통신 방식을 통해 자동차 컴퓨터 시스템과 페어링될 수 있다. 제1 액션 인텐트 요청은 예를 들어, 애플리케이션에서 수행된 동작(예를 들어, 메시지 수신)에 응답하여 클라이언트 장치에서의 애플리케이션에 의해 생성될 수 있다. 일부 구현 예에서, 자동차 컴퓨터 시스템은 클라이언트 장치의 애플리케이션의 해당 인스턴스가 무효(void)로 될 수 있다. 구체적으로, 자동차 컴퓨터 시스템은 클라이언트 장치에서 애플리케이션을 제공하고 및/또는 클라이언트 장치에서 애플리케이션과 적어도 부분적으로 상관되는 제3자가 제공하는 별도의 애플리케이션을 무효로 할 수 있다. 예를 들어, 상기 애플리케이션은 텍스트 메시징 애플리케이션일 수 있으며, 자동차 컴퓨터 시스템은 텍스트 메시징 애플리케이션을 무효로 할 수 있다.
방법(400)은 제1 액션 인텐트 요청이 수행될 제1 요청된 액션, 콘텐트 데이터 및 커스텀 식별자를 식별하는지를 결정하는 동작(404)을 더 포함할 수 있다. 상기 제1 요청된 액션은 착신 메시지가 클라이언트 장치에 설치된 메시징 애플리케이션에서 수신되었음을 사용자에게 알리기위한 요청일 수 있다. 콘텐트 데이터는 수신된 텍스트 메시지(예를 들어, "진행 중입니까?")에 제공된 텍스트의 일부 또는 전부를 식별할 수 있다. 또한, 커스텀 식별자는 수신된 텍스트 메시지와 제1 액션 인텐트 요청 사이의 대응(correspondence)을 제공할 수 있는 데이터의 스트링일 수 있어서, 제1 액션 인텐트 요청으로 취해진 임의의 추가 액션이 수신된 텍스트 메시지와 후속적으로 연관될 수 있다.
방법(400)은 또한 자동차 컴퓨터 시스템에 액세스 가능한 자동 어시스턴트 인터페이스가 자동차 컴퓨터 시스템의 사용자에게 출력을 제공하도록 하는 동작(406)을 포함할 수 있다. 예를 들어, 출력은 제1 액션 인텐트 요청이 통지를 제공하는 액션에 대응한다고 결정하는 자동차 자동 어시스턴트에 응답하여 제공될 수 있다. 상기 통지는 자동차 컴퓨터 시스템에 연결된 디스플레이 패널일 수 있는 자동 어시스턴트 인터페이스에서 제공될 수 있다. 또는, 자동 어시스턴트 인터페이스는 자동차 컴퓨터 시스템에 연결된 스피커일 수 있으며, 상기 통지(알림)는 "메튜가 '가는 중이니?'라는 메시지를 당신에게 보냈습니다"와 같은 가청 오디오 출력일 수 있다.
방법(400)은, 자동차 자동 어시스턴트에 의해, 사용자가 자동 어시스턴트 인터페이스에서 제공된 출력에 응답하여 입력을 제공했는지를 결정하는 동작(408)을 더 포함할 수 있다. 예를 들어, 사용자는 자동차의 자동 어시스턴트 인터페이스(예: 마이크로폰)에 "응답하십시오. 예, 가고 있습니다."와 같이 응답하는 음성 발화를 제공할 수 있다. 자동차 자동 어시스턴트 장치는 상기 응답하는 음성 발화에 대응하는 오디오 데이터를 수신할 수 있고, 오디오 데이터가 국부적으로 처리되도록하거나 처리를 위해 별도의 장치로 오디오 데이터를 전송할 수 있다. 오디오 데이터를 처리함으로써, 자동차 자동 어시스턴트는 사용자가 텍스트 메시지의 통지를 승인했는지 여부 및 사용자가 수행하기를 원하는 임의의 다른 동작을 결정할 수 있다. 예를 들어, 응답하는 음성 발화를 수신한 것에 응답하여, 자동차 자동 어시스턴트는 제2 액션 인텐트 요청이 생성되게 할 수 있다.
방법(400)은 도 4a 및 4b에서 원으로 둘러싼 연속 요소 "A"에 의해 지시된 바와 같이 방법(410)으로 진행할 수 있다. 방법(410)은 사용자가 입력을 제공한 것으로 결정한 것에 응답하여, 클라이언트 장치에 제2 액션 인텐트 요청을 제공하는 동작(412)을 포함할 수 있다. 제2 액션 인텐트 요청은 제2 요청된 액션, 다른 콘텐트 데이터, 및/또는 제1 액션 인텐트 요청과 관련된 커스텀 식별자를 식별할 수 있다. 제2 요청된 액션은 메시징 애플리케이션에서 수신된 텍스트 메시지에 응답하도록 하는 요청일 수 있다. 다른 콘텐트 데이터는 응답하는 음성 발화(예: "콘텐트-데이터 ='텍스트: 예, 가고 있습니다")를 기반으로 한 텍스트를 포함할 수 있으며, 커스텀 식별자는 제1 액션 인텐트 요청과 동일한 커스텀 식별자일 수 있다.
방법(410)은 제2 요청된 액션이 다른 콘텐트 데이터를 사용하는 애플리케이션에 의해 클라이언트 장치에서 수행되게 하는 동작(414)을 더 포함할 수 있다. 예를 들어, 액션이 응답하는 메시지를 송신하는 것을 포함하는 경우, 클라이언트 장치는 응답하는 메시지를 생성하고, 텍스트 메시지를 클라이언트 장치로 초기에 보낸 사람에게 응답 메시지를 송신하기 위해 콘텐트 데이터를 사용할 수 있다. 제2 액션 인텐트 요청이 대응하는 텍스트 메시지 및/또는 애플리케이션을 식별하기 위해, 클라이언트 장치에서의 자동 어시스턴트의 인스턴스는 커스텀 식별자를 제1 액션 인텐트 요청과 함께 제공된 커스텀 식별자와 비교할 수 있다. 선택적으로 또는 부가적으로, 자동 어시스턴트는 메시징 애플리케이션의 매니페스트 파일에 의해 지시된 바와 같이, 메시징 애플리케이션이 제2 요청된 액션을 수행할 수 있는지 여부에 기초하여 메시징 애플리케이션을 식별할 수 있다. 클라이언트 장치의 자동 어시스턴트는 메시징 애플리케이션으로 하여금 제2 요청된 액션을 수행하게 하고, 그에 따라 응답하는 음성 발화에 대응하는 텍스트 메시지를 전송할 수 있게 한다.
도 5는 자동 어시스턴트의 상이한 인스턴스들로부터 제공되는 다수의 상이한 액션 인텐트 요청들에 따라 인터페이스로부터의 출력을 제공하는 방법(500)을 도시한다. 방법(500)은 컴퓨팅 장치, 애플리케이션, 및/또는 자동 어시스턴트와 상호 작용할 수 있는 임의의 다른 장치 또는 모듈 중 하나 이상에 의해 수행될 수 있다. 상기 방법(500)은 자동차 컴퓨터 시스템에 의해, 무선 통신 방식을 통해 클라이언트 자동 어시스턴트를 포함하는 제1 클라이언트 장치와 접속하기 위한 동작(502)을 포함할 수 있다. 제1 클라이언트 장치는 예를 들어, 휴대 전화기 또는 태블릿 컴퓨터와 같은 휴대용 컴퓨팅 장치일 수 있고, 자동차 컴퓨터 시스템은 다수의 승객을 운송할 수 있는 차량에 필수적인 컴퓨팅 장치일 수 있다. 또한, 무선 방식은 블루투스, Wi-Fi, LTE 및/또는 다수의 컴퓨팅 장치가 상호 작용할 수 있는 임의의 다른 방식과 같은 하나 이상의 무선 통신 프로토콜일 수 있다.
방법(500)은 자동차 컴퓨터 시스템에 의해 그리고 무선 통신 방식을 통해 다른 클라이언트 자동 어시스턴트를 포함하는 제2 클라이언트 장치와 연결(접속)하는 동작(504)을 더 포함할 수 있다. 다른 클라이언트 자동 어시스턴트는 클라이언트 자동 어시스턴트와 동일하거나 상이한 엔티티로 제공될 수 있고, 제2 클라이언트 장치는 제1 클라이언트 장치와 동일하거나 상이한 타입의 클라이언트 장치일 수 있다. 예를 들어, 제1 클라이언트 장치는 자동차의 운전자에 의해 소유될 수 있고, 제2 클라이언트 장치는 자동차의 승객에 의해 소유될 수 있다. 또한, 운전자 및 자동차 승객이 자동차에 진입할 때, 동작(502) 및 동작(504)이 수행될 수 있다. 이런 방식으로, 자동차 자동 어시스턴트는 운전자와 승객이 자동차에 있을 때 클라이언트 자동 어시스턴트 및 다른 클라이언트 자동 어시스턴트와 상호 작용할 수 있다.
방법(500)은 제1 액션 인텐트 요청이 제1 클라이언트 장치에서 애플리케이션에 의해 생성되었고 제2 액션 인텐트 요청이 제2 클라이언트 장치에서 다른 애플리케이션에 의해 생성되었다는 것을 결정하는 동작(506)을 더 포함할 수 있다. 제1 액션 인텐트 요청은 운전자에게 제공될 통지에 대한 요청에 대응할 수 있고, 상기 통지는 제1 클라이언트 장치에서 수신된 메시지에 관한 정보를 제공할 수 있다. 제2 액션 인텐트 요청은 승객에게 제시될 다른 통지에 대한 다른 요청에 대응할 수 있다. 다른 통지는 제2 클라이언트 장치에서 수신된 다른 메시지에 관한 상이한 정보를 제공할 수 있다.
방법(500)은 또한 자동차 컴퓨터 시스템에서 별도의 애플리케이션에 의해 제3 액션 인텐트 요청이 생성되었다는 것을 결정하는 동작(508)을 포함할 수 있다. 별도의 애플리케이션은 예를 들어 자동차의 하나 이상의 센서를 모니터링하는 유지관리(유지보수) 애플리케이션일 수 있다. 또한, 제1 클라이언트 장치 및 제2 클라이언트 장치는 유지보수 애플리케이션의 임의의 해당 인스턴스를 무효로 할 수 있다. 일부 구현 예에서, 제3 액션 인텐트 요청은 오일 교환이 지연되고 및/또는 브레이크 유동체가 교체될 필요가 있는 것과 같은 차량 상태에 관해 운전자에게 제공될 통지에 대한 요청에 대응할 수 있다.
방법(500)은 또한 자동차 컴퓨터 시스템에서, 제1 액션 인텐트 요청, 제2 액션 인텐트 요청 및 제3 액션 인텐트 요청의 각 액션 인텐트 요청의 펜던시를 나타내는 데이터를 생성하는 동작(510)을 포함할 수 있다. 상기 데이터는 다양한 상이한 애플리케이션 및/또는 장치로부터의 다양한 상이한 액션 인텐트 요청에 대응하는 데이터를 정렬할 수 있는 이벤트 핸들러 엔진으로서 구현되거나 액세스 가능할 수 있다. 예를 들어, 데이터는 각각의 액션 인텐트 요청의 우선순위를 식별할 수 있다. 액션 인텐트 요청에 대한 우선순위는 예를 들어 액션 인텐트 요청이 1차(핵심, 주요) 자동 어시스턴트(즉, 적어도 하나 이상의 다른 자동 어시스턴트가 통신하고 있는 자동 어시스턴트)를 포함하는 장치에서 생성되었는지 여부에 기반할 수 있다. 예를 들어, 운전자 및 승객이 자동차에 탑승할 때, 1차 자동 어시스턴트는 자동차의 자동차 컴퓨터 시스템에 설치되기 때문에 자동차 자동 어시스턴트가 될 수 있다. 제1 클라이언트 장치와 같이 차량의 운전자와 관련된 장치에 의해 제공되는 동액션 인텐트 요청에 다음 우선 순위가 부여될 수 있다. 그 후에, 다른 우선순위는 자동차의 승객과 관련된 액션 인텐트 요청에 할당될 수 있다.
방법(500)은 생성된 데이터에 기초하여, 자동차 컴퓨터 시스템에 접속된 하나 이상의 인터페이스로 하여금 제1 액션 인텐트 요청, 제2 액션 인텐트 요청, 및 제3 액션 인텐트 요청의 각각의 액션 인텐트 요청에 대한 통지를 제공하도록 하는 동작(512)을 더 포함할 수 있다. 일부 구현 예에서, 자동차 컴퓨터 시스템은 그래픽 요소가 제시되는 디스플레이 패널과 같은 인터페이스를 포함할 수 있고, 하나 이상의 그래픽 요소는 액션 인텐트 요청 중 어느 하나에 대응할 수 있다. 또한, 디스플레이 패널은 사용자가 통지를 확인하고 자동차 컴퓨터 시스템에서 다른 액션 인텐트 요청을 생성하게 하기 위해 그래픽 요소를 선택할 수 있는 터치 인터페이스일 수 있다.
도 6은 예시적인 컴퓨터 시스템(610)의 블록도이다. 컴퓨터 시스템(610)은 전형적으로 버스 서브시스템(612)을 통해 다수의 주변 장치와 통신하는 적어도 하나의 프로세서(614)를 포함한다. 이러한 주변 장치는 예를 들어 메모리(625) 및 파일 저장 서브시스템(626), 사용자 인터페이스 출력 장치(620), 사용자 인터페이스 입력 장치(622) 및 네트워크 인터페이스 서브시스템(616)을 포함하는 저장 서브시스템(624)을 포함할 수 있다. 입력 및 출력 장치는 컴퓨터 시스템(610)과 사용자 상호 작용을 허용한다. 네트워크 인터페이스 서브시스템(616)은 외부 네트워크에 인터페이스를 제공하고 다른 컴퓨터 시스템의 대응 인터페이스 장치에 연결된다.
사용자 인터페이스 입력 장치들(622)은 키보드, 마우스, 트랙볼, 터치 패드 또는 그래픽 태블릿과 같은 포인팅 장치, 스캐너, 디스플레이에 통합된 터치 스크린, 음성 인식 시스템과 같은 오디오 입력 장치, 마이크로폰 및/또는 다른 유형의 입력 장치를 포함할 수 있다. 일반적으로, 용어 "입력 장치"의 사용은 컴퓨터 시스템(610) 또는 통신 네트워크상에 정보를 입력하는 모든 가능한 유형의 장치 및 방법을 포함하도록 의도된다.
사용자 인터페이스 출력 장치(620)는 디스플레이 서브시스템, 프린터, 팩스 기계, 또는 오디오 출력 장치와 같은 비시각적 디스플레이를 포함할 수 있다. 디스플레이 서브시스템은 음극선관(CRT), 액정 디스플레이(LCD)와 같은 평판 장치, 프로젝션 장치, 또는 가시적 이미지를 생성하기 위한 다른 메커니즘을 포함할 수 있다. 디스플레이 서브시스템은 또한 오디오 출력 장치를 통한 비-시각적 디스플레이를 제공할 수 있다. 일반적으로, 용어 "출력 장치"의 사용은 컴퓨터 시스템(610)으로부터 사용자 또는 다른 기계 또는 컴퓨터 시스템으로 정보를 출력하는 모든 가능한 유형의 장치 및 방법을 포함하도록 의도된다.
저장 서브시스템(624)은 여기에 설명된 일부 또는 모든 모듈의 기능을 제공하는 프로그래밍 및 데이터 구성을 저장한다. 예를 들어, 저장 서브시스템(624)은 방법(400), 방법(500)의 선택된 양태들을 수행하도록 하는 로직 및/또는 자동차 자동 어시스턴트, 자동차 컴퓨터 시스템, 클라이언트 자동 어시스턴트, 클라이언트 장치, 원격 장치, 서버 장치, 차량 및/또는 여기에 논의된 임의의 다른 모듈 또는 장치 중 하나 이상을 구현하도록 하는 로직을 포함할 수 있다.
이들 소프트웨어 모듈은 일반적으로 프로세서(614) 단독으로 또는 다른 프로세서와 조합하여 실행된다. 저장 서브시스템(624)에서 사용되는 메모리(625)는 프로그램 실행 중 명령어 및 데이터의 저장을 위한 메인 랜덤 액세스 메모리(RAM) (630) 및 고정된 명령어들이 저장되는 판독 전용 메모리(ROM)(632)를 포함하는 다수의 메모리를 포함할 수 있다. 파일 저장 서브시스템(626)은 프로그램 및 데이터 파일을 위한 영구 저장 장치를 제공할 수 있고, 하드 디스크 드라이브, 관련 이동식 매체를 갖는 플로피 디스크 드라이브, CD-ROM 드라이브, 광 드라이브 또는 이동식 매체 카트리지를 포함할 수 있다. 특정 구현예의 기능을 구현하는 모듈은 저장 서브시스템(624)의 파일 저장 서브시스템(626) 또는 프로세서(들)(614)에 의해 액세스 가능한 다른 머신에 저장될 수 있다.
버스 서브시스템(612)은 컴퓨터 시스템(610)의 다양한 컴포넌트들 및 서브시스템들이 의도된 바와 같이 서로 통신하게 하는 메커니즘을 제공한다. 버스 서브시스템(612)은 단일 버스로서 개략적으로 도시되어 있지만, 버스 서브시스템의 다른 구현 예는 다수의 버스를 사용할 수 있다.
컴퓨터 시스템(610)은 워크스테이션, 서버, 컴퓨팅 클러스터, 블레이드 서버, 서버 팜, 또는 임의의 다른 데이터 처리 시스템 또는 컴퓨팅 장치를 포함하는 다양한 유형일 수 있다. 컴퓨터 및 네트워크의 끊임없이 변화하는 특성으로 인해, 도 6에 도시된 컴퓨터 시스템(610)의 설명은 단지 일부 구현 예를 설명하기 위한 구체적인 예로서만 의도된다. 컴퓨터 시스템(610)의 많은 다른 구성이 도 6에 도시된 컴퓨터 시스템보다 많은 또는 보다 적은 컴포넌트들을 갖는 것이 가능하다.
여기에 설명된 시스템이 사용자에 대한 개인 정보를 수집하는 경우 (또는 여기에서 종종 "참가자"라고 함) 또는 개인 정보를 사용할 수 있는 경우, 사용자는 프로그램 또는 기능이 사용자 정보(예: 사용자의 소셜 네트워크, 사회적 행동 또는 활동, 직업, 사용자의 선호 또는 사용자의 현재 지리적 위치에 대한 정보)를 수집하는지 또는 사용자의 정보를 수집할지 여부를 제어할 수 있는 기회를 제공받을 수 있거나, 사용자에게 더 관련이 있는 콘텐트 서버로부터 콘텐트를 수신할지 여부 및/또는 수신 방법을 제어할 수 있다. 또한 특정 데이터는 개인 식별 정보가 제거될 수 있도록 저장 또는 사용되기 전에 하나 이상의 방법으로 취급될 수 있다. 예를 들어, 사용자의 신원정보는 사용자에 대해 개인 식별 가능한 정보가 결정될 수 없도록 처리되거나 지리적 위치 정보가 획득되는 곳 (도시, 우편 번호 또는 주 수준과 같은)으로 사용자의 지리적 위치가 일반화될 수 있도록 처리될 수 있으며, 따라서 사용자의 특정 지리적 위치가 결정될 수 없다. 따라서, 사용자는 사용자에 관한 정보 수집 방법 및/또는 사용 방법을 제어할 수 있다.
일부 구현 예가 본 명세서에서 설명되고 도시되었지만, 기능을 수행하고 및/또는 결과 및/또는 본원에 기술된 하나 이상의 장점을 얻기 위한 다양한 다른 수단 및/또는 구조가 이용될 수 있으며, 이러한 변형 및/또는 수정은 본 명세서에서 설명된 구현예들의 범위 내에 있는 것으로 간주된다. 보다 일반적으로, 본 명세서에 기술된 모든 파라미터, 치수, 재료 및 구성은 예시적인 것이며, 실제 파라미터, 치수, 재료 및/또는 구성은 특정 용도 또는 그 교시가 사용되는 용도에 따라 좌우될 것이다. 당업자는 일상적인 실험만을 사용하여 본 명세서에 설명된 특정 구현 예에 대한 다수의 등가물을 인식할 수 있거나 또는 확인할 수 있을 것이다. 따라서, 전술한 구현 예는 단지 예로서 제시되고, 첨부된 청구 범위 및 그 균등물의 범위 내에서 구현예는 구체적으로 기술되고 청구된 것과 다르게 실시될 수 있다는 것을 이해해야 한다. 본 개시의 구현예는 여기에 기술된 각각의 개별적인 특징, 시스템, 아티클, 재료, 키트 및/또는 방법에 관한 것이다. 또한, 그러한 피쳐, 시스템, 아티클, 재료, 키트 및/또는 방법이 서로 불일치하지 않는 경우, 둘 이상의 그러한 피쳐, 시스템, 아티클, 재료, 키트 및/또는 방법의 모든 조합이 본 개시의 범위 내에 포함된다.

Claims (20)

  1. 하나 이상의 프로세서에 의해 구현되는 방법으로서,
    자동차 컴퓨터 시스템을 사용하여, 무선 통신 방식을 통해 제1 클라이언트 장치와 연결하는 단계 -상기 제1 클라이언트 장치는 클라이언트 자동 어시스턴트를 포함하고, 상기 자동차 컴퓨터 시스템은 자동차 자동 어시스턴트를 포함함-;
    상기 자동차 컴퓨터 시스템을 사용하여, 무선 통신 방식을 통해 제2 클라이언트 장치와 연결하는 단계 -상기 제2 클라이언트 장치는 상기 제1 클라이언트 장치와는 별개이고 다른 클라이언트 자동 어시스턴트를 포함함-;
    상기 자동차 컴퓨터 시스템에 의해, 제1 클라이언트 장치를 통해 액세스 가능한 애플리케이션에 의해 제1 액션 인텐트(intent) 요청이 제1 클라이언트 장치에서 생성된 것으로 결정하는 단계;
    상기 자동차 컴퓨터 시스템에 의해, 제2 클라이언트 장치를 통해 액세스 가능한 다른 애플리케이션에 의해 제2 액션 인텐트 요청이 제2 클라이언트 장치에서 생성된 것으로 결정하는 단계 -상기 제2 액션 인텐트 요청은 상기 제1 액션 인텐트 요청과 상이함-;
    상기 자동차 컴퓨터 시스템에 의해, 제1 액션 인텐트 요청 및 제2 액션 인텐트 요청의 각각의 액션 인텐트 요청의 펜던시(pendency)를 나타내는 데이터를 생성하는 단계 -상기 데이터는 자동차 컴퓨터 시스템에 저장됨-; 그리고
    상기 데이터를 생성하는 것에 기초하여, 상기 자동차 컴퓨터 시스템에 연결된 하나 이상의 인터페이스로 하여금 제1 액션 인텐트 요청 및 제2 액션 인텐트 요청의 각각의 액션 인텐트 요청에 대한 통지를 제공하도록 하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  2. 제1항에 있어서, 상기 방법은,
    제1 액션 인텐트 요청 및 제2 액션 인텐트 요청의 각각의 액션 인텐트 요청에 대해, 각각의 액션 인텐트 요청에 의해 구현된 각 메시지의 콘텐트를 프로세싱하는 단계를 더 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  3. 제2항에 있어서,
    상기 자동차 컴퓨터 시스템에 연결된 하나 이상의 인터페이스로 하여금 제1 액션 인텐트 요청 및 제2 액션 인텐트 요청의 각각의 액션 인텐트 요청에 대한 통지를 제공하도록 하는 단계는,
    상기 자동차 컴퓨터 시스템의 오디오 시스템으로 하여금 각 메시지의 콘텐트에 기초한 오디오를 렌더링하게 하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  4. 제1항에 있어서, 각각의 액션 인텐트 요청의 펜던시를 나타내는 데이터를 생성하는 단계는,
    상기 자동차 자동 어시스턴트에 의해, 제1 액션 인텐트 요청 및 제2 액션 인텐트 요청의 각각의 액션 인텐트 요청의 해당 인스턴스를 생성하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  5. 제4항에 있어서, 상기 방법은,
    상기 자동차 컴퓨터 시스템에 연결된 하나 이상의 인터페이스에서 사용자 입력을 수신하는 단계; 그리고
    상기 사용자 입력을 수신한 것에 응답하여, 제1 액션 인텐트 요청과 관련된 통지의 특정 펜던시가 자동차 컴퓨터 시스템에서 해제되도록 하고, 제1 액션 인텐트 요청의 해당 인스턴스가 제1 클라이언트 장치에서 해제되도록 하는 단계를 더 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  6. 제5항에 있어서, 상기 사용자 입력은 사용자에 의해 제공되는 자연어 입력을 구현하는 하나 이상의 음성 발화를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  7. 제1항에 있어서, 상기 자동차 컴퓨터 시스템은 상기 제1 클라이언트 장치를 통해 액세스 가능한 애플리케이션 및 상기 제2 클라이언트 장치를 통해 액세스 가능한 다른 애플리케이션이 없는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  8. 하나 이상의 프로세서에 의해 실행될 때 상기 하나 이상의 프로세서로 하여금 동작들을 수행하게 하는 명령어를 저장하도록 구성된 비-일시적 컴퓨터 판독 가능 저장 매체로서, 상기 동작들은,
    자동차 컴퓨터 시스템을 사용하여, 무선 통신 방식을 통해 제1 클라이언트 장치와 연결하는 동작 -상기 제1 클라이언트 장치는 클라이언트 자동 어시스턴트를 포함하고, 상기 자동차 컴퓨터 시스템은 자동차 자동 어시스턴트를 포함함-;
    상기 자동차 컴퓨터 시스템을 사용하여, 무선 통신 방식을 통해 제2 클라이언트 장치와 연결하는 동작 -상기 제2 클라이언트 장치는 상기 제1 클라이언트 장치와는 별개이고 다른 클라이언트 자동 어시스턴트를 포함함-;
    상기 자동차 컴퓨터 시스템에 의해, 제1 클라이언트 장치를 통해 액세스 가능한 애플리케이션에 의해 제1 액션 인텐트(intent) 요청이 제1 클라이언트 장치에서 생성된 것으로 결정하는 동작;
    상기 자동차 컴퓨터 시스템에 의해, 제2 클라이언트 장치를 통해 액세스 가능한 다른 애플리케이션에 의해 제2 액션 인텐트 요청이 제2 클라이언트 장치에서 생성된 것으로 결정하는 동작 -상기 제2 액션 인텐트 요청은 상기 제1 액션 인텐트 요청과 상이함-;
    상기 자동차 컴퓨터 시스템에 의해, 제1 액션 인텐트 요청 및 제2 액션 인텐트 요청의 각각의 액션 인텐트 요청의 펜던시(pendency)를 나타내는 데이터를 생성하는 동작 -상기 데이터는 자동차 컴퓨터 시스템에 저장됨-; 그리고
    상기 데이터를 생성하는 것에 기초하여, 상기 자동차 컴퓨터 시스템에 연결된 하나 이상의 인터페이스로 하여금 제1 액션 인텐트 요청 및 제2 액션 인텐트 요청의 각각의 액션 인텐트 요청에 대한 통지를 제공하도록 하는 동작을 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 저장 매체.
  9. 제8항에 있어서, 상기 동작들은,
    제1 액션 인텐트 요청 및 제2 액션 인텐트 요청의 각각의 액션 인텐트 요청에 대해, 각각의 액션 인텐트 요청에 의해 구현된 각 메시지의 콘텐트를 프로세싱하는 동작을 더 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 저장 매체.
  10. 제9항에 있어서,
    상기 자동차 컴퓨터 시스템에 연결된 하나 이상의 인터페이스로 하여금 제1 액션 인텐트 요청 및 제2 액션 인텐트 요청의 각각의 액션 인텐트 요청에 대한 통지를 제공하도록 하는 동작은,
    상기 자동차 컴퓨터 시스템의 오디오 시스템으로 하여금 각 메시지의 콘텐트에 기초한 오디오를 렌더링하게 하는 동작을 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 저장 매체.
  11. 제8항에 있어서, 각각의 액션 인텐트 요청의 펜던시를 나타내는 데이터를 생성하는 동작은,
    상기 자동차 자동 어시스턴트에 의해, 제1 액션 인텐트 요청 및 제2 액션 인텐트 요청의 각각의 액션 인텐트 요청의 해당 인스턴스를 생성하는 동작을 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 저장 매체.
  12. 제11항에 있어서, 상기 동작들은,
    상기 자동차 컴퓨터 시스템에 연결된 하나 이상의 인터페이스에서 사용자 입력을 수신하는 동작; 그리고
    상기 사용자 입력을 수신한 것에 응답하여, 제1 액션 인텐트 요청과 관련된 통지의 특정 펜던시가 자동차 컴퓨터 시스템에서 해제되도록 하고, 제1 액션 인텐트 요청의 해당 인스턴스가 제1 클라이언트 장치에서 해제되도록 하는 동작을 더 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 저장 매체.
  13. 제12항에 있어서, 상기 사용자 입력은 사용자에 의해 제공되는 자연어 입력을 구현하는 하나 이상의 음성 발화를 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 저장 매체.
  14. 제8항에 있어서, 상기 자동차 컴퓨터 시스템은 상기 제1 클라이언트 장치를 통해 액세스 가능한 애플리케이션 및 상기 제2 클라이언트 장치를 통해 액세스 가능한 다른 애플리케이션이 없는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 저장 매체.
  15. 컴퓨팅 장치로서,
    하나 이상의 프로세서; 그리고
    상기 하나 이상의 프로세서에 의해 실행될 때 상기 하나 이상의 프로세서로 하여금 동작들을 수행하게 하는 명령어를 저장하도록 구성된 메모리를 포함하며, 상기 동작들은,
    자동차 컴퓨터 시스템을 사용하여, 무선 통신 방식을 통해 제1 클라이언트 장치와 연결하는 동작 -상기 제1 클라이언트 장치는 클라이언트 자동 어시스턴트를 포함하고, 상기 자동차 컴퓨터 시스템은 자동차 자동 어시스턴트를 포함함-;
    상기 자동차 컴퓨터 시스템을 사용하여, 무선 통신 방식을 통해 제2 클라이언트 장치와 연결하는 동작 -상기 제2 클라이언트 장치는 상기 제1 클라이언트 장치와는 별개이고 다른 클라이언트 자동 어시스턴트를 포함함-;
    상기 자동차 컴퓨터 시스템에 의해, 제1 클라이언트 장치를 통해 액세스 가능한 애플리케이션에 의해 제1 액션 인텐트(intent) 요청이 제1 클라이언트 장치에서 생성된 것으로 결정하는 동작;
    상기 자동차 컴퓨터 시스템에 의해, 제2 클라이언트 장치를 통해 액세스 가능한 다른 애플리케이션에 의해 제2 액션 인텐트 요청이 제2 클라이언트 장치에서 생성된 것으로 결정하는 동작 -상기 제2 액션 인텐트 요청은 상기 제1 액션 인텐트 요청과 상이함-;
    상기 자동차 컴퓨터 시스템에 의해, 제1 액션 인텐트 요청 및 제2 액션 인텐트 요청의 각각의 액션 인텐트 요청의 펜던시(pendency)를 나타내는 데이터를 생성하는 동작 -상기 데이터는 자동차 컴퓨터 시스템에 저장됨-; 그리고
    상기 데이터를 생성하는 것에 기초하여, 상기 자동차 컴퓨터 시스템에 연결된 하나 이상의 인터페이스로 하여금 제1 액션 인텐트 요청 및 제2 액션 인텐트 요청의 각각의 액션 인텐트 요청에 대한 통지를 제공하도록 하는 동작을 포함하는 것을 특징으로 하는 컴퓨팅 장치.
  16. 제15항에 있어서, 상기 동작들은,
    제1 액션 인텐트 요청 및 제2 액션 인텐트 요청의 각각의 액션 인텐트 요청에 대해, 각각의 액션 인텐트 요청에 의해 구현된 각 메시지의 콘텐트를 프로세싱하는 동작을 더 포함하는 것을 특징으로 하는 컴퓨팅 장치.
  17. 제16항에 있어서,
    상기 자동차 컴퓨터 시스템에 연결된 하나 이상의 인터페이스로 하여금 제1 액션 인텐트 요청 및 제2 액션 인텐트 요청의 각각의 액션 인텐트 요청에 대한 통지를 제공하도록 하는 동작은,
    상기 자동차 컴퓨터 시스템의 오디오 시스템으로 하여금 각 메시지의 콘텐트에 기초한 오디오를 렌더링하게 하는 동작을 포함하는 것을 특징으로 하는 컴퓨팅 장치.
  18. 제15항에 있어서, 각각의 액션 인텐트 요청의 펜던시를 나타내는 데이터를 생성하는 동작은,
    상기 자동차 자동 어시스턴트에 의해, 제1 액션 인텐트 요청 및 제2 액션 인텐트 요청의 각각의 액션 인텐트 요청의 해당 인스턴스를 생성하는 동작을 포함하는 것을 특징으로 하는 컴퓨팅 장치.
  19. 제18항에 있어서, 상기 동작들은,
    상기 자동차 컴퓨터 시스템에 연결된 하나 이상의 인터페이스에서 사용자 입력을 수신하는 동작; 그리고
    상기 사용자 입력을 수신한 것에 응답하여, 제1 액션 인텐트 요청과 관련된 통지의 특정 펜던시가 자동차 컴퓨터 시스템에서 해제되도록 하고, 제1 액션 인텐트 요청의 해당 인스턴스가 제1 클라이언트 장치에서 해제되도록 하는 동작을 더 포함하는 것을 특징으로 하는 컴퓨팅 장치.
  20. 제15항에 있어서, 상기 자동차 컴퓨터 시스템은 상기 제1 클라이언트 장치를 통해 액세스 가능한 애플리케이션 및 상기 제2 클라이언트 장치를 통해 액세스 가능한 다른 애플리케이션이 없는 것을 특징으로 하는 컴퓨팅 장치.
KR1020200041423A 2018-05-23 2020-04-06 자동화된 어시스턴트의 인스턴스들간에 통신 채널 제공 KR102458274B1 (ko)

Applications Claiming Priority (5)

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
KR1020190123787A KR102100390B1 (ko) 2018-05-23 2019-10-07 자동화된 어시스턴트의 인스턴스들간에 통신 채널 제공

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190123787A Division KR102100390B1 (ko) 2018-05-23 2019-10-07 자동화된 어시스턴트의 인스턴스들간에 통신 채널 제공

Publications (2)

Publication Number Publication Date
KR20200038450A KR20200038450A (ko) 2020-04-13
KR102458274B1 true KR102458274B1 (ko) 2022-10-24

Family

ID=65200194

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020190056977A KR102032475B1 (ko) 2018-05-23 2019-05-15 자동화된 어시스턴트의 인스턴스들간에 통신 채널 제공
KR1020190123787A KR102100390B1 (ko) 2018-05-23 2019-10-07 자동화된 어시스턴트의 인스턴스들간에 통신 채널 제공
KR1020200041423A KR102458274B1 (ko) 2018-05-23 2020-04-06 자동화된 어시스턴트의 인스턴스들간에 통신 채널 제공

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020190056977A KR102032475B1 (ko) 2018-05-23 2019-05-15 자동화된 어시스턴트의 인스턴스들간에 통신 채널 제공
KR1020190123787A KR102100390B1 (ko) 2018-05-23 2019-10-07 자동화된 어시스턴트의 인스턴스들간에 통신 채널 제공

Country Status (5)

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

Families Citing this family (31)

* 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
EP3270576B1 (en) * 2013-01-02 2021-08-11 Samsung Electronics Co., Ltd. Message transfer system including display device and mobile device and message transfer method thereof
DE212014000045U1 (de) 2013-02-07 2015-09-24 Apple Inc. Sprach-Trigger für einen digitalen Assistenten
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
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
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
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
US11114096B2 (en) * 2018-03-08 2021-09-07 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
JP7133029B2 (ja) * 2018-10-05 2022-09-07 本田技研工業株式会社 エージェント装置、エージェント制御方法、およびプログラム
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
US10996925B2 (en) 2019-05-09 2021-05-04 Google Llc Automated assistant suggestions for third-party vehicle computing devices with restricted architecture
US11468890B2 (en) 2019-06-01 2022-10-11 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
US11374887B2 (en) * 2019-10-29 2022-06-28 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 (zh) * 2019-11-29 2022-04-29 宝马股份公司 基于个性的智能个人助理系统
CN113138864A (zh) * 2020-01-19 2021-07-20 华为技术有限公司 消息通信方法、计算机系统及代理装置
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 (2)

* 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
US20090319660A1 (en) 2008-06-20 2009-12-24 Microsoft Corporation Generalized architecture to support representation of multi-transport devices

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1578951A (zh) * 2001-05-24 2005-02-09 英特尔公司 通过数字助理的消息升级的方法和装置
JP4202621B2 (ja) 2001-07-06 2008-12-24 アルパイン株式会社 情報交換システム
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8344870B2 (en) * 2008-10-07 2013-01-01 Cisco Technology, Inc. Virtual dashboard
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
US9471697B2 (en) 2012-12-27 2016-10-18 Intel Corporation URI-Based host to mobile device setup and pairing
EP2817176A4 (en) * 2013-04-15 2016-08-10 Autoconnect Holdings Llc USER INTERFACE AND VIRTUAL PERSONALITY PRESENTATION BASED ON USER PROFILES
WO2015183699A1 (en) 2014-05-30 2015-12-03 Apple Inc. Predictive messaging method
CN106469040B (zh) 2015-08-19 2019-06-21 华为终端有限公司 通信方法、服务器及设备
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
US10291565B2 (en) 2016-05-17 2019-05-14 Google Llc Incorporating selectable application links into conversations with personal assistant modules
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
US11034362B2 (en) 2016-07-07 2021-06-15 Harman International Industries, Incorporated Portable personalization
CN106327241A (zh) 2016-08-15 2017-01-11 陈琛 一种车载智能联网广告发布与显示系统和方法及其设备
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 (2)

* 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
US20090319660A1 (en) 2008-06-20 2009-12-24 Microsoft Corporation Generalized architecture to support representation of multi-transport devices

Also Published As

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

Similar Documents

Publication Publication Date Title
KR102458274B1 (ko) 자동화된 어시스턴트의 인스턴스들간에 통신 채널 제공
JP7412499B2 (ja) オンデバイス機能性を使うように車両クライアントデバイスに指令すること
US11086598B2 (en) Providing a communications channel between instances of automated assistants
EP3774453B1 (en) Modalities for authorizing access when operating an automated assistant enabled vehicle
US11656844B2 (en) Providing a communications channel between instances of automated assistants
US20230410565A1 (en) Providing a communications channel between instances of automated assistants
US20240172304A1 (en) Connection sequencing involving automated assistants and peripheral devices

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant