CN109313576A - 跨设备任务执行 - Google Patents

跨设备任务执行 Download PDF

Info

Publication number
CN109313576A
CN109313576A CN201780036991.0A CN201780036991A CN109313576A CN 109313576 A CN109313576 A CN 109313576A CN 201780036991 A CN201780036991 A CN 201780036991A CN 109313576 A CN109313576 A CN 109313576A
Authority
CN
China
Prior art keywords
task
equipment
instruction
user
processing component
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.)
Granted
Application number
CN201780036991.0A
Other languages
English (en)
Other versions
CN109313576B (zh
Inventor
R·古普塔
A·拉奥
S·斯里尼瓦桑
N·库马尔
J·乔治
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing 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
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN109313576A publication Critical patent/CN109313576A/zh
Application granted granted Critical
Publication of CN109313576B publication Critical patent/CN109313576B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Abstract

描述了用于跨设备任务执行的技术和工艺。在至少一些实施例中,一种系统包括处理组件,该处理组件被配置为:接收与联网设备组相关联的设备信息;接收指示用于执行一个或多个任务的一个或多个用户偏好的用户偏好信息;接收待执行任务的指示;至少部分基于用户偏好信息来选择与用户相关联的联网设备组中的指明的设备以执行任务;以及向指明的设备传输待执行任务。

Description

跨设备任务执行
背景技术
相当多的人生活在具有多个设备的环境中。通常,这些设备中的每个设备具有不同的能力。由于各种因素(包括处理能力、存储器可用性和存储器类型、软件可用性和类型、硬件可用性和类型、电源可用性、数据可用性和类型以及网络连接、以及其他可能的区别因素),可能会出现每个设备的能力的差异。为了执行各种任务,人可以针对特定任务选择适当的设备,定位并且激活适当的设备,执行特定任务,并且然后移动到不同的设备以执行不同的任务。尽管已经使用这样的传统技术实现了理想的结果,但是仍有改进的余地。
发明内容
在至少一些实施例中,一种用于跨设备任务执行的系统包括存储器;至少一个输入/输出组件;以及被操作地耦合到存储器和至少一个输入/输出组件的处理组件,该处理组件被配置为:接收关联于与用户相关联的联网设备组的设备信息;接收指示用于执行一个或多个任务的一个或多个用户偏好的用户偏好信息;接收待执行任务的指示;至少部分基于用户偏好信息来选择与用户相关联的联网设备组中的指明的设备以执行任务;以及向指明的设备传输待执行任务。
另外,在至少一些实现中,一种用于跨设备任务执行的方法包括:接收关联于与用户相关联的联网设备组的设备信息;接收指示用于执行一个或多个任务的一个或多个用户偏好的用户偏好信息;接收待执行任务的指示;至少部分基于用户偏好信息来选择与用户相关联的联网设备组中的指明的设备以执行任务;以及向指明的设备传输待执行任务。
在至少一些另外的实现中,一种用于跨设备任务执行的系统包括:用于接收关联于与用户相关联的网络设备组的设备信息的电路;用于接收指示用于执行一个或多个任务的一个或多个用户偏好的用户偏好信息的电路;用于接收待执行任务的指示的电路;用于确定要指明联网设备组中的哪个设备以执行任务的电路,包括:用于至少部分基于用户偏好信息来选择与用户相关联的联网设备组中的指明的设备以执行任务的电路;以及用于向指明的设备传输待执行任务的电路。
提供本发明内容是为了以简化的形式介绍一些概念,这些概念将在下面的具体实施方式中被进一步描述。本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也并不旨在用于帮助确定所要求保护的主题的范围。
附图说明
参考附图描述详细描述。在附图中,在不同附图中对相同附图标记的使用指示相似或相同的组件。
图1示出了用于跨设备任务执行的环境的实施例。
图2示出了用于跨设备任务执行的过程的实施例。
图3示出了用于跨设备任务执行的台式计算设备的实施例。
图4示出了用于跨设备任务执行的过程的另一实施例。
图5示出了用于跨设备任务执行的环境的另一实施例。
图6示出了用于跨设备任务执行的计算机系统的实施例。
具体实施方式
本公开描述了用于跨设备任务执行的技术和工艺。如下面更全面地描述的,根据本公开的用于跨设备任务执行的技术和工艺可以有利地使得用户能够创建能力池,从而使得用户的设备中的所有设备的所有能力都可以从设备组中的任何设备可访问。换言之,为了访问特定能力,用户不需要去往具有该特定能力的特定设备,而是可以从设备组中的任何设备访问特定能力。在至少一些实现中,在本文中被称为“个人助理”的软件应用被安装在用户的设备组中的每个设备上,以使得用户能够通过访问组内的任何设备来利用组内的所有设备的所有池化能力。
图1示出了根据本公开的用于跨设备任务执行的环境100的实施例。在这一实施例中,环境100包括移动设备110,移动设备110包括通过总线118被操作地耦合到存储器120的一个或多个处理组件112、一个或多个输入/输出(I/O)组件114和显示器116。电源122向移动设备110的组件提供电力,以允许移动设备110是便携式的。在图1中所示的实施例中,存储器120存储针对移动设备110提供一个或多个功能或能力的一个或多个应用124(例如,语音识别软件、地图绘制软件、病毒扫描软件等)、数据128(例如,联系人列表、照片、电子邮件、文本、即时消息等)和个人助理130。
在至少一些实施例中,移动设备110可以是电话或其他类似的便携式通信设备,并且个人助理130是从用户接受输入并且基于这样的输入针对用户执行任务或服务的软件应用。在至少一些实现中,个人助理130可以被配置有语音识别能力,从而使得用户可以向个人助理130提供口头输入(例如,经由I/O组件114),然而,在其他实现中,用户可以使用一种或多种传统的非语言输入技术(例如,键盘、鼠标、触摸屏等)向个人助理130提供输入。
更具体地,在至少一些实现中,个人助理130可以至少部分通过具有关于用户的一个或多个亲和力或偏好、用户的环境和用户的设备的信息来模仿人类助手,并且可以对用户做出建议,或者可以基于这样的信息做出关于一个或多个用户偏好的假定。例如,在至少一些实现中,个人助理130可以是市售的软件应用的版本或衍生物,诸如由Microsoft制作的CortanaTM、由Apple制作的Google公司的Google Now、Speaktoit公司的Speaktoit、由Quip公司制作的Quip或任何其他合适的个人助理应用。
图1中所示的移动设备110可以表示各种可能的设备类型,包括但不限于手持设备,诸如蜂窝电话、个人数据助理(PDA)、笔记本计算机、平板计算机(tablet computer)、板式计算机(slate computer)、膝上型计算机、智能手表或任何其他手持设备。然而,应当理解,设备110不限于手持设备,并且可以表示服务器、大型机、工作站、分布式计算设备(例如,分布式计算设备的控制组件)、更大的设备或系统的一部分、或任何其他合适类型的设备。在其他实施例中,设备110可以是电视、可穿戴设备、车辆(或车辆的一部分)、电器(或电器的一部分)、消费者产品或实际上任何其他合适的设备。
如图1中进一步所示,移动设备110可以直接地或间接地经由一个或多个网络140(例如,蜂窝网络、全球通信网络、局域网(LAN)、广域网(WAN)、有线或无线网络等)与一个或多个其他设备通信(例如,经由I/O组件114),上述其他设备包括例如平板设备150、移动计算设备160(例如,膝上型计算机、笔记本计算机等)、台式计算设备170、服务器180或任何其他合适的设备。被存储在平板设备150上的是在操作上适合于平板设备150的平板个人助理154的版本。类似地,在图1中所示的说明性实现中,膝上型设备160包括在操作上适合于膝上型设备160的膝上型个人助理162,并且台式计算设备170包括在操作上适合于台式计算设备170的台式个人助理172。在至少一些实现中。在各种个人助理130、152、162、172的版本和能力之间可能存在一个或多个差异,然而,在其他实现中,各种个人助理130、152、162、172之间可能没有差异。在图1中所示的实现中,服务器180包括操作地与各种联网设备110、150、160、170的各种个人助理130、152、162、172通信以执行一个或多个跨设备任务执行操作的任务控制器182,如下面被详细描述的。
应当领会到,可以经由一个或多个网络140与移动设备110通信的各种设备150、160、170、180通常具有可能由于各种因素而导致的不同能力,各种因素包括例如处理能力(例如,处理速度、工作负载等)、存储器可用性和存储器类型(例如,高速缓存、RAM等)、软件可用性和类型(例如,应用的功能、许可限制、兼容性等)、硬件可用性和类型(例如,外围设备等)、电源可用性(例如,恒定电源、电池等)、数据可用性和类型(例如,数据库、个人数据、业务数据、专有数据等)和网络连接(例如,带宽、有线或无线、信号强度等)和其他可能的区别因素。
为了说明联网设备110、150、160、170、180的一种类型的不同能力,在图1中所示的说明性实现中,设备150、160、170被示出为与不同的外围设备相关联。更具体地,平板设备150被操作地耦合到黑白打印机152,膝上型设备160被操作地耦合到相机162,并且台式计算设备170被操作地耦合到具有彩色打印、扫描和传真(facsimile)(或收发传真(faxing))能力的多用途设备172。当然,设备150、160、170可以具有与移动设备110(以及彼此)不同的其他能力,包括上述各种区别因素中的一个或多个区别因素(例如,处理能力、存储器、软件、硬件、电源、数据、网络连接等)。类似地,尽管服务器180未被描绘为具有附接的外围设备,但是应当领会到,服务器180还可以具有上述各种区别因素中的一个或多个区别因素(例如,处理能力、存储器、软件、硬件、电源、数据、网络连接等)。
在至少一些实现中,移动设备110(或其他设备150、160、170)的显示器116可以包括使得用户能够以“自然”方式与移动设备110交互而没有由诸如鼠标、键盘、遥控器等传统输入设备施加的人为约束的自然用户界面(NUI)的一个或多个方面。例如,在至少一些实施例中,NUI可以依赖于语音识别、触摸和手写笔识别、在显示器116上和与显示器116相邻的手势识别、空中手势(例如,手移动、挥动、点、按扣、点头、手指姿势等)、头部和眼睛(或凝视)跟踪、声音和语音、视觉、触摸、悬停(例如,在指定时间段内保持手指或触笔的位置接近界面的相关部分或其他位置等)、手势、机器智能(例如,模式识别、贝叶斯学习算法、归纳学习算法、推理算法等)、以及使用电场感测电极来感测大脑活动的技术(脑电图(EEG)技术和相关方法)来接收对移动设备110的各种输入。
图2示出了根据本公开的用于跨设备任务执行的过程200的实施例。通常,过程200可以由图1中描绘的服务器180托管的任务控制器182执行。然而,将领会到,在备选实现中,过程200可以由图1总所示的联网设备110、150、160、170、180的组中的一个或多个其他设备执行。
在图2中所示的实施例中,用于跨设备任务执行的过程200包括在202处接收关联于与用户相关联的联网设备组的设备信息。例如,在至少一些实现中,从联网设备组接收设备信息(在202处)可以包括服务器180的任务控制器182接收与环境100的联网设备110、150、160、170中的每个联网设备相关联的设备标识信息(例如,设备标识符、设备ID号、序列号等)、关于与各个联网设备110、150、160、170中的每个联网设备相关联的个人助理130、152、162、172的版本的版本信息、以及还有关于联网设备110、150、160、170中的每个联网设备的一个或多个能力的能力信息。例如,在至少一些实现中,由任务控制器182接收的设备信息(在202处)可以包括针对联网设备110、150、160、170中的一个或多个联网设备的设备能力信息,包括以下中的一项或多项:处理能力(例如,处理速度、工作负载等)、存储器可用性和存储器类型(例如,高速缓存、RAM等)、软件可用性和类型(例如,应用的功能、许可限制、兼容性等)、硬件可用性和类型(例如,外围设备等)、电源可用性(例如,恒定电源、电池等)、数据可用性和类型(例如,数据库、个人数据、业务数据、专有数据等)和网络连接(例如,带宽、有线或无线、信号强度等)和其他可能的能力。
由任务控制器182接收的设备信息中的一些或全部(在202处)可以被接收作为每个设备向任务控制器182的初始注册,诸如当每个设备110、150、160、170被供电或者连接到一个或多个网络140时,或者可以被周期性地提供(例如,每小时或每天的确认或更新),或者可以在临时的基础上提供,诸如当一个或多个能力以可感知的方式改变时(例如,添加或去除硬件,添加或去除存储器,网络连接的改变,等等),或按照任何合适的方式的组合。在至少一些实现中,托管任务控制器182的服务器180的一个或多个能力也可以由任务控制器182知道(或被提供给任务控制器182)是环境100的池化能力的一部分。备选地,服务器180可以仅托管任务控制器182以执行用于跨设备任务执行的一个或多个操作,如本文中所述,并且服务器180的一个或多个其他能力可能不可以其他方式用于跨设备任务执行。
如图2中进一步所示,用于跨设备任务执行的过程200还包括在204处接收指示用于执行一个或多个任务的一个或多个用户偏好的用户偏好信息。例如,在至少一些实现中,使用移动设备110的个人助理130,用户可以最初输入用户可能希望执行的一系列任务(例如,打印黑白打印输出,拍摄照片或视频,打印彩色打印输出,发送传真传输,等等),并且还可以指示他们对于采用设备110、150、160、170中的哪个设备以用于这样的任务的偏好(例如,平板设备150用于黑白打印,膝上型设备160用于拍摄图像或视频,台式计算机设备170用于彩色打印或收发传真,等等)。在至少一些实现中,个人助理130可以提供用于用户从其进行选择的可能任务的菜单、以及从其选择以建立用户偏好的可用和合适的联网设备150、160、170、180的列表。由用户提供的用户偏好信息然后可以由任务控制器182接收(在204处)并且被存储以用于将来参考。用户偏好信息也可以由设备的个人助理130存储在存储器120内(例如,在数据126内)以用于由个人助理130的将来参考。
继续参考图2,用于跨设备任务执行的过程200还包括在206处接收待执行任务的指示。更具体地,在至少一些实现中,接收待执行任务的指示(在206处)可以包括由服务器180托管的任务控制器182拨那个移动设备110的个人助理130接收针对特定任务的请求以及包括针对任务的执行所需要的任何输入参数的任务信息。例如,对于其中移动设备110的存储器120上的一个或多个应用124包括电子邮件消息收发应用的实施例,用户可以要求个人助理130打印接收的电子邮件消息的黑白副本。在至少一些实现中,个人助理130可以接收用户的请求以:执行特定任务(即,打印电子邮件消息的黑白副本),检查用户偏好信息(例如,被存储在数据126内)并且确定特定任务不需要在移动设备110上被执行,以及将用户的执行特定任务的请求传输给服务器180上的任务控制器182。任务控制器182然后从移动设备110接收待执行任务的指示(在206处)。
用于跨设备任务执行的过程200(图2)还包括在208处确定要指明联网设备组中的哪个设备以执行任务。在至少一些实现中,确定要指明哪个设备以执行任务(在208处)可以包括任务控制器182分析和解译待执行任务,诸如确定请求设备(例如,确定与移动设备110相关联的设备标识符已经请求电子邮件消息的黑白打印输出),访问用户偏好信息以确定应当指明联网设备150、160、170、180中的哪个联网设备以执行请求的任务(例如,用户偏好平板计算机150用于执行黑白打印任务),以及访问设备信息以确定针对优选或指明的设备的相关设备信息。更具体地,在至少一些实现中,访问设备信息以确定针对指明的设备的相关设备信息包括确定针对被指明执行任务的设备(例如,平板设备150)的设备标识符,确认指明的设备(例如,平板设备150)是否仍然具有执行请求的任务的能力(例如,黑白打印能力),并且确定将接收分配的任务的、在指明的设备上操作的个人助理(例如,平板设备150上的个人助理152)的相关版本。
在至少一些实现中,在208处确定要指明联网设备组中的哪个设备以执行任务可以包括确定用户偏好信息是否指示请求设备应当是指明的设备,并且选择请求设备作为指明的设备以执行任务。备选地,在至少一些实现中,在208处确定要指明联网设备组中的哪个设备以执行任务可以包括确定请求设备是否能够执行任务;如果用户偏好信息指示除了请求设备之外的其他设备以执行任务,则基于用户偏好信息选择指明的设备;并且如果用户偏好信息没有指示除了请求设备之外的其他设备以执行任务,则选择请求设备作为指明的设备以执行任务。
在至少一些其他实现中,如果用户偏好信息没有指定用户偏好哪个设备执行请求的任务,则确定要指明哪个设备以执行任务(在208处)可以包括分析各种联网设备150、160、170、180的能力以评估哪个(哪些)设备能够执行期望的任务。如果联网设备150、160、170、180中只有一个联网设备能够执行请求的任务,则该设备被指明以执行请求的任务。
如图2中进一步所示,用于跨设备任务执行的过程200还包括在210处准备向指明的设备传输待执行任务。在至少一些实现中,准备向指明的设备传输任务(在210处)可以包括如果必需则将从请求设备接收的待执行任务的指示(在206处)映射到适合于将执行任务的指明的设备(在208处确定)的形式。例如,参考上述说明性示例,服务器170的任务控制器172可以将从移动设备110的个人助理130接收的打印电子邮件的黑白副本的请求映射到适合于由平板设备150的个人助理152接收和理解(或解译)的形式。任务控制器182也可能必需将针对任务的执行所需要的任何信息(例如,在206处与任务请求一起被接收的输入参数)映射到适合于由平板设备150的个人助理152接收和理解(或解译)的形式。
接下来,用于跨设备任务执行的过程200还包括在212处向指明的设备传输待执行任务的指示。在至少一些实现中,待执行任务的指示的传输(在212处)包括传输与待执行任务相关联的任务标识符(例如,任务标识号、任务描述符等)以及针对任务的执行所需要的任何信息(例如,在206处与任务请求一起被接收的输入参数)。因此,参考上述说明性示例,服务器170的任务控制器172可以向平板设备150的个人助理152传输打印电子邮件消息的黑白副本的适当地映射的请求以及要被打印的电子邮件消息的适当地映射的版本,以及适当地标识请求的任务的任务标识符。
继续参考图2,用于跨设备任务执行的过程200还包括在214处接收由指明的设备执行的任务的结果的指示。在至少一些实现中,接收结果的指示(在214处)包括接收与任务相关联的任务标识符(例如,任务标识号、任务描述符等)以及接收由指明的设备执行的任务的一个或多个实际结果(例如,一个或多个计算、处理操作等),而在其他实现中,接收结果的指示(在214处)仅包括任务被成功地完成(或未被成功地完成)的指示。例如,在说明性示例中,在平板设备150引起在黑白打印机154上打印电子邮件消息之后,平板设备150的个人助理152可以向任务控制器182传输黑和白打印已经被成功地完成的指示。
用于跨设备任务执行的过程200(图2)还包括在216处准备传输由指明的设备执行的任务的结果。更具体地,在至少一些实现中,准备任务的结果(在216处)可以包括从任务标识符确定最初请求任务的执行的请求设备的设备标识符(在206处),并且然后(如果必需)将从指明的设备接收的任务结果的指示(在214处被接收)映射到适合于请求设备的个人助理接收和解译(或理解)的形式。例如,在上述说明性示例中,服务器170的任务控制器172可以将从平板设备150的个人助理152接收的电子邮件消息已经由黑白打印机154成功地打印的指示映射到适合于由移动设备110的个人助理130接收和理解(或解译)的形式。
如图2中进一步所示,用于跨设备任务执行的过程200还包括在218处向请求设备传输由指明的设备执行的任务的结果。如上所述,请求设备从与请求的任务相关联的设备标识符而被确定(在206处被接收)。例如,在上述说明性示例中,服务器170的任务控制器172可以向移动设备110的个人助理130传输电子邮件消息的黑白副本已经被成功地打印的指示。最后,过程200包括在220处结束或继续到其他操作。
应当领会到,与传统技术相比,如本文中公开的用于跨设备任务执行的技术和工艺可以提供实质的操作改进。例如,根据本公开的用于跨设备任务执行的技术和工艺可以有利地使得用户能够将用户的不同设备中的所有设备的能力池化到可以经由个人助理软件可操作地通信的可容易地访问的联网设备组中,从而允许用户从组的任何设备访问所有各种联网设备的所有不同能力,由此提供优于传统技术的改进的操作效率。关于打印电子邮件消息的黑白副本的上述示例,使用本文中公开的高效的技术和工艺,用户不需要将电子邮件消息转发到平板设备150,然后登录到平板设备150,激活电子邮件消息收发软件,接收电子邮件消息,并且然后录入打印电子邮件消息的命令。以这种方式,可以通过根据本公开的技术和工艺来实现处理效率的显著改进,降低的处理要求以及降低的功耗。这些优点可以进一步转化为处理器、显示器组件、电路、电池和联网设备的其他组件的较少磨损,由此延长这样的设备的使用寿命和可操作性。另外,通过允许对从任何一个特定设备对一组设备的能力的改进的访问,用户满意度可以被增加。
用于根据本公开的跨设备任务执行的技术和工艺不必限于上面参考图1至图2而被描述的特定实施例。在以下描述中,将描述用于跨设备任务执行的技术和工艺的附加实施例。应当领会到,本文中描述的实施例并非旨在穷举根据本公开的所有可能的实施例,并且可以基于本文中公开的主题来构思另外的实施例。例如,应当领会到,所描述的实施例的各种组件和方面中的至少一些可以被去除以创建另外的实施例,或者可以进行各种组合或重新排序以创建另外的实施例。在以下对另外的实施例的讨论中,可以使用共同的附图标记来指代上面介绍的元素,并且为了简洁起见,可以省略对先前介绍的元素的描述,使得可以将重点正确地放在这样的另外的实施例的新的或变化的方面。
例如,图3示出了可以用于跨设备任务执行的图1的台式计算设备170的实施例。在这一实现中,台式计算设备170包括通过总线318被操作地耦合到存储器320的一个或多个处理组件312、一个或多个输入/输出(I/O)组件314和显示器316。存储器320存储针对台式计算设备170提供一个或多个功能或能力的一个或多个应用324(例如,语音识别软件、电子邮件消息收发软件、文本消息收发软件等)和数据328(例如,联系人列表、照片、电子邮件、文本、即时消息等)。如上所述,台式计算设备170还包括适合于台式计算设备170的个人助理172。在图3中所示的实施例中,台式计算设备170还包括被配置为将书面文档从第一语言翻译成第二语言(例如,从法语到英语,从德语到泰卢固语,等等)的翻译应用328。
图4示出了根据本公开的用于跨设备任务执行的过程400的另一实施例。通常,过程400可以由图1中描绘的移动设备110执行。然而,应当领会到,在被下面实现中,过程400可以由图1中所示的联网设备110、150、160、170、180的组中的一个或多个其他设备执行。
在图4中所示的实施例中,用于跨设备任务执行的过程400包括在402处接收在第一设备处执行任务的命令。例如,参考图1,在至少一些实现中,在402处的接收在第一设备处执行任务的命令可以包括移动设备110的个人助理130从用户接收将文档从法语翻译成英语的请求。命令可以由个人助理130的语音识别部分、通过键入的输入、由来自可能的任务选项的菜单的一个或多个选择、或以任何合适的方式或方式的组合接收。
在404处,用于跨设备任务执行的过程400还包括在404处确定第一设备是否具有执行请求的任务的能力。例如,参考图1,确定(在404处)可以包括移动设备110确定被存储在存储器120中的应用124是否包括翻译应用。如果确定(在404处)第一设备具有执行请求的任务的能力,则过程400包括在406处在第一设备处执行请求的任务(例如,移动设备110执行文档从法语到英语的请求的翻译),并且然后在412处在第一设备上呈现请求的任务的结果(例如,在移动设备110的显示器226上显示文档的请求的英语翻译)。
备选地,如图4中进一步所示,如果确定(在404处)第一设备不具有执行请求的任务的能力,则过程400还包括在408处向跨设备任务执行控制器传输任务的指示以及请求设备的设备标识符。例如,在至少一些实现中,传输(在404处)可以包括移动设备110经由一个或多个网络140(图1)向服务器180的任务控制器182传输将文档从法语翻译成英语的请求以及文档和设备标识号。
服务器180的任务控制器182然后可以执行根据本公开的用于跨设备任务执行的过程,诸如上面参考图2描述的过程200(或其合适的一部分)以确定要分配联网设备150、160、170中的哪个联网设备以执行请求的任务。更具体地,在至少一些实现中,服务器180的任务控制器182可以确定台式计算设备170包括翻译应用328(图3),并且因此可以执行上述过程200的操作中的一个或多个操作以使得由台式计算设备170执行将文档从法语翻译成英语的请求的任务,并且可以经由一个或多个网络140向请求移动设备110提供回翻译应用328的结果。
再次参考图4,用于跨设备任务执行的过程400还包括在410处接收由另一设备执行的任务的结果的指示。例如,在至少一些实现中,接收(在410处)可以包括移动设备110经由一个或多个网络140从服务器180的任务控制器182接收回请求的翻译(例如,文档的英语翻译)的结果。
在412处,过程400还包括在第一设备上呈现请求的任务的结果。例如,呈现(在412处)可以包括文档的英语翻译被显示在移动设备110的显示器116上,或者被可听地播放在移动设备110的扬声器上,或者任何其他合适的呈现方法。最后,过程400在414处结束或继续到其他操作。因此,应当领会到,根据本公开的跨设备任务执行的技术和工艺的上述优点可以通过池化一组联网设备的硬件能力和软件功能两者而被实现。
图5示出了根据本公开的用于跨设备任务执行的环境500的另一实施例。在这一实施例中,环境500包括用户502操作电话504以执行跨设备任务执行操作。更具体地,在506处,用户502指示他们针对哪些任务要在哪些相关联的设备上执行、哪些信息被存储的偏好,作为任务定义的偏好(TDP)508。在至少一些实现中,TDP 508可以被存储在电话504上,而在备选实现中,TDP 508可以被存储在环境500的任何其他合适的设备(例如,图1的设备150、160、170、180中的一个或多个设备)上。另外,用户502与被安装在电话504上的个人助理510交互以在505处提供一个或多个任务以用于由环境500执行。
如图5中所示,在至少一些实现中,被安装在电话504上的个人助理510可以包括接收由用户502输入的任务(例如,使用语音识别的口头命令等)的查询理解引擎511。更具体地,在至少一些实现中,查询理解引擎511可以执行请求的任务的语音到文本转换(在505处),并且然后可以解译文本并且映射文本以确定对应的任务。具有这样的查询理解能力的个人助理510的一个说明性示例是从华盛顿州雷蒙德市的微软公司商业可获取的CortanaTM个人助理软件。
在一个或多个合适的时间,诸如当电话504被打开或连接(或重新连接)到网络时,个人助理510的实例在512处向用户的个人数据池(PDP)514注册。在至少一些实现中,PDP514存储关于与用户502相关联的多个设备的实例和能力的信息。在另外的实现中,PDP514可以存储与多个用户以及他们的相关联的设备相关联的信息。在至少一些实现中,在516处,个人数据池(PDP)514可以向任务设备偏好(TDP)508共享信息以促进本文中描述的一个或多个跨设备任务执行操作。
在图5中所示的实施例中,在从用户502接收到任务时,个人助理510可以在518处从用户的任务设备偏好(TDP)508接收(例如,拉取)信息以确定是否要使用电话504或用户的其他设备之一来执行任务。一旦个人助理510确定不需要在电话504上执行任务,则在520处,任务被传输给促进一个或多个跨设备任务执行操作的服务组件522。更具体地,在至少一些实现中,全向(omni)服务组件522可以分析从电话504进入(在520处)的任务(其可以包括与电话504相关联的设备标识符),在524处从任务设备偏好(TDP)508接收(例如,拉取)与用户502相关联的信息,并且在526处从个人数据池(PDP)514接收(例如,拉取)信息。使用这一信息,服务组件522可以确定要调用用户的联网设备组(例如,如图1中所示的设备150、160、170、180)的哪个个人助理(和相关联的设备)以执行请求的任务。
在至少一些实现中,如果任务设备偏好(TDP)508信息没有指定用户502偏好哪个设备执行请求的任务,则服务组件522可以通过分析各种联网设备(例如,图1的设备150、160、170、180)的能力以评估哪个(哪些)设备能够执行期望的任务来确定要指定哪个设备以执行任务。如果只有一个联网设备能够执行请求的任务,则该设备由通过服务组件522指定以执行所请求的任务。
在图5中所示的实施例中,服务组件522已经确定任务应当由个人计算机(PC)528执行。因此,在530处,服务组件522将任务提供给被安装在个人计算机528上的个人助理532。在至少一些实现中,服务组件522向个人计算机528提供任务标识符和请求设备的设备标识符(即,电话504的设备标识符)以及请求的任务(在530处)。此外,在至少一些实现中,服务组件522可以监测请求的任务的状态,从而使得服务组件522可以获取关于请求的任务的执行的一个或多个状态更新,以用于在请求电话504上呈现给用户502。
应当领会到,个人数据池(PDP)514和服务组件522可以按照各种合适的方式而被实现。例如,在至少一些实现中,个人数据池(PDP)514和服务组件522可以被安装在单个设备(例如,图1的服务器180)上,并且可以经由一个或多个网络(例如,图1的网络140)可用于电话504和个人计算机528。备选地,个人数据池(PDP)514可以被存储在第一设备上,并且服务组件522可以被安装在第二设备上,并且可以经由一个或多个网络彼此通信以及与电话504和个人计算机528通信。此外,在其他实现中,个人数据池(PDP)514和服务组件522可以被安装在也是可以执行一个或多个任务的一组联网设备的一部分的各种联网设备中的一个或多个联网设备上(例如,图5的个人计算机528、或图1的设备150、160、170等)。
再次参考图5,在至少一些实现中,个人助理532包括执行请求的任务(或使得个人计算机528执行请求的任务)的任务执行服务534。任务执行服务534还可以向服务组件522提供关于请求的任务的执行状态的状态信息(例如,排队等待执行、当前正在执行、完成百分比、已完成等)。如图5中所示,在536处,任务执行服务534向服务组件522提供状态信息和/或任务执行的结果。转而,在538处,服务组件522向电话504上的个人助理510提供状态信息和/或任务执行的结果。更具体地,在至少一些实现中,服务组件522可以从任务执行服务534接收请求的任务的结果(或关于请求的任务的状态信息),包括任务标识符和请求设备(即,电话504)的设备标识符,并且基于任务标识符和设备标识符,可以在538处向请求设备(即,电话504)提供结果(或状态信息)。在至少一些实现中,被安装在电话504上的个人助理510的响应处理服务540从服务组件522接收结果(或状态信息)(在538处),并且向用户502通知请求的任务的结果(或状态)(例如,通过结果的视觉显示,通过音频指示,通过振动,等等)。
通常,本文中公开的用于跨设备任务执行的技术和工艺可以在计算机代码或机器可用指令的一般上下文中被描述,包括由计算机或其他设备执行的计算机可执行指令,诸如程序模块。通常,包括例程、程序、对象、组件、数据结构等的程序模块指代执行特定任务或实现特定抽象数据类型的代码。本发明的各种实施例可以在各种系统配置中被实践,这些系统配置包括手持设备、消费电子产品、通用计算机、更专业的计算设备等。此外,本发明的各种实施例也可以在分布式计算环境(例如,基于云的计算系统)中被实践,其中任务由通过通信网络而被链接的远程处理设备执行。
此外,本文中公开的用于跨设备任务执行的技术和工艺可以在各种各样的设备和平台上被实现。例如,图6示出了可以用于跨设备任务执行的计算机系统600的实施例。如图6中所示,示例计算机系统环境600包括一个或多个处理器(或处理单元)602、专用电路682、存储器604和总线606,总线606操作地将包括存储器604的各种系统组件耦合到一个或多个处理器602和专用电路682(例如,专用集成电路(ASIC)、现场可编程门阵列(FPGA)等)。
总线606可以表示若干类型的总线结构中的任何一种或多种总线结构,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线架构中的任何总线架构的处理器或本地总线。在至少一些实现中,存储器604包括只读存储器(ROM)608和随机存取存储器(RAM)610。包含有助于诸如在启动期间在系统600内的元件之间传送信息的基本例程的基本输入/输出系统(BIOS)612被存储在ROM 608中。
示例系统600还包括用于从硬盘(未示出)读取和向其写入并且经由硬盘驱动器接口616(例如,SCSI、ATA、或其他类型的接口)而被连接到总线606的硬盘驱动614。用于从可移除磁盘620读取和向其写入的磁盘驱动618经由磁盘驱动接口622被连接到系统总线606。类似地,用于从可移除光盘626(诸如CD ROM、DVD或其他光学介质)读取或向其写入的光盘驱动624经由光学驱动接口628被连接到总线606。驱动以及它们的相关联的计算机可读介质可以向系统环境600提供计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。尽管本文中描述的系统环境600采用硬盘、可移除磁盘620和可移除光盘626,但是本领域技术人员应当领会到,也可以使用可以存储由计算机可访问的数据的其他类型的计算机可读介质,诸如磁带盒、闪存卡、数字视频磁盘、随机存取存储器(RAM)、只读存储器(ROM)等。
被包括在系统存储器600中的计算机可读介质可以是任何可用或合适的介质,包括易失性和非易失性介质以及可移除和不可移除介质,并且可以按照适合于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术而被实现。更具体地,合适的计算机可读介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、闪存或其他存储器技术、光盘ROM(CD-ROM)、数字通用磁盘(DVD)或其他光盘存储器、磁带盒、磁带、磁盘存储器或其他磁存储设备、或者可以用于存储所需信息的任何其他介质,包括纸张、穿孔卡等。如本文中使用的,术语“计算机可读介质”旨在不包括暂态信号。
如图6中进一步所示,很多程序模块可以被存储在存储器604(例如,ROM 608或RAM610)上,包括操作系统630、一个或多个应用程序632、其他程序模块634和程序数据636(例如,数据存储库620、图像数据、音频数据、三维对象模型等)。备选地,这些程序模块可以被存储在其他计算机可读介质上,包括硬盘、磁盘620或光盘626。为了说明的目的,程序和其他可执行程序组件(诸如操作系统630)在图6中被示出为离散的块,但是可以认识到,这样的程序和组件在各种时间驻留在系统环境600的不同存储组件中,并且可以由系统环境600的(多个)处理器602或专用电路682执行。
用户可以通过诸如键盘638和指点设备640等输入设备将命令和信息录入到系统环境600中。其他输入设备(未示出)可以包括麦克风、操纵杆、游戏手柄、卫星天线、扫描仪等。其他输入设备(诸如自然用户界面(NUI)设备669或用户界面625)包括或涉及自然用户界面(NUI)的一个或多个方面,这些方面使得用户能够以“自然的”方式与系统环境600交互而没有由诸如鼠标、键盘、遥控器等传统输入设备施加的人为约束。例如,在至少一些实施例中,NUI设备669可以依赖于语音识别、触摸和手写笔识别、一个或多个生物识别输入、屏幕上和屏幕附近的手势识别、空中手势、头部和眼睛(或注视)跟踪、声音和语音、视觉、触摸、悬停、手势、机器智能、以及用于使用电场感测电极(EEG和相关方法)接收输入来感测大脑活动的技术。另外,在至少一些实施例中,NUI可以涉及或并入触敏显示器、声音和语音识别、意图和目标理解、使用深度相机的运动手势检测(诸如立体或飞行时间相机系统、红外相机系统、RGB相机系统以及它们的组合)、使用加速度计/陀螺仪的运动手势检测、面部识别、3D显示、头部、眼睛和凝视跟踪、沉浸式增强现实和虚拟现实系统的一个或多个方面,所有这些都提供更自然的接口。
这些和其他输入设备通过被耦合到系统总线606的接口642或通信接口646(例如,视频适配器)而被连接到处理单元602和专用电路682。用户接口625(例如,显示器、监测器或任何其他用户接口设备)可以经由诸如视频适配器646的接口而被连接到总线606。此外,系统环境600还可以包括诸如扬声器和打印机的其他外围输出设备(未示出)。
系统环境600可以使用到一个或多个远程计算机(或服务器)658的逻辑连接在联网环境中操作。这样的远程计算机(或服务器)658可以是个人计算机、服务器、路由器、网络PC、对等设备或其他常见网络节点。图6中描绘的逻辑连接包括局域网(LAN)648和广域网(WAN)650中的一种或多种。这样的联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。在这一实施例中,系统环境600还包括一个或多个广播调谐器656。广播调谐器656可以直接地(例如,被直接馈送到调谐器656中的模拟或数字有线传输)或经由接收设备(例如,经由天线657、卫星天线等)接收广播信号。
当在LAN联网环境中被使用时,系统环境600可以通过网络接口(或适配器)652而被连接到局域网648。当在WAN联网环境中被使用时,系统环境600通常包括调制解调器654或用于通过广域网650(诸如因特网)建立通信的其他装置(例如,路由器)。可以是内部或外部的调制解调器654可以经由串行端口接口642而被连接到总线606。类似地,系统环境600可以使用被耦合到无线通信器657的无线接口655(例如,天线、卫星天线、传输器、接收器、收发器、感光器、光电二极管、发射器、接受器等)与一个或多个远程设备交换(发送或接收)无线信号653。
在联网环境中,相对于系统环境600或它的部分而被描述的程序模块可以被存储在存储器604中,或者被存储在远程存储器存储设备中。更具体地,如图6中进一步所示,专用组件680可以被存储在系统环境600的存储器604中。专用组件680可以使用软件、硬件、固件或它们的任何合适的组合而被实现。与系统环境600的其他组件(诸如处理单元602或专用电路682)协作,专用组件680可以可操作以执行上述技术的一个或多个实现(例如,图2的示例过程200、图4的过程400等)。
通常,在系统环境600上被执行的应用程序和程序模块可以包括用于执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。这些程序模块等可以作为本机代码而被执行,或者可以诸如在虚拟机或其他即时编译执行环境中被下载和执行。通常,程序模块的功能可以根据需要在各种实现中被组合或分布。
鉴于本文中公开的用于跨设备任务执行的技术和工艺的公开,下面概述了一些代表性实施例。应当理解,代表性实施例的以下概述并非旨在穷举所有可能的实施例,并且可以从本文中提供的技术和工艺的公开内容来容易地构思另外的实施例。
例如,在至少一些实现中,一种用于跨设备任务执行的系统包括:存储器;至少一个输入/输出组件;以及被操作地耦合到存储器和至少一个输入/输出组件的处理组件,处理组件被配置为执行被存储在存储器上的一个或多个指令以执行包括以下各项的操作:接收关联于与用户相关联的联网设备组的设备信息;接收指示用于执行一个或多个任务的一个或多个用户偏好的用户偏好信息;接收待执行任务的指示;确定要指明联网设备组中的哪个设备以执行任务,包括:至少部分基于用户偏好信息来选择与用户相关联的联网设备组中的指明的设备以执行任务;以及向指明的设备传输待执行任务。
在至少一些实现中,被配置为接收待执行任务的指示的处理组件包括:被配置为经由语音输入、键入的输入或来自可能的任务选项的菜单的选择中的至少一种来接收待执行任务的指示的处理组件。类似地,在至少一些实现中,被配置为接收待执行任务的指示的处理组件包括:被配置为经由个人助理来接收待执行任务的指示的处理组件。此外,在另外的实现中,被配置为接收待执行任务的指示的处理组件包括:被配置为经由个人助理来接收待执行任务的指示的处理组件,个人助理被配置为执行语音到文本转换并且解译文本以确定待执行任务。
此外,在至少一些实现中,被配置为接收关联于与用户相关联的联网设备组的设备信息的处理组件包括:被配置为接收关联于与用户相关联的联网设备组的设备信息的处理组件,设备信息包括与联网设备组中的多个设备相关联的个人助理实例信息。此外,在至少一些其他实现中,被配置为向指明的设备传输待执行任务的处理组件包括:被配置为将待执行任务映射到适合于被安装在指明的设备上的个人助理的实例的形式以及传输适合于被安装在指明的设备上的个人助理的实例的形式的处理组件。
在另外的实现中,被配置为向指明的设备传输待执行任务的处理组件还包括:被配置为传输以下各项的处理组件:与任务相关联的任务标识符;以及与请求设备相关联的设备标识符,待执行任务的指示从请求设备被接收。在至少一些实现中,处理组件还被配置为从指明的设备接收与待执行任务的状态相关联的状态信息,状态信息包括与任务相关联的任务标识符和与请求设备相关联的设备标识符。在其他实现中,处理组件还被配置为接收任务的一个或多个执行结果,一个或多个执行结果包括与任务相关联的任务标识符和与请求设备相关联的设备标识符。
此外,在至少一些实现中,处理组件还被配置为向请求设备传输与任务的执行相关联的状态信息或任务的执行结果中的至少一种,待执行任务的指示从请求设备被接收。在至少一些其他实现中,被配置为向从其接收到待执行任务的指示的请求设备传输与任务的执行相关联的状态信息或任务的执行结果中的至少一种的处理组件包括:被配置为将与任务的执行相关联的状态信息或任务的执行结果中的至少一种从适合于指明的设备上的个人助理的实例的形式映射到适合于被安装在请求设备上的个人助理的实例的形式的处理组件。
此外,在一些其他实现中,被配置为接收待执行任务的指示的处理组件包括:被配置为从与用户相关联的联网设备组中的请求设备接收待执行任务的指示的处理组件;并且其中被配置为至少部分基于用户偏好信息来选择与用户相关联的联网设备组中的指明的设备以执行任务的处理组件包括:被配置为执行以下各项的处理组件:确定用户偏好信息是否指示请求设备应当是指明的设备;以及选择请求设备作为指明的设备以执行任务。
在其他实现中,被配置为接收待执行任务的指示的处理组件包括:被配置为从与用户相关联的联网设备组中的请求设备接收待执行任务的指示的处理组件;并且其中被配置为至少部分基于用户偏好信息来选择与用户相关联的联网设备组中的指明的设备以执行任务的处理组件包括:被配置为执行以下各项的处理组件:确定请求设备是否能够执行任务;如果用户偏好信息指示除了请求设备之外的其他设备以执行任务,则基于用户偏好信息来选择指明的设备;以及如果用户偏好信息没有指示除了请求设备之外的其他设备以执行任务,则选择请求设备作为指明的设备以执行任务。
此外,在至少一些实现中,一种用于跨设备任务执行的方法包括:接收关联于与用户相关联的联网设备组的设备信息;接收指示用于执行一个或多个任务的一个或多个用户偏好的用户偏好信息;至少部分基于用户偏好信息来选择与用户相关联的联网设备组中的指明的设备以执行任务;以及向指明的设备传输待执行任务。
在至少一些其他实现中,接收待执行任务的指示包括:经由个人助理接收待执行任务的口头指示;执行口头指示到文本指示的语音到文本转换;以及分析文本指示以确定待执行任务。
在其他实现中,接收关联于与用户相关联的联网设备组的设备信息包括:接收与联网设备组中的多个设备相关联的个人助理实例信息。在其他实现中,向指明的设备传输待执行任务包括:将待执行任务映射到适合于被安装在指明的设备上的个人助理的实例的形式;以及传输适用于被安装在指明的设备上的个人助理的实例的形式。
此外,在其他实现中,其中接收待执行任务的指示包括:从与用户相关联的联网设备组中的请求设备接收指示;并且其中至少部分基于用户偏好信息来选择与用户相关联的联网设备组中的指明的设备以执行任务包括:确定用户偏好信息是否指示请求设备应当是指明的设备;以及选择请求设备作为指明的设备以执行任务。在另外的实现中,其中接收待执行任务的指示包括从与用户相关联的联网设备组中的请求设备接收指示;并且其中至少部分基于用户偏好信息来选择与用户相关联的联网设备组中的指明的设备以执行任务包括:确定请求设备是否能够执行任务;如果用户偏好信息指示除了请求设备之外的其他设备以执行任务,则基于用户偏好信息来选择指明的设备;以及如果用户偏好信息没有指示除了请求设备之外的其他设备以执行任务,则选择请求设备作为指明的设备以执行任务。
此外,在至少一些实现中,一种用于跨设备任务执行的系统包括:用于接收关联于与用户相关联的联网设备组的设备信息的电路;用于接收指示用于执行一个或多个任务的一个或多个用户偏好的用户偏好信息的电路;用于接收待执行任务的指示的电路;用于确定要指定联网设备组中的哪个设备以执行任务的电路,包括:用于至少部分基于用户偏好信息来选择与用户相关联的联网设备组中的指明的设备以执行任务的电路;以及用于向指明的设备传输待执行任务的电路。结论
本领域技术人员将认识到,本文中公开的实施例的一些方面可以在标准集成电路中被实现,并且还可以被实现为在一个或多个计算机上运行的一个或多个计算机程序,并且还可以被实现为在一个或多个处理器上运行的一个或多个软件程序,并且还可以被实现为固件,以及它们的几乎任何组合。将进一步理解,本领域技术人员可以根据本公开的教导和说明来设计电路和/或编写用于软件和/或固件的代码。
前面的详细描述通过使用框图、流程图和/或示例阐述了设备和/或过程的各种实施例。在这样的框图、流程图和/或示例包含一个或多个功能和/或操作的情况下,本领域技术人员将理解,这样的框图、流程图或示例内的每个功能和/或操作可以单独地和/或共同地通过各种硬件、软件、固件或其实际上的任何组合而被实现。应当领会到,上述技术和工艺的实施例并非穷举被认为在本公开的范围内的所有可能实施例,并且可以基于本文中公开的主题构思附加的实施例。例如,在备选实施例中,可以重新布置、重新排序、修改或甚至省略上述技术和工艺的一个或多个元件或组件,以提供仍然被认为在本公开的范围内的另外的实施例。
备选地或附加地,本文中描述的技术和工艺可以至少部分通过一个或多个硬件逻辑组件而被执行。例如而非限制,可以使用的说明性类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯上系统(SOC)、复杂可编程逻辑器件(CPLD)等。然而,本领域技术人员将认识到,本文中公开的实施例的一些方面的全部或部分可以等效地在标准集成电路中被实现,被实现为在一个或多个计算机上运行的一个或多个计算机程序(例如,在一个或多个计算机系统上运行的一个或多个程序),被实现为在一个或多个处理器上运行的一个或多个程序(例如,在一个或多个微处理器上运行的一个或多个程序),被实现为固件,或者被实现为实际上它们的任何组合,并且鉴于本公开内容,设计电路和/或编写用于软件和/或固件的代码将在本领域技术人员的技术范围内。
尽管用结构特征和/或动作特定的语言描述了本主题,但是应当理解,所附权利要求书中定义的主题不必限于所描述的具体特征或动作。相反,上面描述的具体特征和动作作为实现权利要求的示例而被公开,并且其他等同特征和动作旨在落入权利要求的范围内。上面描述的各种实施例和实现仅作为说明而被提供,而不应当被解释为限制可以在不脱离本公开的精神和范围的情况下对上述实施例和实现进行的各种修改和改变。

Claims (15)

1.一种用于跨设备任务执行的系统,包括:
存储器;
至少一个输入/输出组件;以及
处理组件,所述处理组件被操作地耦合到所述存储器和所述至少一个输入/输出组件,所述处理组件被配置为执行被存储在所述存储器上的一个或多个指令以执行操作,所述操作包括:
接收关联于与用户相关联的联网设备组的设备信息;
接收指示用于执行一个或多个任务的一个或多个用户偏好的用户偏好信息;
接收待执行任务的指示;
至少部分基于所述用户偏好信息来选择与所述用户相关联的所述联网设备组中的指明的设备以执行所述任务;以及
向所述指明的设备传输所述待执行任务。
2.根据权利要求1所述的系统,其中被配置为接收待执行任务的指示的所述处理组件包括:
被配置为经由语音输入、键入输入或来自可能的任务选项的菜单的选择中的至少一种来接收待执行任务的指示的处理组件。
3.根据权利要求1至2所述的系统,其中被配置为接收待执行任务的指示的所述处理组件包括:
被配置为经由个人助理来接收待执行任务的指示的处理组件。
4.根据权利要求1至3所述的系统,其中被配置为接收待执行任务的指示的所述处理组件包括:
被配置为经由个人助理来接收待执行任务的指示的处理组件,所述个人助理被配置为执行语音到文本转换,并且解译所述文本以确定所述待执行任务。
5.根据权利要求4所述的系统,其中被配置为接收关联于与用户相关联的联网设备组的设备信息的所述处理组件包括:
被配置为接收关联于与用户相关联的联网设备组的设备信息的处理组件,所述设备信息包括与所述联网设备组中的多个设备相关联的个人助理实例信息。
6.根据权利要求5所述的系统,其中被配置为向所述指明的设备传输所述待执行任务的所述处理组件包括:
被配置为将所述待执行任务映射到适合于被安装在所述指明的设备上的个人助理的实例的形式、并且传输适合于被安装在所述指明的设备上的个人助理的所述实例的形式的处理组件。
7.根据权利要求1至6所述的系统,其中被配置为向所述指明的设备传输所述待执行任务的所述处理组件还包括:
被配置为传输以下各项的处理组件:
与所述任务相关联的任务标识符;以及
与请求设备相关联的设备标识符,所述待执行任务的所述指示从所述请求设备被接收。
8.根据权利要求7所述的系统,其中所述处理组件还被配置为从所述指明的设备接收与所述待执行任务的状态相关联的状态信息,所述状态信息包括与所述任务相关联的所述任务标识符和与所述请求设备相关联的所述设备标识符。
9.根据权利要求7所述的系统,其中所述处理组件还被配置为接收所述任务的一个或多个执行结果,所述一个或多个执行结果包括与所述任务相关联的所述任务标识符和与所述请求设备相关联的所述设备标识符。
10.根据权利要求1至9所述的系统,其中所述处理组件还被配置为向请求设备传输与所述任务的执行相关联的状态信息或所述任务的执行结果中的至少一种,所述待执行任务的所述指示从所述请求设备被接收。
11.根据权利要求1至10所述的系统,其中被配置为向所述待执行任务的所述指示从其被接收的请求设备传输与所述任务的执行相关联的状态信息或所述任务的执行结果中的至少一种的所述处理组件包括:
被配置为将与所述任务的执行相关联的状态信息或所述任务的执行结果中的至少一种从适合于所述指明的设备上的个人助理的实例的形式映射到适合于被安装在所述请求设备上的个人助理的实例的形式的处理组件。
12.根据权利要求1至11所述的系统,其中被配置为接收待执行任务的指示的所述处理组件包括被配置为从与所述用户相关联的所述联网设备组中的请求设备接收待执行任务的指示的处理组件;
并且其中被配置为至少部分基于所述用户偏好信息来选择与所述用户相关联的所述联网设备组中的指明的设备以执行所述任务的所述处理组件包括:
被配置为执行以下各项的处理组件:
确定所述用户偏好信息是否指示所述请求设备应当是所述指明的设备;以及
选择所述请求设备作为所述指明的设备以执行所述任务。
13.根据权利要求1至12所述的系统,其中被配置为接收待执行任务的指示的所述处理组件包括被配置为从与所述用户相关联的所述联网设备组中的请求设备接收待执行任务的指示的处理组件;
并且其中被配置为至少部分基于所述用户偏好信息来选择与所述用户相关联的所述联网设备组中的指明的设备以执行所述任务的所述处理组件包括:
被配置为执行以下各项的处理组件:
确定所述请求设备是否能够执行所述任务;如果所述用户偏好信息指示除了所述请求设备之外的不同的设备来执行所述任务,则基于所述用户偏好信息来选择所述指明的设备;以及
如果所述用户偏好信息未指示除了所述请求设备之外的所述不同的设备来执行所述任务,则选择所述请求设备作为所述指明的设备以执行所述任务。
14.一种用于跨设备任务执行的方法,包括:
接收关联于与用户相关联的联网设备组的设备信息;
接收指示用于执行一个或多个任务的一个或多个用户偏好的用户偏好信息;
接收待执行任务的指示;
至少部分基于所述用户偏好信息来选择与所述用户相关联的所述联网设备组中的指明的设备以执行所述任务;以及
向所述指明的设备传输所述待执行任务。
15.根据权利要求14所述的方法,其中接收待执行任务的指示包括:
经由个人助理接收待执行任务的口头指示;
执行所述口头指示到文本指示的语音到文本转换;以及
分析所述文本指示以确定所述待执行任务。
CN201780036991.0A 2016-06-14 2017-06-07 跨设备任务执行 Active CN109313576B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/182,308 2016-06-14
US15/182,308 US10261830B2 (en) 2016-06-14 2016-06-14 Cross-device task execution
PCT/US2017/036245 WO2017218246A1 (en) 2016-06-14 2017-06-07 Cross-device task execution

Publications (2)

Publication Number Publication Date
CN109313576A true CN109313576A (zh) 2019-02-05
CN109313576B CN109313576B (zh) 2021-09-24

Family

ID=59091581

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780036991.0A Active CN109313576B (zh) 2016-06-14 2017-06-07 跨设备任务执行

Country Status (4)

Country Link
US (1) US10261830B2 (zh)
EP (1) EP3469483A1 (zh)
CN (1) CN109313576B (zh)
WO (1) WO2017218246A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021102924A1 (en) * 2019-11-29 2021-06-03 Bayerische Motoren Werke Aktiengesellschaft Personality-based intelligent personal assistant system

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
CN104969289B (zh) 2013-02-07 2021-05-28 苹果公司 数字助理的语音触发器
US20140365296A1 (en) * 2013-06-07 2014-12-11 Google Inc. Cross-device conversion estimates
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
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
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
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
US10108458B2 (en) * 2017-02-28 2018-10-23 Huawei Technologies Canada Co., Ltd. System and method for scheduling jobs in distributed datacenters
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
US10931724B2 (en) * 2017-07-18 2021-02-23 NewVoiceMedia Ltd. System and method for integrated virtual assistant-enhanced customer service
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
CN110798829B (zh) 2018-08-01 2021-08-24 维沃移动通信有限公司 能力管理方法及通信设备
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11438435B2 (en) * 2019-03-01 2022-09-06 Microsoft Technology Licensing, Llc User interaction and task management using multiple devices
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
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
KR20210016815A (ko) 2019-08-05 2021-02-17 삼성전자주식회사 복수의 지능형 에이전트를 관리하는 전자 장치 및 그의 동작 방법
US11721336B1 (en) * 2019-11-22 2023-08-08 Messageloud Inc. Messaging system for a virtual assistant
KR20210096341A (ko) * 2020-01-28 2021-08-05 엘지전자 주식회사 다수의 음성 인식 디바이스들을 제어하기 위한 장치, 시스템 및 제어 방법
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
US11410192B2 (en) * 2020-08-27 2022-08-09 Google Llc Group action fulfillment across multiple user devices
US11749284B2 (en) * 2020-11-13 2023-09-05 Google Llc Dynamically adapting on-device models, of grouped assistant devices, for cooperative processing of assistant requests
CN112258086A (zh) * 2020-11-13 2021-01-22 Oppo广东移动通信有限公司 跨设备任务接力方法、装置、云平台及存储介质
CN113838463A (zh) * 2021-09-16 2021-12-24 Oppo广东移动通信有限公司 信息传输方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7260596B1 (en) * 1999-09-08 2007-08-21 Sony United Kingdom Limited Distributed service provider
CN102461337A (zh) * 2009-06-09 2012-05-16 皇家飞利浦电子股份有限公司 用于自动获取和修改适用于多个可控照明网络的个人偏好的系统和装置
CN102508716A (zh) * 2011-09-29 2012-06-20 用友软件股份有限公司 任务控制装置和任务控制方法
CN102567086A (zh) * 2010-12-30 2012-07-11 中国移动通信集团公司 一种任务调度的方法、设备和系统
US20150256631A1 (en) * 2014-03-04 2015-09-10 Google Inc. Dynamically Shifting Map-Related Tasks
CN105324754A (zh) * 2013-06-03 2016-02-10 微软技术许可有限责任公司 跨设备的任务继续
CN105493070A (zh) * 2013-09-27 2016-04-13 迈克菲股份有限公司 用于高效数据共享的任务上下文架构

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983200A (en) 1996-10-09 1999-11-09 Slotznick; Benjamin Intelligent agent for executing delegated tasks
US6748361B1 (en) 1999-12-14 2004-06-08 International Business Machines Corporation Personal speech assistant supporting a dialog manager
US8561069B2 (en) 2002-12-19 2013-10-15 Fujitsu Limited Task computing
JP2008503011A (ja) 2004-06-08 2008-01-31 ダートデバイセズ コーポレーション ユニバーサルデバイスインタオペラビリティプラットフォームのためのデバイスチームリクルートメントおよびコンテンツレンディションのアーキテクチャ装置および方法
US8146000B1 (en) 2005-10-07 2012-03-27 Goodwell Technologies, Inc. Integrated transactional workflows distributed across multiple contact centers
US20110029658A1 (en) 2009-07-24 2011-02-03 Theodore Werth System and methods for providing a multi-device, multi-service platform via a client agent
US8527549B2 (en) 2010-02-22 2013-09-03 Sookasa Inc. Cloud based operating and virtual file system
US9529635B2 (en) 2011-10-24 2016-12-27 Plumchoice, Inc. Systems and methods for configuring and launching automated services to a remote device
US9123345B2 (en) 2013-03-14 2015-09-01 Honda Motor Co., Ltd. Voice interface systems and methods
US9836271B2 (en) * 2013-07-17 2017-12-05 Booktrack Holdings Limited Delivery of synchronised soundtracks for electronic media content
US10796693B2 (en) * 2015-12-09 2020-10-06 Lenovo (Singapore) Pte. Ltd. Modifying input based on determined characteristics

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7260596B1 (en) * 1999-09-08 2007-08-21 Sony United Kingdom Limited Distributed service provider
CN102461337A (zh) * 2009-06-09 2012-05-16 皇家飞利浦电子股份有限公司 用于自动获取和修改适用于多个可控照明网络的个人偏好的系统和装置
CN102567086A (zh) * 2010-12-30 2012-07-11 中国移动通信集团公司 一种任务调度的方法、设备和系统
CN102508716A (zh) * 2011-09-29 2012-06-20 用友软件股份有限公司 任务控制装置和任务控制方法
CN105324754A (zh) * 2013-06-03 2016-02-10 微软技术许可有限责任公司 跨设备的任务继续
CN105493070A (zh) * 2013-09-27 2016-04-13 迈克菲股份有限公司 用于高效数据共享的任务上下文架构
US20150256631A1 (en) * 2014-03-04 2015-09-10 Google Inc. Dynamically Shifting Map-Related Tasks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021102924A1 (en) * 2019-11-29 2021-06-03 Bayerische Motoren Werke Aktiengesellschaft Personality-based intelligent personal assistant system

Also Published As

Publication number Publication date
CN109313576B (zh) 2021-09-24
US20170357534A1 (en) 2017-12-14
EP3469483A1 (en) 2019-04-17
US10261830B2 (en) 2019-04-16
WO2017218246A1 (en) 2017-12-21

Similar Documents

Publication Publication Date Title
CN109313576A (zh) 跨设备任务执行
EP3821330B1 (en) Electronic device and method for generating short cut of quick command
CN102246116B (zh) 界面适配系统
CA2897854C (en) System and method for authentication in distributed computing environments
US20160179335A1 (en) System and method for managing multiuser tools
US20230274513A1 (en) Content creation in augmented reality environment
US20030046401A1 (en) Dynamically determing appropriate computer user interfaces
CN106940692A (zh) 以对话方式引导与电子表单的交互的交互式电子表单工作流助手
EP2940556A1 (en) Command displaying method and command displaying device
CN109313534A (zh) 智能虚拟键盘
KR20180096183A (ko) 다국어 처리를 수행하는 인공 지능 시스템의 제어 방법
CN105320404A (zh) 用于执行功能的设备和方法
CN1550980A (zh) 对象层次结构内对象创建的系统和方法
CN108141459A (zh) 在不同设备生态系统之间映射用户标识符
CN102681870A (zh) 在登录时自动执行动作
CN107430836A (zh) 向电子纸显示设备提供内容
CN106020434A (zh) 人机接口设备输入融合的方法、设备及产品
CN112182343A (zh) 一种在线学习交互方法、装置、设备和存储介质
US20190373118A1 (en) Information processing apparatus and non-transitory computer readable medium
Genco et al. Pervasive systems and ubiquitous computing
CN110537164A (zh) 用于内容创建应用的增强的上墨能力
CN108712590A (zh) 共享终端、通信系统、通信方法以及记录介质
US11408749B2 (en) Personal navigation system haptic device
KR20210117361A (ko) 이동단말기 및 그 제어 방법
JP2021108010A (ja) 情報処理装置、情報処理装置の制御方法、学習モデルの生成方法、およびプログラム

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