JP6603001B1 - 自動アシスタントのインスタンス間への通信チャネルの提供 - Google Patents

自動アシスタントのインスタンス間への通信チャネルの提供 Download PDF

Info

Publication number
JP6603001B1
JP6603001B1 JP2019096081A JP2019096081A JP6603001B1 JP 6603001 B1 JP6603001 B1 JP 6603001B1 JP 2019096081 A JP2019096081 A JP 2019096081A JP 2019096081 A JP2019096081 A JP 2019096081A JP 6603001 B1 JP6603001 B1 JP 6603001B1
Authority
JP
Japan
Prior art keywords
activity
client device
computer system
request
intention request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019096081A
Other languages
English (en)
Other versions
JP2020047252A (ja
Inventor
アレクサンダー・マルトセフ
ヴィクラム・アガワル
モイセス・モーゲンスターン・ガリ
ジョセフ・ピロッツォ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/009,116 external-priority patent/US10198877B1/en
Application filed by Google LLC filed Critical Google LLC
Application granted granted Critical
Publication of JP6603001B1 publication Critical patent/JP6603001B1/ja
Publication of JP2020047252A publication Critical patent/JP2020047252A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/724098Interfacing with an on-board device of a vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72415User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories for remote control of appliances

Landscapes

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

Abstract

【課題】自動アシスタントのインスタンス間への通信チャネルを提供する。【解決手段】実装形態は、ワイヤレス通信モダリティを通じた自動車コンピュータシステムの自動アシスタントと別個のクライアントデバイスとの間の対話に関する。それらの実装形態のいくつかでは、クライアントデバイスは自動車コンピュータシステムとペアリングされることが可能であり、クライアントデバイスおよび自動車コンピュータシステムは、異なるユーザアカウントと関連付けられることが可能である自動アシスタントの別個のインスタンスを含むことが可能である。いくつかの追加のまたは代替の実装形態では、クライアントデバイスのローカルアプリケーションによって実行されるべき特定の活動は、そのローカルアプリケーションと対になるものが自動車コンピュータシステムに直接インストールされていなくても、自動車自動アシスタントとのユーザ対話を介して進められることが可能である。たとえば、自動車コンピュータシステムにサードパーティのメッセージングアプリケーションがインストールされていなくても、自動車自動アシスタントは、要求された活動を進めるために、サードパーティのメッセージングアプリケーションによって実行されるべき要求された活動にアクセスすることができる。自動車コンピュータシステムは、ワイヤレス通信モダリティを介して、要求された活動をサードパーティアプリケーションに進めさせるためにコンテンツを伝送することができる。【選択図】図1

Description

本発明は、自動アシスタントのインスタンス間への通信チャネルの提供に関する。
人間は、「自動アシスタント」(「デジタルエージェント」、「チャットボット」、「対話型パーソナルアシスタント」、「インテリジェントパーソナルアシスタント」、「アシスタントアプリケーション」、「会話エージェント」などとも呼ばれる)と本明細書で呼ばれる対話型のソフトウェアアプリケーションを用いて、人間とコンピュータとの対話に関わることがある。たとえば、人間(自動アシスタントと対話するときには「ユーザ」と呼ばれることがある)は、いくつかの場合にはその後でテキストへと変換されそして処理されることがある、話される自然言語の入力(すなわち、発話)を使用して、かつ/またはテキストの(たとえば、タイピングされる)自然言語の入力を与えることによって、命令および/もしくは要求を自動アシスタントに与えることがある。
自動アシスタントは、たとえば携帯電話およびパーソナルコンピュータなどの様々な異なるデバイスにインストールされることが可能である。ユーザは、それぞれの自動アシスタントと対話することによって、携帯電話またはパーソナルコンピュータの特定のアプリケーションに特定の活動を実行させることができる。しかしながら、様々なデバイスにわたる機能の画一性を実現するために、ユーザは、様々なデバイスにわたって同時に同じアプリケーションのインスタンスをインストールすることを求められることがある。結果として、ネットワーク帯域幅がすぐに、アプリケーションの各インスタンスに対する重複するアプリケーション更新を伝送すること、およびアプリケーションの各インスタンス間で全般的にデータを通信することに占有されることがある。その上、アプリケーションの各インスタンスは、それぞれのデバイス上である量のディスク領域を必要とすることがあるので、複数のデバイスにわたるメモリの割振りが非効率に利用されることがある。
いくつかの状況では、自動アシスタントを介して特定のアプリケーションと対話することは、ユーザがある特定の環境においてどの程度忙しい可能性があるか、および/または他のデバイスが近くの他のユーザによって操作されているかどうかによっては便利ではないことがある。たとえば、携帯電話の自動アシスタントを介してメッセージに返信することは、ユーザが車両を運転しているときには難しいことがある。さらに、ユーザが他の人々を乗せて車両を運転しているとき、それらの人々も自動アシスタント付きのデバイスを持っていることがあり、それらの自動アシスタントは、ユーザがそれぞれの自動アシスタントと関わり合うときに間接的に呼び出されることがある。そのような結果は、運転中に注意をより散漫にさせる環境を生み、意図せずに影響を受けることがあるデバイスの計算リソースを無駄にする場合がある。
本明細書に記載される実装形態は、ある特定の活動を進めるために自動アシスタントの別々のインスタンスまたはインストレーションがそれを通じて通信できる通信チャネルを提供するためのシステム、方法、および装置に関する。通信チャネルは、主要自動アシスタント(たとえば、自動車自動アシスタントまたはクライアントデバイス自動アシスタントのいずれか)と1つまたは複数の補助自動アシスタント(たとえば、自動車自動アシスタントとクライアントデバイス自動アシスタントの他方)との間に提供されることが可能である。たとえば、主要自動アシスタントは、自動車に乗っているときなどのある特定の状況においてユーザにより選好される自動アシスタントであることが可能である。具体的には、自動車コンピュータシステムは、ユーザが車両に乗っている間に特定の活動を進めるためにユーザによって選好される自動アシスタントを含むことが可能である。自動車および/またはクライアントデバイスの設定に従って、自動車自動アシスタントは、主要自動アシスタントとしてクライアントデバイスが自動車コンピュータシステムに接続するときに、補助自動アシスタントのあらゆる未解決の意図および/または活動を引き受けることができる。このようにして、自動車自動アシスタントは、補助自動アシスタントの拡張として活動することができる。このことは、あらゆるクライアント側アプリケーションが、自動車自動アシスタントへ、かつ/もしくは自動車自動アシスタントから特定の意図および/または活動をトンネリングまたは誘導することを可能にできる。さらに、そのようなトンネリングは、自動車コンピュータシステムにおいて何ら相関する「自動車側」アプリケーションを利用またはインストールする必要なく、それぞれのクライアント側アプリケーションとユーザが関わり合えるようにすることを支援するシステムアーキテクチャを提供することができる。このようにして、そのような相関するサードパーティのアプリケーションが1つ1つの自動車側デバイスにインストールされることを必ずしも必要としないことによって、自動車側メモリのより効率的な使用を達成することができる。さらに、ユーザが同時に動作することになる複数のアプリケーションの複数のインスタンスを利用するのではなく、アプリケーションの少なくとも単一のインスタンスと対話するために自動アシスタントに頼るだけである結果としてネットワークトラフィックおよび無駄な電力消費が軽減される。具体的には、そうされなければメッセージおよび受信確認の重複するコピーを様々な異なるデバイスに送信するであろうメッセージングサーバおよびアプリケーションによってネットワークリソースおよび計算リソースの低減が示されることが可能である。
たとえば、いくつかの実装形態では、車両の自動車自動アシスタントが、携帯電話などのクライアントデバイスのサードパーティアプリケーションにおいて受信されるメッセージを伝え、ユーザの自動車自動アシスタントとの間の対話に従ってメッセージに応答するために利用されることが可能である。そのような機能を達成するために、クライアントデバイスおよび自動車の自動車コンピュータシステムは、クライアントデバイスと自動車コンピュータシステムとの間に安全な通信チャネルを確立するためにハンドシェイクを実行することができる。具体的には、クライアントデバイスは、自動車コンピュータシステムへ、かつ/または自動車コンピュータシステムからデータを伝送するためのノードとして1つまたは複数のネットワークソケット(たとえば、Bluetooth(登録商標)ソケット)を割り当てることができる。クライアントデバイスと自動車コンピュータシステムとの間に安全な通信チャネルが確立されると、活動意図がクライアント自動アシスタントと自動車自動アシスタントとの間で共有されることが可能である。
活動意図は、あるアプリケーションからのある特定の活動がそのアプリケーションまたは別個のアプリケーションを介して実行されるようにするための要求を指すことができる。たとえば、活動意図要求が、サードパーティアプリケーションによって生成されることが可能であり、実行されるべき活動、カスタム識別子、実行されるべき活動と関連付けられるコンテンツデータ、および/またはアプリケーションによって実行されるべき活動と関連付けられることが可能である任意の他のデータの1つまたは複数を特定することができる。活動意図は、最初にオペレーティングシステム、デバイスアプリケーション、自動アシスタント、および/または活動意図が発信されたデバイスの利用可能な任意の他のエンジンもしくはモジュールによって受信されることが可能である。活動意図は次いで、発信側デバイスにおいて、分類され、またはそうでなければ並べられ、自動アシスタントの1つまたは複数のインスタンスに対してアクセス可能にされることが可能である。たとえば、発信側クライアントデバイスのクライアント自動アシスタントは、未解決の活動意図にアクセスすることができ、クライアントデバイスが自動車コンピュータシステムとペアリングされると、自動車自動アシスタントが未解決の活動意図にアクセスすることができる。
前述の例の促進において、自動車自動アシスタントは、未解決の活動意図要求を特定するためにクライアント自動アシスタントと通信することができる。活動意図要求は、ユーザが自動車に乗っていた間にクライアントデバイスのサードパーティアプリケーションにおいて受信されたメッセージと関連付けられることが可能である。「サードパーティ」という用語は、サードパーティアプリケーションを作成および/または提供したエンティティを指すことができ、クライアントデバイス、クライアント自動アシスタント、ならびに/またはクライアントオペレーティングシステムの作成者および/もしくはプロバイダとは異なる。クライアントデバイスにおいて活動意図要求にアクセスすることによって、自動車自動アシスタントは、ユーザがそれを通じて特定の未解決の活動意図要求を進めることができる、仲介者として活動することができる。さらに、自動車自動アシスタントは、活動意図要求の対応するインスタンス、ならびにクライアントデバイスにおいて未解決である可能性があるあらゆる他の活動意図要求が、自動車コンピュータシステムにおいて生成されるようにすることができる。自動車コンピュータシステムにおける活動意図要求の対応するインスタンスは、メッセージを発信したサードパーティアプリケーションが自動車コンピュータシステムになくても、自動車自動アシスタントによって扱われることが可能である。
自動車自動アシスタントは、活動意図要求の内容に基づいて、かついくつかの実装形態では、活動意図要求を提供したサードパーティアプリケーションとは無関係に、活動意図要求があるメッセージと関連付けられると判定することができる。このようにして、自動アシスタントは、活動意図を発信しているアプリケーションに関して表面上は知識のない状態で、様々な異なるアプリケーションからの活動意図を管理することができる。たとえば、第1のアプリケーションの第1のサービスプロバイダおよび第2のアプリケーションの第2のサービスプロバイダは各々、異なる方式でメッセージを提供できるが、それぞれのメッセージはそれに関係なく「本文」および「送信者」のフィールドを有する。いくつかの実装形態ではそれぞれのアプリケーションがAPIを満たすことが一部には原因であることがあるメッセージの構造における重複は、各メッセージが同様に解析されることを可能にできる。そうすると、自動アシスタントは、それぞれのメッセージからのあらゆる解析されたデータを使用して、通知を提供し、メッセージに応答し、かつ/またはメッセージと関連付けられることが可能であるあらゆる他の活動を実行することができる。いくつかの実装形態では、同様の重複は、自動アシスタントと対話することが可能な他のアプリケーションによって示されることが可能である。そのような他のアプリケーションは、通知の内容が経路のステップを含むことが可能であるナビゲーションアプリケーション、ならびに/または通知の内容が画像および/もしくはビデオなどの特定のメディアデータのアドレスを含むことが可能であるメディアアプリケーションを含むことが可能である。
活動意図要求の対応するインスタンスがメッセージと関連付けられることを自動車自動アシスタントが決定するとき、自動車自動アシスタントは、対応するインスタンスの内容が解析されるようにすることができる。解析される内容は、本文、作成者、主題、送信および/もしくは受信時間、ならびに/またはメッセージと関連付けられることが可能であるあらゆる他のデータなどのメッセージの別々の部分を特定するために使用されることが可能である。自動車自動アシスタントは、活動意図要求がメッセージに対応することを決定したので、自動車自動アシスタントは、解析された内容をユーザに提示するために解析された内容を使用することができる。たとえば、自動車自動アシスタントは、自動車コンピュータシステムのオーディオシステムなどの自動アシスタントインターフェースから出力されることが可能である音声へと、活動意図要求の内容の少なくとも一部分を変換するためのテキストツースピーチエンジンを利用することができる。音声は、たとえば「『エミリー』から『遅れます』というテキストメッセージを受信しました」というものであることが可能である。作成者「エミリー」および本文「遅れます」は、活動意図要求の対応するインスタンスから解析されたデータに基づくことが可能である。
クライアントデバイスにおいて受信されたメッセージをユーザに通知したことに応答して、自動車自動アシスタントは、メッセージに返信するための選択肢をユーザに提示することができるプロンプトを続けることができる。このプロンプトは、「『エミリー』に返信しますか」などの応答音声を含むことができ、それに応答して、ユーザは、たとえば「はい、『わかりました』と返信してください」などの話される発話を提供することができる。したがって、自動車自動アシスタントは、自動車の自動アシスタントインターフェースを介して話された発話を受信し、話された発話を処理するために、自動車コンピュータシステムにアクセス可能なスピーチツーテキストエンジンを利用することができる。話された発話から導かれたテキストは、自動車自動アシスタントによって生成される後続の活動意図要求の一部であることが可能であるコンテンツとして具現化されることが可能である。後続の活動意図要求はさらに、ターゲットアプリケーション(たとえば、サードパーティアプリケーション)によって実行されるべき、メッセージを送信することなどの活動を特定するために生成されることが可能である。
クライアントデバイスによって生成される活動意図要求と後続の活動意図を同期するために、自動車自動アシスタントは、クライアントデバイスによって生成される活動意図要求と同じカスタム識別子を使用して後続の活動意図を生成することができる。このようにして、クライアントデバイスは、後続の活動意図要求にアクセスし、かつ/または後続の活動意図要求が自動車コンピュータシステムにおいて生成されたと判定し、後続の活動意図要求と活動意図要求との相関を決定することができる。いくつかの実装形態では、カスタム識別子は、複数の自動アシスタント間の伝送を暗号化するための少なくとも1つの鍵として使用されることが可能である。
後続の活動意図要求が自動車コンピュータシステムにおいて生成されたとき、クライアント自動アシスタントは、後続の活動意図要求が生成されたと判定し、クライアントデバイスにおいて後続の活動意図要求の対応するインスタンスを生成することができる。後続の活動意図要求は、サードパーティアプリケーションを介してメッセージを送信することに向けられるので、クライアント自動アシスタントおよび/またはクライアントデバイスは、メッセージを送信するためにサードパーティアプリケーションを呼び出すことができる。言い換えると、自動車コンピュータシステムはサードパーティアプリケーションのインスタンスを含まないので、後続の活動意図要求の生成は、自動車コンピュータシステムにインストールされたサードパーティアプリケーションの任意のインスタンスを直接は呼び出さない。むしろ、クライアント自動アシスタントが後続の活動意図要求の生成を承認したこと、および/または後続の活動意図要求の対応するインスタンスがクライアントデバイスにおいて生成されたことに応答して、サードパーティアプリケーションが応答メッセージの送信を実行する。
いくつかの実装形態では、ユーザがメッセージの受信を承認したことに応答して、かつ/またはユーザがメッセージへの応答を望むことを示したことに応答して、クライアントデバイスおよび自動車コンピュータシステムにおける活動意図要求の未解決状態(pendency)を解消する(dismiss)ことができる。たとえば、話される発話「はい、『わかりました』と返信してください」をユーザが提供したことに応答して、自動車自動アシスタントは、活動意図要求の対応するインスタンスが自動車コンピュータシステムにおいて解消されるようにすることができる。加えて、ユーザが前述の話される発話を提供したことに応答して、クライアント自動アシスタントは、活動意図要求がクライアントデバイスにおいて解消されるようにすることができる。最初に受信されたメッセージと関連付けられる活動意図要求の別個の対応するインスタンスが、たとえばリモートサーバデバイスにおいて利用可能である場合、その別個の対応するインスタンスも解消することができる。
上の説明は、本開示のいくつかの実装形態の概略として与えられる。これらの実装形態および他の実装形態のさらなる説明が、以下でより詳細に説明される。
いくつかの実装形態では、1つまたは複数のプロセッサによって実施される方法は、自動車自動アシスタントによって、クライアントデバイスにおいて生成される第1の活動意図要求を特定することなどの動作を含むものとして記載される。クライアントデバイスは、ワイヤレス通信チャネルを介して自動車コンピュータシステムとペアリングされることが可能であり、自動車コンピュータシステムは自動車自動アシスタントを含む。動作はまた、第1の活動意図要求を特定したことに応答して、第1の活動意図要求が、実行されるべき第1の要求された活動、要求された活動を実行するためにアクセスされるべきコンテンツデータ、および少なくとも部分的に第1の活動意図要求を自動車コンピュータシステムに対して利用可能にしたアプリケーションと関連付けられる識別子を特定すると判定することを含むことが可能である。動作はまた、実行されるべき第1の要求された活動の促進において、自動車コンピュータシステムにアクセス可能な自動アシスタントインターフェースに自動車コンピュータシステムのユーザへ出力を提供させることを含むことができ、この出力は第1の活動意図要求のコンテンツデータに基づく。動作はさらに、自動車自動アシスタントによって、自動アシスタントインターフェースにおいて提供された出力に応答してユーザが入力を提供したと判定することと、ユーザが入力を提供したとの判定に応答して、第2の活動意図要求をクライアントデバイスに提供することとを含むことが可能である。第2の活動意図要求は、クライアントデバイスにおいて実行されるべき第2の要求された活動、ユーザによって提供される入力に基づく他のコンテンツデータ、および識別子を特定することができる。動作はまた、第2の要求された活動が第2の活動意図要求に従ってクライアントデバイスにおいて実行されるようにすることを含むことが可能である。第2の要求された活動は他のコンテンツデータを使用してアプリケーションによって実行されることが可能であり、アプリケーションは第2の活動意図要求において提供される識別子を使用してクライアントデバイスによって特定されることが可能である。
いくつかの実装形態では、本方法は、ユーザが入力を提供したとの判定に応答して、第3の活動意図要求をクライアントデバイスに提供することを含むことができ、第3の活動意図要求は識別子および第3の要求された活動を特定し、第3の活動意図要求をクライアントデバイスが受信したことに応答して、第3の活動意図要求は、クライアントデバイスにおける第2の活動意図要求の未解決状態が解消されるようにする。いくつかの実装形態では、本方法は、ユーザが入力を提供したとの判定に応答して、第2の活動意図要求の対応するインスタンスの別個の未解決状態の解消を引き起こすことを含むことができ、第2の活動意図要求の対応するインスタンスは自動車コンピュータシステムにおいて提供される。いくつかの実装形態では、第2の活動意図要求の未解決状態は、クライアントデバイスを介してアクセス可能な第1の自動アシスタントイベントハンドラによって示され、第2の活動意図要求の対応するインスタンスの別個の未解決状態は、自動車コンピュータシステムを介してアクセス可能な第2の自動アシスタントイベントハンドラによって示される。
いくつかの実装形態では、自動車コンピュータシステムには、(i)クライアントデバイスにおけるアプリケーションを提供したサードパーティによって提供され、かつ(ii)クライアントデバイスにおけるアプリケーションと少なくとも部分的に相関する、インストールされているアプリケーションがない。いくつかの実装形態では、自動車コンピュータシステムは、クライアントデバイスにおけるアプリケーションに対して相対的に(relative to)異なるサードパーティによって提供される別のアプリケーションを含む別個のクライアントデバイスとペアリングされ、本方法はさらに、自動車自動アシスタントによって、別個のクライアントデバイスにおいて生成される別個の活動意図要求を特定することを備え、別個のクライアントデバイスは自動車コンピュータシステムとペアリングされる。いくつかの実装形態では、別個の活動意図要求は、別個のクライアントデバイスによって生成される別の識別子を含み、本方法はさらに、識別子と他の識別子との差異に基づいて、別個の活動意図要求よりも高い優先度として第1の活動意図要求を指定することを備える。
他の実装形態では、1つまたは複数のプロセッサによって実施される方法は、自動車コンピュータシステムを使用して、ワイヤレス通信モダリティを介して第1のクライアントデバイスと接続することなどの動作を含むものとして記載され、第1のクライアントデバイスはクライアント自動アシスタントを備え、自動車コンピュータシステムは自動車自動アシスタントおよび自動車センサアプリケーションを備え、自動車センサアプリケーションは自動車コンピュータシステムの少なくとも1つのセンサを監視するように構成される。本方法はまた、自動車コンピュータシステムを使用して、ワイヤレス通信モダリティを介して第2のクライアントデバイスと接続することを含むことができ、第2のクライアントデバイスは別のクライアント自動アシスタントを備える。本方法はさらに、自動車コンピュータシステムによって、第1の活動意図要求がアプリケーションにより第1のクライアントデバイスにおいて生成されたと判定することを含むことができ、アプリケーションは、特定のカテゴリのサービスに対応し、第1のサービスプロバイダによって提供される。本方法はまた、自動車コンピュータシステムによって、第2の活動意図要求が別のアプリケーションにより第2のクライアントデバイスにおいて生成されたと判定することを含むことができ、他のアプリケーションはその特定のカテゴリのサービスに対応し、第2のサービスプロバイダによって提供される。本方法はさらに、自動車コンピュータシステムを使用して、第3の活動意図要求が自動車センサアプリケーションにおいて生成されたと判定することを含むことができ、第3の活動意図要求は、自動車コンピュータシステムのセンサからのセンサデータに基づいて生成される。本方法はまた、自動車自動アシスタントによって、第1の活動意図要求、第2の活動意図要求、および第3の活動意図要求の各活動意図要求の未解決状態を示すデータを生成することを含むことができ、データは自動車コンピュータシステムに記憶される。本方法はさらに、生成されたデータに従って、自動車コンピュータシステムに接続される1つまたは複数のインターフェースに、第1の活動意図要求、第2の活動意図要求、および第3の活動意図要求の各活動意図要求に対する通知を提供させることを含むことが可能である。
いくつかの実装形態では、本方法は、第3の活動意図要求が自動車センサアプリケーションにおいて生成されたとの判定に応答して、第3の活動意図要求の対応するインスタンスが第1のクライアントデバイスに記憶されるようにすることを含むことが可能である。いくつかの実装形態では、本方法は、自動車コンピュータシステムに接続された1つまたは複数のインターフェースにおいてユーザ入力を受け取ることと、ユーザ入力を受け取ったことに応答して、第3の活動意図要求と関連付けられる通知の未解決状態が自動車コンピュータシステムにおいて解消されるように、かつ第3の活動意図要求の対応するインスタンスが第1のクライアントデバイスにおいて解消されるようにすることとを含むことが可能である。いくつかの実装形態では、特定のカテゴリのサービスはメッセージングサービスであり、第1のサービスプロバイダは第2のサービスプロバイダと異なる。いくつかの実装形態では、本方法は、第1の活動意図要求および第2の活動意図要求の各活動意図要求に対して、各活動意図要求によって具現化される各メッセージの内容を処理することを含むことができ、各メッセージの内容の処理は、各メッセージが第1のサービスプロバイダおよび第2のサービスプロバイダのうちのあるサービスプロバイダによって提供されたかどうかにかかわらず実行される。いくつかの実装形態では、各活動意図要求の未解決状態を示すデータを生成することは、自動車自動アシスタントによって、第1の活動意図要求、第2の活動意図要求、および第3の活動意図要求の各活動意図要求の対応するインスタンスを生成することを含む。
さらに他の実装形態では、1つまたは複数のプロセッサによって実施される方法は、ワイヤレスモダリティを介してクライアントデバイスによって、車両と一体であり自動車自動アシスタントを含む自動車コンピュータシステムと接続することなどの動作を含むものとして記載され、クライアントデバイスはクライアント自動アシスタントを含む。本方法はまた、自動車コンピュータシステムを介してクライアントデバイスによって、自動車コンピュータシステムのアプリケーションから自動車自動アシスタントによって受信された活動意図要求にアクセスすることを含むことができ、アプリケーションは車両のセンサと通信しており、活動意図要求はセンサからの信号に少なくとも基づく。本方法はさらに、クライアント自動アシスタントによって、活動意図要求にアクセスしたことに基づいて、活動意図要求の対応するインスタンスを生成することを含むことができ、クライアントデバイスは、クライアントデバイスにおける1つまたは複数の他のアプリケーションによって提供される1つまたは複数の他の活動意図要求を含む。本方法はまた、車両または自動車コンピュータシステムへのクライアントデバイスの近接の程度が下がったことに少なくとも部分的に基づいて、自動車コンピュータシステムからクライアントデバイスを切断することを含むことが可能である。本方法はさらに、自動車コンピュータシステから切断したことに続いてクライアント自動アシスタントによって、活動意図要求の対応するインスタンスに従って活動を実行することを含むことができ、活動を実行することは、クライアントデバイスのインターフェースにおいて、活動意図要求によって特定される内容を提供することを含む。
いくつかの実装形態では、クライアントデバイスには、(i)自動車コンピュータシステムにおけるアプリケーションを提供したサードパーティによって提供され、かつ(ii)自動車コンピュータシステムにおけるアプリケーションに少なくとも部分的に相関する、インストールされたアプリケーションがない。いくつかの実装形態では、具体的な状況を決定すること、および実行することは具体的な状況を決定することに応答したものである。いくつかの実装形態では、具体的な状況を決定することは、クライアントデバイスの位置を決定することを含み、本方法はさらに、活動意図要求によって特定される内容がクライアントデバイスの位置と関連付けられると判定することを備え、活動は、活動意図要求によって特定される内容がクライアントデバイスの位置と関連付けられるとの判定に応答して実行される。いくつかの実装形態では、本方法は、クライアント自動アシスタントが活動意図要求の対応するインスタンスに従って活動を実行したことに基づいて、活動意図要求が自動車コンピュータシステムにおいて解消されるようにするための要求を提供することを含むことが可能である。いくつかの実装形態では、要求は、自動車コンピュータシステムと通信して、活動意図要求が自動車コンピュータシステムにおいて解消されるようにするように構成される、リモートサーバデバイスに提供される。いくつかの実装形態では、活動意図要求は、ユーザが話された発話を自動車コンピュータシステムの自動アシスタントインターフェースに提供したことに応答して生成され、本方法はさらに、自動車コンピュータシステムから、ユーザが自動アシスタントインターフェースに話された発話を提供したことに応答して、話された発話に対応するデータを受信することと、自動車コンピュータシステムへ、自動車コンピュータシステムから受信されたデータに基づく応答データを提供することとを備え、活動意図要求はさらに、自動車コンピュータシステムによって受信された応答データに基づく。
他の実装形態は、上および/または本明細書の他の箇所で説明された方法のうちの1つまたは複数などの方法を実行するように、1つまたは複数のプロセッサ(たとえば、中央処理装置(CPU))、グラフィクス処理装置(GPU)、および/またはテンソル処理装置(TPU)によって実行可能な命令を記憶した非一時的コンピュータ可読記憶媒体を含んでもよい。さらに他の実装形態は、上および/または本明細書の他の箇所で説明された方法のうちの1つまたは複数などの方法を実行するように記憶された命令を実行するように動作可能な1つまたは複数のプロセッサを含む1つまたは複数のコンピュータおよび/または1つまたは複数のロボットのシステムを含んでもよい。
前述の概念および本明細書でより詳細に説明される追加の概念のすべての組合せが、本明細書で開示される主題の一部として企図されることを理解されたい。たとえば、本開示の末尾に現れる特許請求される主題のすべての組合せが、本明細書で開示される主題の一部として企図される。
複数の異なるユーザが、車両自動アシスタントにそれぞれのデバイスの各々のアプリケーションと対話させることを可能にできる、車両の斜視図である。 サードパーティアプリケーションによって要求される活動を進めるために、他の自動アシスタントと対話することが可能な自動アシスタントを提供するためのシステムを示す図である。 ポータブルコンピューティングデバイスのクライアント自動アシスタントが自動アシスタントの複数のインスタンスのための一次自動アシスタントまたは主要自動アシスタントとして活動することができるシナリオの斜視図である。 ポータブルコンピューティングデバイスのクライアント自動アシスタントが自動アシスタントの複数のインスタンスのための一次自動アシスタントまたは主要自動アシスタントとして活動することができるシナリオの斜視図である。 ポータブルコンピューティングデバイスのクライアント自動アシスタントが自動アシスタントの複数のインスタンスのための一次自動アシスタントまたは主要自動アシスタントとして活動することができるシナリオの斜視図である。 クライアントデバイスが自動車コンピュータシステムと通信しているときに生成される活動意図要求を扱うための方法を示す図である。 クライアントデバイスが自動車コンピュータシステムと通信しているときに生成される活動意図要求を扱うための方法を示す図である。 自動アシスタントの異なるインスタンスから提供される複数の異なる活動意図要求に従ってインターフェースから出力を提供する方法を示す図である。 例示的なコンピュータシステムのブロック図である。
図1は、複数の異なるユーザが、車両自動アシスタントにそれぞれのデバイスの各々のアプリケーションと対話させることを可能にできる車両114の斜視図100を示す。車両114に乗っているとき、第1のユーザ110および第2のユーザ112は、旅行の間に車両114の中で対話するために異なるデバイスを持ち込むことがある。たとえば、第1のユーザ110はセルラーデバイス124(すなわち、クライアントデバイス)を持ち込むことができ、第2のユーザ112はタブレットデバイス116(すなわち、クライアントデバイス)を持ち込むことができる。車両114は自動車コンピュータシステム102を含むことができ、自動車コンピュータシステム102は自動車自動アシスタント104へのアクセスをユーザに提供することができる。セルラーデバイス124およびタブレットデバイス116の各々が、クライアント自動アシスタント126およびクライアント自動アシスタント118をそれぞれ含むことが可能である。さらに、自動車自動アシスタント104は、ユーザの各々がそれぞれのデバイスを車両114に持ち込むとき、主要自動アシスタントとして活動することができる。このようにすると、各ユーザは必ずしも、自動車コンピュータシステム102に対して排他的にそれぞれのデバイスをペアリングしなくてもよい。さらに、自動車自動アシスタント104のいくつかの実装形態によれば、自動車コンピュータシステム102は、クライアントデバイスの各々にインストールされているものと同じアプリケーションを必ずしも有しなくてもよい。このようにして、自動車コンピュータシステム102は、メモリをより効率的に使用することができ、さらにインストールされるアプリケーションがより少ないことにより、自動車コンピュータシステム102は、更新を取得してサーバと通信することにネットワーク帯域幅をさほど消費しない。そのような利点は、一部には車両114において利用可能なワイヤレス通信モダリティを通じた各々のそれぞれの自動アシスタント間の対話を通じて実現されることが可能である。さらに、同様の利点が、そうされなければ各メッセージを認証および配信するために電話番号を使用するであろうサーバにおいて実現されることが可能である。
たとえば、各ユーザはそれぞれのクライアントデバイスとともに車両114に入ることができ、各クライアントデバイスは活動意図要求を含むことができ、かつ/または生成することができる。たとえば、タブレットデバイス116は、活動意図要求122を生成することが可能な1つまたは複数のタブレットアプリケーション120を含むことができ、セルラーデバイス124は、活動意図要求130を生成することが可能な1つまたは複数のセルラーアプリケーション128を含むことができる。タブレットアプリケーション120および/またはセルラーアプリケーション128は、サードパーティアプリケーション、および/または自動アシスタントの1つまたは複数のインスタンスを提供または開発したエンティティとは異なるエンティティによって提供または開発されるアプリケーションであることが可能である。
第1のユーザ110および第2のユーザ112が最初にそれぞれのクライアントデバイスとともに車両114に入るとき、各クライアントデバイスは、車両114がワイヤレスモダリティを通じて通信することが可能な自動車コンピュータシステム102を含むと判定することができる。さらに、各クライアントデバイスは、自動車コンピュータシステム102が自動車自動アシスタント104を含むと判定することができる。具体的には、クライアント自動アシスタント118およびクライアント自動アシスタント126は、自動車コンピュータシステム102が自動車自動アシスタント104を含むと判定することができる。この決定を行ったことに応答して、クライアント自動アシスタント118は、活動意図要求122の対応するインスタンスが自動車コンピュータシステム102において生成されるようにすることができ、クライアント自動アシスタント126は、活動意図要求122、130の対応するインスタンスが自動車コンピュータシステム102において生成されるようにすることができる。結果として、自動車自動アシスタント104は、活動意図要求の対応するインスタンスと関連付けられる(活動意図要求108としてローカルに記憶される)あらゆる活動が、1つまたは複数のユーザと自動車自動アシスタント104との間の対話を介して進められるようにすることができる。その上、自動車自動アシスタント104はさらに、タブレットアプリケーション120および/もしくはセルラーアプリケーション128のうちのいずれか1つのアプリケーションと等価ではないことがある、またはそうでなければそのインスタンスではないことがある自動車アプリケーション106を自動車コンピュータシステム102が含んでいても、活動意図要求108によって特定される活動を進めることができる。たとえば、自動車アプリケーション106は、車両114についての情報を自動車自動アシスタント104に提供する整備アプリケーションを含むことが可能である。この情報は、タブレットデバイス116とセルラーデバイス124のいずれかのデバイスが整備アプリケーションと等価なものを、またはそのインスタンスを含まなくても、タブレットデバイス116とセルラーデバイス124の両方と共有されることが可能である。このことは、各ユーザが旅行の間に自分のデバイスへ必ずしも注意を向けず、むしろ自動車自動アシスタント104を利用してそれぞれの通知を中継し、かつ/または任意の特定の活動を進めることを可能にできる。
図2は、サードパーティアプリケーションによって要求される活動を進めるために他の自動アシスタントと対話することが可能な自動アシスタントを提供するためのシステム200を示す。自動アシスタント204は、第1のクライアントデバイス216(たとえば、携帯電話242)、第2のクライアントデバイス218(たとえば、タブレットデバイス244)、および/またはサーバデバイス230などのリモートコンピューティングデバイス202などの1つまたは複数のコンピューティングデバイスにおいて提供されるアシスタントアプリケーションの一部として動作することができる。ユーザは、アシスタントインターフェース(たとえば、車両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は、1つまたは複数のアシスタントインターフェースにおいて受け取られた入力をリモートコンピューティングデバイス202に伝送することができる。しかしながら、いくつかの実装形態では、自動アシスタント204は、第1のクライアントデバイス216および/または第2のクライアントデバイス218においてホストされることが可能である。様々な実装形態において、自動アシスタント204のすべてのまたはすべてではない態様が、第1のクライアントデバイス216および/または第2のクライアントデバイス218上で実装されることが可能である。それらの実装形態のいくつかでは、自動アシスタント204の態様は、第1のクライアントデバイス216または第2のクライアントデバイス218のローカルアシスタントアプリケーションと、自動アシスタント204の他の態様を実装するリモートコンピューティングデバイス202とのインターフェースとを介して実装される。リモートコンピューティングデバイス202はオプションで、複数のスレッドを介して複数のユーザおよび関連するアシスタントアプリケーションにサービスすることができる。自動アシスタント204のすべてのまたはすべてではない態様が第1のクライアントデバイス216のクライアント自動アシスタント226または第2のクライアントデバイス218のクライアント自動アシスタント226を介して実装されるいくつかの実装形態では、クライアント自動アシスタントは、第1のクライアントデバイス216および/または第2のクライアントデバイス218のオペレーティングシステムとは別個の(たとえば、オペレーティングシステム「の上に」インストールされる)アプリケーションであることが可能であり、または代替的に第1のクライアントデバイス216もしくは第2のクライアントデバイス218のオペレーティングシステムによって直接実装される(たとえば、オペレーティングシステムのアプリケーションであると見なされるが、それと一体である)ことが可能である。
いくつかの実装形態では、リモートコンピューティングデバイス202は、オーディオデータで具現化されるテキストを特定するためにアシスタントインターフェースにおいて受け取られたオーディオデータを処理できる、ボイスツーテキストエンジン216を含むことが可能である。オーディオデータをテキストに変換するためのプロセスは、発話認識アルゴリズムを含むことができ、これは、ニューラルネットワーク、word2vecアルゴリズム、および/または語もしくは語句に対応するオーディオデータのグループを特定するための統計モデルを利用することができる。オーディオデータから変換されたテキストは、テキスト解析エンジン208によって解析され、ユーザおよび/もしくはサードパーティアプリケーションからの命令語句を生成ならびに/または特定するために使用されることが可能であるテキストデータとして、自動アシスタント204に対して利用可能にされることが可能である。
いくつかの実装形態では、リモートコンピューティングデバイス202は、テキストデータをオーディオデータへと変換するためのテキストツーボイスエンジン228を含むことが可能である。たとえば、自動車自動アシスタント234が受信されたメッセージと関連付けられる未解決の活動意図要求238を特定したことに応答して、自動車自動アシスタント234は、メッセージに対応するコンテンツがテキストツーボイスエンジン228へ伝送されるようにすることができる。そのコンテンツを受け取ったことに応答して、テキストツーボイスエンジン228は、そのコンテンツをオーディオデータへと変換することができ、そのオーディオデータは自動車自動アシスタント234へ戻るように伝送されることが可能である。自動車自動アシスタント234は次いで、オーディオデータがオーディオインターフェース(たとえば、スピーカ)からオーディオ出力として出力されるようにすることができる。テキストは、ニューラルネットワーク、統計モデル、および/またはそれを通じてテキストデータがオーディオ(たとえば、自然言語出力に対応するオーディオ)に変換されることが可能である任意の他の装置もしくはモジュールを使用してオーディオに変換されることが可能である。いくつかの実装形態では、ボイスツーテキストエンジン216、テキストツーボイスエンジン228、および/またはテキスト解析エンジン208の各々が、自動車コンピュータシステム232、第1のクライアントデバイス216、および/または第2のクライアントデバイス218などの1つまたは複数のクライアント側デバイスに位置することが可能である。このようにして、それぞれの自動アシスタントは、処理のためにデータをリモートサーバへ伝送する必要が必ずしもなく、むしろユーザのための特定のデータを生成および/または解釈するためにデータをローカルに処理することができる。
いくつかの実装形態では、サーバデバイス230のエンジン、アプリケーション、および/または動作のうちの1つまたは複数が、自動車コンピュータシステム232、第1のクライアントデバイス216、および/もしくは第2のクライアントデバイス218において提供および/または実行されることが可能である。たとえば、いくつかの実装形態では、自動車コンピュータシステム232は、テキストツーボイスエンジン228および/またはボイスツーテキストエンジン216を含むことが可能である。さらに、いくつかの実装形態では、自動車自動アシスタント234、クライアント自動アシスタント246、および/またはクライアント自動アシスタント248において受信されるあらゆるコンテンツが、それぞれのアシスタントをホストするデバイスとサーバデバイス230との間に接続があるとき、サーバデバイス230に伝送されることが可能である。代わりに、または加えて、接続がそれぞれのデバイスもしくはシステムとサーバデバイス230との間で接続が利用可能ではないとき、コンテンツが並列に処理されることが可能であるように、受信されるあらゆるコンテンツが、それぞれのデバイスにおいて排他的に処理され、かつ/または他のローカルデバイスと共有されることが可能である。たとえば、コンテンツが第2のクライアントデバイス218において受信され自動車コンピュータシステム232に伝送されたメッセージに対応するとき、自動車コンピュータシステム232は、車両に乗っている間にユーザへ提供されることが可能である音声を生成するためにローカルのテキストツーボイスエンジンを利用することができる。
いくつかの実装形態では、1つまたは複数のアプリケーションを含む各デバイスまたはシステムはまた、1つまたは複数の対応する活動意図生成エンジンを含むことが可能である。活動意図生成エンジンは、いくつかの活動が、あるアプリケーション、別のアプリケーション、および/またはそのアプリケーションにアクセス可能な任意の他のモジュールによって実行されるようにするために、そのアプリケーションによって制御されることが可能である。たとえば、アプリケーションはメッセージングアプリケーションであることが可能であり、メッセージングアプリケーションは着信メッセージを受信することができる。着信メッセージを受信したことに応答して、メッセージングアプリケーションの活動意図生成エンジンは、自動アシスタントを介して、通知をユーザに提供するための活動意図を生成することができる。活動意図は、実行されるべき活動(たとえば、通知の提供)、受信されたメッセージの内容、メッセージと関連付けられるカスタム識別子、および/またはメッセージと関連付けられることが可能である任意の他のデータを特定することができる。
いくつかの実装形態では、各活動意図生成エンジンおよび/またはアプリケーションは、アプリケーションによって実行されることが可能な活動のタイプを示す宣言および/またはマニフェストファイルと関連付けられることが可能である。たとえば、メッセージングアプリケーションは、メッセージングアプリケーションが、メッセージを受信すること、メッセージをユーザに通知すること、および/またはメッセージに応答することが少なくとも可能であることを示すマニフェストファイルを含むことが可能である。オペレーティングシステムおよび/または自動アシスタントは、特定のアプリケーションが特定の活動を扱うことができるかどうかを決定するために、1つまたは複数のデバイス上の各マニフェストファイルにアクセスすることができる。このようにして、たとえば自動車コンピュータシステム232において生成される活動意図は、デバイスのうちの1つにおける特定のマニフェストファイルが、活動意図を扱うことができるアプリケーションがそのデバイスにあることを示すかどうかに基づいて、第1のクライアントデバイス216または第2のクライアントデバイス218のいずれかに提供されることが可能である。2つ以上のアプリケーションが特定の活動意図を扱うことができる場合、発信デバイスおよび/または別個のデバイスが、特定の活動意図を扱うためのデバイスを(たとえば、グラフィカルユーザインターフェースを介して)選択するようにユーザに促すことができる。
いくつかの実装形態では、各活動意図生成エンジンはまた、活動意図の各活動意図と関連付けられるカスタム識別子に従って、活動意図を生成および/またはフィルタリングすることができる。たとえば、活動意図生成エンジンがアプリケーションの指示で活動意図を生成するとき、活動意図生成エンジンはカスタム識別子も生成することができる。カスタム識別子は、活動を実行する際に使用されるべきコンテンツの識別子、発信アプリケーションを表す識別子、受信者の識別子、発信ユーザの識別子、活動意図の状況の識別子、および/または識別子を生成する際の基礎として使用されることが可能である任意の他の情報に基づいて生成されることが可能である。
各自動アシスタントおよび/またはオペレーティングシステムは、コンテンツデータを特定するための活動意図、実行されるべき意図される活動、および/またはカスタム識別子を解析するように構成されることが可能である。いくつかの実装形態では、自動アシスタントは、発信アプリケーションに関して表面上は知識がない状態で各活動意図を処理することができる。たとえば、第1のクライアントデバイス216および第2のクライアントデバイス218が異なるメッセージングアプリケーションを含んでいても、自動車コンピュータシステム232は、いずれかのメッセージングアプリケーションから活動意図要求を取得し、自動車コンピュータシステム232の自動アシスタントインターフェースを介してメッセージをユーザに読み上げることができる。たとえば、第1のクライアントデバイス216におけるメッセージアプリケーションは、活動意図要求252を生成することができ、ユーザが車両240に入ると、未解決の活動意図要求が自動車自動アシスタント234によってアクセスされることが可能である。自動車自動アシスタント234は次いで、未解決の活動意図要求の対応するインスタンスを生成することができる。活動意図要求によって提供されるコンテンツデータは、「もう出ましたか?」などのデータを含むことができ、自動車自動アシスタント234は、コンテンツデータが着信メッセージに対応すると判定することができる。したがって、多くの異なるメッセージングアプリケーションが同様の方式で活動意図を生成するので、自動車自動アシスタント234は、ある普遍的な方式で、かつ/または対応するメッセージングアプリケーションを提供したエンティティ(たとえば、第1のサービスプロバイダ、第2のサービスプロバイダなど)の知識が比較的ない状態で、そのような活動意図を提示しそれに応答するように活動することができる。
いくつかの実装形態では、発話認識エンジンと自動アシスタントとの間で複数のやり取りを実行するのではなく、ボイスツーテキストエンジンを利用して複数の話される発話に対応するオーディオデータを処理することによって、計算リソースを節約することができる。たとえば、主要自動アシスタントは、「メッセージをロバートに送信」などのユーザからの命令を受信することができる。それに応答して、主要自動アシスタントは、「はい、どのメッセージングアプリケーションを使いますか?第1のアプリケーションですか、第2のアプリケーションですか、それとも第3のアプリケーションですか?」などの事前に設定された応答を行うことができる。ユーザは、「第1のアプリケーション」などの応答を提供し、次いで「今日はどうでしたか?」などのメッセージを口述することができる。いくつかの実装形態では、自動アシスタントは、使用するメッセージングアプリケーションを確認し、ユーザがメッセージを送信することを望むか変更することを望むかをプロンプトでユーザに尋ねることができる(たとえば、「はい、メッセージを送信しますか、またはメッセージを変更しますか?」)。このとき、ユーザは、異なるメッセージングアプリケーションが選択されることを要求してもよい。たとえば、ユーザは、「第1のメッセージングアプリケーションではなく第2のメッセージングアプリケーションで送信してください」と応答することができる。それに応答して、自動アシスタントは次いで、メッセージが第2のメッセージングアプリケーションによって伝送されるようにすることができる。このことは、メッセージの処理が各々の個々のメッセージングアプリケーションに適合される必要がないことを考慮すると、ユーザと自動アシスタントとの間のやり取りの回数を減らすことができる。
いくつかの実装形態では、各自動アシスタント(たとえば、自動車自動アシスタント234)は、未解決の活動意図要求に対応するデータを含むイベントハンドラにアクセスし、かつ/またはそれを管理することができる。未解決の活動意図要求の促進における活動が実行されるにつれて、各自動アシスタントのための各イベントハンドラが更新されることが可能である。いくつかの実装形態では、イベントハンドラは、同じイベントに対応する未解決の活動意図要求を含むことが可能である。たとえば、複数の異なる活動意図は受信されたメッセージと関連付けられることが可能である。したがって、ユーザが第1のクライアントデバイス216においてテキストメッセージを受信するとき、対応するメッセージングアプリケーションは、受信されたテキストメッセージを扱うための複数の活動意図要求を生成することができる。第1のクライアントデバイス216が、限定はされないがBluetooth(登録商標)、Wi-Fi、LTEなどのワイヤレスモダリティを通じて自動車コンピュータシステム232とペアリングするとき、自動車自動アシスタント234は、複数の活動意図要求の対応するインスタンスを生成することができる。複数の活動意図要求の対応するインスタンスは、自動車自動アシスタント234のイベントハンドラによって管理されることが可能であり、複数の活動意図要求の対応するインスタンスを第1のクライアントデバイス216において受信されたテキストメッセージと関連付ける何らかの量のデータを含むことができる。たとえば、自動車自動アシスタント234のイベントハンドラによって特定される活動意図要求は、テキストメッセージをユーザに通知し、ユーザが応答することを望むかどうかに関してユーザにプロンプトで尋ねるための活動に対応することが可能である。自動車自動アシスタント234は、第1のクライアントデバイス216においてインストールされるメッセージングアプリケーションへの直接のローカルアクセス権なしで、受信されたテキストメッセージに関する両方の活動を実行することができる。
図3A、図3B、および図3Cは、ポータブルコンピューティングデバイスのクライアント自動アシスタントが自動アシスタントの複数のインスタンスのための主要自動アシスタントとして活動することができるシナリオの斜視図300、302、および304を示す。たとえば、ユーザが自宅318にいる間に、ユーザと関連付けられる自動車316において故障が検出されることが可能である。問題は、たとえば齧歯動物が夜に、ブレーキセンサに接続するワイヤなどの自動車316のケーブルを噛み切ったということであることが可能である。自動車316の自動車コンピュータシステム306はスタンバイモードで動作していることが可能であるが、自動車自動アシスタント308は問題に応答することが可能であり、問題と関連付けられる1つまたは複数の活動意図要求312を生成することができる。具体的には、自動車自動アシスタント308は、自動車の問題の通知(たとえば、「ブレーキセンサ」)をユーザに表示するための活動意図要求314と、問題を解決するために整備の予定を立てるようにユーザに促すための別の活動意図要求320(たとえば、「修理の予定を立てますか?」)とを生成することができる。各活動意図要求は、原因の問題と関連付けられることが可能である、同じカスタム識別子(たとえば、"4KAJC92W")を伴って生成されることが可能である。さらに、各活動意図要求は、実行されるべき活動(たとえば、「通知」および「予定」)を特定することができる。
図3Bは、セルラーデバイス328を持って自動車316に入ったユーザ322の斜視図302を示し、セルラーデバイス328は、クライアント自動アシスタント328として自動アシスタントのインスタンスも含む。いくつかの実装形態では、自動車コンピュータシステム306は、セルラーデバイス328に直接インストールされない自動車アプリケーション310を含むことが可能である。さらに、いくつかの実装形態では、セルラーデバイス328は、自動車コンピュータシステム306に直接インストールされないセルラーアプリケーション332を含むことが可能である。それにもかかわらず、活動意図要求は、ワイヤレスモダリティを通じて自動車コンピュータシステム306とセルラーデバイス328との間で伝送されることが可能であり、それぞれの自動アシスタントによって解析されることが可能である。
たとえば、活動意図要求314および320は、自動車アプリケーション310の整備アプリケーションによって生成され、自動車自動アシスタント308によってアクセスされることが可能である。ユーザ322がセルラーデバイス328を持って車両に入ると、自動車コンピュータシステム306およびセルラーデバイス328は、安全な通信チャネル326がそれらの間に設けられることを確実にするためにハンドシェイクを実行することができる。通信チャネル326が確立されると、クライアント自動アシスタント330は、自動車コンピュータシステム306において利用可能な未解決の活動意図要求312を特定することができる。さらに、自動車コンピュータシステム306は、セルラーデバイス328において利用可能なあらゆる活動意図要求334を特定することができる。活動意図要求314および320がセルラーデバイス328において対応するインスタンスを有しないと、クライアント自動アシスタント330が決定するとき、クライアント自動アシスタント330は、活動意図要求314および320のインスタンスがセルラーデバイス328において利用可能になるようにすることができる。セルラーデバイス328における活動意図要求314および320のインスタンスは、自動車コンピュータシステム306からの同じカスタム識別子を含むことができ、これにより特定のイベント(たとえば、検出されたブレーキセンサの問題)に対する更新を時間とともにまとめることが可能になる。
図3Cは、活動意図要求314および320のインスタンスが生成された後の、自宅346にいるユーザ322の斜視図304を示す。具体的には、ユーザ322は自宅346に入ることができ、それに応答して、クライアント自動アシスタントが、活動意図要求314および320によって示される活動を完了することを試みることができる。たとえば、クライアント自動アシスタントは、セルラーデバイス328のディスプレイインターフェースに選択可能な要素338および340を提示させることができ、選択可能な要素338および340は活動意図要求314および320に対応することが可能である。代わりに、ユーザ322は、任意の未解決の活動意図要求と関連付けられる任意の通知をクライアント自動アシスタントに提示させるために、セルラーデバイス328のインターフェース(たとえば、マイクロフォン)に話される発話336を提供することができる。たとえば、ユーザ322は、「アシスタント、残っている通知を見せて」などの話される発話336を提供することができる。それに応答して、クライアント自動アシスタントは、近くのディスプレイパネルに、活動意図要求と関連付けられる通知をユーザ322へ提示させる。
ユーザ322が選択可能な要素338および340のいずれかを選択する場合、活動意図要求314および320の未解決状態は、活動意図要求314および320のインスタンスを含んだ各デバイスにおいて解消されることが可能である。たとえば、活動意図要求314および320のインスタンスは、自動車コンピュータシステム306およびセルラーデバイス328において解消されることが可能である。いくつかの実装形態では、活動意図要求314および320は、ユーザ322が選択可能な要素338および340を選択したことに応答して、データがネットワーク342を通じてリモートデバイス344へ伝送されることが可能であるとき、自動車コンピュータシステムにおいて解消されることが可能である。リモートデバイス344はその後、自動車コンピュータシステム306によってアクセスされることが可能であり、自動車コンピュータシステム306は、リモートデバイス344においてデータに従って自動車コンピュータシステム306のイベントハンドラを更新することができる。
図4Aおよび図4Bは、クライアントデバイスが自動車コンピュータシステムと通信しているときに生成される活動意図要求を扱うための方法400および410を示す。方法400および410は、コンピューティングデバイス、アプリケーション、および/またはワイヤレス接続を通じて通信することが可能な任意の他の装置もしくはモジュールのうちの1つまたは複数によって実行されることが可能である。方法400は、自動車自動アシスタントによって、クライアントデバイスにおいて生成された第1の活動意図要求を特定する動作402を含むことが可能である。クライアントデバイスは、ワイヤレス通信モダリティを介して自動車コンピュータシステムとペアリングされることが可能である。第1の活動意図要求は、たとえばアプリケーションにおいて実行される動作(たとえば、メッセージの受信)に応答して、クライアントデバイスにおいてアプリケーションによって生成されることが可能である。いくつかの実装形態では、自動車コンピュータシステムには、クライアントデバイスのアプリケーションの対応するインスタンスがなくてもよい。具体的には、自動車コンピュータシステムには、クライアントデバイスにおいてアプリケーションを提供したサードパーティによって提供される、かつ/またはクライアントデバイスにおけるアプリケーションに少なくとも部分的に相関する、別個のアプリケーションがなくてもよい。たとえば、アプリケーションはテキストメッセージングアプリケーションであってよく、自動車コンピュータシステムにはテキストメッセージングアプリケーションがなくてもよい。
方法400はさらに、実行されるべき第1の要求された活動、コンテンツデータ、およびカスタム識別子を第1の活動意図要求が特定すると判定する動作404を含むことが可能である。第1の要求された活動は、着信メッセージがクライアントデバイスにおいてインストールされるメッセージングアプリケーションにおいて受信されたことをユーザに通知するための要求であることが可能である。コンテンツデータは、受信されたテキストメッセージにおいて提供されるテキストの一部またはすべてを特定することができる(たとえば、「今向かっているところですか?」)。さらに、カスタム識別子は、第1の活動意図要求とともにとられるあらゆるさらなる活動が受信されたテキストメッセージとその後で関連付けられることが可能であるように、受信されたテキストメッセージと第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は、コンピューティングデバイス、アプリケーション、および/または自動アシスタントと対話することが可能な任意の他の装置もしくはモジュールのうちの、1つまたは複数によって実行されることが可能である。方法500は、自動車コンピュータシステムによって、ワイヤレス通信モダリティを介して、クライアント自動アシスタントを含む第1のクライアントデバイスと接続する動作502を含むことが可能である。第1のクライアントデバイスは、たとえば携帯電話またはタブレットコンピュータなどのポータブルコンピューティングデバイスであることが可能であり、自動車コンピュータシステムは、複数の乗員を運ぶことが可能な車両と一体のコンピューティングデバイスであることが可能である。さらに、ワイヤレスモダリティは、Bluetooth(登録商標)、Wi-Fi、LTE、および/または複数のコンピューティングデバイスがそれを通じて対話できる任意の他のモダリティなどの1つまたは複数のワイヤレス通信プロトコルであることが可能である。
方法500はさらに、自動車コンピュータシステムによって、ワイヤレス通信モダリティを介して、別のクライアント自動アシスタントを含む第2のクライアントデバイスと接続する動作504を含むことが可能である。他のクライアント自動アシスタントは、クライアント自動アシスタントと同じまたは異なるエンティティとして提供されることが可能であり、第2のクライアントデバイスは、第1のクライアントデバイスと同じまたは異なるタイプのクライアントデバイスであることが可能である。たとえば、第1のクライアントデバイスは自動車の運転手によって所有されていてよく、第2のクライアントデバイスは自動車の乗員によって所有されていてよい。さらに、動作502および動作504は、自動車の運転手および乗員が自動車に入るときに実行されることが可能である。このようにして、自動車自動アシスタントは、運転手および乗員が自動車の中にいるときに、クライアント自動アシスタントおよび他のクライアント自動アシスタントと対話することが可能になる。
方法500はさらに、第1の活動意図要求が第1のクライアントデバイスにおいてアプリケーションによって生成されたことと、第2の活動意図要求が第2のクライアントデバイスにおける別のアプリケーションによって生成されたこととを決定する動作506を含むことが可能である。第1の活動意図要求は、通知が運転手へ提示されるようにするための要求に対応することができ、この通知は、第1のクライアントデバイスにおいて受信されたメッセージについての情報を提供することができる。第2の活動意図要求は、異なる通知が乗員へ提示されるようにするための異なる要求に対応することが可能である。他の通知は、第2のクライアントデバイスにおいて受信された異なるメッセージについての異なる情報を提供することができる。
方法500はまた、自動車コンピュータシステムにおいて別個のアプリケーションによって第3の活動意図要求が生成されたと判定する動作508を含むことが可能である。別個のアプリケーションは、たとえば自動車の1つまたは複数のセンサを監視する整備アプリケーションであることが可能である。さらに、第1のクライアントデバイスおよび第2のクライアントデバイスには、整備アプリケーションの任意の対応するインスタンスがなくてもよい。いくつかの実装形態では、第3の活動意図要求は、オイル交換の時期であること、および/またはブレーキフルードの交換が必要であることなどの車の状態に関する通知が運転手に提供されるようにするための要求に対応することが可能である。
方法500はまた、自動車コンピュータシステムにおいて、第1の活動意図要求、第2の活動意図要求、および第3の活動意図要求の各活動意図要求の未解決状態を示すデータを生成する動作510を含むことが可能である。データは、様々な異なるアプリケーションおよび/またはデバイスからの様々な異なる活動意図要求に対応するデータを配置することが可能なイベントハンドラエンジンとして具現化され、またはイベントハンドラエンジンに対してアクセス可能であることが可能である。たとえば、データは、活動意図要求の各々の優先度を特定することができる。活動意図要求の優先度は、たとえば活動意図要求が主要自動アシスタント(すなわち、少なくとも2つ以上の他の自動アシスタントが通信している自動アシスタント)を含むデバイスにおいて生成されたかどうかに基づくことが可能である。たとえば、主要自動アシスタントは、運転手および乗員が自動車に乗っているとき、自動車自動アシスタントであることが可能であり、それは主要自動アシスタントが自動車の自動車コンピュータシステムにインストールされているからである。次の優先度は、第1のクライアントデバイスなどの車両の運転手と関連付けられるデバイスによって提供される活動意図要求に与えられることが可能である。その後、他の優先度が、自動車の乗員と関連付けられる活動意図要求に割り当てられることが可能である。
方法500はさらに、生成されたデータに基づいて、自動車コンピュータシステムに接続される1つまたは複数のインターフェースに、第1の活動意図要求、第2の活動意図要求、および/または第3の活動意図要求の各活動意図要求に対する通知を提供させる動作512を含むことが可能である。いくつかの実装形態では、自動車コンピュータシステムは、グラフィカルな要素が提示されるディスプレイパネルなどのインターフェースを含むことができ、グラフィカルな要素の1つまたは複数が活動意図要求のいずれかに対応することが可能である。さらに、ディスプレイパネルは、通知を確認し、別の活動意図要求が自動車コンピュータシステムにおいて生成されるようにするために、ユーザがそれを通じてグラフィカルな要素を選択できるタッチインターフェースであることが可能である。
図6は、例示的なコンピュータシステム610のブロック図である。コンピュータシステム610は通常、バスサブシステム612を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ614を含む。これらの周辺デバイスは、たとえばメモリ625およびファイルストレージサブシステム626を含むストレージサブシステム624、ユーザインターフェース出力デバイス620、ユーザインターフェース入力デバイス622、ならびにネットワークインターフェースサブシステム616を含んでもよい。入力デバイスおよび出力デバイスは、コンピュータシステム610とのユーザの対話を可能にする。ネットワークインターフェースサブシステム616は、外部ネットワークへのインターフェースを提供し、他のコンピュータシステムの中の対応するインターフェースデバイスに結合される。
ユーザインターフェース入力デバイス622は、キーボード、マウス、トラックボール、タッチパッド、またはグラフィクスタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システム、マイクロフォン、および/または他のタイプの入力デバイスなどのオーディオ入力デバイスを含んでもよい。一般に、「入力デバイス」という用語の使用は、情報をコンピュータシステム610へ、または通信ネットワーク上へ入力するためのすべての可能なタイプのデバイスおよび方法を含むことが意図される。
ユーザインターフェース出力デバイス620は、ディスプレイサブシステム、プリンタ、ファックスマシン、またはオーディオ出力デバイスなどの非視覚ディスプレイを含んでもよい。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、投影デバイス、または可視の画像を作成するためのいくつかの他の機構を含んでもよい。ディスプレイサブシステムは、オーディオ出力デバイスなどを介して、非視覚ディスプレイを提供してもよい。一般に、「出力デバイス」という用語の使用は、すべての可能なタイプのデバイスと、ユーザまたは別の機械もしくはコンピュータシステムにコンピュータシステム610から情報を出力するための方法とを含むことが意図される。
ストレージサブシステム624は、本明細書で説明されるモジュールの一部またはすべての機能を提供する、プログラミングおよびデータの構成物を記憶する。たとえば、ストレージサブシステム624は、方法400、方法500の選択された態様を実行するための、かつ/または自動車自動アシスタント、自動車コンピュータシステム、クライアント自動アシスタント、クライアントデバイス、リモートデバイス、サーバデバイス、車両、および/もしくは本明細書で論じられる任意の他のモジュールもしくは装置のうちの1つまたは複数を実装するための論理を含んでもよい。
これらのソフトウェアモジュールは一般に、プロセッサ614単独で、または他のプロセッサと組み合わせて実行される。ストレージサブシステム624において使用されるメモリ625は、プログラム実行の間の命令およびデータの記憶のためのメインランダムアクセスメモリ(RAM)630と、固定された命令が記憶される読み取り専用メモリ(ROM)632とを含む、いくつかのメモリを含むことが可能である。ファイルストレージサブシステム626は、プログラムおよびデータファイルのための永続的なストレージを提供することができ、関連するリムーバブルメディア、CD-ROMドライブ、光学ドライブ、またはリムーバブルメディアカートリッジとともに、ハードディスクドライブ、フロッピーディスクドライブを含んでもよい。いくつかの実装形態の機能を実装するモジュールは、ストレージサブシステム624の中のファイルストレージサブシステム626によって、またはプロセッサ614によってアクセス可能な他の機械に記憶されてもよい。
バスサブシステム612は様々な構成要素を許容するための機構を提供し、コンピュータシステム610のサブシステムは意図されるように互いに通信する。バスサブシステム612は単一のバスとして概略的に示されるが、バスサブシステムの代替の実装形態は複数のバスを使用してもよい。
コンピュータシステム610は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意の他のデータ処理システムもしくはコンピューティングデバイスを含む様々なタイプであることが可能である。コンピュータおよびネットワークの変わり続ける性質により、図6に図示されるコンピュータシステム610の説明は、いくつかの実装形態を例示することを目的とした特定の例として意図されているだけである。図6に図示されるコンピュータシステムより多数または少数の構成要素を有する、コンピュータシステム610の多くの他の構成要素が可能である。
本明細書で説明されたシステムがユーザ(または本明細書でしばしば言及されるように、「参加者」)についての個人情報を収集する、または個人情報を利用することがある状況では、ユーザは、プログラムまたは特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、社会的な行動または活動、職業、ユーザの選好、またはユーザの現在の地理的位置についての情報)を収集するかどうかを制御するための、またはユーザにより関連がある可能性があるコンテンツをコンテンツサーバから受信するかどうか、かつ/もしくはどのように受信するかを制御するための機会を与えられてもよい。また、個人を特定可能な情報が削除されるように、あるデータはそれが記憶または使用される前に1つまたは複数の方法で取り扱われてもよい。たとえば、ユーザの識別情報は、ユーザについて個人を特定可能な情報を決定できないように扱われてもよく、または、ユーザの具体的な地理的位置を決定できないように、ユーザの地理的位置は、地理的位置情報がどこで取得されるかについて(都市、郵便番号、または州レベルに)一般化されてよい。したがって、ユーザは、情報がユーザについてどのように収集されるか、かつ/または使用されるかについて制御権を有してもよい。
いくつかの実装形態が本明細書で説明され例示されたが、機能を実行するための、かつ/または本明細書で説明される結果および/もしくは利点の1つまたは複数を得るための様々な他の手段および/または構造が利用されてもよく、そのような変形および/または修正の各々が、本明細書で説明される実装形態の範囲内にあるものと見なされる。より一般的には、本明細書で説明されるすべてのパラメータ、寸法、材料、および構成は例示的であることが意図され、実際のパラメータ、寸法、材料、および/または構成は、教示が使用される1つまたは複数の具体的な適用例に依存する。定型的な試みを行うだけで、本明細書で説明される具体的な実装形態に対する多くの均等物を、当業者は認識し、または確かめることが可能であろう。したがって、前述の実装形態は例として提示されるだけであり、添付の特許請求の範囲およびその均等物の範囲内で、具体的に説明され特許請求されるものとはそうでなければ実装形態が実践されてもよいことが理解される。本開示の実装形態は、本明細書で説明される各々の個別の特徴、システム、品目、材料、キット、および/または方法を対象とする。加えて、そのような特徴、システム、品目、材料、キット、および/または方法の任意の組合せが、そのような特徴、システム、品目、材料、キット、および/または方法が相互に矛盾しない場合、本開示の範囲に含まれる。
さらに、本開示は、以下の付記項に記載された、いくつかの実施形態を含む。
付記項1]
1つまたは複数のプロセッサによって実施される方法であって、
自動車コンピューティングシステムにおいて、クライアントデバイスからの第1の活動意図要求を受信するステップであって、前記クライアントデバイスは、前記ワイヤレス通信チャネルを介して前記自動車コンピュータシステムとペアリングされる、ステップと、
前記第1の活動意図要求を受信することに応答して、前記第1の活動意図要求が、実行されるべき第1の要求された活動、前記第1の要求された活動を実行するためにアクセスされるべきコンテンツデータ、および少なくとも部分的に前記第1の活動意図要求を前記自動車コンピュータシステムに対して提供させるようにするアプリケーションに対応する識別子を特定すると判定するステップと、
前記実行されるべき第1の要求された活動の促進において、前記自動車コンピュータシステムにアクセス可能なインターフェースに、前記自動車コンピュータシステムのユーザへ出力を提供させるステップであって、前記出力が前記第1の活動意図要求の前記コンテンツデータに基づく、ステップと、
前記自動車コンピュータシステムにアクセス可能な前記インターフェースを介して提供されるべき前記出力に応答して前記ユーザが入力を提供したと判定するステップと、
前記ユーザが前記入力を提供したとの判定に応答して、第2の活動意図要求を前記クライアントデバイスに提供するステップであって、前記第2の活動意図要求が、前記クライアントデバイスにおいて実行されるべき第2の要求された活動、前記ユーザによって提供される前記入力に基づく他のコンテンツデータ、および前記識別子を特定する、ステップと、
前記第2の要求された活動が前記第2の活動意図要求に従って前記クライアントデバイスにおいて実行されるようにするステップであって、前記第2の要求された活動が前記他のコンテンツデータを使用して前記アプリケーションによって実行され、かつ前記アプリケーションが、前記第2の活動意図要求において提供される前記識別子を使用して前記クライアントデバイスによって特定される、ステップと
を備える、方法。
付記項2]
前記インターフェースに前記自動車コンピュータシステムの前記ユーザへ前記出力を提供させるステップが、
前記インターフェースを介して前記ユーザにアクセス可能な自動アシスタントアプリケーションに、前記コンテンツデータを使用して前記ユーザに対する前記出力を可聴的にレンダリングさせるステップ
を含む、付記項1に記載の方法。
付記項3]
前記出力に応答して前記ユーザが前記入力を提供したと判定するステップが、前記ユーザが前記自動車コンピュータシステムにアクセス可能なマイクロフォンに話された発話を提供したと判定するステップを含み、
前記他のコンテンツデータが、前記話された発話のコンテンツのスピーチツーテキスト処理に基づいて生成される、
付記項2に記載の方法。
付記項4]
前記自動車コンピュータシステムが前記第1の活動意図要求を受信したコンテキストを特徴づけるデータにアクセスするステップをさらに備え、
前記ユーザに対して前記出力を提供する一時的な態様が、前記コンテキストを特徴づける前記データに基づく、
付記項1に記載の方法。
付記項5]
前記第2の要求された活動が前記第2の活動意図要求に従って前記クライアントデバイスにおいて実行されるようにするステップが、前記自動車コンピュータシステムおよび前記クライアントデバイスとは異なるディスプレイパネルに、前記他のコンテンツデータに基づいて出力をレンダリングさせるステップを含む、付記項1に記載の方法。
付記項6]
1つまたは複数のプロセッサによって実施される方法であって、
ワイヤレスモダリティを介してクライアントデバイスによって、車両と一体である自動車コンピュータシステムと接続するステップと、
前記自動車コンピュータシステムを介して前記クライアントデバイスによって、前記自動車コンピュータシステムのアプリケーションから受信された活動意図要求にアクセスするステップであって、前記アプリケーションが前記車両のセンサと通信しており、前記活動意図要求が前記センサからのデータに少なくとも基づく、ステップと、
前記活動意図要求にアクセスしたことに基づいて、前記活動意図要求の対応するインスタンスを生成するステップであって、前記クライアントデバイスが、前記クライアントデバイスにおける1つまたは複数の他のアプリケーションによって提供される1つまたは複数の他の活動意図要求を含む、ステップと、
前記クライアントデバイスに、前記自動車コンピュータシステムから切断させるステップと、
前記クライアントデバイスが前記自動車コンピュータシステムから切断したことに続いて、前記クライアントデバイスに、前記活動意図要求の前記対応するインスタンスに従って活動を実行させるステップであって、前記活動を実行することが、前記クライアントデバイスのインターフェースを介して、前記活動意図要求によって特定されるコンテンツをレンダリングするステップを含む、ステップと
を備える、方法。
付記項7]
前記クライアントデバイスに、
(i)前記自動車コンピュータシステムにおける前記アプリケーションを提供したサードパーティによって提供され、かつ/または
(ii)前記自動車コンピュータシステムにおける前記アプリケーションに少なくとも部分的に相関する、
インストールされたアプリケーションがない、付記項6に記載の方法。
付記項8]
前記クライアントデバイスを前記自動車コンピュータシステムから切断させたことに続いて、前記クライアントデバイスの具体的な状況を決定するステップであって、前記クライアントデバイスに前記活動を実行させることが、前記具体的な状況を決定したことに応答したものである、ステップをさらに備える、付記項6に記載の方法。
付記項9]
前記具体的な状況を決定するステップが前記クライアントデバイスの位置を決定するステップを含み、前記方法が、
前記活動意図要求によって特定された前記状況が前記クライアントデバイスの前記位置と関連付けられると判定するステップであって、前記活動が、前記活動意図要求によって特定された前記状況が前記クライアントデバイスの前記位置と関連付けられるとの判定に応答して実行される、ステップをさらに備える、付記項8に記載の方法。
付記項10]
前記クライアントデバイスによって、前記クライアントデバイスが前記活動意図要求の前記対応するインスタンスに従って前記活動を実行したことに基づいて、前記活動意図要求が前記自動車コンピュータシステムにおいて解消されるようにするための要求を提供するステップをさらに備える、付記項6に記載の方法。
付記項11]
前記要求が、前記クライアントデバイスによって、前記自動車コンピュータシステムと通信し、かつ前記活動意図要求が前記自動車コンピュータシステムにおいて解消されるようにするように構成されるリモートサーバデバイスへ提供される、付記項10に記載の方法。
付記項12]
前記活動意図要求が、前記自動車コンピュータシステムの自動アシスタントインターフェースに話される発話をユーザが提供したことに応答して生成され、前記方法が、
前記自動車コンピュータシステムから、前記ユーザが前記話された発話を前記自動アシスタントインターフェースに提供したことに応答して、前記話された発話に対応するデータを受信するステップと、
前記自動車コンピュータシステムから、前記受信されたデータに基づいて前記自動車コンピュータシステムに応答データを提供されるようにするステップであって、前記活動意図要求が、前記自動車コンピュータシステムによって受信される前記応答データにさらに基づく、ステップと
をさらに備える、付記項6に記載の方法。
付記項13]
前記クライアントデバイスが、前記車両および/または前記自動車コンピュータシステムへの前記クライアントデバイスの近接の程度が下がったことに少なくとも基づいて、前記自動車コンピュータシステムから前記クライアントデバイスを切断する、付記項6に記載の方法。
付記項14]
1つまたは複数のプロセッサによって実施される方法であって、
自動車コンピュータシステムに、クライアントデバイスからの第1の活動意図要求を提供するステップであって、前記クライアントデバイスは、ワイヤレス通信チャネルを介して自動車コンピュータシステムとペアリングされ、
前記第1の活動意図要求が、実行されるべき第1の要求された活動、前記第1の要求された活動を実行するためにアクセスされるべきコンテンツデータ、および少なくとも部分的に前記第1の活動意図要求を前記自動車コンピュータシステムに対して提供させるようにするアプリケーションに対応する識別子を特定する、
ステップと、
前記実行されるべき第1の要求された活動の促進において、前記自動車コンピュータシステムにアクセス可能なインターフェースに、前記自動車コンピュータシステムのユーザへ出力を提供させるステップであって、前記出力が前記第1の活動意図要求の前記コンテンツデータに基づく、ステップと、
前記自動車コンピュータシステムの前記インターフェースが前記ユーザへ前記出力を提供したことに続いて、前記クライアントデバイスにおける第2の活動意図要求を受信するステップであって、
前記第2の活動意図要求が、前記クライアントデバイスにおいて実行されるべき第2の要求された活動、前記識別子、前記ユーザによって前記自動車コンピュータシステムに提供される入力に基づく他のコンテンツデータを特定する、
ステップと、
前記第2の活動意図要求において提供された前記識別子を使用して、前記第2の活動意図要求を受信することに応答して前記アプリケーションを特定するステップと、
前記第2の要求された活動が前記第2の活動意図要求に従って前記クライアントデバイスにおいて実行されるようにするステップであって、前記第2の要求された活動が前記他のコンテンツデータを使用して前記アプリケーションによって実行される、ステップと
を備える、方法。
付記項15]
前記自動車コンピュータシステムが、前記インターフェースを介して、前記コンテンツデータを使用して前記ユーザに対する前記出力を可聴的にレンダリングする自動アシスタントアプリケーションを含む、付記項14に記載の方法。
付記項16]
前記他のコンテンツデータが、前記自動車コンピュータシステムにアクセス可能なマイクロフォンに前記ユーザによって提供された話された発話のコンテンツのスピーチツーテキスト処理に基づいて生成される、付記項15に記載の方法。
付記項17]
前記ユーザに対して前記出力を提供する前記自動車コンピュータシステムの一時的な態様が、前記クライアントデバイスが前記第1の活動意図要求を提供したコンテキストを特徴づけるデータに基づく、付記項14に記載の方法。
付記項18]
前記第2の要求された活動が前記第2の活動意図要求に従って前記クライアントデバイスにおいて実行されるようにするステップが、前記自動車コンピュータシステムおよび前記クライアントデバイスとは異なるディスプレイパネルに、前記他のコンテンツデータに基づいて出力をレンダリングさせるステップを含む、付記項14に記載の方法。
付記項19]
前記第2の活動意図要求を受信することに続いて、前記自動車コンピュータシステムから前記クライアントデバイスを切断するステップであって、前記第2の活動意図要求は、前記クライアントデバイスが前記自動車コンピュータシステムから切断されたときに実行される、ステップをさらに含む、付記項14に記載の方法。
付記項20]
前記クライアントデバイスを前記自動車コンピュータシステムから切断したことに続いて、前記クライアントデバイスの具体的な状況を決定するステップであって、前記第2の要求された活動が前記クライアントデバイスにおいて実行されるようにするステップが、前記具体的な状況に基づく、ステップをさらに備える、付記項19に記載の方法。
102 自動車コンピュータシステム
104 自動車自動アシスタント
106 自動車アプリケーション
108 活動意図要求
110 第1のユーザ
112 第2のユーザ
114 車両
116 タブレットデバイス
118 クライアント自動アシスタント
120 タブレットアプリケーション
122 活動意図要求
124 セルラーデバイス
126 クライアント自動アシスタント
128 セルラーアプリケーション
130 活動意図要求
202 リモートコンピューティングデバイス
204 自動アシスタント
208 テキスト解析エンジン
214 ネットワーク
216 ボイスツーテキストエンジン
216 第1のクライアントデバイス
218 第2のクライアントデバイス
228 テキストツーボイスエンジン
230 サーバデバイス
232 自動車コンピュータシステム
234 自動車自動アシスタント
236 自動車アプリケーション
238 活動意図要求
240 車両
244 タブレットデバイス
246 クライアント自動アシスタント
248 クライアント自動アシスタント
250 セルラーアプリケーション
252 活動意図要求
254 セルラーアプリケーション
256 活動意図要求
306 自動車コンピュータシステム
308 自動車自動アシスタント
310 自動車アプリケーション
312 活動意図要求
314 活動意図要求
316 自動車
318 自宅
320 別の活動意図要求
322 ユーザ
326 通信チャネル
328 セルラーデバイス
330 クライアント自動アシスタント
332 セルラーアプリケーション
334 活動意図要求
336 発話
338 選択可能な要素
340 選択可能な要素
342 ネットワーク
344 リモートデバイス
346 自宅
610 コンピュータシステム
612 バスサブシステム
614 プロセッサ
616 ネットワークインターフェース
620 ユーザインターフェース出力デバイス
622 ユーザインターフェース入力デバイス
624 ストレージサブシステム
625 メモリサブシステム
626 ファイルストレージサブシステム
630 RAM
632 ROM

