基于对等的设备组动作的制作方法

文档序号:11142916阅读:390来源:国知局
基于对等的设备组动作的制造方法与工艺

在计算领域内,许多方案涉及用户操作的设备组,以及设备组中的至少一个设备执行动作的请求。作为第一示例,用户可以使用各种便携式和可佩戴设备,如移动电话、平板设备和头戴式显示器,并且消息传递服务可以请求设备组向用户呈现消息、或者参与与另一用户的通信会话的邀请,诸如进入的语音通话。作为第二示例,用户可以请求在设备中的一个或多个设备上的媒体的呈现,诸如音频记录的播放。作为第三示例,用户可以在设备上生成一些数据,诸如利用照相机拍摄照片,该照片可以存储在设备组中的一个或多个设备上。



技术实现要素:

提供该发明内容以便以简化的形式来引入下面的具体实施方式中进一步描述的概念的选择。该发明内容不旨在确定所要求保护的主题的关键特征或主要特征,也不旨在用于限定所要求保护的主题的范围。

在包括上文提供的那些在内的各计算方案中,通过设备组中的设备执行动作可以利用多种方式来实现。作为第一个这样的示例,针对用户的进入的消息或通信会话邀请可以发送给全部设备,并且接收到该消息的全部设备可以将其呈现给用户(例如,在每个设备上的弹出式通知)。然而,该技术会导致在各种设备上向用户的冗余呈现,这可能导致激惹用户。另外,在一些方案中,消息的呈现可能不适当(例如,当用户正参加会议时,音频能力设备呈现音频警告),消息的呈现可能不能应用(例如,涉及图片的消息,由不能显示图片的设备如耳机呈现),和/或消息的呈现可能是危险的(例如,移动电话向正在操作车辆的用户呈现消息)。

作为第二个此类示例,用户可以与各种设备交互,并且可以指示待于其上执行相应的动作的特定设备。例如,用户可以请求不仅呈现诸如音乐的媒体,而且可以选择渲染该媒体的期望设备,诸如提交具体地通过头戴式耳机或者具体地通过平板设备的扬声器播放音乐的请求。然而,依赖于对待于其上执行动作的设备的明确的用户选择对于用户而言会变得繁重,尤其是在这些动作频繁进行的情况下。

作为第三此类示例,在集中化消息分布模型中,被通知了每个设备的状况的服务器可以评估执行动作的选项,可以从设备组中选择特定设备,并且可以命令该设备执行该动作。然而,该集中化取决于服务器具有关于动作可以在其上执行的每个设备的状况的最新信息。该通知可能是不高效的(例如,将频繁的状况更新从设备提供给服务器,甚至在未请求执行这些动作的情况下)和/或不精确的(例如,设备状况可能变化得比服务器被通知更快,因而服务器基于过时的信息来选择设备)。而且,如果服务器不能访问(例如,当服务器典型地通过互联网被访问、但是其暂时对于个域设备不能访问时),设备组变得不能执行任何此类动作。

本文呈现的是用于使得设备组中的设备能够执行动作的技术。根据这些技术,在从请求设备接收到向设备组广播且规定待执行动作的动作邀请时,向请求设备发送表明所述第一设备执行该动作的适用性的适用性报告;以及在从所述请求设备且响应于该适用性报告而接收到执行动作的动作请求时,代表请求设备执行该动作。该技术还可以包括:在从本地应用接收到执行第二动作的请求时,向设备组广播规定第二动作的动作邀请;以及在从设备组中的至少一个回应设备接收表明回应设备执行第二动作的适用性的适用性报告时,评估相应的回应设备的相应的适用性报告以标识选择的设备,以及向所选择的设备发送代表第一设备执行动作的第二动作请求。通过该方式,设备组的设备可以互操作以根据本文呈现的技术来实现动作的执行。

为了实现上述目的以及相关的目的,下面的说明书和附图阐述了一些示例性的方面和实现方式。这些指示了可以采用一个或多个方面的各种方式中的仅仅几个。本公开的其它方面、优点和新颖特征将根据以下结合附图考虑的具体实施方式而变得显而易见。

附图说明

图1是以向设备组的用户呈现消息为特征的各方案的图示说明。

图2是根据本文呈现的技术的以设备组执行动作为特征的示例性的方案的图示说明。

图3是根据本文呈现的技术的用于配置设备组的设备来执行动作的示例性的方法的图示说明。

图4是根据本文呈现的技术的包括用于与执行动作的设备组交互的示例性的系统的示例性的设备的图示说明。

图5是存储有被配置为具体实施本文所阐述的一个或多个规定的处理器可执行指令的示例性的存储器设备的图示说明。

图6是可以在其中使用本文提供的技术的示例性的设备的图示说明。

图7是根据本文呈现的技术的以考虑一组适用性报告而执行动作的设备的选择为特征的示例性的方案的图示说明。

图8是根据本文呈现的技术的以执行涉及第二设备的参与的动作的设备的选择为特征的示例性的方案的图示说明。

图9是根据本文呈现的技术的以考虑一组适用性报告而执行动作的设备的另一选择为特征的示例性的方案的图示说明。

图10是根据本文呈现的技术的以考虑一组适用性报告而执行动作的设备的第三选择为特征的示例性的方案的图示说明。

图11是示例性的计算环境的图示说明,其中可以实现本文阐述的规定中的一个或多个。

