CN109698856B - 安全的设备到设备通信方法、系统 - Google Patents

安全的设备到设备通信方法、系统 Download PDF

Info

Publication number
CN109698856B
CN109698856B CN201811226436.7A CN201811226436A CN109698856B CN 109698856 B CN109698856 B CN 109698856B CN 201811226436 A CN201811226436 A CN 201811226436A CN 109698856 B CN109698856 B CN 109698856B
Authority
CN
China
Prior art keywords
electronic device
user
data
devices
companion
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
CN201811226436.7A
Other languages
English (en)
Other versions
CN109698856A (zh
Inventor
B·布拉德利
M·克罗科莫尔
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.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Priority to CN202210274538.6A priority Critical patent/CN114630302A/zh
Publication of CN109698856A publication Critical patent/CN109698856A/zh
Application granted granted Critical
Publication of CN109698856B publication Critical patent/CN109698856B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2809Exchanging configuration information on appliance services in a home automation network indicating that an appliance service is present in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/164Implementing security features at a particular protocol layer at the network layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Human Computer Interaction (AREA)
  • Telephonic Communication Services (AREA)
  • Power Engineering (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明涉及安全的设备到设备通信信道。一个实施方案在公共电子设备上提供数据处理系统,数据处理系统包括存储指令的存储器设备;执行存储在存储器设备上的指令的一个或多个处理器,该指令使得一个或多个处理器提供虚拟助理以在公共电子设备处接收命令,其中该虚拟助理,经由一个或更多处理器,在公共电子设备处接收命令;确定所述命令是否要访问与所述公共电子设备相关联的用户的个人数据;以及响应于确定所述命令要访问所述用户的个人数据,向所述用户的个人电子设备发送请求以处理所述命令的至少一部分。

Description

安全的设备到设备通信方法、系统
交叉引用
本专利申请要求于2017年10月21日提交的美国临时专利申请No. 62/575,373的优先权,该美国临时专利申请以引用方式并入本文。
技术领域
本公开涉及安全的设备到设备通信信道。
背景技术
本领域已知的电子设备可包括能够与电子设备的用户接合的智能自动化助理系统。一般来讲,智能自动化助理系统提供能够在电子设备上执行动作或向用户提供所请求信息的数字或虚拟助理。这些自动化助理可控制电子设备的许多操作和功能,例如拨打电话号码,发送文本消息,设置提醒,将事件添加到日历上,并代表用户执行各种其他操作。自动化助理系统可接收来自用户的口头,自然语言命令,并且可对用户说出使用语音合成引擎生成的响应。
自动化助理的服务和操作可被分类为描述自动化助理的服务领域的各种域。在某些域中启用完整功能可能需要访问与电子设备的用户相关联,或特定于电子设备的用户的个人或私人数据。此类数据可存储在个人用户设备上或存储在用户设备可访问的远程位置。然而,自动化助理的一些具体实施可被包括在可能由一个以上的用户使用的公共设备。为了隐私考虑,可能有利的是,避免将个人或私人用户信息存储在公共设备上。因此,需要对用户的个人信息进行访问的自动化助理服务在公共设备上可能不可用。
发明内容
本文所述的实施方案提供了一种通信机构,该通信机构使得公共电子设备诸如智能扬声器设备或另一智能家居设备能够将涉及个人用户数据的虚拟助理请求中继或重定向至个人用户设备用于处理。通信机构也可用作通用通信机构,其使得智能家居设备能够交换数据,包括配置数据。
一个实施方案在电子设备上提供数据处理系统,数据处理系统包括存储指令的存储器设备和执行存储在存储器设备上的指令的一个或多个处理器。指令在执行时使得所述一个或多个处理器在电子设备之间启用加密的数据信道。为了启用加密的数据信道,所述一个或多个处理器被配置为确定要在第一电子设备和第二电子设备之间建立通信会话,其中所述第一电子设备和所述第二电子设备各自与云服务账户相关联。一个或多个处理器可以被进一步配置为在第一电子设备与第二电子设备之间建立对等数据连接,验证第一电子设备和第二电子设备之间的可信关系,并在验证可信关系之后在第一电子设备和第二电子设备之间建立加密通信会话。加密通信会话随后可用于通过加密通信会话在第一电子设备和第二电子设备之间交换数据。
一个实施方案提供了存储指令的非暂态机器可读介质以使得一个或多个处理器执行操作,包括确定通信会话要在第一电子设备和第二电子设备之间建立,其中第一电子设备和第二电子设备每一个与云服务账户相关联。指令另外可使得一个或多个处理器执行另外操作,包括在第一电子设备与第二电子设备之间建立对等数据连接,验证第一电子设备和第二电子设备之间的可信关系,并在验证可信关系之后在第一电子设备和第二电子设备之间建立加密通信会话,以及通过加密通信会话在第一电子设备和第二电子设备之间交换数据。
一个实施方案提供了在本文所述的计算设备或数据处理系统上执行的方法。所述方法包括确定在第一电子设备和第二电子设备之间建立通信会话,其中所述第一电子设备和所述第二电子设备各自与云服务账户相关联,并且通过无线电设备在所述第一电子设备与所述第二电子设备之间建立对等数据连接,以及验证第一电子设备和第二电子设备之间的可信关系,其中验证所述第一电子设备与所述第二电子设备之间的可信关系包括验证先前建立的可信关系。该方法另外包括通过无线网络连接经由网络层协议在第一电子设备和第二电子设备之间建立加密通信会话,加密通信会话在验证可信关系之后建立以及通过加密通信会话在第一电子设备与第二电子设备之间交换数据。例如可交换数据以同步第一电子设备与第二电子设备之间的设备数据,其中设备数据与云服务账户相关联。
通过附图以及通过以下具体实施方式,本实施方案的其他特征将显而易见。
附图说明
本发明的实施方案以举例的方式进行说明并且不局限于附图的图形,在附图中标号指示原点数字,类似的标号指示类似的元件,并且其中:
图1A-图1B示出了根据实施方案的电子设备系统启用虚拟助理和个人数据域的框图;
图2示出了根据实施方案的包括多个智能家居设备的家庭网络环境;
图3是根据实施方案的用于发现和将公共设备与伴随设备配对的发现过程的操作的流程图;
图4A-图4C是启用公共设备上的虚拟助理客户端来以隐私保护方式处理查询的过程的流程图;
图5示出了根据本文所述实施方案的与配对设备建立伴随链路连接的过程;
图6示出了根据本文所述的实施方案的允许访问伴随设备上的个人数据的过程;
图7是根据实施方案的用于智能家居设备中的计算设备的框图;
图8是示出了可用于本发明的一些实施方案中的示例性API架构的框图;
图9A-图9B是根据实施方案的示例性API软件栈的框图;
图10为根据实施方案的移动设备架构的框图;
图11为根据实施方案的计算系统的框图;
图12为根据实施方案的虚拟助理的框图。
具体实施方式
连接的智能家居设备的网络可包括由家庭内的多个用户使用的公共设备。因为该设备是具有多个用户的公共设备,所以这可能有利于避免存储特定于该设备的任何给定用户的个人信息。此外,可能有利的是防止用户执行有关公共设备的其他用户的个人数据的未经授权的查询。与公共设备的每个用户相关联的示例性个人或私人用户信息可以包括,但不限于联系人列表,日历条目,文本消息,电子邮件,呼叫历史,闹钟,提醒,和可能认为是个人或私人用户数据的其它电子数据。在各种实施方案中,附加的个人或私人信息可包括但不限于位置信息,家庭关系,用户偏好,应用信息,存储在个人设备上的数据,设备位置,家庭设备位置,医疗信息或健康信息。在一些实施方案中,一些用户数据被认为是固有的个人或私人的,而其他信息可被用户指定为个人信息或私人信息。
本文描述的实施方案提供能使得公共设备上的虚拟助理经由配对的用户设备访问个人域功能。配对的用户设备可用作公共设备的伴随设备。公共设备与伴随设备之间的配对可使得设备能够在安全数据信道上建立可信和安全的通信。在公共设备上的虚拟助理接收需要访问未存储在公共设备上或可访问公共设备的个人用户信息的查询时,公共设备可连接到伴随设备并且请求伴随设备执行与个人用户数据相关的操作。
公共设备和伴随设备之间的通信可在称为伴随链路的安全数据信道上执行。伴随链路为家庭网络环境中的已连接设备提供持久,低延迟即时消息系统。在一些实施方案中,伴随链路支持家庭内的固定公共设备,诸如扬声器设备,与家庭中或者可经由互联网可触及的个人移动设备的链接。伴随链路使公共设备能够重新定向个人请求,而公共设备由于隐私问题而无法处理一个或多个个人设备。向与用户相关联的个人设备的重定向个人请求可使得公共设备上的虚拟助理能够以保密方式接收和请求。
除了使个人查询重定向至伴随设备之外,在一个实施方案中,伴随链路还为家庭网络环境中的设备提供通用即时消息系统。通用即时消息系统通过在伴随链路上交换消息使多个家庭设备能够协同工作。例如,可协调多个智能扬声器设备之间的音频回放,以使得设备能够执行操作,诸如但不限于协调媒体项的播放,经由最靠近用户的扬声器选择性地向该用户提供音频通知,将多个扬声器配置到多通道音频系统中,或在口头请求和响应的持续时间在扬声器处协调音频回避。
公共设备可以通过发现协议通告支持伴随链路服务。与公共设备在同一网络上的个人用户设备可发现公共设备通告的伴随链路服务,并且使用通告信息与公共设备连接。个人设备可与公共设备执行配对过程以成为用户的伴随设备。在一个实施方案中,配对过程包括接近元件,其中用户设备通过短程无线通信机构与伴随设备交换标识符,密钥或秘密。配对过程还可包括可促进通过伴随链路在公共和伴随设备之间的后续连接的存在和可接通性信息的交换。
在附图和下面说明中,参考标号指示引入引用的参考元件的图,使得具有参考标号N00的元件首先在图N介绍。例如,具有介于100和199之间的参考标号的元件在图1中首先示出,而具有介于200和299之间的参考标号的元件首先在图2中示出等。在给定图的描述中,先前引入的元件可或可不被引用。
在随后的附图中所描绘的过程和操作可由包括硬件(例如,电路系统、专用逻辑等等)、软件(如非暂态机器可读存储介质上的指令)或硬件和软件两者的组合的处理逻辑来执行。虽然下文按照顺序操作来描述一些过程,但应当理解,所描述的某些操作可以不同的顺序执行。此外,某些操作也可并行执行而非按顺序执行。另外,一些操作可被指示为任选的并且并非所有实施方案执行。
系统和环境
图1A-图1B示出了根据实施方案的电子设备系统启用虚拟助理和个人数据域的框图。图1A示出了根据本文所述的实施方案的虚拟助理系统100 的框图。图1B示出了根据实施方案的伴随链路系统130在虚拟助理系统100 内的设备之间启用通信的框图。图1B的伴随链路系统130可用于在虚拟助理系统内建立个人数据域,以使公共设备上的虚拟助理能够回答需要访问未存储在公共设备上的个人用户数据的查询。图1A-图1B的框图部分是逻辑的,因为所示的一些部件可以分离驻留在同一物理服务器或设备内的逻辑部件。
图1A示出了提供处理系统的虚拟助理系统100,该处理系统解释以口头和/或文本形式接收的自然语言输入以推断用户意图。虚拟助理系统100 然后可基于推断出的用户意图执行操作。在各实施方案中,该系统可执行一组操作包括,但不限于识别设计实现推断用户意图的具有步骤和参数的任务流,将来自推断的用户意图的特定要求输入到任务流;通过调用程序、方法、服务、API等执行任务流;以及以可听(例如,语音)和/或可视形式来生成对用户的输出响应。如本文所用,术语虚拟助理可与术语“数字助理”,“智能自动化助理”或“自动数字助理”互换使用,并且一般是指解释口语和/ 或文本形式的自然语言输入以代表用户执行动作的任何信息处理系统。
虚拟助理可以接受至少部分地为自然语言命令、请求、声明、讲述和/ 或询问的形式的用户请求。通常,用户请求可寻求虚拟助理作出信息性回答,或寻求虚拟助理执行任务。针对用户请求的令人满意的响应可以是提供所请求的信息性回答、执行所请求的任务,或这两者的组合。例如,用户可向虚拟助理提出诸如“我现在在哪里?”之类的问题。基于用户的当前位置,虚拟助理可回答“您在金门公园西门附近。”用户还可请求执行任务,例如“请邀请我的朋友下周来参加我女朋友的生日聚会。”作为响应,虚拟助理可通过讲出“好的,马上”来确认请求,并然后代表用户将合适的日历邀请发送至用户的电子通讯录中列出的用户朋友中的每个朋友。在执行所请求的任务期间,虚拟助理有时可在很长时间段内在涉及多次信息交换的持续对话中与用户进行交互。存在与虚拟助理进行交互以请求信息或执行各种任务的许多其他方法。除提供言语响应并采取经编程的动作之外,虚拟助理还可提供其他视频或音频形式(例如,作为文本、闹钟、音乐、视频、动画等)的响应。
如图1A所示,虚拟助理系统100可包括具有一个或多个服务器设备的服务器系统108。在一个实施方案中,服务器系统108包括可与多个虚拟助理客户端(VAC)(例如,VAC101,VAC 102))通信的虚拟助理服务器106。虚拟助理客户端可以在可与服务器系统108连接和通信的多个电子设备上执行。第一虚拟助理客户端(例如,VAC 101)可在智能家居设备103(诸如智能扬声器设备)上执行。第二虚拟助理客户端(例如,VAC 102)可在用户设备104诸如智能手机设备上执行。虚拟助理客户端可通过一个或多个网络110与虚拟助理服务器106通信,该网络110可包括本地和广域网的组合。各种虚拟助理客户端可以提供客户端侧功能,比如面向用户的输入和输出处理,并能与该虚拟助理服务器106通信。虚拟助理服务器106可为经由一个或多个网络110连接的任意数量的用户设备上的多个虚拟助理客户端提供服务器侧功能。
在一些实施方案中,虚拟助理服务器106包括到VA客户端的I/O接口 112、一个或多个处理模块114、包括数据和处理模型的存储设备116,以及到外部服务的I/O接口118。面向客户端的I/O接口112可促进虚拟助理服务器106的面向客户端的输入和输出处理。一个或多个处理模块114可利用数据和处理模型116对语音输入执行自然语言处理以推断用户意图。一个或多个处理模块114可随后基于推断出的用户意图来进行任务执行。到外部服务的I/O接口118可促进虚拟助理服务器106和外部服务120之间通过一个或多个网络110的通信。在一个实施方案中,虚拟助理服务器106可与外部服务120进行通信以响应于在用户设备104上的VAC 102接收到的请求完成任务,或者响应于在VAC 102接收的查询获得信息。外部服务120可包括但不限于导航服务,即时消息服务,信息服务,日历服务,和/或电话服务等。例如,一个或多个导航服务可用于响应于在用户设备上的VAC 102接收的请求而启用用户设备104上的逐向导航。外部服务可另外包括位置信息,天气,财务信息或账户信息。在各种实施方案中,启用一些外部服务120的逻辑可驻留在服务器系统108内,而逻辑的一些部分可驻留在用户设备104 内。
虚拟助理服务器106可以与一个或多个即时消息服务通信以响应于从虚拟助理客户端接收的语音输入发送消息。信息服务诸如因特网搜索引擎或信息数据库可由虚拟助理服务器106访问以响应于信息查询将信息提供给用户。在一个实施方案中,虚拟助理服务器106可访问一个或多个日历服务来安排任务或事件,或满足对于任务或事件的查询。虚拟助理服务器106还可访问一个或更多电话服务以为用户发起电话呼叫。
在各种实施方案中,虚拟助理服务器106可通过处理由用户向客户端提供的语音输入来帮助VAC 101,102。在一个实施方案中,文本语音处理和自然语言处理可部分地由VAC 101,102以及部分地在虚拟助理服务器106 上执行。虚拟助理服务器106的数据和处理模型116可比在本地可访问VAC 101,102的对应模型更复杂和更高性能。因此,虚拟助理服务器106可更适于处理一些命令,并且可将经处理的命令的结果通过一个或多个网络110发送回VAC 101,102。用于构建向用户呈现的虚拟助理交互流的操作可在虚拟助理服务器106和VAC 101,102之间共享。在一个实施方案中,用户输入的初始处理,语音输出的呈现以及对大多数用户数据的访问可由VAC 101,102执行。在此类实施方案中,语音识别和自然语言处理可至少部分地由虚拟助理服务器106执行。
智能家居设备103和用户设备104可通过一个或多个网络110,局域网 (LAN)和/或广域网(WAN),例如因特网,彼此通信以及与服务器系统108通信。可使用任何已知的互连或网络协议包括各种有线或无线协议来实现所述一个或多个网络。示例性互连和/或网络协议包括以太网,通用串行总线 (USB),FIREWIRE,全球移动通信系统(GSM),增强型数据GSM环境 (EDGE),码分多址(CDMA),时分多址(TDMA),长期严演进(LTE),蓝牙,Wi-Fi,互联网语音协议(VoIP),Wi-MAX,或任何其他合适的通信协议。
在各种实施方案中,服务器系统108可在计算机的独立数据处理装置和 /或分布式网络上实施。在一些示例中,服务器系统108还可采用第三方服务提供方(例如,第三方云服务提供方)的各种虚拟设备和/或服务来提供服务器系统108的潜在计算资源和/或基础结构资源。
在各种实施方案中,智能家居设备103可为智能扬声器设备,智能家居集线器设备或另一类型的智能电子设备。例如,并且在一个实施方案中,智能家居设备103是可被配置为作为分布式媒体回放系统的一部分的智能扬声器设备。智能扬声器设备的具体示例是来自加利福尼亚库伯蒂诺的苹果公司的
Figure BDA0001834080120000081
智能扬声器设备。在一个实施方案中,智能家居设备103可以是被配置为管理在数字连接的智能家居系统中的一个或更多其它设备的智能家居集线器设备,该智能家居系统包括但不限于智能和/或数字连接的设备诸如智能温控器或智能照明系统。智能家居设备103可与用户设备104连接以交换数据。智能家居设备103和用户设备104之间的连接可在一个或多个网络110上执行。在一个实施方案中,在用户设备104在LAN和互联网连接之间转换时,智能家居设备103和用户设备104可动态地保持持久连接。
用户设备104可以是任何合适的电子设备。例如,并且在一个实施方案中,用户设备104可以是便携式多功能设备,多功能设备或个人电子设备。便携式多功能设备可以是例如移动电话,所述移动电话还包含其他功能,诸如个人数据助理,音乐播放器和/或能够执行应用程序(例如,应用程序等) 的应用处理器。便携式多功能设备的特定示例可包括来自Apple Inc. (Cupertino,California)的
Figure BDA0001834080120000082
设备、iPod
Figure BDA0001834080120000083
设备和
Figure BDA0001834080120000084
设备。便携式多功能设备的其他示例可包括但不限于膝上型计算机或平板电脑,或可穿戴电子设备诸如智能手表设备。在一些实施方案中,用户设备104可为非便携式多功能设备,诸如但不限于台式计算机,游戏控制台,电视或电视机顶盒。在一个实施方案中,用户设备104可以是在家庭,车辆,汽车旅馆等中的灯具。在一些实施方案中,用户设备104可为或与车门或车辆另一入口点,家庭或移动家庭结合工作。
用户设备104可包括触敏表面(例如,触摸屏显示器和/或触摸板接口),或一个或多个物理用户接口设备,诸如物理键盘,鼠标和/或操纵杆。
在一个实施方案中,智能家居设备103上的VAC 101可与用户设备104 上的VAC102通信,以有利于语音输入的处理或推断在智能家居设备103 处接收的命令的意图。例如,在一个实施方案中,智能家居设备103可以是由家庭内的多个用户使用的公共设备。公共设备用户的某些个人或私人信息,诸如联系人信息,日历信息,消息数据等可被分类为对给定用户来说是私人的。为了避免在作为公共设备的智能家居设备103上存储此类私人信息,或使得公共设备能够访问包含或访问此类信息的服务器(例如,虚拟助理服务器106),智能家居设备103上的VAC 101可与可有利于访问此类信息的用户设备104相关联。当智能家居设备103上的VAC 101执行需要访问与用户相关联的私人信息的命令或动作时,智能家居设备103上的VAC 101 可与用户设备104和/或用户设备104上的VAC 102通信以获取用于执行所请求的命令或动作的信息。
单个用户可与多个用户设备104相关联。在此种情形下,用户设备104 的单个实例可被指定伴随设备。智能家居设备103随后将与伴随设备通信以启用某些请求的处理。例如,用户可以具有用户设备104的多个实例,诸如一个或多个智能电话设备,一个或多个平板电脑设备,或膝上型电脑设备。用户可以指定此类用户设备104中的一个作为伴随设备,智能家居设备103 将与伴随设备通信来获取访问私人用户信息。
在一些实施方案中,智能家居设备103和用户设备104可建立和保持伴随链路105,该伴随链路为持续或半持续连接,使得在智能家居设备103上的VAC 101能够向用户设备104和/或用户设备104上的VAC 102查询私人信息。在一个实施方案中,伴随链路105是始终连接的低延迟即时消息系统,其使得家庭内部的设备之间能够通信。此类连接可在LAN上本地保持或可建立在广域网诸如互联网上。伴随链路105可启用公共设备以将个人请求重定向到用户设备,使得可以以保密方式处理请求。
图1B示出了图1B的伴随链路系统130,启用虚拟助理系统100内的设备之间的通信。在各种实施方案中,伴随链路系统130可在多个设备之间启用安全和认证的消息交换。多个设备可包括一个或多个用户设备(例如,用户设备104,用户设备115),它们各自可以是便携式多功能设备。多个设备还可包括一个或多个固定设备,诸如一个或多个公共智能家居设备(例如,智能家居设备103,智能家居设备133),其可由多个用户使用。在一个实施方案中,一组伴随链路105a-105b可在用户设备和一个或多个公共智能家居设备之间启用基于消息的通信。也可以在公共智能家居设备之间建立伴随链路105c以启用那些设备之间的通信。在一个实施方案中,也可在用户设备之间建立伴随链路105d,以启用对等交换设备数据。
在一个实施方案中,可使用一组伴随链路105a-105b来使得公共固定设备将个人请求重定向到与用户相关联的个人设备,以允许此类请求以保密方式处理。例如,并且在一个实施方案中,用户可向公共设备说出个人查询,诸如“我下一次会议是什么时间?”个人查询可通过智能家居设备103或智能家居设备133上的VAC 101或VAC 131接收。由于此请求使用说话人的日历,公共设备可能无法直接访问此类个人数据。为了满足此类请求,公共设备可将查询重定向到指定的伴随设备诸如用户设备104,以对查询执行分析,并生成可发送回到公共设备以用于回放给用户的音频响应。
在各种实施方案中,可以显式或隐式方式执行重定向。对于显式重定向,智能家居设备103上的VAC 101或智能家居设备133上的VAC 131可接收请求并将该请求至少部分地提交到虚拟助理服务器106用于处理。虚拟助理服务器106可确定,为了满足该请求,至少一些信息可从伴随设备(例如,用户设备104)请求。在一个实施方案中,可响应于此类确定执行显式重定向,在该确定中,虚拟助理服务器106可将请求通过一个或多个网络110发送到用户设备104,以检索将用于处理该请求的个人信息。在一个实施方案中,公共智能家居设备可使用隐式重定向,其中智能家居设备103上的虚拟助理客户端可将该虚拟助理请求重定向到用户设备104上的VAC 102。然后,用户设备104上的VAC 102可处理请求,如同在用户设备104处直接接收到该请求。然后,用户设备104可配制音频响应用于在公共设备上回放。
除了能够以保密方式启用处理查询之外,在一个实施方案中,伴随链路 105c可启用通用即时消息,使得能够在公共设备诸如智能家居设备103和智能家居设备133之间进行通信。此类链路使公共设备能够协同操作以协调操作。例如,智能家居设备103和智能家居设备133可被配置为可播放音乐或其他媒体的分布式媒体回放系统的一部分。在智能家居设备103和智能家居设备133之间建立的伴随链路105c可用于协调媒体回放或在多个设备上协调多通道音频回放。当用户说查询智能家居设备之一,该设备可以交换消息以在口头请求的持续时间协调回避音频回放以及任何相关的音频响应。使用伴随链路系统130,任何数量的公共智能家居设备和用户设备可通信以交换音频数据,媒体播放列表,配置数据以及用于启用连接的数字家庭系统的其他信息。
在一个实施方案中,可通过局域网(例如,LAN)经由本地有线和/或无线网络连接建立伴随链路105a-105d。在一个实施方案中,也可通过WAN 连接(诸如互联网连接)建立伴随链路105a-105d,尽管策略和配置确定可任选地被配置为将智能家居设备103,133之间的伴随链路105c限制到单个网络。在一个实施方案中,除了虚拟助理服务器106之外,服务器系统108 可包括在线账户服务器136,用户设备104,115和智能家居设备103,133 可经由一个或多个网络110连接到在线账户服务器136。在线账户服务器136 可包括与同各种设备相关联的用户的在线账户相关联的信息。在一些实施方案中,在线账户服务器136还可包括或与服务器硬件和软件逻辑相关联以提供在线服务,包括在线存储,即时消息,电子邮件,媒体和流服务或导航服务。在一个实施方案中,在线账户服务器136还可提供或促进访问图1B的外部服务120中的一个或多个。在一个实施方案中,在线账户服务器136还可以提供或促进访问在线商店,诸如在线应用商店(例如,应用程序商店) 和/或在线媒体商店,诸如音乐,视频,或电子书店。
在一个实施方案中,用户设备104,115之间的伴随链路105d可用于启用对等数据交换。在一个实施方案中,设备之间的自动数据交换可被配置为在伴随链路105d上执行。例如,如果用户设备104和用户设备115每一个与在线账户服务器136上的相同账户相关联,则凭证交换可通过在线账户服务器执行以在每当设备在直接通信范围内时启用设备之间的加密通信信道的自动建立。在一个实施方案中,与在线账户服务器136相关联的云服务的数据可通过伴随链路105d而不是通过一个或多个网络110,在设备之间进行交换。在一个实施方案中,在线账户服务器136可以维护与单个账户相关联的设备列表或者与相关联账户家族相关联的设备列表。与账户家族的账户相关联的设备列表可用于促进设备发现和在设备之间建立伴随链路连接。在线账户服务器上的账户可以通过认证凭据的交换启用电子设备之间的共同认证。
在一个实施方案中,在线账户服务器136包括或与注册服务器相关联以注册与每个设备相关联的唯一设备标识符,所述每个设备具有与用户相关联的在线账户。一旦设备向用户的在线账户注册,便可创建标识符令牌,该标识符令牌使得该设备能够在网络110上定位和识别。标识符令牌可包括一个或多个加密密钥,令牌,证书或允许虚拟助理服务器106,在线账户服务器 136和服务器系统108内的其他服务器在一个或多个网络110上定位和识别设备的其他数据。在一些实施方案中,如果用户设备在家庭外部或未连接到智能家居设备的家庭网络,智能家居设备103,133可使用标识符令牌来与用户设备104建立远程连接。智能家居设备103,133可使用标识符令牌将用户设备104定位在移动无线网络上并与用户设备104建立安全的远程伴随链路连接。部分通过虚拟助理服务器106和在线账户服务器136,可帮助定位用户设备104并建立与用户设备的连接。在此类实施方案中,当用户设备104远离家庭时,或如果用户在家但未连接到家庭网络,则用户设备104的伴随设备功能的至少一个子集可继续操作。
在一些实施方案中,在设备上执行的每个虚拟助理客户端(VAC 101, VAC 102,VAC 131)可与虚拟助理标识符相关联。在各种实施方案中,虚拟助理标识符可与主机设备的标识符令牌相关联或导出,与设备的用户的在线账户相关联的账户标识符,和/或与账户或设备标识符相关联或导出的另一个令牌。当虚拟助理客户端正彼此或与虚拟助理服务器106通信时,虚拟助理客户端的虚拟助理标识符可以唯一或准唯一识别各种设备上的VAC101, 102,131。虚拟助理标识符可与虚拟助理的主机设备的标识或位置信息相关联,诸如主机设备的标识令牌。在智能家居设备103,133和用户设备104 之间建立配对关系之后,智能家居设备上的虚拟助理客户端(VAC 101,VAC 131)可存储虚拟助理标识符并使用虚拟助理标识符来定位,识别和与用户设备104上的VAC 102通信。VAC 102的虚拟助理标识符也可被发送至虚拟助理服务器106并且存储为伴随虚拟助理标识符。如果虚拟助理服务器106要求访问用户执行智能家居设备103,133的VAC 101,131处所接收的请求的处理操作的私人信息,则虚拟助理服务器106可代表VAC 101,131与用户设备104的VAC 102接触。在各种实施方案中,虚拟助理服务器106 然后可以从用户设备104的VAC 102接收来自用户设备104的私人信息,分派到用户设备104的信息处理任务的处理结果,或代表用户设备104访问私人数据的权限和/或访问凭证。
在一些实施方案中,服务器系统108包括可用于促进智能家居设备103, 133和用户设备104之间的远程连接的中继服务器126。中继服务器126可启用中继服务,该中继服务可在本地连接或另一种远程连接(例如远程对等连接)无法建立的情况下在设备之间中继伴随链路消息。中继服务器126可基于在智能家居设备103,133和用户设备104之间建立的中继配对来启用远程伴随链路即时消息传送。密钥,证书以及与各种设备相关联的其他识别和验证数据可在可用于在设备之间建立中继配对的本地配对过程期间交换。一旦在设备之间建立了中继配对,智能家居设备103,133可向中继服务器 126发送消息,该中继服务器具有与用户设备104相关联的唯一中继标识符。
可与中继服务器126连接的每个设备可具有相关联的中继标识符,该关联的中继标识符是可用于识别和验证连接设备的永久配对令牌。该中继标识符可以是,包括,或从唯一识别该设备的设备标识符或标识符令牌导出并且可包括启用中继令牌验证的证书和/或签名。然后,中继服务器126可将消息中继至用户设备104。在一个实施方案中,可以建立持久和双向连接,使得用户设备104能够经由中继服务器126向智能家居设备103,133发送返回消息。在一个实施方案中,用户设备104还可以使用与设备相关联的中继标识符发起与智能家居设备103,133的连接。在一个实施方案中,中继标识符用于通过中继服务器126交换的每个消息,使中继服务器126能够验证通过服务器中继的每个消息的真伪和防止未经授权的设备经由建立的中继服务器连接传输消息。
图2示出了根据实施方案的包括多个智能家居设备的家庭网络环境 200。家庭网络环境200可包括无线接入点212,以提供对服务家庭网络环境的无线网络的访问。多个智能家居设备204,206,214,216,222A-222B可通过无线网络或另选地有线网络连接与家庭网络环境200连接。在各种实施方案中,家庭网络环境可包括各种类型的智能家居设备。例如,智能家居设备204,206,214可为被配置为分配媒体回放的智能扬声器设备。另外,智能家居设备216可为智能电器设备,诸如智能冰箱设备。智能家居设备204, 206,214,216,222A-222B中的每一者均可使用家庭网络环境200的网络来建立互连伴随链路以使设备能够交换配置信息。例如,智能家居设备 222A-222B可被配置为多通道智能扬声器设备,其可使用伴随链路来配置多通道(例如立体声,环绕等)音频回放。另外,智能家居设备204,206,214,216,222A-222B中的每一个可包括虚拟助理客户端,当需要访问私人用户信息的请求时,该虚拟助理客户端可通过伴随链路与指定伴随设备进行交互以有利于处理请求。用户设备诸如用户设备104的移动实例或连接的车辆信息娱乐系统也可被配置为在接近无线接入点212时连接到家庭网络环境。在一个实施方案中,用户设备104还可创建与可连接到家庭网络环境200或在用户设备104的直接无线电范围内的任何其他用户设备的伴随链路连接。
设备和伴随发现
在用户设备104和智能家居设备204,206,214,216,222A-222B之间建立伴随链路通信信道之前,执行伴随发现和配对过程。伴随发现过程使得智能家居设备能够定位伴随设备,智能家居设备上的虚拟助理客户端(例如,如图1A-图1B中的VAC 101,131)通过伴随设备访问可被用于处理和 /或响应用户请求的私人用户信息。在一些情况下,伴随发现过程还可包括智能家居设备与伴随设备之间将发生通信的用户验证。在一些实施方案中,伴随发现可利用促进在无线或其他网络上定位设备和/或服务的现有服务发现协议,例如由UPnP论坛开发的简单服务发现协议(SSDP)或由苹果公司开发的Bonjour网络技术(以IETFRFC 6762和IETF RFC 6763出版,本文称为“Bonjour”)。在设备发现服务中,设备可以通告指示其存在的信息,地址,和另选的关于其功能的另外信息。其他设备,包括其他智能家居设备或用户设备,可基于广播信息浏览通告并识别所关注的设备。使用通告地址,浏览设备可发起与广告商的通信。
取决于网络和发现服务,广告可任选地包括实时广播信息(例如,通过多播或信标信号)和/或向中央存储库(例如,在网络接入点处)提供通告信息,其他设备可从该中央存储库检索信息。广告浏览可以包括检测广播广告和/或从中央存储库检索广告信息。在一些实施方案中,固定附接到电源(例如电源插座)的公共智能家居设备可连续地执行伴随链路服务的通告和发现。移动用户设备可基于用户设备的位置启用伴随链路服务的发现。例如,以及在一个实施方案中,地理围栏边界203被配置在移动设备上,使得当移动设备位于邻近指定为用户设备104的归属地定位的定位的地理位置时,启用伴随链路发现。
当公共智能家居设备由充当伴随设备的用户设备(例如,用户设备104) 发现时,可在公共智能家居设备和伴随设备之间建立网络数据连接(例如, TCP协议,UDP协议等)。可使用任何网络层(例如,三层)协议建立网络数据连接。为避免正在通告和发现两者的设备之间的连接竞赛,具有按字典顺序排列较低的永久标识符的设备发起设备之间的连接。设备的永久标识符来源于通过发现服务通告的匿名标识符。在一个实施方案中,为了基于通告信息导出持久性标识符,利用通过先前执行的配对过程交换的数据。在此类实施方案中,不能使用智能家居设备建立数据连接,直到智能家居设备与用户设备配对为止,因为用于与公共智能家居设备连接的永久标识符是未知的。一旦建立数据连接,可在公共智能家居设备和伴随设备之间建立安全通信会话。然后,公共智能家居设备和连接的伴随设备可以交换存在和可接通性信息。如果伴随设备是为移动设备,则在伴随链路上没有交换数据时,伴随设备随后可以根据需要进入唤醒无线(WoW)状态,而连接到电源的公共设备可以保持活动以减少第一消息延迟。
在设备之间连接丢失的情况下,发现服务可以重新启用和用于搜索本地网络中的设备。如果丢失的设备被重新发现,设备之间的数据连接可被重新建立。如果丢失的设备无法发现,则再次确认和清除丢失的设备记录中的状态发现服务信息。搜索设备随后可尝试经由安全互联网会话与丢失的设备建立通信。在一个实施方案中,在建立数据连接时交换的存在和可接通性信息的一部分包括设备标识符,标识符令牌,中继标识符,或可用于接通或启用与丢失的设备的消息交换的其他形式的识别令牌,例如经由对等或中继互联网连接。如果可以使用先前丢失的设备成功建立安全互联网连接,则可以通过安全互联网连接交换伴随链路消息。
在伴随设备经由基于互联网的连接与智能家居设备连接并且本地连接变得可用的情况下,则可将伴随链路连接切换到本地连接。例如,用户设备 104可跨越地理围栏边界203,使得发现协议(例如,SSDP,Bonjour等) 能够搜索设备(例如,智能家居设备204,206,214,216,222A-222B)。如果用户设备104发现本地连接对智能家居设备的可用性,用户设备104通过互联网连接与智能家居设备连接,则用户设备可将互联网连接转换到本地 (例如Wi-Fi)连接。在一个实施方案中,每当连接设备之间丢失连通性时 (例如,用户设备104离开家庭网络环境200)或如果设备确定有更好的连接时可用(例如,用户设备104返回家庭网络环境200)时可执行连接切换。本地连接可能是互联网连接优选,因为本地连接可能较低延迟。此外,它可能占用设备和基础结构的资源较少以维护本地连接而不是互联网连接。
图3是根据本文所述实施方案的用于发现和将公共设备与伴随设备配对的发现过程300的操作的流程图;所示的发现过程300包括在公共设备302 和个人设备304上执行的操作。公共设备302可为本文所述的任何智能家居设备(例如,如图1所示的智能家居设备103,133,如图2中所示的智能家居设备204,206,214,216,222A-222B)。个人设备304可以是本文所述的任何个人用户设备(例如,用户设备104),诸如但不限于智能电话设备,平板电脑设备或存储个人数据的其他用户设备,该个人数据可经由伴随链路由公共设备302访问。虽然发现过程300示出并描述为在公共设备302和个人设备304之间执行,但也可在公共设备302的多个实例之间或在个人设备 304的多个实例之间执行所示过程的变型。
在一个实施方案中,如图框310所示,公共设备302可设定状态位以指示设备当前未配对,或者换句话讲正寻找与其配对的伴随设备。状态位可以是在由公共设备302通告的状态信息中列出的状态标志指示符中的位。在框 312处,公共设备302可经由发现协议(例如SSDP,Bonjour等)通告其存在,因为支持伴随链路服务。例如,使用Bonjour,公共设备302可以用名称和服务类型通告自身。名称可以是伴随发现的用户可读名称(例如“扬声器”);在一些实例中,通告的名称可以在设备定义记录的伴随发现信息服务实例中指定的名称。服务类型可被定义用于统一附件协议(例如,服务类型“_companion-link._tcp”)。通告还可包括附加信息。类似的信息可以使用其他服务发现协议和技术来分发。例如,使用SSDP,伴随发现可以包括使用多播HTTP通知消息通告名称和服务类型URI。URI可由个人设备304使用以经由对公共设备302的单播请求检索附加信息。
在公共设备302经由服务发现协议开始通告伴随链路服务之后,在浏览未配对设备时,个人设备304可以发现公共设备,如在框314所示。通告开始和服务浏览开始之间不需要特定定时,但是当个人设备304浏览时,除非公共设备302发现通告是可检测的,否则个人设备304将无法发现公共设备 302。
在一个实施方案中,个人设备304可响应于触发器诸如由在个人设备 304上的应用程序执行而提供的触发器来浏览未配对的设备。在一个实施方案中,当个人设备304与未配对设备物理邻近放置时,个人设备304可以浏览未配对设备。例如,用于公共设备的开箱即用设置可包括在短程无线通信机构(例如,使用蓝牙和/或蓝牙低功耗,NFC等)上的数据交换,其可触发个人设备304以浏览未配对设备。
在框316,个人设备304可以经由发现服务广告找到设备,例如,通过检测在框312执行的通告。在框318处,个人设备304可基于通告确定所发现的设备是连接候选,诸如未配对公共设备302。在一个实施方案中,当发现的设备正在通告伴随链路服务时,个人设备304可确定所发现的设备是连接候选。个人设备304可检查发现状态标志以确定公共设备302是否已经被配置或与伴随设备配对。又如,个人设备304可检查通告的协议版本以确定公共设备302的伴随链路协议版本是否与由个人设备304支持的伴随链路协议兼容。如果个人设备304确定附件不是正在通告用于与其建立伴随链路的伴随设备,则个人设备304可返回到框314并继续浏览。在一个实施方案中,在未发现公共设备的时间段之后,浏览操作可超时和浏览未配对设备可中断一段时间。
在框322处,个人设备304可通过用户界面诸如个人设备304的显示设备向用户呈现关于公共设备302的信息。在框324处,个人设备304可经由用户界面从用户接收关于与检测到的设备执行的动作的输入。例如,用户可提供指示个人设备304是否应与公共设备建立配对的输入。个人设备304可呈现从公共设备提供的通告数据获得的任何或全部信息,并提示用户指示个人设备304是否应连接到公共设备302。请求用户确认可有助于避免公共设备与个人设备之间的虚假或不需要的配对。在框326处,个人设备304可解释在框324处接收的用户输入,并确定是否与公共设备302配对。除了用户批准发起配对操作之外,可执行其他操作来完成配对操作以最小化在未批准个人设备304的合法所有者/操作者的情况下发生配对的风险,因为完成配对过程会允许公共设备302接受关于个人设备304的用户的个人特点的查询。例如,个人设备304和/或公共设备302可请求输入个人设备304的用户已知的密码。在一个实施方案中,可由公共设备302和/或个人设备304请求生物特征验证(例如,指纹,面部识别等)以在框326处完成配对操作。
如果用户指示个人设备304拒绝配对或用户验证操作失败,则个人设备 304可返回到框314以查找其他附件或设备。如果个人设备304和公共设备 302在框328和框330处配对,则个人设备304和公共设备302可分别执行配对设置过程。在一些实施方案中,该配对设置过程可用于建立加密密钥以促进个人设备304和公共设备302之间的安全通信。在一些实施方案中,用户确认可结合到配对设置过程中,并且不需要在启动配对设置之前进行单独的用户确认。在一个实施方案中,配对设置过程使得在公共设备302和个人设备304之间能够建立可信关系。可以在安全通信会话的设置期间稍后验证已建立的可信关系。
如果配对设置过程成功完成,则在框331处,公共设备302可更新设备状态信息,以指示现在需要授权与附件通信和/或附件现在与至少一个个人设备配对,例如通过更新通告设备数据内的状态标志指示符。
在框332处,个人设备304可从公共设备302获取和高速缓存设备定义记录,该设备定义记录可在框334处请求时提供该记录。设备定义记录可包括由设备支持的一组服务和/或能够使其他个人设备304以及其他连接的设备能够确定如何控制,连接或以其他方式与公共设备302交互的其他相关特性。如果个人设备304高速缓存设备定义记录,则信息可以被用于促进检测公共设备302的状态变化。在一些实施方案中,个人设备304也可以高速缓存来自公共设备302提供的通告数据的信息,该信息还可以被用于检测公共设备的状态变化。
在框336和338处,个人设备304和公共设备302可开始交换用于建立安全通信信道的数据。数据交换可包括设备之间的密钥或证书交换。密钥交换可通过在设备之间交换的共享密钥来保护,其中共享密钥可使用带外通信方法交换。另外,数据交换可包括设备之间的一个或多个长期密钥的交换,其本身可能受到一个或多个短期密钥的保护。一旦建立配对,可利用配对以提供端到端消息加密,使得仅配对设备能够读取设备之间交换的消息。在一个实施方案中,安全通信信道是双向信道,使得信道不进行通信的任一设备发起消息交换。在消息交换期间,无论哪个设备发起的通信会话称为客户端设备,虽然接受该会话的设备称为服务器设备。在一个实施方案中,在设备之间交换的第一消息是信息交换消息。客户端设备可发送包括特征标志或其他设备信息的初始信息消息。服务器设备可以然后针对支持的功能以信息消息作为响应。一旦建立安全通信信道并且发生信息交换,如果没有未决的立即操作,则通信设备可进入空闲状态。
在一个实施方案中,公共设备302可在框340处执行附加操作以验证连接的个人设备304作为伴随设备。在此类实施方案中,发现过程300可用多个设备执行,多个设备是用户的合法个人设备,但可能不是已被指定为与公共设备302一起使用的伴随设备的个人设备。在一个实施方案中,只有一组多种可能的个人设备中的一者将被指定为公共设备302的伴随设备。可经由多种机制确定被指定为伴随设备的用户的个人设备304。在一些实施方案中,用户可启用个人设备304上的设置,该设置指示个人设备可被配置为伴随设备。在一个实施方案中,该设置可为特定伴随设备设置,其指示用户已将该特定个人设备指定为用于连接智能家居设备的伴随设备。在一个实施方案中,可基于个人设备304上的其他设置间接确定伴随设备选择。例如,如果个人设备被配置为用户的位置信息的来源,则公共设备302可确定个人设备 304被指定为伴随设备。
应当理解,本文所述的发现和配对过程是示例性的,且变型形式和修改形式是可能的。可并行执行按顺序描述的操作,可改变步骤的顺序,并且可修改、合并、添加或省略步骤。此外,虽然SSDP和Bonjour服务用作设备发现服务的示例,但可以在其他设备发现服务的上下文中应用类似的概念。在一些实施方案中,在确定是否与公共设备302或任何其他发现的设备配对之前,个人设备304可请求来自配对候选设备的定义记录(或其一部分),可请求该定义记录,例如可经由HTTP请求。根据配置,配对候选设备可响应于来自未配对的个人设备的请求而提供其附件定义记录中的全部,一些或没有一个。另选地,定义记录在建立配对之前可能是可访问的以及决定是否配对可基于配对候选设备提供的通告信息。通告数据可以包括,例如,设备的本地名称;唯一附件标识符;指示附件是可发现的标志;用于至少一些服务的通用唯一标识符(UUID);设备状态的指示器;以及该设备是否已与任何其他个人设备进行配对设置的指示。
在一些实施方案中,发现过程300,或类似的过程,可被用于检测配对设备的状态变化。例如,当设备状态更改时,设备通告的状态数值可以递增。当设备(例如,公共设备302)通告状态变化时,其他配对设备(例如,个人设备304)可例如通过广播更新的BonjourTXT记录来通告状态变化,并且先前高速缓存设备记录的配对个人设备可通过将状态数的广播值与高速缓存值进行比较来检测变化。
在框336处和框338处的设备之间建立的安全通信信道可用于交换伴随链路消息。在一个实施方案中,在伴随链路上交换伙伴链接消息之前,在公共设备302和个人设备304之间建立或重新建立安全会话。在一个实施方案中,建立会话包括执行配对验证过程以验证设备之间的配对。配对验证过程依赖于先前建立的公共设备302与个人设备304之间的配对关系。例如,以及在一个实施方案中,在设备之间建立伴随链路会话可能需要设备的永久标识符,其可来源于通过发现服务通告的匿名标识符。然而,为了基于通告信息导出持久标识符,可以使用在设备之间配对过程期间交换的一个或多个数据元素。在一个实施方案中,配对验证过程可包括生成用于对在验证过程期间交换的消息进行加密或签名的短期公钥对,以及在设备初始配对期间交换的先前交换的长期密钥对的验证。每次使用配对链路连接在设备之间建立安全会话时,可执行配对验证过程。
图4A-图4C是启用公共设备上的虚拟助理客户端来以隐私保护方式处理查询的过程400,430,460的操作的流程图。图4A-图4C示出了在公共设备402和伴随设备404上执行的操作。在各种实施方案中,公共设备402 可以是如图3所示的公共设备302的变型。伴随设备404可以是如图3所示的与公共设备402发生配对过程的个人设备304。
图4A示出了根据本文所述的一些实施方案的过程400,其中公共设备 402上的虚拟助理客户端可与伴随设备404连接以有利于处理访问被归类为个人用户数据的数据的虚拟助理请求。图4B示出了根据本文所述的一些实施方案的过程450,其中公共设备402上的虚拟助理客户端可隐式地将虚拟助理查询重定向至伴随设备404。图4C示出了根据本文所述的一些实施方案的用于将消息经由对公共设备的口头请求发送到联系人的过程460。使用特定过程的情况可根据策略、配置和网络状态而变化。在一个实施方案中,选择特定过程的情况可基于要执行的操作的类型来确定。例如,读取接收的消息的请求可基于图4A的过程400来执行,而发送消息的请求(例如,图 4C的过程460)可基于图4B的过程430来执行。
如图4A所示,公共设备402可在公共设备上执行的虚拟助理客户端处接收请求,如框410所示。在框412处,公共设备402可至少部分地处理请求以确定该请求是否访问用户的私人数据。该请求可以基于文本的请求,或通过自然语言处理解释的口头请求。在各种实施方案中,自然语言处理可部分地在公共设备402上,完全在公共设备上,或在虚拟助理服务器(例如,如图1A-图1B的虚拟助理服务器106)上执行。在请求至少部分处理之后,公共设备402(或虚拟助理服务器(如果处理被卸载)),可确定请求是否需要访问的私人数据,如框414所示。
在框414处确定请求是否使用个人用户数据可在请求已处理以及确定请求的意图之后执行。例如,请求公共设备402位置的当前天气预报可能不需要访问被分类为个人用户数据的数据。可至少部分地由公共设备402进一步处理此类请求,该公共设备402可完成请求处理并针对请求制定响应,如框418所示。
如果公共设备402在框414处确定对请求的进一步处理将需要访问个人用户数据,公共设备402可以向伴随设备提交与请求相关联的任务用于处理,如框415所示。伴随设备404可在框422处接收处理请求。框415处由公共设备402提交和由伴随设备在框422处接收的任务可通过公共设备402和伴随设备404之间建立的伴随链路传输。例如,以及在一个实施方案中,在公共设备402和伴随设备404上执行的虚拟助理客户端可使用通过应用编程接口(API)交换数据的公共伴随链接消息。
在一个实施方案中,在框414处确定请求是否使用个人用户数据可由与公共设备通信的虚拟助理服务器(例如,如图1所示的虚拟助理服务器106) 执行。当对公共设备执行处理操作时,公共设备402可提供伴随设备404的虚拟助理标识符。如果虚拟助理服务器将需要访问私人数据,则虚拟助理服务器可以使用伴随设备的虚拟助理标识符代表公共设备402接触伴随设备 404。
在框424,伴随设备404可以响应于来自公共设备402的请求访问个人用户数据。可由伴随设备404促进的示例性请求包括访问用户日历的请求,例如,添加事件或查询下一个日历事件的发生。伴随设备404还可访问用户联系人内的数据,例如,查找用户联系人中的一个联系人的联系人信息。伴随设备404可以访问本地存储在设备上的个人用户数据。在一个实施方案中,伴随设备404可以与一个或多个服务器(例如,如图1B中的在线账户服务器136)通信来基于存储在伴随设备或与伴随设备相关联的在线账户凭证访问可由伴随设备远程访问的私人数据。在一个实施方案中,访问个人用户数据。
在框426处,伴随设备404可处理请求的个人数据部分。例如,伴随设备404可在针对用户的日历上的一组安排的任务或事件中执行查找,或向用户的日历添加任务或事件。伴随设备404还可以响应于公共设备402处接收的请求为用户发送文本或电子邮件消息。例如,伴随设备404可响应于请求读取或写入一组用户的安排的任务或事件访问用户的日历数据。伴随设备 404还可以访问用户的联系人中的数据,例如,查找电话号码,电子邮件地址,或联系人的即时消息标识符以及向联系人发送文本或电子邮件消息。
处理请求的个人数据部分还可包括与伴随设备404上的一个或多个应用程序,或给那些一个或多个应用程序提供后端服务的一个或多个底层框架交互。在一个实施方案中,伴随设备404可以提供许可和/或凭据至虚拟助理服务器(例如,如图1A-图1B中的虚拟助理服务器106)以启用虚拟助理服务器使用个人用户数据代表伴随设备404执行处理任务。
在框428处,伴随设备404可以通过设备之间建立的伴随链路将请求的处理任务的输出提供给公共设备402。提供给公共设备402的输出可跨越具体实施和/或基于在公共设备402处接收的请求的类型而变化。在一个实施方案中,所请求的处理任务的输出可为原始信息,诸如下一个日历事件的时间和日期,或另一类型的具体请求的数据。在一个实施方案中,输出可以是通过公共设备402输出的语音数据的子集,诸如可集成到公共设备402提供的最终输出中的语音输出。
在框416处,公共设备402可以通过设备之间建立的伴随链路从伴随设备404接收请求的处理任务的输出。在一个实施方案中,从伴随设备404接收的个人数据未持久地存储或高速缓存在公共设备402上,并且可在使用个人数据之后丢弃。公共设备402可使用个人数据来完成虚拟助理请求的处理,并在框418处针对该请求制定响应。
在一个实施方案中,为了完成该请求,在框418处的处理可包括公共设备402和虚拟助理服务器之间的数据交换。额外参考图1A,在一个实施方案中,图4A的公共设备402为具有虚拟助理客户端(例如,VAC 101)的智能家居设备103。VAC 101可通过与VA客户端112的I/O接口与虚拟助理服务器106通信。处理模块114可使用数据和处理模型116来确定所接收的请求是针对智能家居设备的区域的本地天气预报。虚拟助理服务器106然后可利用对外部服务118的I/O接口以经由一个或多个网络110访问外部服务120。例如,可访问外部服务120(例如,信息服务)以检索所请求的天气预报。可用于制定对请求的响应的信息可通过与VA客户端112的I/O接口输出,并且智能家居设备103上的VAC 101可制定对请求的响应。另选地,在一些情况下,虚拟助理服务器106可针对所接收的请求制定响应,并且经由与VA客户端112的I/O接口提供针对输出的响应。智能家居设备103 上的VAC 101可将输出并入到最终响应中。
返回到图4A,在一个实施方案中,公共设备402可基于在公共设备上高速缓存,从与公共设备402相关联的虚拟助理服务器检索的公共信息或基于从伴随设备404接收的个人信息来制定对虚拟助理客户端处接收到的请求的响应。在输出为语音输出的情况下,语音输出可使用公共设备402本地的文本语音引擎完全在公共设备402上生成。在一个实施方案中,语音输出的子集可由伴随设备404生成和结合到由公共设备402制定的响应中。
在框420处,公共设备402可输出对请求的响应。响应可包括通过公共设备402上的扬声器输出的口头分量。在一些实施方案中,输出可包括视觉分量,诸如动画,颜色变化或可由公共设备402指示的其他视觉指示。在一些具体实施中,文本信息或其他视觉数据可显示在与公共设备402相关联的显示器上,尽管公共设备402的一些具体实施可能缺少显示器。
如图4B所示,在一些实施方案中,公共设备402和伴随设备404可执行过程430,在该过程中,公共设备将传入的虚拟助理客户端请求重定向至伴随设备进行处理。在一个实施方案中,公共设备402可以配置为显示有能访问个人用户数据,而将一个或多个虚拟助理客户端请求的全部的处理隐式地重定向到伴随设备404。在框440处,公共设备402可在需要访问个人用户数据的设备的虚拟助理客户端处接收请求。在框442处,公共设备402然后可通过与伴随设备建立的伴随链路将请求重定向到伴随设备404。在一个实施方案中,虚拟助理请求的全部或基本上全部的处理可以以对公共设备的用户透明的方式在伴随设备404上执行。对伴随设备上的虚拟助理请求的处理也可部分地在如本文所述的虚拟助理服务器(例如,如图1A-图1B的虚拟助理服务器106)上执行。例如,语音识别和自然语言处理可至少部分地由虚拟助理服务器执行。
在框452,伴随设备404可在伴随设备上执行的虚拟助理客户端处从公共设备接收请求。伴随设备404随后可以在框454处代表公共设备处理该请求并且在框456处制定对由公共设备上的虚拟助理客户端的输出的响应。在一个实施方案中,可执行伴随设备404上的处理和响应生成似乎该请求直接在虚拟助理客户端而不是伴随设备接收。在框458处,伴随设备随后可提供对公共设备402的响应用于输出。在一个实施方案中,向公共设备402提供的响应可包括由公共设备402传送的特定语音输出。另选地,所提供的响应可为可渲染成通过公共设备上的语音引擎由公共设备输出的语音的其他数据。
在框459处,如果请求包括此类数据的修改,则伴随设备404可对个人用户数据执行一个或多个虚拟助理操作。例如,用户的日历,闹钟,或者提醒数据可以基于该请求在伴随设备上更新,应用程序可在伴随设备上打开,配置设置可在伴随设备上调节,或任何其他虚拟助理操作可以被执行就好象该请求直接由伴随设备404上的虚拟助理接收。虽然框459示出为在框478 之后执行,但所请求的虚拟助理操作可相对于提供对公共设备的响应以用于在框458处输出的任何顺序执行。例如,打开应用程序的请求可在音频响应确认请求被提供给公共设备进行回放之后执行。另选地,可在提供对公共设备的输出的确认响应之前或同时执行对时间安排和事件或闹钟的请求。
在框444处,公共设备402可接收对重定向请求的响应。公共设备402 然后可在框446处输出对请求的响应。响应的输出可与在图4A的框420处执行的输出类似的方式进行并且可包括伴随设备404生成的语音数据的输出或基于从伴随设备404接收到的输出在公共设备402上本地生成的语音数据的输出。在请求需要多轮相互作用来完成请求的情况下,可使用在设备之间建立的伴随链路在公共设备402和伴随设备404之间执行多轮请求重定向。
如图4C所示,在一些实施方案中,公共设备402和伴随设备404可以执行伴随设备重定向虚拟助理客户端请求来将消息(例如,文本消息,电子邮件消息,或另一直接消息)发送到伴随设备的过程460。公共设备402可在公共设备上的虚拟助理客户端处接收口头请求来将消息发送至联系人。消息可以是文本消息,电子邮件消息或可在用户设备之间发送的其他类型的直接消息。在各种实施方案中,文本消息可以是短消息服务(SMS)消息和/或其他类型的基于文本的消息,诸如通过加利福尼亚州库伯蒂诺的苹果公司提供的
Figure BDA0001834080120000251
系统发送的消息。一些实施方案允许将文本消息通过其他类型的非SMS文本消息服务发送。在一个实施方案中,该消息可以是记录的语音消息。要向其发送消息的联系人可以是联系人列表中列出的联系人,其中联系人列表可被视为用户的个人域的一部分。在各种实施方案中,公共设备 402可至少部分地处理口头请求,并且还可采用类似于图4A的框412处的操作的方式将处理的至少一部分卸载到虚拟助理服务器(例如,如图1中的虚拟助理服务器106)。在一个实施方案中,虚拟助理服务器上的自然语言处理操作可以确定是否个人用户数据将用于处理在框470处接收的口头请求。例如,虚拟助理服务器可以确定处理口头请求将访问落在用户的个人域内的数据或服务,诸如用户的联系人信息和相关联的即时消息服务。访问用户的即时消息服务可包括访问与用户相关联的即时消息服务账户。为了促进在框470处接收的口头请求的处理,公共设备402可在框472处将即时消息请求发送到伴随设备404。在框480处,伴随设备404可在设备的虚拟助理客户端处接收即时消息请求。在一个实施方案中,可经由处理在口头请求的一部分的虚拟助理服务器间接在框482处从公共设备402接收即时消息请求。
伴随设备404直接或间接地从公共设备402接收即时消息请求,可经由伴随设备404上的虚拟助理客户端处理即时消息请求。处理即时消息请求可包括代表公共设备将消息发送到所识别的联系人,如框482所示。在伴随设备404上发送消息可包括经由SMS服务发送文本消息,经由电子邮件客户端发送消息,或通过在伴随设备404上的另一即时消息服务或应用程序发送消息。在一个实施方案中,要发送的消息的类型可以在框470处由公共设备402接收的口头请求内指定。在一个实施方案中,可以基于用户的在线账户来促进发送消息,例如,与图1B中的在线账户服务器136相关联的在线账户。例如,向联系人发送消息的即时消息服务可以是与用户的在线账户相关联的即时消息服务。
伴随设备404可接收对在框484处发送的消息的响应。在一个实施方案中,如在框484处所示,如果对消息的响应在一时间段内接收,则伴随设备 404可在框486处将响应通知发送到公共设备402。针对接收的消息将发送通知的时间段可指定在与虚拟助理系统相关联的配置或策略内或可基于与用户,公共设备402,或伴随设备404相关联的偏好的用户设置来配置。
在一个实施方案中,伴随设备404将在框486处将通知发送至接收即时消息请求的公共设备402。在一个实施方案中,在伴随设备404与公共设备 402的多个实例连接的情况下,在框486处向其通知的特定公共设备可使用多种技术之一来确定。如上所述,一种技术是将通知发送至接收消息请求的公共设备。另一技术是将通知发送至用户最近互动的公共设备。例如,用户可请求第一位置中的第一公共设备向联系人发送消息。然后用户可移动到第二位置并与第二公共设备进行交互。如果在所述时间段内接收到对消息的响应并且所述用户最近与所述第二公共设备交互,则所述通知可被发送到所述第二公共设备。可使用的另外的技术是将通知发送至距离用户最近的公共设备。在一个实施方案中,可使用一种或多种测距技术来周期性地确定伴随设备404和公共设备402之间的距离。当接收对最近发送消息的回复时,伴随设备404可将通知发送至根据一个或更多的测距技术最靠近公共设备,或相关联的可穿戴电子设备的公共设备402。
在框476,在框474接收到响应通知的公共设备402可以在框476输出所接收的响应的通知。在一个实施方案中,通知的输出可经由通过公共设备 402的一个或多个扬声器设备播放的口头通知来提供。在一个实施方案中,可使用其他通知技术,包括视觉通知技术。在一个实施方案中,口头通知可包括对所接收消息的一个或多个分量的文本语音转换,诸如讲出的联系人姓名。在一个实施方案中,口头通知可包括所接收消息的口头内容。在一个实施方案中,其中接收的消息包括记录媒体,可输出与接收的消息相关联的记录媒体(例如,音频,视频)。在一些实施方案中,仅响应于由用户提供的请求来执行所接收的文本消息的口头内容或录制媒体的回放。在该实施方式中,要播放响应的内容的口头请求可以被发送到伴随设备,它可以根据图4A 的过程400或图4B的过程430处理该请求。
图5示出了根据本文所述实施方案的建立与配对设备的伴随链路连接的过程500。过程500示出了操作,其中公共设备通过伴随链路发起与伴随设备的连接(例如,图4中的公共设备402和伴随设备404)。然而,可执行类似的操作,其中伴随设备发起与公共设备的连接。在一个实施方案中,在通过伴随链路进行消息交换期间,无论相对于伴随链路发起通信会话的设备是客户端设备,而相对于伴随链路接受会话的设备是服务器设备,因此,公共设备402和伴随设备404可各自发起或接受伴随链路连接。此外,在一个实施方案中,可在家庭网络环境内(例如,如图2中的家庭网络环境200) 的多个公共设备之间建立伴随链路连接。另外,可在多个伴随设备之间建立伴随链路连接,诸如如图1所示的用户设备104和用户设备114之间。
在框502处,可确定通信会话应当通过伴随链路在公共设备和伴随设备之间建立。所述确定可由公共设备或伴随设备来进行。出于示例性目的,过程500示出公共设备为客户端和伴随设备作为服务器,但实施方案并不限于此。在框504处,公共设备可通过本地网络尝试发现伴随设备。可以使用如本文所述的发现服务,包括但不限于Bonjour或SSDP,来执行发现。如果在框506本地发现该设备,过程500在框516继续,其中公共设备可以尝试建立与伴随设备的本地网络连接。本地网络连接可以通过网络协议例如但不限于传输控制协议(TCP)来建立。如果未在本地发现设备,则公共设备在框 508可确定是否有远程标识符可用。远程标识符可以是使公共设备或其他伴随链接客户端能够定位,连接和与配对设备建立链路会话的标识符或识别令牌,该配对设备未驻留在同一网络上,或者以另外方式无法通过发现服务协议发现。在本地设备发现和/或配对过程(例如,如图3中的发现过程300)期间发生的呈现和可接通性信息交换期间,可在伴随链路设备之间交换一个或多个远程标识符。示例性远程标识符包括与伴随设备上的虚拟助理客户端相关联的虚拟助理标识符,该伴随设备可用于经由虚拟助理服务器(例如,如图1B中的虚拟助理服务器106)进行通信;通过与在线账户服务器(例如,图1B中的在线账户服务器136)进行注册而建立的标识符令牌;以及与中继服务器(例如,如图1B的中继服务器126)相关联的中继标识符。公共设备可以使用可用的远程标识符来查询网络地址,例如互联网IP地址,可用于连接到伴随设备,或经由中继服务与伴随设备实现被中继的消息交换。在框518,公共设备可以使用远程标识符与伴随设备建立远程网络连接。
在框516经由本地网络连接或者在框518经由远程网络连接建立连接,公共设备能够在框520验证与伴随设备的配对。建立验证配对,真正的配对关系存在于通过伴随链路注释的设备之间并且利用在先前本地配对期间交换的数据。在一个实施方案中,执行配对验证过程,其中每个设备表现出拥有对应于在配对设置期间交换的长期公钥的长期私钥。配对验证过程可另外包括建立新的共享密钥或会话密钥,该密钥可用于加密在配对验证会话期间发生的通信。
在框522处,伴随设备可确定配对验证过程是否成功。如果框520处的配对验证过程未验证公共设备与伴随设备之间的配对关系,则伴随设备将被引导至框510,其中至少对于与伴随设备相关联的用户,虚拟助理对个人信息的访问将不可用。
如果如在框508处所确定,远程标识符对于用来访问伴随设备的公共设备不可用,则虚拟助理对个人信息的访问也将不可用。在此类情况下,如果给定需要在没有配对和/或有效伴随设备的情况下访问用户的个人信息的查询,则公共设备上的虚拟助理将无法处理查询。
如果在框522处公共设备确定配对已成功验证,则公共设备可以借助伴随设备建立与公共设备上的虚拟助理客户端的验证的伴随链路会话以服务于在框524访问伴随设备的用户的私人数据的查询。验证的会话可以启用设备之间的端对端加密的消息交换,使得能够以保密方式在设备之间交换消息和数据。可以执行加密的消息交换以启用例如针对个人或私人用户数据为虚拟助理中继命令或响应。还可执行加密的消息交换以同步电子设备之间的设备数据,诸如与云服务账户相关联的设备数据,应用数据,或配置数据。
如上所述,虽然过程500被描述为具有公共设备作为发起连接的设备,而伴随设备也可发起与公共设备的本地或远程会话。在一个实施方案中,验证的伴随链路会话一旦建立是双向连接,在设备之间启用双向消息交换。此外,当伴随链路上没有交换数据时参与会话的任何移动设备可进入唤醒无线状态,使得在无线电设备和相关联的处理器保持与会话相关联的连接时,该设备可进入低功率状态。
在一些实施方案中,如本文所述的伴随设备可默认配置为限制对个人数据的一个或多个元素的访问。在一个实施方案中,限制可在个人数据的某些元素上发生,直到在伴随设备上启用虚拟助理的使用为止。在一个实施方案中,在设备处于锁定状态时,限制可在个人数据的某些元素上发生。在一个实施方案中,可进行限制,直到自设备通电以来至少发生一个成功的解锁授权为止。例如,在一个实施方案中,用户设备上的个人数据可被加密,并且在设备被锁定时可限制访问用来访问此类个人数据的密钥。因此,根据伴随设备的配置,如果在伴随设备被锁定时接收到该请求,则伴随设备可能无法访问用来处理来自公共设备的请求的个人数据。在一个实施方案中,可使用图6中所示的过程在伴随设备上启用对个人数据的访问。
图6示出了根据本文所述的实施方案的允许访问伴随设备上的个人数据的过程600。过程600可由如本文所述的伴随设备内的逻辑执行,其中伴随设备可以是本文所述的任何指定的个人用户设备。伴随设备可接收来自公共设备的请求,以处理需要访问个人用户数据的请求,如框602所示。伴随设备可确定个人数据访问是否在个人设备上启用。在各个实施方案中,可以多种方式限制伴随设备上的个人数据访问。在一个实施方案中,设备可被配置为在设备处于锁定状态时限制对个人用户数据的编程访问。如果在框603 处所确定限制个人数据访问(例如,未启用),则伴随设备可提示用户访问个人数据,如框604所示。对个人数据进行访问的提示可以是对访问的全面提示,也可以是特定于要访问的个人数据类型的提示。在各个实施方案中,在框604处的提示可以各种形式呈现。在一个实施方案中,提示是在伴随设备的用户界面上呈现的弹出通知或另一类型的通知。在一个实施方案中,提示是可由伴随设备口头表达的言语提示。
如果在框605处用户允许个人数据访问,伴随设备可以在框608处访问个人数据和处理来自公共设备的请求。用户允许个人数据访问的方式可以取决于接入点的特点。例如,并且在一个实施方案中,用户可允许经由选择呈现的用户界面元素访问或可提供对伴随设备的请求的口头确认。如果用户是不允许访问个人数据,伴随设备可以在框606处拒绝来自公共设备的请求。
图7是根据实施方案的用于分布式媒体回放系统的计算设备700的框图。在一个实施方案中,计算设备700包括硬件和软件,该硬件和软件可适用于如本文所述的用户设备或智能家居设备内,诸如具有媒体回放能力的公共智能扬声器设备或智能电器。计算设备700包括一个或多个扬声器设备 701以启用媒体回放。在计算设备700被实现为智能扬声器设备的情况下,相比较当计算设备被实现为用户设备或智能电器时,扬声器设备701可具有较高质量。
计算设备700包括支持网络通信功能的网络接口702。网络接口702可与一个或多个无线电设备703耦接,以通过一个或多个无线联网技术(诸如但不限于Wi-Fi和Bluetooth)上启用无线通信。在一些具体实施中,网络接口702还可支持有线网络连接。计算设备还包括具有多个处理器设备的处理系统704,以及系统存储器710,该系统存储器可以是具有地址空间的虚拟存储器系统,包括易失性和非易失性存储器。
在一个实施方案中,处理系统704包括一个或多个应用处理器705,以执行在计算设备上执行的用户和系统应用程序的指令。处理系统还可包括传感器处理器以处理和监测传感器设备708的套件,所述传感器设备具有传感器,所述传感器包括但不限于运动传感器,光传感器,接近传感器,生物特征传感器,音频传感器(例如,麦克风)和图像传感器(例如照相机)。传感器处理器706可以启用低功率监测传感器设备708的套件内的一直打开的传感器。当计算设备700未处于活动使用时,传感器处理器706可以允许应用处理器705保持在低功率状态,同时允许计算设备700仍然可以通过对虚拟助理720的语音或手势输入来访问。在一个实施方案中,处理系统内的传感器处理器706或类似的低功率处理器可以启用低功率处理媒体播放器725 提供的媒体指令。媒体播放器725可以是能够回放多种不同音频和/或视频媒体类型的模块化媒体播放器,包括但不限于MPEG-2,MPEG-4,H.264和 H.265/HEVC。在一个实施方案中,可经由附加的编解码器插件来支持其他格式。
虚拟助理720是在计算设备700上执行的逻辑来提供本文所描述的智能自动化助理系统。虚拟助理720可选择性地允许访问计算设备内的各种软件和硬件组件,包括但不限于网络接口702以通过网络检索数据,媒体回放应用程序以发起或停止回放媒体文件或用户日历数据,以安排日历事件,任务,提醒或闹钟。当虚拟助理720在如本文所述的公共设备上执行时,虚拟助理可与伴随链路模块722交互以在接收到访问用户的个人域数据的请求的情况下定位和与伴随设备或在伴随设备上执行的虚拟助理连接。
如果计算设备700是在能够参与分布式回放系统的智能扬声器设备,分布式回放模块712可以执行操作以管理媒体回放的各个方面,包括但不限于回放队列管理器714来管理通过分布式回放系统播放的媒体列表以及回放路由管理器716来将媒体回放路由到分布式回放系统的特定元件。在一个实施方案中,回放路由管理器716可通过使用伴随链路模块722建立的连接与分布式回放系统的不同元件连接。伴随链路模块722可有利于在扬声器和分布式回放系统的设备之间建立的伴随链路建立连接建立和消息中继以执行操作,诸如配置用于多通道回放系统的信道输出或跨多个连接的扬声器协调音量调节。
在一个实施方案中,事件调度器730可以与分布式回放模块712交换数据。数据交换可响应于经由计算设备700或参与分布式回放系统的不同计算设备的用户界面接收的输入来执行。还可响应经由虚拟助理720所请求的活动来执行数据交换。例如,并且在一个实施方案中,通过事件调度器730调度的事件可与媒体播放列表相关联,使得在发生调度事件时,可以通过回放队列管理器714播放播放列表。例如,闹钟可被调度来在特定时间唤醒用户。闹钟可与播放列表相关联,使得一个或多个媒体元素将与闹钟声音相关联或用作闹钟声音的替换来播放。在一个实施方案中,播放列表可与通过事件调度器730调度的任何事件相关联,包括提醒或定时器到期事件。
在一个实施方案中,回放队列管理器714可管理多个同时播放队列,其中回放队列包括要通过计算设备700播放的一个或多个过去,当前或未来媒体元素。回放队列可加载单个媒体元素或指定多个媒体元素的播放列表。回放队列可包括本地存储的媒体,将通过媒体服务器检索用于回放的媒体或将从本地或远程媒体流服务器流式传输的媒体。多种类型的媒体元素可以通过回放队列管理器经由分布式回放系统播放,包括多媒体文件等,诸如但不仅限于音乐,音乐视频,和播客,包括音频或视频播客,或当前新闻,天气或体育事件的音频和/或视频剪辑。
如果响应于调度事件的发生选择一个或多个播客用于回放,播客选择逻辑可以选择播客的特定插曲用于回放,诸如最新可用的播客插曲或最新可用的未播放播客。此类选择可由显式用户偏好或基于学习的用户偏好信息来确定。也可基于相对于当前日期的可用未播放播客的年龄来执行选择。在一个实施方案中,播客馈送包含指示播客馈送是否与串行播客或新闻风格的播客相关联的元数据。至少部分地基于此类元数据来确定是否播放最早未播放的插曲或最新的插曲。
在一个实施方案中,例如,在设置唤醒闹钟时,可选择新闻节目或新闻频道用于回放。用户可以响应于唤醒闹钟选择特定节目或频道用于回放。另选地,用户可选择通用新闻类别并且与回放队列管理器714相关联的逻辑可基于所选用户偏好选择要播放的新闻节目或新闻频道。在一个实施方案中,可以基于在用户设备上的新闻节目中选择的新闻主题偏好来确定新闻节目偏好。
在一个实施方案中,当现有回放队列在导致不同回放队列回放的调度事件期间生效时,回放队列管理器714可基于用户选择的偏好来管理队列。在一个实例中,回放队列管理器714可以配置为将现有的回放队列替换为新回放队列,删除现有回放队列的队列项目并且将它们替换为新回放队列的项目。在此类情况下,响应于闹钟或其他调度事件而选择用于回放的项目替换和归入先前队列项目。另选地,回放队列管理器714可被配置为执行瞬时回放队列,该瞬时回放队列仅在调度事件被解除之前生效。取消调度事件之后,先前存在的回放队列的回放项目被恢复到活动队列,并且可以恢复先前存在的队列的回放。可通过虚拟助理的语音或文本命令,通过计算设备700上的用户界面或连接到计算设备700的用户设备的用户界面,可取消调度事件。
在一个实施方案中,回放路由管理器716可用于在分布式回放系统内选择回放设备以用于播放回放队列。根据分布式回放系统内的回放设备的数量,多个不同的队列可在多个不同的回放设备上是活动的或分布式回放系统内的多个不同回放设备能够分组。分组回放设备可以共享共有回放队列并且同时播放相同的媒体。当提供智能回放设备时,回放设备可与一个或多个用户和/或一个或多个用户账户相关联。智能回放设备也可分配位置和/或设备类型。在一个实施方案中,可配置住宅分布式回放网络,其中多个用户设备经由住宅内的一个或多个智能回放设备播放媒体。当将智能回放设备添加到住宅网络中时,可指定每个回放设备的房间或位置。所有权也可指定用于每个智能回放设备,该所有权指示智能回放设备是否与单个用户相关联或智能回放设备是否是与多个用户相关联的公共设备。
本公开认识到在本发明技术中包括生物特征数据的个人信息数据可用于使用户受益。例如,使用生物特征认证数据可用于方便地访问设备特征而不使用密码。在其他示例中,收集用户生物特征数据以向用户提供关于其健康或健身水平的反馈。此外,本公开还设想包括生物特征数据的个人信息数据有益于用户的其他用途。
本公开还设想负责此类个人信息数据的收集、分析、公开、发送、存储或其他用途的实体将遵守已确立的隐私政策和/或隐私实践。具体地,此类实体应当实行并坚持使用被公认为满足或超出对维护个人信息数据的隐私性和安全性的行业或政府要求的隐私政策和实践。例如,来自用户的个人信息应当被收集用于实体的合法且合理的用途,并且不在那些合法使用之外共享或出售。另外,此类收集应当仅在用户知情同意之后进行。另外,此类实体应采取任何所需的步骤,以保障和保护对此类个人信息数据的访问,并且确保能够访问个人信息数据的其他人遵守他们的隐私政策和程序。另外,此类实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私政策和实践。
不管前述情况如何,本公开还预期用户选择性地阻止使用或访问个人信息数据的实施方案。即本公开预期可提供硬件元件和/或软件元件,以防止或阻止对此类个人信息数据的访问。例如,就广告递送服务而言,本发明的技术可被配置为在注册服务期间允许用户选择“加入”或“退出”参与对个人信息数据的收集。又如,用户可选择不为目标内容递送服务提供位置信息。再如,用户可选择不提供精确的位置信息,但准许传输位置区域信息。
本文所述的实施方案包括环境中的一个或多个应用编程接口(API),其中调用程序代码与通过一个或多个编程接口调用的其他程序代码进行交互。各种功能调用、消息或其他类型的调用还可包括各种参数,这些调用可以经由调用程序和被调用代码之间的API而传输。此外,API可以给调用程序代码提供使用在API中定义的、并在被调用程序代码中实现的数据类型或类别的能力。
API允许API调用组件的开发者(可以是第三方开发者)利用由API 实现组件提供的指定特征。可以有一个API调用组件或可以有多于一个此类组件。API可以是计算机系统或程序库提供的源代码接口,以便支持来自应用程序的服务请求。操作系统(OS)可具有多个API,以允许运行于OS上的应用程序调用那些API中的一个或多个API,并且服务(例如程序库)可具有多个API,以允许使用服务的应用程序调用那些API中的一个或多个API。可按照在构建应用程序时能够解译或编译的编程语言来指定API。
在一些实施方案中,API实现组件可提供多于一个API,每个API提供不同视图或具有不同方面,该不同方面访问由API实现组件实现的功能的不同方面。例如,API实现组件的一个API可提供第一函数集,并可暴露于第三方开发者,并且API实现组件的另一个API可被隐藏(不暴露)并提供第一函数集的子集,并且还提供另一函数集,诸如不在第一函数集中的测试或调试函数。在其他实施方案中,API实现组件本身可经由下层API调用一个或多个其它组件,因而既是API调用组件又是API实现组件。
API定义在访问和使用API实现组件的指定特征时API调用组件所使用的语言和参数。例如,API调用组件通过被API暴露的一个或多个API调用或引用(例如由函数或方法调用实现)来访问API实现组件的指定特征,并经由API调用或引用使用参数来传递数据和控制信息。API实现组件可响应于来自API调用组件的API调用而通过API返回值。尽管API定义API调用的语法和结果(例如,如何引起API调用以及API调用能干什么),但 API可不揭示API调用如何完成由API调用指定的函数。经由调用(API调用组件)和API实现组件之间的一个或多个应用编程接口来传输各种API 调用。传输API调用可包括发出、发起、引用、调用、接收、返回或响应函数调用或消息;换句话讲,传输能够描述API调用组件或API实现组件中的任一者的动作。API的函数调用或其它引用可通过参数列表或其它结构发送或接收一个或多个参数。参数可以是常数、键、数据结构、对象、对象类、变量、数据类型、指针、数组、列表或指向函数或方法的指针或援引要经由 API传递的数据或其它项目的另一种方式。
此外,数据类型或类可由API提供并由API实现组件实现。因此,API 调用组件可利用API中提供的定义来声明变量、使用指向此类类型或类的指针、使用或实例化此类类型或类的恒定值。
通常,可使用API来访问由API实现组件提供的服务或数据,或启动执行由API实现组件提供的操作或计算。以举例的方式,API实现组件和 API调用组件可各自为操作系统、库、设备驱动程序、API、应用程序或其它模块(应当理解,API实现组件和API调用组件可以是彼此相同或不同类型的模块)中的任一种。在一些情况下,可至少部分地在固件、微码或其它硬件逻辑部件中实现API实现组件。在一些实施方案中,API可以允许客户端程序使用由软件开发工具包(SDK)库提供的服务。在其他实施方案中,应用程序或其他客户端程序可使用由应用程序框架提供的API。在这些实施方案中,应用程序或客户端程序可将调用结合到由SDK提供和由API提供的函数或方法中,或使用SDK中定义并由API提供的数据类型或对象。在这些实施方案中,应用程序框架可为程序提供主要事件循环,其对框架定义的各种事件作出响应。API允许应用程序利用应用程序框架来指定事件和对事件的响应。在一些具体实施中,API调用能够向应用程序报告硬件设备的能力或状态,包括与诸如输入能力和状态、输出能力和状态、处理能力、电源状态、存储容量和状态、通信能力等方面相关的能力或状态,并且API可部分地由固件、微码或部分地在硬件组件上执行的其它低电平逻辑部件实现。
API调用组件可以是本地组件(即与API实现组件在同一数据处理系统上)或远程组件(即在不同于API实现组件的数据处理系统上),所述组件经由网络通过API与API实现组件进行通信。应当理解,API实现组件也可充当API调用组件(即,它可对被不同API实现组件暴露的API进行API 调用),并且API调用组件也可通过实现暴露于不同API调用组件的API 来充当API实现组件。
API可允许以不同编程语言编写的多个API调用组件与API实现组件通信(从而API可包括用于转换API实现组件和API调用组件之间的调用和返回的特征);不过,可以特定的编程语言实现API。在一个实施方案中, API调用组件可调用来自不同提供商的API,例如来自OS提供商的一组API 和来自插件提供商的另一组API,以及来自另一提供商(例如软件库的提供商)或另一组API的创建者的另一组API。
图8是示出了可用于本发明的一些实施方案中的示例性API架构的框图。如图8中所示,API架构800包括实现API 820的API实现组件810(例如,操作系统、库、设备驱动程序、API、应用程序、软件或其它模块)。 API 820指定可由API调用组件830使用的API实现组件的一个或多个函数、方法、类、对象、协议、数据结构、格式和/或其它特征。API 820能够指定至少一个调用约定,该调用约定指定API实现组件中的函数如何从API调用组件接收参数以及函数如何向API调用组件返回结果。API调用组件830(例如操作系统、库、设备驱动程序、API、应用程序、软件或其它模块)通过 API 820进行API调用,以访问并使用由API 820指定的API实现组件810 的特征。API实现组件810可响应于API调用而通过API 820向API调用组件830返回值。
应当理解,API实现组件810可包括未通过API 820指定且对于API调用组件830不可用的附加函数、方法、类、数据结构和/或其它特征。应理解, API调用组件830可与API实现组件810在同一系统上,或者可远程定位并通过网络来使用API 820访问API实现组件810。尽管图8示出了单个API 调用组件830与API 820交互,但应理解,可用不同语言(或相同语言)编写的与API调用组件830不同的其它API调用组件可使用API 820。
API实现组件810、API 820和API调用组件830可以存储在机器可读介质中,其包括用于以机器(例如计算机或其他数据处理系统)可读的形式存储信息的任何机构。例如,机器可读介质包括磁盘、光盘、随机存取存储器;只读存储器、闪存存储器设备等。
图9A-图9B是根据实施方案的示例性API软件栈900,910的框图。图 9A示出了示例性API软件栈900,其中应用程序902可使用服务API对服务A或服务B进行调用以及使用OSAPI调用操作系统904。此外,服务A 和服务B可使用若干OS API调用操作系统904。
图9B示出了示例性API软件栈910,包括应用程序1,应用程序2,服务1,服务2和操作系统904。如所示,服务2具有两个API,其中一个(服务2 API 1)从应用程序1接收调用并返回值,另一个(服务2 API2)从应用程序2接收调用并返回值。服务1(例如,可以是软件库)向OS API 1进行调用并接收返回的值,并且服务2(例如,可以是软件库)向OS API 1和 OSAPI 2两者进行调用并接收返回的值。应用程序2对OS API 2进行调用并接收返回的值。
附加的示例性计算设备
图10是根据实施方案的用于移动或嵌入式设备的设备架构1000的框图。设备架构1000包括存储器接口1002、包括一个或多个数据处理器的处理系统1004、图像处理器和/或图形处理单元以及外围设备接口1006。各种部件可通过一条或多条通信总线或信号线耦接。各种部件可以是单独的逻辑部件或设备或可以集成在一个或多个集成电路,诸如片上系统集成电路。
存储器接口1002可以耦接至存储器1050,其可以包括高速随机存取存储器诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)和/或非易失性存储器,诸如但不限于闪存存储器(例如,NAND闪存,NOR闪存,等等)。
传感器、设备和子系统可耦接到外围设备接口1006以促进多个功能。例如,运动传感器1010、光传感器1012和接近传感器1014可耦接到外围设备接口1006以促进移动设备功能。还可存在一个或多个生物特征传感器 1015,诸如用于指纹识别的指纹扫描器或用于面部识别的图像传感器。其他传感器1016也可连接至外围设备接口1006,诸如定位系统(例如,GPS接收器)、温度传感器、或其他感测设备以促进相关的功能。相机子系统1020 和光学传感器1022(例如,电荷耦合器件(CCD)或互补金属氧化物半导体 (CMOS)光学传感器)可用于促进相机功能,诸如拍摄照片和视频剪辑。
可通过一个或多个无线通信子系统1024来促进通信功能,所述无线通信子系统可包括射频接收器和发射器和/或光学(例如,红外)接收器和发射器。无线通信子系统1024的具体设计与实现可取决于移动设备打算通过其操作的通信网络。例如,包括示出的设备架构1000的移动设备可包括设计来通过GSM网络、CDMA网络、LTE网络、Wi-Fi网络、Bluetooth网络或任何其他无线网络操作的无线通信子系统1024。具体地,无线通信子系统 1024可提供通信机构,在该通信机构中,媒体回放应用程序可从远程媒体服务器检索资源或从远程日历或事件服务器检索调度事件。
可将音频子系统1026耦接到扬声器1028和麦克风1030以促进支持语音的功能,诸如语音识别、语音复制、数字记录和电话功能。在本文描述的智能媒体设备中,音频子系统1026可以是包括支持虚拟环绕声的高质量音频系统。
I/O子系统1040可包括触摸屏控制器1042和/或其他输入控制器1045。对于包括显示设备的计算设备,触摸屏控制器1042可耦接至触敏显示器系统1046(例如,触摸屏)。触敏显示系统1046和触摸屏控制器1042可例如使用多种触摸和压力感测技术的任何一种检测接触和运动或压力,触摸和压力感测技术包括但不限于电容性、电阻性、红外和表面声波技术,以及用于确定与触敏显示系统1046接触的一个或多个点的其它接近传感器阵列或其它元件。触敏显示系统1046的显示输出可由显示控制器1043生成。在一个实施方案中,显示控制器1043可在可变帧速率下向触敏显示系统1046提供帧数据。
在一个实施方案中,包括传感器控制器1044以监测,控制,和/或处理从一个或多个运动传感器1010,光传感器1012,接近传感器1014,或其他传感器1016接收的数据。传感器控制器1044可包括逻辑来解释传感器数据以通过分析来自传感器的传感器数据来确定多个运动事件或活动中的一者的发生。
在一个实施方案中,I/O子系统1040包括其他输入控制器1045,可耦接到其他输入/控制设备1048,诸如一个或多个按钮,摇臂开关,拇指轮,红外线端口,USB端口和/或指针设备诸如触笔或控件/装置诸如扬声器1028 和/或麦克风1030的音量控件的向上/向下按钮。
在一个实施方案中,耦接至存储器接口1002的存储器1050可存储操作系统1052的指令,包括便携式操作系统接口(POSIX)兼容和不兼容的操作系统或嵌入式操作系统。操作系统1052可包括用于处理基础系统服务以及用于执行硬件相关任务的指令。在一些具体实施中,操作系统1052可以是内核。
存储器1050还可以存储通信指令1054以促进与一个或多个附加设备、一个或多个计算机和/或一个或多个服务器的通信,例如从远程web服务器获取web资源。存储器1050还可包括用户界面指令1056,包括图形用户界面指令以有利于图形用户界面处理。
此外,存储器1050可存储传感器处理指令1058以促进传感器相关处理和功能;促进与电话相关的过程及功能的电话指令1060;促进与电子消息处理相关的过程及功能的即时消息指令1062;促进与网页浏览相关的过程及功能的网页浏览器指令1064;促进与媒体处理相关的过程及功能的媒体处理指令1066;位置服务指令包括GPS和/或导航指令1068和基于Wi-Fi的位置指令以促进基于位置的功能性;促进与照相机相关的过程和功能的照相机指令 1070;和/或其他软件指令1072,以有利于其他过程和功能,例如安全过程和功能以及与系统相关的过程和功能。存储器1050还可以存储其它软件指令,诸如促进与web视频相关的过程和功能的web视频指令;和/或促进与 web购物相关的过程和功能的web购物指令。在一些具体实施中,媒体处理指令1066分为音频处理指令和视频处理指令,分别用于促进与音频处理相关的过程及功能以及与视频处理相关的过程及功能。移动设备标识符,诸如国际移动设备身份(IMEI)1074或类似的硬件标识符也可存储在存储器1050 中。
上面所识别的指令和应用中的每一者可与用于执行上述一个或多个功能的指令集相对应。这些指令不需要作为独立的软件程序、进程或模块来实现。存储器1050可包括附加指令或更少的指令。此外,可在硬件和/或软件中,包括在一个或多个信号处理和/或专用集成电路中,执行各种功能。
图11为计算系统1100的一个实施方案的框图。图11示出的计算机系统旨在表示一系列计算系统(有线或无线的),包括例如台式计算机系统、膝上型计算机系统、平板电脑系统、蜂窝电话、包括支持蜂窝的PDA的个人数字助理(PDA)、机顶盒、娱乐系统或其他消费电子设备、智能电器设备、或者智能媒体回放设备的一个或多个具体实施。另选的计算系统可以包括更多、更少和/或不同的部件。图11的计算系统可用于提供在计算设备和/或计算设备可能与之连接的服务器设备。
计算机系统1100包括总线1135或用于传递信息的其他通信设备,和与总线1135耦接的可处理信息的处理器1110。虽然计算系统1100被图示为具有单个处理器,但是计算系统1100可以包括多个处理器和/或协处理器。计算系统1100还可包括存储器1120,诸如耦接到总线1135的随机存取存储器 (RAM)或其他动态存储设备。存储器1120可存储可由处理器1110执行的信息和指令。在由处理器1110执行指令期间,存储器1120还可用于存储临时变量或其他中间信息。
计算系统1100还可包括只读存储器(ROM)1130和/或耦接到总线1135 的可存储用于处理器1110的信息和指令的其他数据存储设备1140。数据存储设备1140可以是或包括各种存储设备,例如闪存存储器设备,磁盘,或光盘并且可通过总线1135或通过远程外围设备接口耦接到计算系统1100。
计算系统1100还可经由总线1135耦接到显示设备1150以向用户显示信息。计算系统1100还可以包括数字字母混合输入设备1160,该设备包括数字字母键和其他键,其可以联接到总线1135以将信息和命令选项发送到处理器1110。另一种用户输入设备包括光标控件1170设备,诸如触控板、鼠标、轨迹球、或光标方向键,用于向处理器1110传递方向信息和命令选择以及在显示设备1150上控制光标移动。计算系统1100还可以经由一个或多个网络接口1180从通信地耦接的远程设备接收用户输入。
计算系统1100还可以包括一个或多个网络接口1180,以提供对诸如局域网之类的网络的访问。网络接口1180可以包括,例如具有天线1185的无线网络接口,所述天线可以表示一个或多个天线。计算系统1100可以包括多个无线网络接口,诸如Wi-Fi和
Figure BDA0001834080120000391
近场通信(NFC)和/或蜂窝电话接口的组合。网络接口1180也可以包括例如有线网络接口,以经由网络电缆1187与远程设备通信,该电缆可以是例如,以太网电缆、同轴电缆、光纤电缆、串行电缆或并行电缆。
在一个实施方案中,网络接口1180可以例如通过符合IEEE 802.11b和 /或IEEE802.11g标准来提供对局域网的接入,并且/或者无线网络接口可以例如通过符合蓝牙标准提供对个人区域网络。其他无线网络接口和/或协议也可得到支持。除了经由无线LAN标准进行通信之外或代替经由无线LAN标准进行通信,网络接口1180可以使用例如时分多址(TDMA)协议、全球移动通信系统(GSM)协议、代码分割多址(CDMA)协议,长期演进(LTE)协议和/或任何其他类型的无线通信协议来提供无线通信。
计算系统1100还可包括一个或多个能量源1105和一个或多个能量测量系统1145。能量源1105可包括耦接到外部电源的AC/DC适配器,一个或多个电池,一个或多个电荷存储设备,USB充电器,或其他能量源。能量测量系统包括至少一个电压或电流测量设备,可测量计算系统1100在预先确定的时间段内消耗的能量。此外,可包括一个或多个能量测量系统测量,例如,显示设备,冷却子系统,Wi-Fi子系统,或其他常用的或高能量消费子系统所消耗的能量。
图12示出了根据本文所述的实施方案的虚拟助理系统1200的框图。示出的虚拟助理系统1200是一个实施方案的示例性并且不限于本文所述的所有实施方案。本文所述的各种实施方案利用的虚拟助理可包括附加的,比所示的那些更少的和/或不同的部件或特征。虚拟助理系统1200包括虚拟助理 1202,该虚拟助理1202可接受用户输入1204,诸如口头或打字型语言,处理输入,并且生成给用户的输出1208和/或代表用户执行1210动作。虚拟助理1202可使用上下文信息来补充来自用户的自然语言或手势输入。上下文信息可用于澄清用户的意图并减少用户输入的候选解释的数目。上下文信息还可以减少用户提供过多澄清输入的需要。上下文可以包括助理可用的任何可用的信息来补充明确的用户输入以约束信息处理问题和/或个性化处理结果。上下文可用于在处理的各个阶段中约束方案,包括例如语音识别,自然语言处理,任务流处理和对话框生成。
虚拟助理1202可利用多种不同的知识和数据背景源(例如词典,域模型和/或任务模型)中的任一个。从当前所描述的实施方案的角度来看,此类背景源可以是虚拟助理1202内部,或者可以从一个或多个远程数据库收集。除了用户输入1204和背景源之外,虚拟助理1202也可以利用来自上下文若干源的信息,包括,例如,设备传感器数据1256,应用偏好和使用历史1272,对话历史和助理存储器1252,个人数据库1258,个人声学上下文数据1280,当前应用程序上下文1260,和事件上下文1206。
在一个实施方案中,运行虚拟助理1202的物理设备,诸如用户设备,回放设备或如本文所述的智能媒体回放设备,具有一个或多个传感器设备。此类传感器可提供设备传感器数据1256形式的上下文信息的来源。传感器信息的示例包括,但不限于,用户的当前位置;用户的当前位置的本地时间;用户正与其交互的设备的位置,取向,和运动;当前的光水平,温度和其他环境测量;使用中的麦克风和相机的属性;当前正在使用的网络和已连接网络的签名,包括以太网,Wi-Fi和Bluetooth。签名包括网络接入点的MAC 地址,分配的IP地址,设备标识符,诸如蓝牙名称,频率信道和无线网络的其他属性。传感器可具有任何类型,包括例如加速度计,罗盘,GPS单元,海拔检测器,光传感器,温度计,晴雨表,时钟,网络接口,电池测试电路等。
当前应用程序上下文1260指与用户的当前活动相关的应用程序状态或类似的软件状态。例如,用户可以正使用文本即时消息应用程序与特定的人聊天。虚拟助理1202不必特定于文本即时消息应用程序的用户界面或用户界面的一部分。相反,虚拟助理1202可从任意数量的应用程序接收上下文,其中每个应用程序促进其上下文以通知虚拟助理1202。如果调用虚拟助理 1202时用户当前正在使用应用程序,则该应用程序的状态可提供有用的上下文信息。例如,如果从电子邮件应用程序中调用虚拟助理1202,则上下文信息可包括发送者信息,收件人信息,发送日期和/或时间,主题,从电子邮件内容,邮箱或文件夹名称提取的数据等。
在一个实施方案中,描述用户的应用偏好和使用历史1272的信息包括各种应用程序的偏好和设置,以及与那些应用程序相关联的使用历史。应用偏好和使用历史1272用于解释和/或操作虚拟助理1202的用户意图或其他功能的上下文。此类应用偏好和使用历史1272的示例包括但不限于快捷方式,收藏夹,书签,朋友列表,或关于人员,公司,地址,电话号码,场所,网站,电子邮件消息或任何其他参考文献的任何其他用户数据的集合;设备上的最近通话;最近的文本消息会话,包括会话的各方;地图或方向的最近请求;最近的web搜索和URL;股票应用程序中列出的股票;最近播放的歌曲或视频或其他媒体;在闹钟应用程序上设置的闹钟名称;设备上的应用程序或其他数字对象的名称;以及用户所在位置处的用户偏好语言或正使用的语言。
上下文数据的另一个来源是诸如电话之类的设备上的用户的个人数据库1258,诸如例如包含姓名和电话号码的通讯簿。在一个实施方案中,从个人数据库1258获得的用户的个人信息被用作解释和/或操作虚拟助理1202 的意图或其他功能的上下文。例如,用户的联系人数据库中的数据可用于减少当用户仅以名字指代某人时解释用户命令时的歧义。上下文信息的示例可以从个人数据库1258获得,包括,但不限于,用户的联系人数据库(地址簿)-包括姓名信息,电话号码,物理地址,网络地址,账户标识符,重要日期-关于人,公司,组织,场所,网站,以及用户可能指代的其他实体;用户自己的名称,优选的发音,地址,电话号码等;用户的命名关系,如母亲,父亲,姐姐,老板等;用户的日历数据,包括日历事件,特定天的名称,或用户可能指代的任何其他命名的条目;用户的提醒或任务列表,包括要完成,记住,或获取用户可能指代的事情列表;歌曲名称,类型,播放列表,和与用户可能指代的用户的音乐库相关联的其它数据;人员,地点,类别,标签,标记,或用户媒体库中的照片或视频或其他媒体的其他符号名称;在用户的个人库中的书籍或其他文献中的标题,作者,类型或其他符号名称。
上下文数据的另一个来源是具有虚拟助理1202的用户对话历史。此类历史可包括例如指代域,人员,场所等等。例如,用户可以询问“纽约时间几点?”。虚拟助理1202可通过提供纽约市的当前时间来应答。然后用户可以问,“天气怎么样?”虚拟助理1202可使用先前的对话历史来推断用于天气查询的位置为对话历史中提及的最后位置。
来自对话历史和虚拟助理存储器的上下文信息的示例包括但不限于对话中提到的人员;对话中提到的场所和位置;聚焦的当前时间帧;聚焦的当前应用领域,诸如电子邮件或日历;聚焦的当前任务,诸如阅读电子邮件或创建日历条目;聚焦的当前域对象,诸如刚读取的电子邮件消息或刚创建的日历条目;对话或事务处理流的当前状态,诸如是否询问问题以及预期可能的答案;用户请求的历史;用户请求的结果的历史,诸如返回的餐厅集合;对话中助理使用的短语历史;和用户告诉助理的事实。
在一个实施方案中,个人声学上下文数据1280可用来从可被用于理解用户语音的可能的统计语言模型选择,或以其他方式调谐语音识别来优化用于识别声学上下文。当解释语音输入时,虚拟助理1202可调节语音至文本服务以考虑输入语音的声学环境。例如,安静办公室的噪声曲线不同于汽车或公共场所的噪声曲线。如果语音识别系统能够识别和存储声学配置数据,则这些数据也可作为上下文信息提供。当与其他上下文信息诸如在使用中的麦克风的属性相结合时,当前位置和当前对话状态,声学上下文可有助于识别和解释输入。
在以上说明书中,针对本发明的特定实施方案已描述了本发明。然而显而易见的是,在不脱离本发明的更广泛的实质和范围的情况下,可对其进行各种修改和变更。相应地,说明书和附图应被视为有例示性的而非限制性的意义。所提供的描述和示例中的具体细节可用于一个或多个实施方案中的任何地方。不同实施方案或示例的各种特征可与所包括的一些特征和排除的其他特征不同地组合,以适应多种不同的应用。示例可包括主题,诸如方法,用于执行该方法的行为的装置,包括指令的至少一种机器可读介质,所述指令在由机器执行时使得机器执行该方法的行为,或者根据本文所述的实施方案和示例执行装置或系统的动作。此外,本文描述的各种部件可为用于执行根据实施方案所描述的操作或功能的装置。
本文所述的实施方案提供了一种通信机构,该通信机构使得公共电子设备诸如智能扬声器设备或另一智能家居设备能够将涉及个人用户数据的虚拟助理请求中继或重定向至伴随设备,该伴随设备是与请求访问私人数据的用户相关联的个人用户设备。通信机构也可用作通用通信机构,其使得智能家居设备能够交换数据,包括配置数据。
公共设备和伴随设备之间的通信可在称为伴随链路的安全数据信道上执行。伴随链路为家庭网络环境中的已连接设备提供持久,低延迟即时消息系统。在一些实施方案中,伴随链路支持家庭内的固定公共设备,诸如扬声器设备,与家庭中或者可经由互联网可触及的个人移动设备的链接。伴随链路使公共设备能够重新定向个人请求,而公共设备由于隐私问题而无法处理一个或多个个人设备。向与用户相关联的个人设备的重定向个人请求可使得公共设备上的虚拟助理能够以保密方式接收和请求。
除了使个人查询重定向至伴随设备之外,在一个实施方案中,伴随链路还为家庭网络环境中的设备提供通用即时消息系统。通用即时消息系统通过在伴随链路上交换消息使多个家庭设备能够协同工作。例如,可协调多个智能扬声器设备之间的音频回放,以使得设备能够执行操作,诸如但不限于协调媒体项的播放,经由最靠近用户的扬声器选择性地向该用户提供音频通知,将多个扬声器配置到多通道音频系统中,或在口头请求和响应的持续时间在扬声器处协调音频回避。
公共设备可以通过发现协议通告支持伴随链路服务。与公共设备在同一网络上的个人用户设备可发现公共设备通告的伴随链路服务,并且使用通告信息与公共设备连接。个人设备可与公共设备执行配对过程以成为用户的伴随设备。在一个实施方案中,配对过程包括接近元件,其中用户设备通过短程无线通信机构与伴随设备交换标识符,密钥或秘密。配对过程还可包括可促进公共和伴随设备之间在伴随链路上的后续连接的存在和可接通性信息的交换。
本文所述的实施方案提供了一种通信机构,该通信机构使得公共电子设备诸如智能扬声器设备或另一智能家居设备能够将涉及个人用户数据的虚拟助理请求中继或重定向至个人用户设备用于处理。通信机构也可用作通用通信机构,其使得智能家居设备能够交换数据,包括配置数据。然而显而易见的是,在不脱离本发明的更广泛的实质和范围的情况下,可对其进行各种修改和变更。相应地,说明书和附图应被视为有例示性的而非限制性的意义。所提供的描述和示例中的具体细节可用于一个或多个实施方案中的任何地方。不同实施方案或示例的各种特征可与所包括的一些特征和排除的其他特征不同地组合,以适应多种不同的应用。示例可包括主题,诸如方法,用于执行该方法的行为的装置,包括指令的至少一种机器可读介质,所述指令在由机器执行时使得机器执行该方法的行为,或者根据本文所述的实施方案和示例执行装置或系统的动作。此外,本文描述的各种部件可为用于执行根据实施方案所描述的操作或功能的装置。
一个实施方案在公共电子设备上提供数据处理系统,数据处理系统包括存储指令的存储器设备和执行存储在存储器设备上的指令的一个或多个处理器。指令使得一个或多个处理器提供虚拟助理以接收公共电子设备处的命令,其中该虚拟助理,经由一个或多个处理器,被配置为接收公共电子设备处的命令和确定该命令是否是要访问与公共电子设备相关联的用户的个人数据。响应于确定所述命令要访问所述用户的个人数据,所述虚拟助理可向所述用户的个人电子设备发送请求以处理所述命令的至少一部分。
在本文所述的实施方案中,用户的个人数据包括联系人列表,文本消息,电子邮件,呼叫历史,闹钟,提醒,通信历史,设置,偏好或位置历史,并且公共电子设备包括智能扬声器设备。个人数据可以存储在用户的个人电子设备上并且虚拟助理可请求个人电子设备来代表公共电子设备访问个人数据。虚拟助理随后可以接收发送到用户的个人电子设备的请求的输出并且基于该输出完成对该命令的处理。命令可以是由用户所讲的语音命令或传输到公共设备的文本命令。在一个实施方案中,向用户的个人电子设备发送请求包括将命令重定向至用户的个人电子设备,其中个人电子设备代表公共电子设备处理命令。虚拟助理可接收由个人电子设备生成的音频响应,并且作为对命令的响应播放音频响应。如果命令是将消息发送到用户的联系人的命令,则音频响应可为接收的对消息答复的通知。
在一个实施方案中,在启用公共电子设备向个人电子设备发送请求之前,公共电子设备可与个人电子设备建立配对和/或可信关系。虚拟助理可以通过与个人电子设备的验证的数据连接将该请求发送到用户的个人电子设备。可基于与个人电子设备的可信关系建立验证的数据连接,其中该验证的数据通过在可信关系的建立期间交换的数据来验证。在一个实施方案中,验证的数据连接通过经由广域网诸如互联网建立的远程数据连接建立。用户的个人数据是特定于用户的数据,并且可包括固有地为个人或私人的数据,或被指定为个人或私人的数据。
一个实施方案提供了存储指令的非暂态机器可读介质以使得一个或多个处理器执行操作,包括确定通信会话要在公共电子设备和伴随设备之间建立,其中伴随设备是能访问与用户相关联的个人数据的电子设备。所述操作另外包括建立与所述伴随设备的数据连接,验证所述公共电子设备与所述伴随设备之间的可信关系,在验证所述可信关系之后,在所述公共电子设备与所述伴随设备之间建立加密通信会话,以及通过所述加密通信会话将在所述公共电子设备处接收的命令中继到伴随设备。
一个实施方案提供了电子设备,该电子设备包括连接到一个或多个网络的网络接口和存储与电子设备的用户相关联的指令和个人数据的存储器设备。电子设备包括一个或多个处理器来执行存储在存储器设备上的指令,其中指令使得一个或多个处理器提供接收命令的虚拟助理。虚拟助理经由一个或多个处理器可经由网络接口接收从公共电子设备重导向的命令。该命令可包括或指定用于访问与电子设备的用户相关联的个人数据的请求。虚拟助理随后可代表公共电子设备处理命令的至少一部分并经由网络接口将代表公共电子设备执行的处理的输出传输至公共电子设备。
虽然描述了公共电子设备诸如智能扬声器设备和伴随设备诸如智能电话设备之间的伴随链路连接,但是伴随链路连接还可以建立在多个伴随设备,如多个智能电话设备,平板计算设备之间,或者智能电话设备和与平板计算设备之间。
一个实施方案在电子设备上提供数据处理系统,数据处理系统包括存储指令的存储器设备和执行存储在存储器设备上的指令的一个或多个处理器。指令在执行时使得所述一个或多个处理器在电子设备之间启用加密的数据信道。为了启用加密的数据信道,所述一个或多个处理器被配置为确定要在第一电子设备和第二电子设备之间建立通信会话,其中所述第一电子设备和所述第二电子设备各自与云服务账户相关联。一个或多个处理器可以被进一步配置为在第一电子设备与第二电子设备之间建立对等数据连接,验证第一电子设备和第二电子设备之间的可信关系,并在验证可信关系之后在第一电子设备和第二电子设备之间建立加密通信会话。加密通信会话随后可用于通过加密通信会话在第一电子设备和第二电子设备之间交换数据。
在另一实施方案中,数据处理系统的一个或多个处理器可在第一电子设备与第二电子设备之间通过短程无线连接建立对等数据连接,和/或通过无线网络连接经由网络层协议建立加密通信会话。为了验证第一电子设备与第二电子设备之间的可信关系可包括验证先前建立的可信关系,该可信关系可经由通过短程无线连接在第一电子设备和第二电子设备之间的凭证的交换和/ 或经由与第一电子设备和第二电子设备相关联的云服务账户的凭证的交换中的一个或多个来建立的,凭证启用第一电子设备和第二电子设备之间的相互认证。
在进一步的实施方案中,一个或多个处理器可以被配置为确定通信会话将响应于经由设备发现协议在第一电子设备处发现第二电子设备建立在第一电子设备和第二电子设备之间,和在发现第二电子设备之后在第一电子设备与第二电子设备之间建立对等数据连接。也可以基于与云服务账户相关联的设备列表建立通信会话,第一设备和第二设备与该云服务账户相关联。在一个实施方案中,通信会话可基于与云服务账户家族相关联的设备列表来建立,其中第一电子设备与第一账户相关联,第二电子设备与第二账户相关联,并且云服务账户家族包括第一账户和第二账户。在一个实施方案中,在第一电子设备被启用以向第二电子设备发送数据交换的请求之前,第一电子设备与第二电子设备建立可信关系。
一个实施方案提供了存储指令的非暂态机器可读介质以使得一个或多个处理器执行操作,包括确定通信会话要在第一电子设备和第二电子设备之间建立,其中第一电子设备和第二电子设备每一个与云服务账户相关联。所述指令另外可使得所述一个或多个处理器执行附加操作,所述附加操作包括在所述第一电子设备和所述第二电子设备之间建立对等数据连接,验证第一电子设备和第二电子设备之间的可信关系,在验证所述可信关系之后,在所述第一电子设备与所述第二电子设备之间建立加密通信会话,以及通过所述加密通信会话在所述第一电子设备和所述第二电子设备之间交换数据。
一个实施方案提供了在本文所述的计算设备或数据处理系统上执行的方法。所述方法包括确定要在第一电子设备和第二电子设备之间建立通信会话,其中所述第一电子设备和所述第二电子设备各自与云服务账户相关联,并且通过无线电设备在所述第一电子设备与所述第二电子设备之间建立对等数据连接,以及验证第一电子设备和第二电子设备之间的可信关系,其中验证所述第一电子设备与所述第二电子设备之间的可信关系包括验证先前建立的可信关系。该方法另外包括通过无线网络连接经由网络层协议在第一电子设备和第二电子设备之间建立加密通信会话,加密通信会话在验证可信关系之后建立以及通过加密通信会话在第一电子设备与第二电子设备之间交换数据。例如可交换数据以同步第一电子设备与第二电子设备之间的设备数据,其中设备数据与云服务账户相关联。
在另一个实施方案中,该方法另外包括基于与云服务账户家族相关联的设备列表确定通信会话建立在第一电子设备和第二电子设备之间,其中第一电子设备与第一账户相关联,第二电子设备与第二账户相关联,并且云服务账户家族包括第一账户和第二账户。第一电子设备可以经由设备发现协议发现第二电子设备并且在发现第二电子设备之后与第二电子设备建立对等数据连接。
通过附图以及通过上述具体实施方式,本实施方案的其他特征将显而易见。因此,在研究附图,说明书和所附权利要求时,本发明的真正范围对于技能熟练的从业人员来说是显而易见的。