Claims (12)

1つまたは複数のプロセッサによって実施される方法であって、
自動車自動アシスタントによって、クライアントデバイスにおいて生成される第1の活動意図要求を特定するステップであって、前記クライアントデバイスおよび別個のクライアントデバイスがワイヤレス通信チャネルを介して自動車コンピュータシステムとペアリングされ、前記自動車コンピュータシステムが前記自動車自動アシスタントを含む、ステップと、
前記第1の活動意図要求を特定したことに応答して、前記第1の活動意図要求が、実行されるべき第1の要求された活動、前記第1の要求された活動を実行するためにアクセスされるべきコンテンツデータ、および少なくとも部分的に前記第1の活動意図要求を前記自動車コンピュータシステムに対して利用可能にした前記クライアントデバイスにおけるアプリケーションと関連付けられる識別子を特定すると判定するステップであって、
別個のクライアントデバイスが、前記クライアントデバイスにおける前記アプリケーションを提供したサードパーティに対して相対的に異なるサードパーティによって提供される別のアプリケーションを含み、
前記自動車コンピュータシステムに、前記サードパーティによって提供された、インストールされたアプリケーションがない、
ステップと、
前記自動車自動アシスタントによって、前記別個のクライアントデバイスにおいて生成される別個の活動意図要求を特定するステップと、
前記実行されるべき第1の要求された活動の促進において、前記自動車コンピュータシステムにアクセス可能な自動アシスタントインターフェースに、前記自動車コンピュータシステムのユーザへ出力を提供させるステップであって、前記出力が前記第1の活動意図要求の前記コンテンツデータに基づく、ステップと、
前記自動車自動アシスタントによって、前記自動アシスタントインターフェースにおいて提供される前記出力に応答して前記ユーザが入力を提供したと判定するステップと、
前記ユーザが前記入力を提供したとの判定に応答して、第2の活動意図要求を前記クライアントデバイスに提供するステップであって、前記第2の活動意図要求が、前記クライアントデバイスにおいて実行されるべき第2の要求された活動、前記ユーザによって提供される前記入力に基づく他のコンテンツデータ、および前記識別子を特定する、ステップと、
前記第2の要求された活動が前記第2の活動意図要求に従って前記クライアントデバイスにおいて実行されるようにするステップであって、前記第2の要求された活動が前記他のコンテンツデータを使用して前記アプリケーションによって実行され、前記アプリケーションが、前記第2の活動意図要求において提供される前記識別子を使用して前記クライアントデバイスによって特定される、ステップと
を備える、方法。
前記ユーザが前記入力を提供したとの判定に応答して、第3の活動意図要求を前記クライアントデバイスに提供するステップであって、前記第3の活動意図要求が前記識別子および第3の要求された活動を特定し、前記クライアントデバイスが前記第3の活動意図要求を受信したことに応答して、前記第3の活動意図要求が、前記クライアントデバイスにおける前記第2の活動意図要求の未解決状態が解消されるようにする、ステップをさらに備える、請求項1に記載の方法。
前記ユーザが前記入力を提供したとの判定に応答して、前記第2の活動意図要求の対応するインスタンスの別個の未解決状態の解消を引き起こすステップであって、前記第2の活動意図要求の前記対応するインスタンスが前記自動車コンピュータシステムにおいて提供される、ステップをさらに備える、請求項2に記載の方法。
前記第2の活動意図要求の前記未解決状態が、前記クライアントデバイスを介してアクセス可能な第1の自動アシスタントイベントハンドラによって示され、前記第2の活動意図要求の前記対応するインスタンスの前記別個の未解決状態が、前記自動車コンピュータシステムを介してアクセス可能な第2の自動アシスタントイベントハンドラによって示される、請求項3に記載の方法。
前記別個の活動意図要求が、前記別個のクライアントデバイスによって生成される別の識別子を含み、前記方法が、
前記識別子と前記別の識別子との差異に基づいて、前記別個の活動意図要求よりも高い優先度として前記第1の活動意図要求を指定するステップをさらに備える、
請求項1に記載の方法。
1つまたは複数のプロセッサによって実施される方法であって、
自動車コンピュータシステムを使用して、ワイヤレス通信モダリティを介して第1のクライアントデバイスと接続するステップであって、前記第1のクライアントデバイスがクライアント自動アシスタントを備え、前記自動車コンピュータシステムが自動車自動アシスタントおよび自動車センサアプリケーションを備え、前記自動車センサアプリケーションが前記自動車コンピュータシステムの少なくとも1つのセンサを監視するように構成される、ステップと、
前記自動車コンピュータシステムを使用して、前記ワイヤレス通信モダリティを介して第2のクライアントデバイスと接続するステップであって、前記第2のクライアントデバイスが前記第1のクライアントデバイスとは別個であり、かつ別のクライアント自動アシスタントを備える、ステップと、
前記自動車コンピュータシステムによって、第1の活動意図要求がアプリケーションによって前記第1のクライアントデバイスにおいて生成されたと判定するステップであって、前記アプリケーションが特定のカテゴリのサービスに対応し、かつ第1のサービスプロバイダによって提供される、ステップと、
前記自動車コンピュータシステムによって、第2の活動意図要求が別のアプリケーションによって前記第2のクライアントデバイスにおいて生成されたと判定するステップであって、前記別のアプリケーションが前記特定のカテゴリのサービスに対応し、かつ前記第1のサービスプロバイダとは異なる第2のサービスプロバイダによって提供され、前記第2の活動意図要求が前記第1の活動意図要求とは別個である、ステップと、
前記自動車コンピュータシステムによって、第3の活動意図要求が前記自動車センサアプリケーションにおいて生成されたと判定するステップであって、前記第3の活動意図要求が前記自動車コンピュータシステムの前記少なくとも1つのセンサからのセンサデータに基づいて生成される、ステップと、
前記自動車自動アシスタントによって、前記第1の活動意図要求、前記第2の活動意図要求、および前記第3の活動意図要求の各活動意図要求の未解決状態を示すデータを生成するステップであって、前記データが前記自動車コンピュータシステムに記憶される、ステップと、
前記ータに従って、前記自動車コンピュータシステムに接続される1つまたは複数のインターフェースに、前記第1の活動意図要求、前記第2の活動意図要求、および前記第3の活動意図要求の各活動意図要求に対する通知を提供させるステップと
を備える、方法。
前記第1の活動意図要求および前記第2の活動意図要求の各活動意図要求に対して、各活動意図要求によって具現化される各メッセージの内容を処理するステップであって、前記各メッセージの内容の前記処理が、各メッセージが前記第1のサービスプロバイダおよび前記第2のサービスプロバイダのサービスプロバイダによって提供されたかどうかにかかわらず実行される、ステップをさらに備える、請求項6に記載の方法。
各活動意図要求の前記未解決状態を示す前記データを生成するステップが、
前記自動車自動アシスタントによって、前記第1の活動意図要求、前記第2の活動意図要求、および前記第3の活動意図要求の各活動意図要求の対応するインスタンスを生成するステップを含む、請求項6に記載の方法。
システムであって、
1つまたは複数のプロセッサと、
命令を記憶したメモリであって、前記1つまたは複数のプロセッサによって実行されたとき、前記前記1つまたは複数のプロセッサに、
自動車自動アシスタントによって、クライアントデバイスにおいて生成される第1の活動意図要求を特定することであって、前記クライアントデバイスおよび別個のクライアントデバイスがワイヤレス通信チャネルを介して自動車コンピュータシステムとペアリングされ、前記自動車コンピュータシステムが前記自動車自動アシスタントを含む、特定することと、
前記第1の活動意図要求を特定したことに応答して、前記第1の活動意図要求が、実行されるべき第1の要求された活動、前記第1の要求された活動を実行するためにアクセスされるべきコンテンツデータ、および少なくとも部分的に前記第1の活動意図要求を前記自動車コンピュータシステムに対して利用可能にした前記クライアントデバイスにおけるアプリケーションと関連付けられる識別子を特定すると判定することであって、
別個のクライアントデバイスが、前記クライアントデバイスにおける前記アプリケーションを提供したサードパーティに対して相対的に異なるサードパーティによって提供される別のアプリケーションを含み、
前記自動車コンピュータシステムに、前記サードパーティによって提供された、インストールされたアプリケーションがない、
判定することと、
前記自動車自動アシスタントによって、前記別個のクライアントデバイスにおいて生成される別個の活動意図要求を特定することと、
前記実行されるべき第1の要求された活動の促進において、前記自動車コンピュータシステムにアクセス可能な自動アシスタントインターフェースに、前記自動車コンピュータシステムのユーザへ出力を提供させることであって、前記出力が前記第1の活動意図要求の前記コンテンツデータに基づく、提供させることと、
前記自動車自動アシスタントによって、前記自動アシスタントインターフェースにおいて提供される前記出力に応答して前記ユーザが入力を提供したと判定することと、
前記ユーザが前記入力を提供したとの判定に応答して、第2の活動意図要求を前記クライアントデバイスに提供することであって、前記第2の活動意図要求が、前記クライアントデバイスにおいて実行されるべき第2の要求された活動、前記ユーザによって提供される前記入力に基づく他のコンテンツデータ、および前記識別子を特定する、提供することと、
前記第2の要求された活動が前記第2の活動意図要求に従って前記クライアントデバイスにおいて実行されるようにすることであって、前記第2の要求された活動が前記他のコンテンツデータを使用して前記アプリケーションによって実行され、前記アプリケーションが、前記第2の活動意図要求において提供される前記識別子を使用して前記クライアントデバイスによって特定される、実行されるようにすることと
を備える動作を行わせる、メモリと
を備える、システム。
前記動作が、
前記ユーザが前記入力を提供したとの判定に応答して、第3の活動意図要求を前記クライアントデバイスに提供することであって、前記第3の活動意図要求が前記識別子および第3の要求された活動を特定し、前記クライアントデバイスが前記第3の活動意図要求を受信したことに応答して、前記第3の活動意図要求が、前記クライアントデバイスにおける前記第2の活動意図要求の未解決状態が解消されるようにする、提供することをさらに備える、
請求項9に記載のシステム。
前記動作が、
前記ユーザが前記入力を提供したとの判定に応答して、前記第2の活動意図要求の対応するインスタンスの別個の未解決状態の解消を引き起こすことであって、前記第2の活動意図要求の前記対応するインスタンスが前記自動車コンピュータシステムにおいて提供される、引き起こすことをさらに備える、
請求項10に記載のシステム。
前記第2の活動意図要求の前記未解決状態が、前記クライアントデバイスを介してアクセス可能な第1の自動アシスタントイベントハンドラによって示され、前記第2の活動意図要求の前記対応するインスタンスの前記別個の未解決状態が、前記自動車コンピュータシステムを介してアクセス可能な第2の自動アシスタントイベントハンドラによって示される、請求項11に記載のシステム。
JP2019096081A 2018-05-23 2019-05-22 自動アシスタントのインスタンス間への通信チャネルの提供 Active JP6603001B1 (ja)