具体实施方式

现在将参考附图来描述要求保护的主题,其中相似的附图标记在全文用来指代相似的元素。在下面的说明书中,为了说明的目的,阐述了大量具体的细节以便提供对要求保护的主题的透彻理解。然而,显然,所要求保护的主题可以在没有这些具体细节的情况下实施。在其它实例中,为了利于对所要求保护的主题的描述,以框图形式示出了结构和设备。

A.介绍

图1呈现了用于使设备组102代表用户100执行动作的示例性的方案的图示说明。在这些方案中,动作包括:呈现消息106,诸如短消息服务(SMS)文本消息;多媒体消息传递服务(MMS)图片消息;媒体记录,诸如语音邮件消息或视频;电子邮件消息;或者通过实时或近实时聊天服务的聊天消息。设备组102可以包括用户100在各种上下文频繁地使用的一组各类设备104,诸如移动电话、工作站以及掌上型或平板形状因子设备。虽然没有描绘,设备组102还可以包括用户100所使用的其它设备104,诸如便携式媒体播放器;家庭媒体系统;便携式或固定式游戏控制台;可佩戴设备,诸如腕式手表、耳机或护目镜;导航设备,诸如全球定位系统(GPS)接收机;和/或诸如车辆的用具。

在第一示例性的方案112中,设备组102中的每个设备104接收消息106,并且试图向用户100呈现消息106。例如,文本消息可以经由简单消息服务递送给每个设备104,并且每个设备104可以将消息106呈现给用户100。虽然从多个设备104广播该消息106可以确保用户100接收到消息,但是多个设备104冗余呈现消息106会激惹用户100。例如,用户100可能频繁地使用移动电话和工作站,并且可能立即从两个设备104接收消息106,但是可能仅偶尔使用平板形状因子设备104,并且可能在几天后经由平板设备104接收到消息106的第三副本。冗余呈现的激惹会随着设备组102中的设备106的数量成比例地增长。作为示例,在建筑物内可能提供了一组电话,并且进入的呼叫导致全部电话响铃,即使呼叫是想要针对位于特定电话附近的用户100的,以及即使用户100甚至没有在该建筑物内。

在第二示例性的方案114中,服务器108可以持续地或者周期性地跟踪设备组102的设备104的状况。在接收到待发送给用户100的消息106时,服务器108可以基于每个设备104的状况而执行特定设备104的选择110,并且可以将消息106发送到选定设备104以便呈现给用户100。虽然该第二示例性的方案114可以减少向用户100冗余呈现消息106,但是该体系结构会展现出显著的低效。作为第一示例,设备104可能不得不使服务器108频繁地被通知状况,即使消息106是不频繁的,因为服务器108在没有关于每个设备104的状况的比较当前的信息的情况下无法执行选择110。然而,对服务器108的这样的通知可能减少每个设备104的可用电力。相反,如果设备104未能保持服务器108当前被通知有每个设备104的状况,则服务器108可能在接收到消息106时执行设备104的不期望的选择110;例如,服务器108可能考虑了过时的信息而做出选择110,并且可能丢失了使消息106由当前与用户100通信的设备104呈现的机会。

可以使用其它示例性的方案来使设备组102能够执行动作。例如,用户100可以明确地规定哪个设备104用于执行特定类型的动作。例如,用户100可以在想要在设备104上接收特定类型的消息(诸如电子邮件消息)时明确地请求在特定设备104上的应用的执行。因此,设备组102可以仅通过选定设备104向用户100呈现消息106。然而,对于明确的用户选择的依赖会迅速变得繁重(例如,如果设备组102频繁地执行动作,和/或如果用户100由于频繁地为特定动作指定设备104而变得疲惫)。另外,在一些方案中,用户100可能忘记选择特定设备104(例如,忘记将移动电话置于飞行或隐私模式,从而使得移动电话在用户100正在不适当的情形中例如参加会议的同时响铃)。一些方案还可能与用户选择不兼容;例如,用户100可能指定,仅音频耳机设备是用户100的主接口,但是耳机设备无法通过视觉的基于多媒体的消息(例如,MMS文本消息)来为用户100渲染特定的图像。另外地,在一些方案中,向用户100呈现消息106可能是危险的,例如,在用户100操作车辆的同时诱导用户100查看呈现在设备104的显示器上的文本消息。在通过设备组102向用户100呈现消息106的一些技术中会出现这些以及其它缺点。

B.提供的技术

图2呈现了根据本文呈现的技术的以互操作以实现动作202的完成的设备104的设备组102为特征的示例性的方案的图示说明。

在该示例性的方案中,在第一时间218,设备组的第一设备104,诸如移动电话,开始使设备组102执行动作202的请求。执行动作202的请求可通过请求设备200开始,和/或可以通过请求设备200从外部源(例如,进入的呼叫)接收。请求设备200生成规定动作202的动作邀请204,并且将动作邀请204广播206给设备组102的其它设备104。例如,设备组102的其它设备104可经由网络208来访问,诸如WiFi网络、有线局域网(LAN)、蜂窝通信网、广域网(WAN)如互联网、和/或个域网(PAN),如蓝牙设备网格。可替代地,其它设备104可以是请求设备104经由基于广播的介质所能访问的,诸如任何设备104能利用接收机接收的无线电广播,或者对规定动作邀请204和动作202的信息编码的光传输,诸如在电磁频谱的红外部分中的光。

在第二时间220,设备组102的已经接收到动作邀请204的每个设备104可以评估其执行动作202的适用性。例如,设备104可以标识动作202的参数,并且可以将这些参数与设备104的资源和能力(例如,计算能力、易失性和/或非易失性存储器、网络带宽和输入/输出能力)、设备104执行所请求的动作202的适当性、以及用户102对设备104的可达性进行比较。相应的其它设备104通过向请求设备200提供表明回应设备212执行动作202的适用性的适用性报告210来回应动作邀请204。例如,在处理进入的呼叫时,工作站设备104可以指示低适用性,例如反映较低品质麦克风和扬声器,而诸如平板设备的便携式设备212可以指示高适用性,例如,反映麦克风和扬声器非常适合用于语音通信会话。适用性报告210可以利用与用于向设备104提供动作邀请204的相同的通信介质(例如,使用相同的网络208)和/或利用不同的通信介质来返回给请求设备200。

在第三时间222,请求设备200可以标识并选择在设备组102中的回应设备214中具有最高适用性报告210的回应设备212。请求设备200可以因此向选定设备214发送请求选定设备214执行动作202的动作请求216。动作请求216可以经由与较早通信相同的网络208来发送,或者可以通过不同的通信介质来发送。在接收到动作请求216时,选定设备214代表请求设备200执行动作202(例如,接受进入的呼叫并且试图开始呼叫者与用户100之间的通信会话)。通过该方式,设备组102的设备104互操作以根据本文呈现的技术通过适当的设备来实现动作202的执行,同时减少或避免其它此类技术的各种成本和/或缺点,包括在图1的示例性的方案100中所提供的那些。

C.技术效果

本文呈现的技术可以提供关于使设备组102执行动作202的其它技术的各种技术优点。

作为第一个此类示例,如本文提供的配置的设备组102可以减少多个设备104对动作202的冗余执行。例如,不是在多个设备104上将相同的消息106呈现给用户100,和/或不是使每个设备104将特定事件通知给用户100(例如,进入的呼叫导致建筑物中每个电话响铃),呈现的技术使实现动作202的上下文敏感的执行。该执行可以减少冗余执行的动作202的低效和潜在的激惹。

作为第二个此类示例,如本文所提供的配置的设备组102可以减少或避免用户100参与规定哪个设备104要执行哪个动作202。自动地执行该选择的能力可以提供相对低维护和自动化的设备选择。

作为第三个此类示例,如本文所提供的配置的设备组102可以减少对集中服务器108的依赖,服务器108可能变得不能访问(例如,由于网络断供或服务器108故障)。服务器108的避免可以减少在服务器居间方案中所涉及的成本(诸如订阅费)和装备。另外地,在用户100的设备104之间选择的分辨率可以通过保持与设备组102内(例如,在用户100的个域网内)的各动作202的执行有关的信息而不是将这些信息发送给外部服务器来促进用户100的隐私。

作为第四个这样的示例,如本文所提供的配置的设备组102可以提供设备104执行相应的动作202的更精确且更微秒的选择。不是配置设备104将这些设备104的相应的状态通知服务器108,本文所呈现的技术使得每个设备104能够基于设备104被配置为评估的任何标准来确定其当前执行动作202的适用性,标准诸如为设备104的硬件和/或软件能力;设备104的当前任务负荷;设备104的物理位置,和/或设备104与用户102和/或其它设备104的接近度;以及设备104的当前和预测的未来情形。也即,每个设备104执行动作202的适用性的确定委托给相应的设备104,并且可通过相应的设备104基于设备104被配置为评估的任何标准来处置。而且,设备104的状态可能迅速变化,并且将对于特定动作202的适用性的确定分配给相应的设备104使得能够基于比分配给服务器108的信息所能实现的更多的最新信息来进行判定。

作为第五个这样的示例,在所呈现的技术的一些实施例中,设备组102的基于对等的体系结构使得任何设备104能够请求动作202的执行,并且使得任何其它设备104利用高适用性报告210作为执行活动202的意向(offer)来回应。该体系结构因此促进了设备组102的稳健性和可扩展性,因为许多数量和类型的设备104可以加入或离开设备组102,而不会减弱设备组102执行所请求的动作202的能力。这些以及其它技术效果能够通过根据本文呈现的技术对设备组102的配置来实现。

D.示例性的实施例

图3呈现了本文所呈现的技术的第一示例性的实施例,图示为使得设备组102的第一设备104能够执行动作202的示例性的方法300。示例性的方法300涉及到第一设备104具有能够执行指令的处理器,指令使第一设备104根据本文呈现的技术来操作。示例性的方法300可以实现为例如存储在存储器部件中的一组指令,存储器部件诸如为存储器电路、硬盘驱动器的底板、固态存储设备或磁盘或光盘,并且被组织为使得当在第一设备104的处理器上执行时使得第一设备104能够根据本文所呈现的技术来操作。

示例性的方法300开始于302并且涉及到在第一设备104的处理器上执行304指令。具体地,指令使第一设备104在接收到来自请求设备的广播给设备组且规定待执行动作202的动作邀请时,向请求设备200发送306表明第一设备104执行动作202的适用性的适用性报告210。指令还使得第一设备104在接收到来自请求设备200且响应于适用性报告210的执行动作202的动作请求216时,代表请求设备200执行308动作202。已经实现了代表请求设备200执行动作202,示例性的方法300实现了在第一设备104上实现本文呈现的技术,以及因此结束于310。

图5呈现了本文所呈现的技术的第二示例性的实施例,图示为以示例性的系统406为特征的示例性的方案400,该示例性的系统406使得设备组102的第一设备402能够与设备组102的第二设备104和第三设备104配合地执行动作202。该示例性的系统406可以实现为例如分别包括存储在第一设备402的存储器中的一组指令的一组组件,其中当在第一设备402的处理器404上执行时,相应的组件的指令使得第一设备402执行本文呈现的技术的一部分。

该示例性的系统406包括动作执行器408,在接收到设备组102内表明待执行动作202的广播206时(例如请求设备200广播的动作邀请204),动作执行器返回表明第一设备402执行动作202的适用性的适用性报告210;以及在响应于适用性报告210而接收到第一设备402执行动作202的动作请求216时,代表请求设备200执行动作202。示例性的系统406还包括动作请求器410,在接收到来自执行于第一设备402的处理器404上的本地应用的执行第二动作202的第二请求时,动作请求器将第二请求广播给设备组102(例如,作为规定本地应用所请求的动作202的动作邀请204);以及在接收到来自设备组102的至少两个回应设备212的分别表明回应设备212执行第二动作202的适用性的适用性报告210时,在至少两个回应设备212中标识选定设备214,并且请求选定设备214执行第二动作202。通过该方式,示例性的系统406使得第一设备402根据本文所呈现的技术参与设备组102对动作202的执行。

另外的实施例涉及到计算机可读介质,该计算机可读介质包括处理器可执行指令,所述处理器可执行指令被配置为应用本文呈现的技术。这些计算机可读介质可以包括例如,计算机可读存储设备,包括有形设备,诸如存储器半导体(例如,使用静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)和/或同步动态随机存取存储器(SDRAM)技术的半导体)、硬盘驱动器的底板、闪存设备、或者磁盘或光盘(诸如CD-R、DVD-R、或软盘),其中编码有一组计算机可读指令,当通过设备的处理器执行时,所述计算机可读指令使得所述设备实现本文提供的技术。这些计算机可读介质还可以包括(作为排除计算机可读存储设备的一类技术)各种类型的通信介质,诸如可通过各种物理现象传播的信号(例如,电磁信号、声波信号或光信号),以及在各种有线方案(例如,经由以太网或光纤电缆)和/或无线方案(例如,无线局域网(WLAN)诸如WiFi、个域网(PAN)诸如蓝牙,或者蜂窝或无线电网络)中传播的信号,并且其中编码有一组计算机可读指令,当通过设备的处理器执行时,所述计算机可读指令使得设备实现本文提供的技术。

可通过这些方式设计的示例性的计算机可读介质图示在图5中,其中实现方式600包括计算机可读存储设备502(例如,CD-R、DVD-R,或者硬盘驱动器的底板),其上编码有计算机可读数据504。该计算机可读数据504进而包括一组计算机指令506,当在计算设备510的处理器504上执行时,所述一组计算机指令使得计算设备510根据本文阐述的原理来操作。在第一个这样的实施例中,处理器可执行指令506可以被配置为执行使得第一设备104能够代表设备组102执行动作202的方法,诸如图3的示例性的方法300。在第二个此类实施例中,处理器可执行指令506可以被配置为实现一种被配置为使第一设备402参与设备组102执行动作202的系统,诸如图4的示例性的系统406。该计算机可读介质的一些实施例可以包括被配置为存储以此方式配置的处理器可执行指令的计算机可读存储设备(例如,硬盘驱动器、光盘或闪存设备)。本领域普通技术人员可以构想出被配置为根据本文提供的技术操作的许多这样的计算机可读介质。

E.变型例

本文所论述的技术可以在很多方面被设计出变型例,并且一些变型例可以相对于这些以及其他技术的其他变型例提供额外的优点和/或减少缺点。而且,一些变型例可以组合地实现,并且一些组合可以通过协同配合来突显额外的优点和/或减少的缺点。变型例可以并入各个实施例中(例如,图3的示例性的方法300;图4的示例性的系统406;以及图5的示例性的存储器设备502)以为这些实施例带来单个的和/或协同的优点。

E1.方案

在这些技术的实施例中可以变化的第一方面涉及到其中可以利用这些技术的方案。

作为该第一方面的第一变型例,本文呈现的技术可以用来实现各种设备104的配置,诸如工作站、膝上型设备、平板式设备、电话和其它通信设备、头戴式受送话器、耳机、护目镜、腕式手表、便携式游戏设备、诸如电视机的便携式媒体播放器以及家用电器。

图6呈现了以耳机设备602为特征的示例性的方案600的图示说明,其中可以实现本文提供的技术。该耳机设备602可以由用户100来佩戴,并且可以包括能用于实现本文所呈现的技术的组件。例如,耳机设备602可以包括能佩戴在用户100的头部610的耳朵612上的壳体604,并且可以包括定位成将音频消息投射到用户100的耳朵612中的扬声器606,以及检测用户100的环境的音频样本的麦克风608。根据本文所呈现的技术,耳机设备602可以参与代表设备组102执行动作202,诸如在接收到进入的消息或通信会话时与用户100通信;调用设备组102的另一设备104从而开始与另一个体的通信会话(例如,发送使另一设备104将通信数据从用户100发送到诸如互联网的网络的动作邀请204);和/或接收并处理用户100生成的数据,诸如存储和/或转录语音备忘录。以此方式,诸如图6的示例性的方案600中所示的耳机设备602可以参与本文呈现的技术。

作为该第一方面的第二变型例,本文呈现的技术可以与各种设备组102一起使用,诸如特定的用户100或机构所拥有的一组设备104;被部署到特定区域的一组设备104;和/或占据特定角色的一组设备104,诸如一组文件服务器。而且,设备组102的设备104可以多种方式通信,包括诸如蓝牙的个域网(PAN);有线和/或无线局域网(LAN),诸如WiFi或蜂窝网络;或者广域网(WAN),诸如互联网或部署于互联网上的虚拟私有网络(VPN)。

作为该第一方面的第三变型例,本文呈现的技术可以用于实现各种动作202的执行。作为第一个这样的示例,动作202可以包括各种形式的数据的接收、生成、评估、存储和/或传输。作为第二个这样的示例,动作202可以涉及到特定用户100,诸如打算包含用户100的通信会话,或者用户100希望借助设备104执行的物理活动。作为第三个这样的示例,动作202可以包括特定的地点或对象,诸如对特定区域的天气条件的监测。作为第四个这样的示例,动作202可以包括可应用于一个或多个设备的特定情形或上下文,诸如用户100当前携带的设备。而且,动作202可以由请求设备200代表执行于请求设备200上的本地应用来开始,和/或代表设备组之外的远程设备104如服务器来开始。本领域技术人员可以设想可以使用本文呈现的技术的许多此类方案。

E2.设备适用性

可以在本文呈现的技术的实施例中变化的第二方面涉及到设备组102的设备104确定并报告其执行所请求的动作202的适用性的方式。

作为该第二方面的第一变型例,第一设备104可以根据第一设备104对用户100的可达性来确定其执行动作202的适用性。作为第一个这样的示例,可达性可以包括用户100的接近度;例如,动作202可以包括呈现给用户100的音频警告,并且适用性可以包括用户100在第一设备104的可听范围内的检测。作为第二个这样的示例,动作202可以包括捕获用户100的图像,并且适用性可以包括用户100对第一设备104的照相机的可见性。作为第三个这样的示例,动作202可以利用用户100的注意,诸如用户100回答特定问题的能力,并且可以根据用户100当前是否注意第一设备104和/或用户100是否能够注意第一设备104来确定适用性。例如,可以根据存在于用户100的车辆中的三个设备104的采集来图示说明这些概念的区别:第一设备104,其位于车辆的隔厢内,并且因此不接近用户100;第二设备104,其存在于用户100附近,但是用户100无法安全地注意,例如用户100无法在操作车辆的同时使用的视觉设备;以及第三设备104,其既存在于用户100附近,又能够利用用户100的注意,例如可以与用户100更安全地通信的音频设备。

作为该第二方面的第二变型例,第一设备104可以根据第一设备104执行动作202的设备能力来确定其执行动作202的适用性。作为第一个这样的示例,动作202可以包括捕获用户100的图像,并且第一设备104的适用性可以考虑第一设备104是否具有适合的照相机来确定。作为第二个这样的示例,动作202可以包括通过输出设备向用户100呈现音频消息,并且如果第一设备104包括音频输出设备则第一设备104可以将其自身标识为具有高适用性,而如果其包括音频转录组件和视觉输出设备则具有较低的适用性但是仍是肯定的适用性,以便于将音频消息呈现为文本消息。

作为该第二方面的第三变型例,第一设备104可以根据第一设备104的资源可用性来确定其执行动作202的适用性,诸如其可用的处理能力、存储容量或网络带宽。作为特定的示例,资源可用性可以包括第一设备104的功率容量,例如,第一设备104是否正操作于不受限的电源上,诸如壁式插座;是否正操作于受限但充足的电源上,诸如充满电的电池;或者是否正操作于受限并且不足的电源上,如几乎耗尽的电池。

作为该第二方面的第四变型例,第一设备104可以根据用户100所规定的用户偏好来确定其执行动作202的适用性。例如,动作202包括待呈现给用户100的音频消息,并且尽管第一设备104包括能够向用户100呈现音频消息的扬声器;然而,用户100可以表明他或她的偏好,即第一设备104不呈现音频消息。因此,第一设备104可以将其自身标识为不适合动作202。相反,用户100可以规定特定设备104执行特定类型的全部动作202,诸如向用户100呈现文本消息,即使其它设备104可能已经自动地被确定为具有较高的适用性。

图7呈现了示例性的方案700的图示说明,其中使用考虑的组合来确定设备组102的设备104执行动作202的适用性,动作202包括向用户100呈现音频消息,并且其中每个设备104的适用性被报告为适用性分数702。诸如工作站的第一设备104可以确定用户100不存在于设备104附近,并且可因此呈现比较低的适用性分数702为25%。诸如移动电话的第二设备104可以确定其能够呈现音频消息并且是在用户100存在的情况下,但是可以标识出其电源减少,并且可因此呈现适用性分数702为60%从而为较高优先级的任务节约电力。诸如可佩戴耳机的第三设备104可以确定其在用户100附近,其以充足的电源为特征,并且耳机设备104包括位于用户100耳部附近的扬声器,但是可以确定用户100当前正参与口头对话,并且音频消息可能非期望地干扰或者难以在不转移用户100注意力的情况下接收到。因此,第二设备104可以呈现适用性分数702为70%。包括掌上型计算机的第四设备104可以确定其在用户100附近并且具有充足的电源,但是缺失音频组件。尽管如此,第四设备104能够将音频消息转换成文本以便呈现给用户,并且因此第四设备104可以报告适用性分数702为80%。因为第四设备104报告最高的适用性分数,所以初始地接收到音频消息的请求设备200可以将音频消息发送给第四设备104以便根据本文呈现的技术进行转换以及向用户100呈现。

作为该第二方面的第五变型例,一些动作202可以涉及到设备组102的两个或更多个设备104的互操作。例如,第一设备104可以接收来自用户100的记录视频的请求,并且可以包括能够捕获视频的摄像录像机,但是可能没有足够的存储。第一设备104可以请求第二设备104通过存储第一设备104所捕获的视频流来参与视频的记录。当第二设备104表明了存储视频的高适用性(诸如充足的存储容量)时,第一设备104和第二设备104可以配合地执行动作202;例如,第一设备104可以捕获流并且将其发送给第二设备104,第二设备104接收流并且存储视频。可替代地,如果接收到来自用户100的请求的第一设备104也不包括照相机,则其可以请求设备组102的设备104来表明捕获视频的适用性,并且当第三设备104报告捕获视频的高适用性时,第二设备104和第三设备104可以配合地实现视频的记录。

图8呈现了该第二方面的第六变型例的图示说明,其中请求设备200接收来自本地应用和/或用户的执行涉及到网络通信(例如,为用户100播放在互联网上接收到的音频流)的动作202的请求。第三设备104可以单独地表示对于动作202的高适用性,包括充足的功率容量。然而,请求设备200可以经由第一网络208(例如,广域网,诸如互联网)与第二设备104通信,第二设备104可以经由第二网络208(例如,个域网,诸如蓝牙网络)与第三设备104通信,但是第三设备104可以不连接到第一网络208。因此,请求设备200所发送的动作邀请204可经由第一网络208发送给第二设备104,并且第二设备104可以将动作邀请204经由第二网络208再发送给第三设备104,从而确保设备组102的全部可用设备104接收并回应动作邀请204。另外,第三设备104可以确定执行动作202涉及到第二设备104的参与;例如,第三设备104可以通过作为到经由其广播音频流的第一网络102的系链的第二设备104来接收音频流。因此,第三设备104可以进一步考虑第二设备104的适用性来评估其执行动作202的适用性。例如,第三设备104可以向第二设备104发送适用性查询802,关于第二设备104参与第三设备104所执行的动作202的适用性来查询第二设备104。第二设备104可以通过将表明低适用性(例如,缺乏电源)的参与适用性报告804发送给第三设备104来回应。第三设备104可因此报告执行动作202的低适用性,因为通过第二设备104的音频流的流动会导致其缺乏的电源耗尽。

作为本文呈现的技术的第六变型例,设备组102的设备104可考虑到在未来时间第一设备的未来适用性来确定其执行动作202的适用性。作为第一此类示例,当用户100可能期望使用第一设备104且在那时会依赖于其充足的电源时,第一设备102可以确定其当前具有有限而充足的功率预留,但是可以确定用户100打算在火车旅途中携带设备102。相应地,由于在未来时间预期的功率容量的未来的优化,第一设备104可以在即使其电源充足的情况下在当前时间报告其执行动作202的低的适用性。作为第二该此类示例,第一设备102可以确定其当前不适合执行动作202,但是可以预期未来时间呈现执行动作202的高适用性;例如,设备104可被请求向当前不能访问设备104但是预期在不远的将来处于设备104近处的用户100呈现消息。因此,设备104可以报告执行动作202的高适用性(或者当前地,或者作为当前适用性低但是预期未来适用性高的指示,这使得能够选择设备104,除非当前呈现给用户100的另一设备呈现当前高适用性)。许多这样的考虑,包括它们的组合,可用来根据本文呈现的技术来确定并报告设备104代表设备组102执行动作202的适用性。

E3.在适合的设备上执行动作

可以在本文呈现的技术的实施例之间变化的第三方面涉及到考虑到设备组102的各个设备104的适用性报告210来执行动作的方式。

作为该第三方面的第一变型例,请求设备200可以标识出设备组102的回应设备212中报告了对于动作202的高适用性的设备104,并且可以发送请选定设备104执行动作202的动作请求216。可替代地,在设备组104的回应设备212中,请求设备200可以基于它们所报告的适用性来选择设备组102的设备104的子集,并且可以将动作请求216发送给选定的设备子集的每个选定的设备214。作为另一示例,其中动作202与动作优先级相关联,请求设备200可以标识出回应设备212中的具有与动作202的动作优先级成比例的子集尺寸的回应设备子集(例如,针对高优先级动作202的大的设备子集)从而确保动作202被执行而完成。

图9呈现了以该第三方面的该第一变型例为特征的示例性的方案900的图示说明。在该示例性的方案900中,动作200包括向用户100呈现消息,并且设备组102的回应设备212可以利用表明相应设备104呈现消息的适用性的适用性报告210来回应。然而,取决于该消息的消息优先级902,请求设备200可以不同地标识出呈现消息的选定设备214。如果消息优先级902低,则请求设备200可以选择报告执行动作202的最高适用性的单一回应设备212。然而,如果消息优先级902为中等,则请求设备102可以首先选择具有最高报告适用性的第一设备104,并且如果第一设备104向用户100呈现消息不成功,则请求设备200可以选择报告了中等适用性的第二设备104来重试动作202。如果消息优先级902高,诸如紧急消息,则请求设备200可以选择全部回应设备212,并且可以向全部回应设备212发送动作请求216从而确保高优先级消息的快速递送。通过这种方式,请求设备200可以考虑到消息的消息优先级902而标识出要执行动作202的选定设备214。

作为该第三方面的第二变型例,选定设备214可以在实现动作202的完成时通知请求设备200。可替代地或者另外地,在实现第一时间实现动作完成的失败时,选定设备214可以将失败通知给请求设备200,和/或可以在第二时间代表请求设备202来重试该动作。在接收到失败的通知时(和/或在特定时间帧内未能接收到动作202完成的报告时,如果选定设备214被禁用或者经历了电力或连接性的丢失则会发生这种情况),请求设备200可因此选择设备组102的第二设备104来执行动作202。类似地,如果请求设备200正在代表设备组102之外的本地应用和/或远程设备请求设备组102执行动作202,则请求设备202可以发送选定设备214执行动作202的完成和/或失败的通知。

图10呈现了以涉及到通过设备组102向用户100发送消息106的动作的完成为特征的示例性的方案1000的图示说明。在该示例性的方案1000中,在第一时间1004中,请求设备200(例如工作站)接收待呈现给用户100的消息106,但是检测到用户100未存在于请求设备200附近。请求设备200因此向设备组102发送动作邀请,并且用户100当前携带的如移动电话的第一设备104报告高的适用性,而当前不在用户100附近的如平板设备的第二设备104报告低的适用性。请求设备200因此向第一设备104发送请求呈现消息106的动作请求216。然而,用户100可能没有注意到第一设备104(例如,第一设备104可能在用户的口袋中并且可能没有被检测到,或者用户100可能走开而远离了第一设备)。第一设备104可以因此检测到用户100接收消息106的失败1000(例如,检测到的用户100的缺失或者用户确认的缺失1000),并且可以将失败通知1002发送给请求设备200。在第二时间1006,在接收到失败通知1002后,请求设备200可以发送对于同一动作202的另一动作邀请204以便于标识执行动作202的第二选定设备214。在第二时间1006,先前报告了低适用性的第二设备104现在可以报告高适用性,例如,因为用户100现在正在主动使用第二设备104。请求设备200可因此将消息106的第二动作请求216发送给第二设备104,这可以成功地将消息106呈现给用户100,并且可以因此向请求设备200发送完成报告。通过这种方式,设备组102的设备104可以根据本文呈现的技术互操作以代表请求设备200来实现动作202的完成。

E.计算环境

图11以及后面的论述提供了实现本文阐述的一个或多个规定的实施例的适合的计算环境的简要的大体的描述。图11的操作环境仅是适合的操作环境的一个示例,而不意在表明对操作环境的使用或功能性的范围的任何限定。示例的计算设备包括但不限于个人计算机、服务器计算机、手持式或膝上型设备、移动设备(诸如移动电话、个人数字助理(PDA)、媒体播放器等)、多处理器系统、消费电子设备、微型计算机、主机型计算机、包括任意上述系统或设备的分布式计算环境,等等。

虽然不做要求,在一个或多个计算设备所执行“计算机可读指令”的总的背景下描述了实施例。计算机可读指令可以经由计算机可读介质(下文论述)来分配。计算机可读指令可以实现为执行特定的任务或者实现特定的抽象数据类型的程序模块,诸如函数、对象、应用编程接口(API)、数据结构等。典型地,计算机可读指令的功能性可以根据需要在各环境中进行组合或分布。

图11示出了系统1100的示例,该系统包括被配置为实现本文提供的一个或多个实施例的计算设备1102。在一个配置中,计算设备1102包括至少一个处理单元1106以及存储器1108。取决于计算设备的确切的配置和类型,存储器1108可以是易失性的(诸如例如RAM)、非易失性的(诸如例如ROM、闪速存储器等)或者两者的某种组合。该配置通过虚线1104图示在图11中。

在其它实施例中,设备1102可以包括附加的特征和/或功能。例如,设备1102还可以包括附加的存储设备(例如,可移除的和/或非可移除的),包括但不限于磁存储设备、光存储设备和类似物。该附加的存储设备在图11中由存储设备1110图示说明。在一个实施例中,实现本文提供的一个或多个实施例的计算机可读指令可以在存储设备1110中。存储设备1110还可以存储实现操作系统、应用程序和类似物的其它计算机可读指令。计算机可读指令可以装载到存储器1108中,以便由例如处理单元1106来执行。

本文所使用的术语“计算机可读介质”包括计算机可读存储设备。该计算机可读存储设备可以是易失性的和/或非易失性的、可移除的和/或非可移除的,并且可以包含存储计算机可读指令或其它数据的各种类型的物理设备。存储器1108和存储设备1110是计算机存储介质的示例。计算机存储存储设备包括但不限于RAM、ROM、EEPROM、闪速存储器或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储设备、磁盒、磁带、以及磁盘存储或其它磁存储设备。

设备1102还可以包括允许设备1102与其它设备通信的通信连接1116。通信连接1116可以包括但不限于调制解调器、网络接口卡(NIC)、集成网络接口、射频发射机/接收机、红外端口、USB连接或将计算设备1102与其它计算设备连接的其它接口。通信连接1116可包括有线连接或无线连接。通信连接1116可以发送和/或接收通信介质。

术语“计算机可读介质”可包括通信介质。通信介质典型地具体实施诸如载波或其它传输机制的“调制数据信号”中的计算机可读指令或其它数据并且包括任何信息递送介质。术语“调制数据信号”可以包括使其一个或多个特性以将信息编码在信号中的方式来设定或改变的信号。

设备1102可以包括输入设备1114,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外照相机、视频输入设备和/或任何其它输入设备。在设备1102中还可以包括输出设备1112,诸如一个或多个显示器、扬声器、打印机和/或任何其它输出设备。输入设备1114和输出设备1112可以经由有线连接、无线连接或其任意组合而连接到设备1102。在一个实施例中,来自另一计算设备的输入设备或输出设备可以用作计算设备1102的输入设备1114或输出设备1112。

计算设备1102的组件可以通过诸如总线的各种互连来连接。这些互连可以包括外围组件互连(PCI)、诸如PCI Express、通用串行总线(USB)、火线(IEEE 1394)、光总线结构等。在另一实施例中,计算设备1102的组件可通过网络来互连。例如,存储器1108可由位于网络互连的不同的物理位置中的多个物理存储器单元构成。

本领域技术人员将认识到,用于存储计算机可读指令的存储设备可分布在网络中。例如,能够经由网络1118访问的计算设备1120可以存储实现本文提供的一个或多个实施例的计算机可读指令。计算设备1102可以访问计算设备1120且下载计算机可读指令的部分或全部用于执行。可替代地,计算设备1102可以根据需要来下载多条计算机可读指令,或者一些指令可以在计算设备1102处执行,一些在计算设备1120处执行。

F.术语的使用

虽然用特定于结构特征和/或方法行为的语言描述了主题,但应当理解的是在随附的权利要求中限定的主题不一定限于上述的特定特征或行为。相反,上述的特定的特征和行为被公开作为实现权利要求的示例的形式。

如该申请中使用的,术语“组件”、“模块”、“系统”、“接口”和/或类似术语通常旨在指代计算机相关的实体,或者是硬件、硬件和软件的组合、软件或执行中的软件。例如,组件可以为但不限于在处理器上运行的进程、处理器、对象、可执行程序、执行线程、程序和/或计算机。通过图示说明的方式,运行于控制器上的应用和控制器都可以是组件。一个或多个组件可以驻留在进程和/或执行线程内,并且组件可以位于一台计算机上和/或分布于两台或更多台计算机之间。

此外,权利要求主题可以实现为利用标准编程和/或工程技术来产生软件、固件、硬件或其任意组合从而控制计算机实现公开的主题的方法、装置或制品。本文所使用的术语“制品”旨在涵盖能够从任意计算机可读设备、载波或介质访问的计算机程序。当然,本领域技术人员将理解,可以对该配置做出许多修改,而不背离要求保护的主题的范围或精神。

本文提供了实施例的各种操作。在一个实施例中,所描述的一个或多个操作可以构成存储在一个或多个计算机可读介质上的计算机可读指令,如果由计算设备执行,则计算机可读指令将使得计算设备执行所描述的操作。描述一些或全部操作的顺序不应解释为暗指这些操作必然是顺序相关的。本领域技术人员在获益于本说明书后将理解到可替代的排序。此外,将理解的是,不是全部操作都必然存在于本文提供的每个实施例中。

而且,措辞“示例性的”在本文用来意指充当示例、实例或图示。本文中描述为“示例性的”的任何方面或设计不一定解释为相对于其它方面或设计是有益的。相反,术语示例性的使用不意在以具体的样式呈现概念。如本文所使用,术语“或”意在表示包含性的“或”,而不是排他性的“或”。也即,除非另作规定或者从上下文清晰可见,“X采用A或B”意在表示自然包含的置换项中的任一个。也即,如果X采用A;X采用B;或者X采用A和B二者,则“X采用A或B”在上述任一实例下满足。另外,在本申请以及随附权利要求书中使用的冠词“一(a)”和“一个(an)”通常解释为意指“一个或多个”,除非另外规定或者从上下文明显是指单数形式。

而且,虽然已经结合一个或多个实现方式显示和描述了本公开,基于该说明书以及附图的阅读和理解,等同的改动和修改对于本领域其它技术人员而言将是显而易见的。本公开包括全部这样的修改和改动,并且仅受随附权利要求的范围限制。特别地关于上述组件(例如,元件、资源等)所执行的各功能,除非另外指出,否则用于描述这些组件的术语意在对应于执行所描述的组件的规定功能(例如,功能上等同的)的任何组件,即使结构上不等同于所公开的用于执行在本公开的本文图示说明的示例性的实现方式中的功能的结构。另外,虽然公开的特定特征已经参考多个实现方式中的仅一个进行了公开,该特征可以与对于任何给定的或特定的应用而言所期望或有益的其它实现方式的一个或多个其它特征相组合。此外,在“包含”、“具有”、“设有”、“带有”和/或其变体在详细说明或权利要求中使用的范围内,这些术语意在包含性的,方式类似于术语“包括”。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1