Claims (18)

1.一种电子设备上的数据处理系统,所述数据处理系统包括:
存储器设备,所述存储器设备存储指令;
一个或多个处理器,所述一个或多个处理器执行存储在所述存储器设备上的所述指令,所述指令使得所述一个或多个处理器启用电子设备之间的加密数据信道,所述一个或多个处理器:
从账户服务器接收与一云服务账户相关联的设备的列表,用户的第一电子设备和所述用户的第二电子设备与所述云服务账户相关联,所述第一电子设备和所述第二电子设备均包括虚拟助理;
确定要基于设备的所述列表在所述第一电子设备和所述第二电子设备之间建立通信会话;
在所述第一电子设备与所述第二电子设备之间建立对等数据连接;
验证所述第一电子设备和所述第二电子设备之间的可信关系,其中验证所述第一电子设备和所述第二电子设备之间的所述可信关系包括验证先前建立的可信关系;
在验证所述可信关系之后,在所述第一电子设备与所述第二电子设备之间建立加密通信会话;以及
通过所述加密通信会话在所述第一电子设备与所述第二电子设备之间交换数据。
2.根据权利要求1所述的数据处理系统,所述一个或多个处理器通过在所述第一电子设备与所述第二电子设备之间的直接无线连接建立所述对等数据连接。
3.根据权利要求2所述的数据处理系统,所述一个或多个处理器通过无线网络连接经由网络层协议来建立所述加密通信会话。
4.根据权利要求1所述的数据处理系统,所述先前建立的可信关系经由以下中的一个或多个建立:
通过短程无线连接在所述第一电子设备与所述第二电子设备之间的凭据交换;和
经由与所述第一电子设备和所述第二电子设备相关联的所述云服务账户的凭据交换,所述凭据使得能够实现所述第一电子设备与所述第二电子设备之间的相互认证。
5.根据权利要求1所述的数据处理系统,所述一个或多个处理器还:
响应于经由设备发现协议在所述第一电子设备处发现所述第二电子设备,而确定要在所述第一电子设备与所述第二电子设备之间建立所述通信会话;并且
在发现所述第二电子设备之后,在所述第一电子设备与所述第二电子设备之间建立所述对等数据连接。
6.根据权利要求1所述的数据处理系统,所述一个或多个处理器还:
基于与所述云服务账户相关联的设备的列表,确定要在所述第一电子设备与所述第二电子设备之间建立所述通信会话;
经由设备发现协议在所述第一电子设备处发现所述第二电子设备;并且
在发现所述第二电子设备之后,在所述第一电子设备与所述第二电子设备之间建立所述对等数据连接。
7.根据权利要求1所述的数据处理系统,一个或多个处理器还:
基于与一个云服务账户家族相关联的设备的列表来确定要在所述第一电子设备与所述第二电子设备之间建立通信会话,其中所述第一电子设备与第一账户相关联,所述第二电子设备与第二账户相关联,并且所述云服务账户家族包括所述第一账户和所述第二账户;
经由设备发现协议在所述第一电子设备处发现所述第二电子设备;并且
在发现所述第二电子设备之后,在所述第一电子设备与所述第二电子设备之间建立所述对等数据连接。
8.根据权利要求1所述的数据处理系统,在所述第一电子设备被启用以向所述第二电子设备发送数据交换的请求之前,所述第一电子设备与所述第二电子设备建立可信关系。
9.一种存储指令的非暂态机器可读介质,所述指令使得一个或多个处理器执行包括以下的操作:
接收与一云服务账户相关联的设备的列表,用户的第一电子设备和所述用户的第二电子设备与所述云服务账户相关联,所述第一电子设备和所述第二电子设备均包括虚拟助理;
确定要基于设备的所述列表在所述第一电子设备与所述第二电子设备之间建立通信会话;
在所述第一电子设备与所述第二电子设备之间建立对等数据连接;
验证所述第一电子设备与所述第二电子设备之间的可信关系,其中验证所述第一电子设备与所述第二电子设备之间的所述可信关系包括验证先前建立的可信关系;
在验证所述可信关系之后,在所述第一电子设备与所述第二电子设备之间建立加密通信会话;以及
通过所述加密通信会话在所述第一电子设备与所述第二电子设备之间交换数据。
10.根据权利要求9所述的非暂态机器可读介质,所述操作还包括通过在所述第一电子设备与所述第二电子设备之间的直接无线连接建立所述对等数据连接。
11.根据权利要求10所述的非暂态机器可读介质,所述操作还包括通过无线网络连接经由网络层协议建立所述加密通信会话。
12.根据权利要求9所述的非暂态机器可读介质,所述先前建立的可信关系是经由包括以下的一个或多个操作的操作建立的:
通过短程无线连接在所述第一电子设备与所述第二电子设备之间交换凭据;以及
经由与所述第一电子设备和所述第二电子设备相关联的所述云服务账户交换凭据,所述凭据使得能够实现所述第一电子设备与所述第二电子设备之间的相互认证。
13.根据权利要求9所述的非暂态机器可读介质,其中所述操作还包括:
响应于经由设备发现协议在所述第一电子设备处发现所述第二电子设备,而确定要在所述第一电子设备与所述第二电子设备之间建立所述通信会话;以及
在发现所述第二电子设备之后,在所述第一电子设备与所述第二电子设备之间建立所述对等数据连接。
14.根据权利要求9所述的非暂态机器可读介质,所述操作还包括:
基于与所述云服务账户相关联的设备的列表,确定要在所述第一电子设备与所述第二电子设备之间建立通信会话;
经由设备发现协议在所述第一电子设备处发现所述第二电子设备;以及
在发现所述第二电子设备之后,在所述第一电子设备与所述第二电子设备之间建立所述对等数据连接。
15.根据权利要求9所述的非暂态机器可读介质,所述操作还包括:
基于与一个云服务账户家族相关联的设备的列表确定要在所述第一电子设备与所述第二电子设备之间建立通信会话,其中所述第一电子设备与第一账户相关联,所述第二电子设备与第二账户相关联,并且所述云服务账户家族包括所述第一账户和所述第二账户;
经由设备发现协议在所述第一电子设备处发现所述第二电子设备;以及
在发现所述第二电子设备之后,在所述第一电子设备与所述第二电子设备之间建立所述对等数据连接。
16.根据权利要求9所述的非暂态机器可读介质,在所述第一电子设备被启用以向所述第二电子设备发送数据交换的请求之前,所述第一电子设备与所述第二电子设备建立可信关系。
17.一种方法,包括:
接收与一云服务账户相关联的设备的列表,用户的第一电子设备和所述用户的第二电子设备与所述云服务账户相关联,所述第一电子设备和所述第二电子设备均包括虚拟助理;
确定要基于设备的所述列表在所述第一电子设备与所述第二电子设备之间建立通信会话;
经由无线电设备在所述第一电子设备与所述第二电子设备之间建立对等数据连接;
验证所述第一电子设备与所述第二电子设备之间的可信关系,其中验证所述第一电子设备与所述第二电子设备之间的所述可信关系包括验证先前建立的可信关系;
通过无线网络连接经由网络层协议在所述第一电子设备与所述第二电子设备之间建立加密通信会话,所述加密通信会话在验证所述可信关系之后建立;以及
通过所述加密通信会话在所述第一电子设备与所述第二电子设备之间交换数据以在所述第一电子设备与所述第二电子设备之间同步设备数据,所述设备数据与所述云服务账户相关联。
18.根据权利要求17所述的方法,还包括:
基于与一个云服务账户家族相关联的设备的列表确定要在所述第一电子设备和所述第二电子设备之间建立通信会话,其中所述第一电子设备与第一账户相关联,所述第二电子设备与第二账户相关联,并且所述云服务账户家族包括所述第一账户和所述第二账户;
经由设备发现协议在所述第一电子设备处发现所述第二电子设备;以及
在发现所述第二电子设备之后,在所述第一电子设备与所述第二电子设备之间建立所述对等数据连接。
CN201811226436.7A 2017-10-21 2018-10-19 安全的设备到设备通信方法、系统 Active CN109698856B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210274538.6A CN114630302A (zh) 2017-10-21 2018-10-19 安全的设备到设备通信信道

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762575373P 2017-10-21 2017-10-21
US62/575,373 2017-10-21

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210274538.6A Division CN114630302A (zh) 2017-10-21 2018-10-19 安全的设备到设备通信信道