Applications Claiming Priority (6)

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
US16/260,974 US10861254B2 (en) 2018-05-23 2019-01-29 Providing a communications channel between instances of automated assistants
US16/260,974 2019-01-29

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019185239A Division JP6665341B2 (ja) 2018-05-23 2019-10-08 自動アシスタントのインスタンス間への通信チャネルの提供

Publications (2)

Publication Number Publication Date
JP6603001B1 true JP6603001B1 (ja) 2019-11-06
JP2020047252A JP2020047252A (ja) 2020-03-26

Family

ID=68462391

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019096081A Active JP6603001B1 (ja) 2018-05-23 2019-05-22 自動アシスタントのインスタンス間への通信チャネルの提供
JP2020025256A Active JP6985439B2 (ja) 2018-05-23 2020-02-18 自動アシスタントのインスタンス間への通信チャネルの提供

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2020025256A Active JP6985439B2 (ja) 2018-05-23 2020-02-18 自動アシスタントのインスタンス間への通信チャネルの提供

Country Status (2)

Country Link
US (1) US20230410565A1 (ja)
JP (2) JP6603001B1 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4202621B2 (ja) * 2001-07-06 2008-12-24 アルパイン株式会社 情報交換システム
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US10417037B2 (en) * 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
CN106469040B (zh) * 2015-08-19 2019-06-21 华为终端有限公司 通信方法、服务器及设备
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
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

Also Published As

Publication number Publication date
US20230410565A1 (en) 2023-12-21
JP2020123359A (ja) 2020-08-13
JP2020047252A (ja) 2020-03-26
JP6985439B2 (ja) 2021-12-22

Similar Documents

Publication Publication Date Title
JP6665341B2 (ja) 自動アシスタントのインスタンス間への通信チャネルの提供
JP7412499B2 (ja) オンデバイス機能性を使うように車両クライアントデバイスに指令すること
JP7066753B2 (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
US20210255828A1 (en) Automated assistant suggestions for third-party vehicle computing devices with restricted architecture
US20230336521A1 (en) Sending messages from smart speakers and smart displays via smartphones
JP6603001B1 (ja) 自動アシスタントのインスタンス間への通信チャネルの提供
US11656844B2 (en) Providing a communications channel between instances of automated assistants
US20210328949A1 (en) Automated assistant architecture for preserving privacy of application content
US11959764B2 (en) Automated assistant that detects and supplements various vehicle computing device capabilities
US20240172304A1 (en) Connection sequencing involving automated assistants and peripheral devices

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190716

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190716

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190716

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190829

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190909

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191009

R150 Certificate of patent or registration of utility model

Ref document number: 6603001

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250