Publications (2)

Publication Number Publication Date
CN109698856A CN109698856A (zh) 2019-04-30
CN109698856B true CN109698856B (zh) 2022-04-01

Family

ID=63915119

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202210274538.6A Pending CN114630302A (zh) 2017-10-21 2018-10-19 安全的设备到设备通信信道
CN201811226436.7A Active CN109698856B (zh) 2017-10-21 2018-10-19 安全的设备到设备通信方法、系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202210274538.6A Pending CN114630302A (zh) 2017-10-21 2018-10-19 安全的设备到设备通信信道

Country Status (7)

Country Link
US (2) US20190122001A1 (zh)
EP (2) EP3679735A1 (zh)
JP (1) JP7063990B2 (zh)
KR (2) KR102299239B1 (zh)
CN (2) CN114630302A (zh)
AU (3) AU2018351962B2 (zh)
WO (2) WO2019079015A1 (zh)

Families Citing this family (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
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
US10255566B2 (en) 2011-06-03 2019-04-09 Apple Inc. Generating and processing task items that represent tasks to perform
WO2012170446A2 (en) 2011-06-05 2012-12-13 Apple Inc. Systems and methods for displaying notifications received from multiple applications
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
EP4138075A1 (en) 2013-02-07 2023-02-22 Apple Inc. Voice trigger for a digital assistant
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US10791216B2 (en) 2013-08-06 2020-09-29 Apple Inc. Auto-activating smart responses based on activities from remote devices
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK201770429A1 (en) 2017-05-12 2018-12-14 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770411A1 (en) 2017-05-15 2018-12-20 Apple Inc. MULTI-MODAL INTERFACES
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US20190098004A1 (en) * 2017-09-26 2019-03-28 Proxy Technologies, Inc. Universal id system and methods and biometric information
US11470078B2 (en) * 2017-11-29 2022-10-11 Google Llc Structure-based access control
US11310649B2 (en) * 2018-02-20 2022-04-19 Lg Electronics Inc. Method for wireless connection in wireless LAN system and wireless device using same
KR102508677B1 (ko) * 2018-03-08 2023-03-13 삼성전자주식회사 사용자 발화를 처리하는 시스템 및 그 시스템의 제어 방법
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US10839811B2 (en) * 2018-06-08 2020-11-17 The Toronto-Dominion Bank System, device and method for enforcing privacy during a communication session with a voice assistant
US10831923B2 (en) 2018-06-08 2020-11-10 The Toronto-Dominion Bank System, device and method for enforcing privacy during a communication session with a voice assistant
US11411735B2 (en) 2018-06-15 2022-08-09 Proxy, Inc. Methods and apparatus for authorizing and providing of distributed goods or services
US11438767B2 (en) 2018-06-15 2022-09-06 Proxy, Inc. Methods and apparatus for preauthorizing reader devices
US11546728B2 (en) 2018-06-15 2023-01-03 Proxy, Inc. Methods and apparatus for presence sensing reporting
US11509475B2 (en) 2018-06-15 2022-11-22 Proxy, Inc. Method and apparatus for obtaining multiple user credentials
US11109234B2 (en) 2018-06-15 2021-08-31 Proxy, Inc. Reader device with sensor streaming data and methods
US11462095B2 (en) 2018-06-15 2022-10-04 Proxy, Inc. Facility control methods and apparatus
US11282020B2 (en) 2018-07-24 2022-03-22 MachEye, Inc. Dynamic playback of synchronized narrated analytics playlists
US11841854B2 (en) 2018-07-24 2023-12-12 MachEye, Inc. Differentiation of search results for accurate query output
US11816436B2 (en) 2018-07-24 2023-11-14 MachEye, Inc. Automated summarization of extracted insight data
US11341126B2 (en) * 2018-07-24 2022-05-24 MachEye, Inc. Modifying a scope of a canonical query
US11651043B2 (en) 2018-07-24 2023-05-16 MachEye, Inc. Leveraging analytics across disparate computing devices
US11853107B2 (en) 2018-07-24 2023-12-26 MachEye, Inc. Dynamic phase generation and resource load reduction for a query
US10924933B2 (en) * 2018-08-23 2021-02-16 Motorola Solutions, Inc. System and method for monitoring the integrity of a virtual assistant
US11516211B2 (en) * 2018-09-11 2022-11-29 Citrix Systems, Inc. System for providing a service based upon authorization token and virtual assistant and related methods
US11023200B2 (en) 2018-09-27 2021-06-01 The Toronto-Dominion Bank Systems, devices and methods for delivering audible alerts
US10978063B2 (en) * 2018-09-27 2021-04-13 The Toronto-Dominion Bank Systems, devices and methods for delivering audible alerts
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
TWI684874B (zh) * 2018-10-18 2020-02-11 瑞軒科技股份有限公司 智慧型音箱及其操作方法
WO2020102620A1 (en) * 2018-11-16 2020-05-22 Facet Labs, Llc Interactive group session computing systems and related methods
FR3089084A1 (fr) * 2018-11-28 2020-05-29 Orange Procédé d’accès à distance à un assistant personnel vocal
US11269305B2 (en) * 2018-12-03 2022-03-08 Google Llc Efficient control and/or linking of smart devices
KR20200085593A (ko) * 2019-01-07 2020-07-15 삼성전자주식회사 전자 장치 및 그 제어 방법.
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
EP4231124A1 (en) 2019-05-31 2023-08-23 Apple Inc. User interfaces for audio media control
US11010121B2 (en) 2019-05-31 2021-05-18 Apple Inc. User interfaces for audio media control
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
US10867608B1 (en) 2019-05-31 2020-12-15 Apple Inc. Multi-user configuration
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
CN112334871A (zh) * 2019-06-05 2021-02-05 谷歌有限责任公司 用于基于数字助理的应用的动作验证
US20200388280A1 (en) 2019-06-05 2020-12-10 Google Llc Action validation for digital assistant-based applications
US11741095B2 (en) * 2019-07-12 2023-08-29 Samsung Electronics Co., Ltd. Method and apparatus for generating structured relation information based on a text input
US11676589B2 (en) * 2019-09-17 2023-06-13 Global Strategies International LLC Systems and methods for voice search and response retrieval
CN112543447A (zh) * 2019-09-19 2021-03-23 华为技术有限公司 基于通讯录的设备发现方法、音视频通信方法及电子设备
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
US11627462B2 (en) * 2019-10-14 2023-04-11 Google Llc Providing network access via communal device
US11995116B2 (en) * 2019-10-27 2024-05-28 Apple Inc. Multi-user content queue
US11043220B1 (en) 2020-05-11 2021-06-22 Apple Inc. Digital assistant hardware abstraction
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11233670B2 (en) 2020-05-22 2022-01-25 K4Connect Inc. Home automation (HA) system communicating a network address using first and second wireless protocols and related methods
US11330427B2 (en) 2020-05-22 2022-05-10 K4Connect Inc. Home automation (HA) system communicating a network address request and network address using first and second wireless protocols and related methods
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
US20230421370A1 (en) * 2020-10-15 2023-12-28 Keycrypt Labs Pty Ltd Secure cloud storage and retrieval of client-side encrypted files
US20220129144A1 (en) * 2020-10-26 2022-04-28 Apple Inc. Methods and user interfaces for handling user requests
US11658969B2 (en) * 2020-11-20 2023-05-23 At&T Intellectual Property I, L.P. Apparatuses and methods for facilitating port discernment driven mutual authentication and service access authorization
US11960615B2 (en) 2021-06-06 2024-04-16 Apple Inc. Methods and user interfaces for voice-based user profile management
US20230224984A1 (en) * 2022-01-12 2023-07-13 At&T Intellectual Property I, L.P. Split input/output system and method for multimedia communications
WO2024019755A1 (en) * 2022-07-20 2024-01-25 Innopeak Technology, Inc. Support remote application extensions or plugins
CN116744267B (zh) * 2022-11-16 2024-05-21 荣耀终端有限公司 数据处理方法、系统、电子设备和存储介质
CN116319119B (zh) * 2023-05-26 2023-09-26 广东广宇科技发展有限公司 一种伴随式迭代通信验证方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105959111A (zh) * 2016-07-01 2016-09-21 何钟柱 基于云计算和可信计算的信息安全大数据资源访问控制系统
WO2017131887A1 (en) * 2016-01-29 2017-08-03 Google Inc. Local device authentication

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8832055B1 (en) * 2005-06-16 2014-09-09 Gere Dev. Applications, LLC Auto-refinement of search results based on monitored search activities of users
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8385913B2 (en) * 2008-09-08 2013-02-26 Proxicom Wireless, Llc Using a first wireless link to exchange identification information used to communicate over a second wireless link
US20100278345A1 (en) * 2009-05-04 2010-11-04 Thomas Matthieu Alsina Method and apparatus for proximity based pairing of mobile devices
WO2011149558A2 (en) * 2010-05-28 2011-12-01 Abelow Daniel H Reality alternate
WO2012135796A1 (en) * 2011-04-01 2012-10-04 Visa International Service Association Restricted-use account payment administration apparatuses, methods and systems
US9054919B2 (en) * 2012-04-05 2015-06-09 Box, Inc. Device pinning capability for enterprise cloud service and storage accounts
US9674331B2 (en) * 2012-06-08 2017-06-06 Apple Inc. Transmitting data from an automated assistant to an accessory
JP2015531096A (ja) 2012-06-11 2015-10-29 インタートラスト テクノロジーズ コーポレイション データ収集・解析システムと方法
US9053304B2 (en) * 2012-07-13 2015-06-09 Securekey Technologies Inc. Methods and systems for using derived credentials to authenticate a device across multiple platforms
US9082119B2 (en) * 2012-10-17 2015-07-14 Royal Bank of Canada. Virtualization and secure processing of data
US9733821B2 (en) * 2013-03-14 2017-08-15 Apple Inc. Voice control to diagnose inadvertent activation of accessibility features
US20140287687A1 (en) * 2013-03-20 2014-09-25 Elbrys Networks, Inc. Method and system for managing bluetooth bonding for pre-pairing and impersonation
JP2014228912A (ja) 2013-05-20 2014-12-08 三菱電機株式会社 情報管理システム
US9729592B2 (en) * 2013-08-27 2017-08-08 Persais, Llc System and method for distributed virtual assistant platforms
US10181985B1 (en) * 2013-12-04 2019-01-15 Amazon Technologies, Inc. Cloud-based device discovery
EP3077999B1 (en) * 2013-12-06 2022-02-02 The ADT Security Corporation Voice activated application for mobile devices
KR102210748B1 (ko) * 2013-12-20 2021-02-02 삼성전자주식회사 홈 네트워크 시스템에서 홈 디바이스를 서버에 등록하는 장치 및 방법
US9778817B2 (en) * 2013-12-31 2017-10-03 Findo, Inc. Tagging of images based on social network tags or comments
KR102186012B1 (ko) 2014-02-05 2020-12-04 애플 인크. 제어기와 액세서리 사이의 통신을 위한 균일한 통신 프로토콜
US9432472B2 (en) * 2014-02-24 2016-08-30 Microsoft Technology Licensing, Llc Accelerated training of personal daemons
CN105659521B (zh) * 2014-03-12 2019-07-16 腾讯科技(深圳)有限公司 用于通过社交网络平台来控制外围设备的方法和设备
US9510083B2 (en) * 2014-03-14 2016-11-29 Apple Inc. Managing connections of a user device
US9392104B2 (en) * 2014-04-15 2016-07-12 Google Inc. Limiting user interaction with a computing device based on proximity of a user
US10289433B2 (en) * 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
EP2980726B1 (en) * 2014-07-29 2019-09-04 Samsung Electronics Co., Ltd Method and apparatus for sharing data
US10943455B2 (en) * 2014-08-14 2021-03-09 Joseph J. Bango System for geolocation awareness for voice activated digital assistants
US9614915B2 (en) * 2014-08-18 2017-04-04 Google Inc. Seamless peer to peer internet connectivity
US9872178B2 (en) * 2014-08-25 2018-01-16 Smart Technologies Ulc System and method for authentication in distributed computing environments
US20160241660A1 (en) * 2014-08-26 2016-08-18 Hoang Nhu Sensors and systems for iot and ifttt applications and related methods
US10085211B2 (en) * 2014-09-02 2018-09-25 Apple Inc. Communication of processor state information
US9812128B2 (en) * 2014-10-09 2017-11-07 Google Inc. Device leadership negotiation among voice interface devices
US10122723B1 (en) * 2014-11-06 2018-11-06 Google Llc Supervised contact list for user accounts
US10567477B2 (en) * 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9842062B2 (en) * 2015-05-31 2017-12-12 Apple Inc. Backup accessible by subset of related devices
US10186254B2 (en) * 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US9872150B2 (en) * 2015-07-28 2018-01-16 Microsoft Technology Licensing, Llc Inferring logical user locations
US20170126676A1 (en) * 2015-10-30 2017-05-04 Microsoft Technology Licensing, Llc Protection of Content Displayed on a Communal Device
US10857399B2 (en) * 2016-06-22 2020-12-08 Lucca Ventures, Inc. Patient respiratory mask with integrated microphone and method of patient communication utilizing the same
US10027616B2 (en) * 2016-07-18 2018-07-17 Plexus Meet, Inc. Proximity discovery system and method
CN106341459A (zh) * 2016-08-26 2017-01-18 刘翔 电子设备远程控制系统
CN106453032B (zh) 2016-08-30 2019-09-10 北京小米移动软件有限公司 信息推送方法及装置、系统
CN106534102A (zh) * 2016-10-31 2017-03-22 北京小米移动软件有限公司 设备访问的方法及装置、电子设备
US10524119B2 (en) * 2016-11-23 2019-12-31 Afero, Inc. Apparatus and method for sharing credentials in an internet of things (IoT) system
US20180204204A1 (en) * 2017-01-19 2018-07-19 Key 2 Mobile Llc System and Method for Location-Based Transaction
US10455418B2 (en) * 2017-04-27 2019-10-22 Afero, Inc. Securely providing a password using an internet of things (IOT) system
DK179496B1 (en) * 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US10970385B2 (en) * 2017-06-04 2021-04-06 Apple Inc. Multiple device credential sharing
US11182349B2 (en) * 2017-06-04 2021-11-23 Apple Inc. Synchronizing content
US11907990B2 (en) * 2017-09-28 2024-02-20 International Business Machines Corporation Desirability of product attributes
TWI719385B (zh) * 2019-01-11 2021-02-21 緯創資通股份有限公司 電子裝置及其語音指令辨識方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017131887A1 (en) * 2016-01-29 2017-08-03 Google Inc. Local device authentication
CN105959111A (zh) * 2016-07-01 2016-09-21 何钟柱 基于云计算和可信计算的信息安全大数据资源访问控制系统

Also Published As

Publication number Publication date
CN114630302A (zh) 2022-06-14
EP3679734A1 (en) 2020-07-15
US20190124049A1 (en) 2019-04-25
AU2023285970A1 (en) 2024-01-25
AU2018351962A1 (en) 2020-04-23
WO2019079015A1 (en) 2019-04-25
CN109698856A (zh) 2019-04-30
US20190122001A1 (en) 2019-04-25
EP3679735A1 (en) 2020-07-15
JP2020537793A (ja) 2020-12-24
KR102361376B1 (ko) 2022-02-10
KR102299239B1 (ko) 2021-09-06
AU2018351962B2 (en) 2021-11-04
AU2022200714A1 (en) 2022-02-24
KR20200052954A (ko) 2020-05-15
WO2019079017A1 (en) 2019-04-25
KR20200052953A (ko) 2020-05-15
JP7063990B2 (ja) 2022-05-09

Similar Documents

Publication Publication Date Title
CN109698856B (zh) 安全的设备到设备通信方法、系统
EP3841500B1 (en) Media intercom over a secure device to device communication channel
US11076007B2 (en) Multi-modal conversational intercom
US11070676B2 (en) Embedded audio passcode in ringtone to establish secure connection for arbitrary phone relay
US11102259B2 (en) Network system for content playback on multiple devices
CN112166591B (zh) 跨多个设备的数据同步
US9055077B2 (en) Device identity matching
US9977646B2 (en) Broadcast control and accrued history of media
US9298509B2 (en) Resource reservation from two or more resources effective to process a reservation request

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant