一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于多设备连接管理的方法和系统与流程

2022-06-01 08:25:03 来源:中国专利 TAG:


1.本发明一般涉及用于管理设备连接的方法、系统和计算机程序产品。更具体地,本发明涉及用于多设备连接管理的方法、系统和计算机程序产品。


背景技术:

2.用户通常可以访问一个以上具有通信能力的设备。例如,智能电话、平板计算机、膝上型计算机、台式计算机、可穿戴计算设备、智能扬声器或任何其他合适设备形式的设备都能够执行应用软件以使得设备用户能够与正在另一设备或数据处理系统上执行的软件进行通信。
3.因为用户通常可以访问一个以上具有通信能力的设备,所以用户通常使用对用户唯一的单个用户标识在一个账户上将设备链接在一起。例如,用户可以将她的智能电话、平板计算机、膝上型计算机和办公室台式计算机配置为具有电话应用,这些电话应用针对语音通信和发短信全部使用同一个注册电话号码。结果,该用户可以在她立即可用的任何设备(诸如她在办公室时的办公室台式计算机和她在从办公室开车回家时的智能电话)上应答呼叫。作为另一示例,用户可以配置她的客厅和卧室中她的智能电话、平板计算机、膝上型计算机以及智能扬声器以使用公共音乐流账户,然后使用该账户在当前方便的任何设备上播放音乐。
4.通信请求是在发送设备与账户所关联的设备之间建立通信的请求。示例通信请求包括对传入语音或视频呼叫的指示以及对用户播放存储在远程计算机系统上的音乐的请求的响应。


技术实现要素:

5.说明性实施例提供了一种方法、系统和计算机程序产品。实施例包括一种方法,所述方法接收对账户的连接请求,所述账户与一组设备相关联,所述连接请求包括在发送设备与所述账户所关联的设备之间建立通信的请求。实施例通过分析所述一组设备中的第一设备的设备使用数据,确定所述第一设备的可用性得分。实施例基于所述第一设备的所述可用性得分,呈现所述第一设备以用于连接。实施例响应于所述呈现,连接所述发送设备和所述第一设备。
6.实施例包括一种计算机可用程序产品。所述计算机可用程序产品包括一个或多个计算机可读存储设备,以及存储在所述一个或多个存储设备中的至少一个上的程序指令。
7.实施例包括一种计算机系统。所述计算机系统包括一个或多个处理器、一个或多个计算机可读存储器、一个或多个计算机可读存储设备、以及存储在所述一个或多个存储设备中的至少一个存储设备上以用于由所述一个或多个处理器中的至少一个处理器经由所述一个或多个存储器中的至少一个存储器来执行的程序指令。
附图说明
8.在所附权利要求中阐述了被认为是本发明的特性的某些新颖特征。然而,通过参考以下结合附图对说明性实施例的详细描述,将最好地理解本发明本身及其优选使用模式、进一步的目的和优点,其中:
9.图1描述了可以实现说明性实施例的数据处理系统的网络的框图;
10.图2描述了可以实现说明性实施例的数据处理系统的框图;
11.图3描述了根据说明性实施例的用于多设备连接管理的示例配置的框图;
12.图4描述了根据说明性实施例的用于多设备连接管理的示例配置的框图;
13.图5描述了根据说明性实施例的多设备连接管理的示例;
14.图6描述了根据说明性实施例的多设备连接管理的继续示例;
15.图7描述了根据说明性实施例的多设备连接管理的继续示例;
16.图8描述了根据说明性实施例的多设备连接管理的继续示例;
17.图9描述了根据说明性实施例的多设备连接管理的继续示例;
18.图10描述了根据说明性实施例的多设备连接管理的继续示例;
19.图11描述了根据说明性实施例的多设备连接管理的继续示例;
20.图12描述了根据说明性实施例的用于多设备连接管理的示例过程的流程图;
21.图13描述了根据本发明实施例的云计算环境;以及
22.图14描述了根据本发明实施例的抽象模型层。
具体实施方式
23.说明性实施例认识到,当多个设备共享账户并且接收到通信请求时,一个选项是在每个可用设备上满足请求。例如,用户可以将她的智能电话、平板计算机、膝上型计算机和办公室台式计算机配置为具有电话应用,这些电话应用针对语音通信和发短信全部使用同一个注册电话号码或其他唯一用户标识。然后,当发生传入呼叫时,当前可用于网络通信的每个设备指示该传入呼叫。然而,如果用户的智能电话、平板计算机和膝上型计算机都碰巧位于彼此旁边,则所有这三者都将指示传入呼叫,这是不必要的且可能是恼人的。作为另一示例,用户可以配置她的客厅和卧室中的智能电话、平板计算机、膝上型计算机和智能扬声器以使用公共音乐流账户,但是如果智能电话和平板计算机当前与客厅智能扬声器一起在客厅中,则所有这三者都可能播放所请求的音乐,从而产生杂音。
24.说明性实施例认识到,当多个设备共享账户并且接收到通信请求时,另一选项是使用优先化规则的预定义的静态列表来满足该请求。例如,在传入呼叫的情况下,用户的智能电话可能总是指示传入呼叫,只有当智能电话不能访问通信网络时才顺延到优先级列表中的下一个设备。然而,最高优先级设备可能不是最适合当前情况的设备。例如,用户的智能电话,虽然具有最高优先级,但是可能处于较差的蜂窝数据接收区域并且仅以3g速度通信,而诸如平板(使用wi-fi)或膝上型计算机(使用有线网络连接)的其他可用设备可能能够具有更高的速度,并且因此能够具有改进的呼叫质量。此外,配置适用于多种情况的多个优先级列表迅速变得令人厌烦,并且仍然不能适应不可预见的情况、不断改变的设备和网络能力、以及用户的逐步发展的偏好。因此,说明性实施例认识到,当接收到针对账户的通信请求时,存在自动选择最适合与账户一起使用的设备并且基于变化的条件和偏好来更新
适合性确定的未满足的需要。
25.说明性实施例认识到,目前可用的工具或解决方案没有解决这些需要或没有为这些需要提供足够的解决方案。用于描述本发明的说明性实施例总体上处理和解决上述问题以及与多设备连接管理有关的其它问题。
26.实施例可以被实现为软件应用。实现实施例的应用可以被配置为现有数据通信系统的修改、与现有数据通信系统结合操作的单独应用、独立应用或它们的某种组合。
27.具体地,一些说明性实施例提供了一种方法,该方法:接收针对账户的连接请求;通过分析与该账户相关联的一组设备中的第一设备的设备使用数据,确定第一设备的可用性得分;基于第一设备的可用性得分,呈现第一设备以用于连接;以及连接发送设备和第一设备。
28.实施例将设备中的一个或多个设备与用户账户相关联。一个实施例接收将设备与账户相关联的用户输入。另一实施例自动地将设备与账户相关联。例如,当用户配置应用以使用账户时,应用可以自动地将应用正在其上执行的设备与账户相关联。另一实施例使用设备检测技术来将设备与账户相关联,例如通过检测并关联加入已知wi-fi或其它通信网络的任何新设备。(wi-fi是wi-fi联盟在美国和其他国家/地区的注册商标。)
29.实施例配置和管理在确定与账户相关联的设备的可用性分数时使用的规则集。规则集指定用于计算可用性得分的一个或多个分量、用于将分量组合成可用性得分的计算、以及如何从输入数据中计算得分分量。在一个实施例中,用户能够手动配置规则集的一部分或全部。另一实施例包括默认规则集,其基于用户输入在设备配置期间被进一步调整或者是从用户的设备选择中学习的。
30.在一个实施例中,与账户相关联的设备的可用性得分的分量是设备的连接因子。能够以高速传送数据的设备通常提供比具有相同输出但能够以较低速度传送数据的另一设备更高质量的用户体验。例如,当视频会议时,与3g蜂窝数据连接的典型速度相比,当设备以有线网络连接的典型速度传送数据时,画面质量将更高并且滞后时间缩短。因此,能够进行较高速度连接的设备将具有比能够进行相对较低速度连接的设备的连接因子更高的连接因子。
31.在一个实施例中,与账户相关联的设备的可用性得分的分量是与连接请求的性质有关的设备能力因子。例如,智能扬声器设备通常具有比膝上型计算机更高质量的声音再现能力。因此,当连接请求涉及流音乐时,实施例可以使智能扬声器设备的得分比膝上型计算机更高。作为另一示例,如果连接请求是针对视频呼叫的,则为了提供最高可能的视频质量,实施例可以与设备的显示屏的大小或分辨率成比例地对设备进行评分。
32.在一个实施例中,与账户相关联的设备的可用性得分的分量是设备的设备使用因子。设备使用因子包括以下中的一个或多个:自设备上次被使用以来的时间、设备上次被使用的时间、设备的平均使用时间、以及其他使用相关设备数据。自设备上次被使用以来的时间越短,该设备仍然可供使用就越可能。例如,如果用户当前正在使用设备,或者两分钟前最后使用设备,则该设备可能仍然在用户附近。另一方面,如果用户在一小时之前最后使用设备,则用户可能已经将设备留在不同的位置。最近和在一段时间内平均使用更长时间的设备也比不使用那么长的设备更可能是优选的。因此,如果第一设备比第二设备使用更长时间,则第一设备的设备使用因子应当高于第二设备的设备使用因子。
33.在一个实施例中,与账户相关联的设备的可用性得分的分量是设备与账户的用户之间的距离因子。例如,永久安装在用户办公室的用户台式计算机在用户不在办公室时是不可用的。一个实施例使用设备的已经可用的能力来确定设备的位置。例如,具有地理定位能力的设备(诸如智能电话)可以在几米的准确度内报告其位置。作为另一示例,诸如平板或膝上型计算机之类的具有wi-fi能力的设备可能正在访问具有已知位置的网络,诸如用户的家庭或办公室网络。作为第三示例,诸如台式计算机的具有有线联网能力的设备可以通过具有已知位置(诸如用户办公楼的房间xyz)的接入点来访问网络。
34.一个实施例从与账户相关联的设备的位置来推断用户的位置。例如,当前正被穿戴的可穿戴物(如使用一个或多个设备传感器所确定的)可以被假定为由账户用户穿戴。作为另一示例,用户在没有他们的智能电话的情况下很少走远,因此用户的位置可以被假定为与智能电话的位置相同或在智能电话的位置的阈值量内。
35.另一实施例使用与账户相关联的设备或不同设备的传感器数据来直接确定用户的位置。例如,用户的办公楼的访问控制数据可以指示用户今天较早进入建筑物并且还没有离开建筑物。因此,实施例推断该用户在办公室而不是在不同位置。作为另一示例,如果用户的家庭具有带有存在检测能力和通过通信网络通信的能力的恒温器,则实施例可以使用该数据来确定用户是否在家。一些设备提供比其他设备更精确的用户位置数据。例如,访问控制数据可能仅可用于确定用户是否在建筑物中,恒温器数据可能可用于确定用户是否在家(或者如果存在多个这样的恒温器,则在哪个楼层上),而视频监视系统或射频识别(rfid)系统可能可用于确定(在用户选择进入时)用户在哪个房间中或者距特定rfid传感器询问器的距离。然而,精确的用户位置数据不总是必需的。例如,如果用户不在办公室,则无论用户实际上在哪里,她办公室中的台式计算机都不可用。因此,如果设备与账户用户之间的距离高于预定阈值,则一个实施例将距离因子设置为指示设备不可用的当前最大值。
36.在一个实施例中,与账户相关联的设备的可用性得分的分量是用户偏好因子。例如,用户可能更喜欢针对特定账户或通信请求类型使用智能电话,即使另一设备可能使用另一因子评分更高。在一个实施例中,用户通过用户接口提供偏好信息。另一实施例从用户的设备选择中学习偏好信息,并相应地调整用户偏好因子。例如,如果用户在面对使用她的智能电话和她的平板计算机之间的选择时总是选择智能电话,则该实施例更新用户偏好因子以使智能电话的得分高于平板计算机。
37.实施例接收对账户的连接请求。通信请求是在发送设备与账户所关联的设备之间建立通信的请求。通信请求的一些非限制性示例是对传入语音或视频呼叫的指示以及对用户播放存储在远程计算机系统上的音乐的请求的响应。
38.实施例分析与账户相关联的设备的设备数据,以计算规则集中指定的一个或多个可用性得分分量。特别地,一个实施例计算设备的连接因子。另一实施例计算与连接请求的性质有关的设备能力因子。另一实施例计算设备的设备使用因子。另一实施例通过确定设备的位置并从与账户相关联的设备的位置推断用户的位置,或者使用与账户相关联的设备或不同设备的传感器数据直接确定用户的位置,来计算设备与账户的用户之间的距离因子。
39.根据规则集中指定的可用性得分分量,实施例确定与账户相关联的设备的可用性得分。一个实施例响应于通信请求而计算可用性得分。另一实施例周期性地计算与账户相
关联的一个或多个设备的可用性得分,使得当接收到通信请求时可用性得分已准备好。另一个实施例周期性地收集用于计算设备的可用性得分的数据,但是一直等待计算可用性得分,直到接收到通信请求为止。
40.一个实施例基于设备的可用性得分来选择一个或多个设备,将所选设备呈现给账户的用户以供连接,并且当用户接受该连接时,连接发送设备和所选设备以满足通信请求。一个实施例基于设备的可用性得分对设备进行排名并且选择具有最高可用性得分的设备。
41.另一实施例基于设备的可用性得分对设备进行排名,确定多个设备具有最高可用性得分并且可用性得分在彼此的阈值差之内,选择多个设备中的两个或更多个,将所选设备呈现给账户的用户以供连接,并且当用户在设备之一上接受连接时,连接发送设备和所选设备以满足通信请求。基于用户的选择和设备可用性得分的分量,该实施例调整用户偏好因子,并且在计算未来通信请求的一个或多个设备可用性得分中使用调整后的用户偏好因子。例如,如果用户的智能电话和平板计算机具有两个最高可用性得分,并且得分在彼此的阈值差之内,则实施例呈现两个设备以用于连接,并且当用户使用智能电话接受连接时,实施例更新用户偏好因子以在将来使智能电话的得分比平板计算机高。
42.在与数据通信中的设备管理有关的技术领域中,在当前可用的方法中,本文描述的多设备连接管理的方式是不可用的。本文描述的实施例的方法在被实现为在设备或数据处理系统上执行时包括该设备或数据处理系统在以下方面的功能的实质性进步:接收对账户的连接请求;通过分析与账户相关联的一组设备中的第一设备的设备使用数据,确定第一设备的可用性得分;基于第一设备的可用性得分,呈现第一设备以用于连接;以及连接发送设备和第一设备。
43.仅作为示例,关于特定类型的账户、通信请求、设备能力、传感器数据、设备使用数据、可用性得分组件、用户偏好、阈值、响应、排名、调整、传感器、测量、设备、数据处理系统、环境、组件和应用来描述说明性实施例。这些和其它类似的人为因素的任何特定表现形式不是旨在限制本发明。可以在说明性实施例的范围内选择这些和其它类似的人为因素的任何适当表现形式。
44.此外,可以针对任何类型的数据、数据源或通过数据网络对数据源的访问来实现说明性实施例。在本发明的范围内,任何类型的数据存储设备可以在本地在数据处理系统处或通过数据网络向本发明的实施例提供数据。在使用移动设备描述实施例的情况下,在说明性实施例的范围内,适合与移动设备一起使用的任何类型的数据存储设备可以在本地在移动设备处或者通过数据网络向这样的实施例提供数据。
45.使用特定代码、设计、架构、协议、布局、示意图和工具来描述说明性实施例,这些仅作为示例,而不是对说明性实施例的限制。此外,为了描述的清楚,在一些实例中使用特定软件、工具和数据处理环境仅作为示例来描述说明性实施例。说明性实施例可以结合其他相当或类似目的的结构、系统、应用或架构来使用。例如,在本发明的范围内,其他相当的移动设备、结构、系统、应用或其架构可以与本发明的这种实施例结合使用。说明性实施例可以以硬件、软件或它们的组合来实现。
46.本公开中的示例仅用于清楚描述,而不是限制说明性实施例。从本公开可以想到附加的数据、操作、动作、任务、活动和操纵,并且在说明性实施例的范围内可以设想这些附加的数据、操作、动作、任务、活动和操纵。
47.本文列出的任何优点仅是示例,并非旨在限制说明性实施例。通过特定的说明性实施例可以实现附加的或不同的优点。此外,特定说明性实施例可具有上文所列优点中的一些、全部或不具有上文所列优点。
48.应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
49.云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
50.特性如下:
51.按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
52.广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理pda)对云的使用。
53.资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
54.迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
55.可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
56.业务模型如下:
57.软件即服务(saas):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
58.平台即服务(paas):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
59.基础架构即服务(iaas):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
60.部署模型如下:
61.私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
62.共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
63.公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
64.混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
65.云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
66.参考附图,并且具体参考图1和2,这些附图是可以实现说明性实施例的数据处理环境的示例图。图1和2仅仅是示例,并且不旨在断言或暗示关于其中可以实现不同实施例的环境的任何限制。特定实现可以基于以下描述对所描绘的环境进行许多修改。
67.图1描述了可以实现说明性实施例的数据处理系统的网络的框图。数据处理环境100是其中可以实现说明性实施例的计算机网络。数据处理环境100包括网络102。网络102是用于在数据处理环境100内连接在一起的各种设备和计算机之间提供通信链路的介质。网络102可以包括诸如有线、无线通信链路或光缆的连接。
68.客户机或服务器仅是连接到网络102的特定数据处理系统的示例角色,并且不旨在排除这些数据处理系统的其他配置或角色。服务器104和服务器106连同存储器108一起耦合到网络102。软件应用可以在数据处理环境100中的任何计算机上执行。客户机110、112和114也耦合到网络102。诸如服务器104或106或客户机110、112或114的数据处理系统可以包含数据,并且可以具有在其上执行的软件应用或软件工具。
69.仅作为示例,而不暗示对这样的体系结构的任何限制,图1描绘了可在实施例的示例实现中使用的特定组件。例如,服务器104和106以及客户机110、112、114被描绘为服务器和客户机,仅作为示例,而不是暗示对客户机-服务器架构的限制。作为另一个例子,一个实施例可以分布在如图所示的几个数据处理系统和数据网络上,而在说明性实施例的范围内,另一个实施例可以在单个数据处理系统上实现。数据处理系统104、106、110、112和114还表示适于实现实施例的集群、分区和其它配置中的示例节点。
70.设备132是本文描述的设备的示例。例如,设备132可以采取智能电话、平板计算机、膝上型计算机、固定或便携式形式的客户机110、可穿戴计算设备或任何其他合适的设备的形式。被描述为在图1中的另一数据处理系统中执行的任何软件应用可以被配置为以类似的方式在设备132中执行。在图1中的另一数据处理系统中存储或产生的任何数据或信息可以被配置为以类似的方式在设备132中存储或产生。
71.应用105实现在此描述的实施例。应用105在服务器104和106、客户机110、112和114以及任何形式的设备132中的任何一个中执行。应用105还可被配置为从设备132的一个或多个实例收集数据,以响应于通信请求来选择设备132的一个或多个实例以呈现给用户。
72.服务器104和106、存储器108、客户机110、112和114以及设备132可以使用有线连
接、无线通信协议或其他合适的数据连接来耦合到网络102。客户机110、112和114可以是例如个人计算机或网络计算机。
73.在所描述的示例中,服务器104可以向客户机110、112和114提供数据,例如引导文件、操作系统映像和应用。在该示例中,客户机110、112和114可以是服务器104的客户机。客户机110、112、114或其某种组合可以包括它们自己的数据、引导文件、操作系统映像和应用。数据处理环境100可以包括未示出的附加服务器、客户机和其他设备。
74.在所描述的示例中,数据处理环境100可以是因特网。网络102可以表示使用传输控制协议/网际协议(tcp/ip)和其它协议来彼此通信的网络和网关的集合。在因特网的核心是主节点或主机计算机之间的数据通信链路的主干,包括路由数据和消息的数干个商业、政府、教育和其它计算机系统。当然,数据处理环境100也可以被实现为许多不同类型的网络,例如内联网、局域网(lan)或广域网(wan)。图1旨在作为例子,而不是作为对不同说明性实施例的体系结构限制。
75.除了其他用途之外,数据处理环境100可以用于实现其中可以实现示例性实施例的客户机-服务器环境。客户机-服务器环境使得软件应用和数据能够分布在网络上,以便应用通过使用客户机数据处理系统与服务器数据处理系统之间的交互性来工作。数据处理环境100还可以采用面向服务的体系结构,其中分布在网络上的可互操作的软件组件可以被打包在一起作为一致的业务应用。数据处理环境100还可以采取云的形式,并且采用服务交付的云计算模型以实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的方便的按需网络访问,这些可配置计算资源可以以最小的管理成本或与服务提供者进行最少的交互来被快速供应和释放。
76.参考图2,该图描述了可以实现说明性实施例的数据处理系统的框图。数据处理系统200是计算机的示例,例如图1中的服务器104和106、或客户机110、112和114、或另一类型的设备,实现说明性实施例的处理的计算机可用程序代码或指令可以位于其中。
77.数据处理系统200还代表数据处理系统或其中的配置,例如图1中的数据处理系统132,实现说明性实施例的处理的计算机可用程序代码或指令可以位于其中。数据处理系统200仅作为示例被描述为计算机并且不限于此。在不脱离在此描述的数据处理系统200的操作和功能的一般描述的情况下,以诸如图1中的设备132的其他设备的形式的实现可以诸如通过添加触摸接口来修改数据处理系统200,以及甚至从数据处理系统200中去除某些描绘的组件。
78.在所描述的例子中,数据处理系统200采用集线器体系结构,包括北桥和存储器控制器集线器(nb/mch)202以及南桥和输入/输出(i/o)控制器集线器(sb/ich)204。处理单元206、主存储器208和图形处理器210耦合到北桥和存储器控制器集线器(nb/mch)202。处理单元206可以包含一个或多个处理器,并且可以使用一个或多个异构处理器系统来实现。处理单元206可以是多核处理器。在特定实现中,图形处理器210可以通过加速图形端口(agp)耦合到nb/mch 202。
79.在所描述的例子中,局域网(lan)适配器212耦合到南桥和i/o控制器集线器(sb/ich)204。音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(rom)224、通用串行总线(usb)和其它端口232、以及pci/pcie设备234通过总线238耦合到南桥和i/o控制器集线器204。硬盘驱动器(hdd)或固态驱动器(ssd)226和cd-rom 230通过总线240耦合
到南桥和i/o控制器集线器204。pci/pcie设备234可以包括例如以太网适配器、附加卡和用于笔记本计算机的pc卡。pci使用卡总线控制器,而pcie不使用。rom 224可以是例如闪存二进制输入/输出系统(bios)。硬盘驱动器226和cd-rom 230可使用例如集成驱动电子(ide)、串行高级技术附件(sata)接口或诸如外部sata(esata)和微sata(msata)的变体。超级i/o(sio)设备236可以通过总线238耦合到南桥和i/o控制器集线器(sb/ich)204。
80.存储器(例如主存储器208、rom 224或闪存(未示出))是计算机可用存储设备的一些示例。硬盘驱动器或固态驱动器226、cd-rom 230和其它类似可用的设备是包括计算机可用存储介质的计算机可用存储设备的一些示例。
81.操作系统在处理单元206上运行。操作系统协调并提供对图2中的数据处理系统200内的各种组件的控制。操作系统可以是用于任何类型的计算平台(包括但不限于服务器系统、个人计算机和移动设备)的商业上可用的操作系统。面向对象或其它类型的编程系统可以与操作系统一起操作,并且提供从在数据处理系统200上执行的程序或应用对操作系统的调用。
82.用于操作系统、面向对象的编程系统以及诸如图1中的应用105的应用或程序的指令位于存储设备上,诸如采取硬盘驱动器226上的代码226a的形式,以及可以被加载到诸如主存储器208的一个或多个存储器中的至少一个中以便由处理单元206执行。说明性实施例的过程可以由处理单元206使用计算机实现的指令来执行,这些指令可以位于存储器中,例如主存储器208、只读存储器224,或者位于一个或多个外围设备中。
83.此外,在一种情况下,代码226a可以通过网络201a从远程系统201b下载,其中类似的代码201c被存储在存储设备201d上。在另一种情况下,代码226a可以通过网络201a下载到远程系统201b,其中所下载的代码201c被存储在存储设备201d上。
84.图1-2中的硬件可以根据实现而变化。除了图1-2中描述的硬件之外,或者作为图1-2中描述的硬件的替代,可以使用诸如闪存、等效的非易失性存储器或光盘驱动器等的其它内部硬件或外围设备。此外,说明性实施例的过程可以被应用于多处理器数据处理系统。
85.在一些说明性示例中,数据处理系统200可以是个人数字助理(pda),其通常配置有闪存以提供用于存储操作系统文件和/或用户生成的数据的非易失性存储器。总线系统可以包括一个或多个总线,例如系统总线、i/0总线和pci总线。当然,总线系统可以使用任何类型的通信结构或体系结构来实现,这些通信结构或体系结构提供在附接到该结构或体系结构的不同组件或设备之间的数据传输。
86.通信单元可以包括一个或多个用于发送和接收数据的设备,例如调制解调器或网络适配器。存储器可以是例如主存储器208或高速缓存,诸如在北桥和存储器控制器集线器202中找到的高速缓存。处理单元可以包括一个或多个处理器或cpu。
87.图1-2中所描述的例子和上述例子不意味着暗示体系结构限制。例如,数据处理系统200除了采取移动或可穿戴设备的形式之外,还可以是平板计算机、膝上型计算机或电话设备。
88.在计算机或数据处理系统被描述为虚拟机、虚拟设备或虚拟组件的情况下,虚拟机、虚拟设备或虚拟组件使用数据处理系统200中所描绘的一些或所有组件的虚拟化表现来以数据处理系统200的方式操作。例如,在虚拟机、虚拟设备或虚拟组件中,处理单元206被表现为主机数据处理系统中可用的所有或一些数量的硬件处理单元206的虚拟化实例,
主存储器208被表现为主机数据处理系统中可用的主存储器208的所有或一些部分的虚拟化实例,以及盘226被表现为主机数据处理系统中可用的盘226的所有或一些部分的虚拟化实例。在这种情况下,主机数据处理系统由数据处理系统200表示。
89.参考图3,该图描述了根据说明性实施例的用于多设备连接管理的示例配置的框图。应用300是图1中的应用105的示例,并且在图1中的服务器104和106、客户机110、112和114以及设备132中的任何一个中执行。
90.配置模块310将一个或多个设备与用户账户相关联。同样,配置模块310配置在用于确定与账户相关联的设备的可用性得分中使用的规则集。规则集指定用于计算可用性得分的一个或多个分量、用于将分量组合成可用性得分的计算、以及如何从输入数据计算得分分量。
91.应用300接收用户输入,诸如用户设备选择和用户提供的账户配置。应用300还接收设备数据和传感器数据,利用这些数据来计算设备可用性得分。应用300还接收对账户的通信请求。
92.设备状态模块320收集并分析用于计算在规则集中指定的一个或多个可用性得分分量的设备数据。模块320的实现收集用于计算连接因子、设备能力因子、设备使用因子和设备位置中的一个或多个的数据。用户状态模块330收集并分析用于从与账户相关联的设备的位置推断用户的位置的数据,或者使用与账户相关联的设备或不同设备的传感器数据直接确定用户的位置的数据。
93.可用性得分模块340计算在规则集中指定的可用性得分分量,应用在规则集中指定的可用性得分计算,以及确定与账户相关联的设备的可用性得分。模块340的一种实现响应于通信请求而计算可用性得分。模块340的另一种实现周期性地计算与账户相关联的一个或多个设备的可用性得分,以使得当接收到通信请求时可用性得分已准备好。模块340的另一种实现周期性地收集用于计算设备的可用性得分的数据,但是一直等待计算可用性得分,直到接收到通信请求为止。
94.设备连接模块350基于设备的可用性得分来选择一个或多个设备,将所选设备呈现给账户的用户以供连接,以及当用户接受连接时,连接发送设备和所选设备以满足通信请求。模块350的一种实现基于设备的可用性得分对设备进行排名,以及选择具有最高可用性得分的设备。模块350的另一种实现基于设备的可用性得分来对设备进行排名,确定多个设备具有最高可用性得分并且可用性得分在彼此的阈值差之内,选择多个设备中的两个或更多个,将所选设备呈现给账户的用户以供连接,以及当用户在这些设备之一上接受连接时,连接发送设备和所选设备以满足通信请求。
95.基于用户的选择和设备的可用性得分的分量,规则调整模块360调整用户偏好因子。可用性得分模块340将在计算未来通信请求的一个或多个设备可用性得分中使用调整后的用户偏好因子。
96.参考图4,该图描述了根据说明性实施例的用于多设备连接管理的示例配置的框图。特别地,图4描述了图3中的配置模块310的更多细节。
97.设备注册模块410将一个或多个设备与用户账户相关联。模块410的一种实现接收将设备与账户相关联的用户输入。模块410的另一种实现自动地将设备与账户相关联。例如,当用户配置应用以使用账户时,应用可以自动地将应用正在其上执行的设备与账户相
关联。模块410的另一种实现使用设备检测技术来将设备与账户相关联,例如通过检测并关联加入已知wi-fi或其它通信网络的任何新设备。
98.规则模块420配置和管理在确定与账户相关联的设备的可用性得分时使用的规则集。规则集指定用于计算可用性得分的一个或多个分量、用于将分量组合成可用性得分的计算、以及如何从输入数据计算得分分量。在模块420的一种实现中,用户能够手动配置规则集的一部分或全部。模块420的另一种实现包括默认规则集,其基于用户输入在设备配置期间被进一步调整或者是从用户的设备选择中学习的。
99.在模块420的实现中,与账户相关联的设备的可用性得分的分量包括设备的连接因子、与连接请求的性质有关的设备能力因子、设备的设备使用因子、用户偏好因子、以及设备与账户的用户之间的距离因子。使用设备的已经可用的能力、通过从与账户相关联的设备的位置推断用户的位置、或者通过使用与账户相关联的设备或不同设备的传感器数据直接确定用户的位置来确定距离因子。
100.参考图5,该图描述了根据说明性实施例的多设备连接管理的示例。该示例可以使用图3中的应用300来执行,设备注册模块410与图4中的设备注册模块410相同。
101.设备502是包括触笔输入能力的智能电话。设备504是不同的智能电话,没有触笔输入能力。设备506是平板设备。设备508是膝上型计算机,而设备510是台式计算机。设备注册模块410将设备502、504、506、508和510与用户账户520相关联。
102.参考图6,该图描述了根据说明性实施例的多设备连接管理的继续示例。设备状态模块320与图3中的设备状态模块320相同,设备502、504、506、508和510与图5中的设备502、504、506、508和510相同。
103.因为设备502、504、506、508和510全部与同一账户相关联,所以设备状态模块320监视这些设备中的每一个设备并将结果收集在设备使用数据610中。如所描绘的,设备502、506和508在位置602(例如,用户的家)中,而设备504和510在位置604(例如,用户的办公室)中。
104.参考图7,该图描述了根据说明性实施例的多设备连接管理的继续示例。用户状态模块330与图3中的用户状态模块330相同。设备502、504、506、508和510与图5中的设备502、504、506、508和510相同,位置602和604与图6中的位置602和604相同。
105.在位置602处,用户710距离设备5020米远、距离设备5061米远、以及距离设备50810米远。设备504和510在位置604处。用户状态模块330收集并分析用于从与账户相关联的设备的位置推断用户的位置的数据,或者使用与账户相关联的设备或不同设备的传感器数据直接确定用户的位置的数据。结果被制成用户状态数据720中的表格。值得注意的是,因为用户710在位置602处,距离位置604处的设备大于阈值距离,所以模块330尚未尝试确定用户710与位置604处的设备之间的确切距离。
106.参考图8,该图描述了根据说明性实施例的多设备连接管理的继续示例。可用性得分模块340与图3中的可用性得分模块340相同。设备502、504、506、508和510与图5中的设备502、504、506、508和510相同。位置602和604以及设备使用数据610与图6中的位置602和604以及设备使用数据610相同。用户状态数据720与图7中的用户状态数据720相同。
107.如所描绘的,可用性得分模块340使用设备使用数据610和用户状态数据720来计算可用性得分数据810。在常见的0-100标度上,每个因子的分量得分在相应数据下方的括
号中被示出。因此,设备502使用4g用于它的数据连接,从而导致连接因子得分40。设备502距离用户7100米,从而导致设备与账户用户之间的距离因子得分100。用户710对设备502的最近访问是5分钟前,得分为95,而用户对该设备的平均使用时间是100分钟,得分为100。模块340使用简单地将分数分量一起平均的规则集,从而产生83.75的设备502的可用性分数。类似地计算设备506和508的可用性得分。设备504和510的可用性得分未被计算,因为这些设备在距用户710的阈值距离之上并且因此不可用。注意,示例数据、对应的可用性得分以及用于计算示例得分的规则仅是示例,而不是要暗示任何特定的所需得分或得分计算。
108.参考图9,该图描述了根据说明性实施例的多设备连接管理的继续示例。设备连接模块350与图3中的设备连接模块350相同。设备502与图5中的设备502相同。位置602与图6中的位置相同。可用性得分数据810与图8中的可用性得分数据810相同。
109.在此,因为设备502具有可用性得分数据810中的最高得分,所以设备连接模块350产生呈现910,其中设备502被呈现给用户710以响应连接请求。
110.参考图10,该图描述了根据说明性实施例的多设备连接管理的继续示例。设备连接模块350与图3中的设备连接模块350相同。设备502与506与图5中的设备502与506相同。
111.在此,设备502距离用户7100米,而设备506距离用户7101米。设备502和506以及用户710都在位置1002处。因此,可用性得分模块340已经计算了可用性得分数据1010,其中设备502和506具有在彼此的预定阈值距离内的可用性得分。因此,设备连接模块350产生呈现1020,其中设备502和506都被呈现给用户710以响应连接请求。
112.参考图11,该图描述了根据说明性实施例的多设备连接管理的继续示例。规则调整模块360与图3中的规则调整模块360相同。设备502和506与图5中的设备502和506相同。
113.在此,已经呈现了设备502和506两者。在用户选择1102中,用户710选择设备506。因此,规则调整模块360生成规则调整1110,其指示当设备502和506具有在彼此的预定阈值距离内的可用性得分时,应当选择设备506来响应未来通信请求。
114.参考图12,该图描述了根据说明性实施例的用于多设备连接管理的示例过程的流程图。过程1200可以在图3的应用300中实现。
115.在框1202中,应用将一组设备与账户相关联。在框1204中,应用配置在确定与账户相关联的设备的可用性得分中使用的规则集。在框1206中,应用接收在发送设备与账户所关联的设备之间建立通信的连接请求。在框1208中,应用分析设备使用数据以确定该组中的一个或多个设备的可用性得分。在框1210中,应用确定多个设备得分是否在彼此的阈值内。如果不是(框1210的“否”路径),则在框1212中,应用呈现最高得分的设备以用于连接,然后在框1214中,应用将所呈现的设备与发送设备连接,然后应用结束。否则(框1210的“是”路径),在框1216中,应用呈现多个设备以用于连接,在框1218中,应用使用用户设备选择来调整可用性得分确定中的用户偏好因子,以及在框1220中,应用将所选设备与发送设备连接。然后应用结束。
116.现在参考图13,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(pda)或移动电话54a,台式电脑54b、笔记本电脑54c和/或汽车计算机系统54n。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10
进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(iaas)、平台即服务(paas)和/或软件即服务(saas)。应当理解,所显示的各类计算设备54a-n仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
117.现在参考图14,其中显示了云计算环境50(图13)提供的一组功能抽象层。首先应当理解,所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图所示,提供下列层和对应功能:
118.硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:主机61;基于risc(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储设备65;以及网络和联网组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
119.虚拟化层70提供一个抽象层,该层可以提供下列虚拟实体的示例:虚拟服务器71;虚拟存储72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户端75。
120.在一个示例中,管理层80可以提供下述功能:资源供应功能81:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能82:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,这些资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能83:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能84:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(sla)计划和履行功能85:为根据sla预测的对云计算资源未来需求提供预先安排和供应。
121.工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:地图绘制与导航91;软件开发及生命周期管理92;虚拟教室的教学提供93;数据分析处理94;交易处理95;以及多设备连接管理96。
122.因此,在说明性实施例中提供了一种计算机实现的方法、系统或装置以及计算机程序产品以用于多设备连接管理和其他相关特征、功能或操作。在关于一种类型的设备描述实施例或其一部分的情况下,计算机实现的方法、系统或装置、计算机程序产品或其一部分被适配或配置成与该类型的设备的适合且相当的表现一起使用。
123.在实施例被描述为在应用中实现的情况下,在说明性实施例的范围内,可以设想在软件即服务(saas)模型中的应用的交付。在saas模型中,通过在云基础设施中执行应用,向用户提供实现实施例的应用的能力。用户可以通过诸如web浏览器(例如,基于web的电子邮件)或其他轻量客户端应用之类的瘦客户端接口使用各种客户端设备来访问应用。用户不管理或控制底层云基础设施,包括网络、服务器、操作系统或云基础设施的存储。在一些情况下,用户甚至可能不管理或控制saas应用的能力。在一些其它情况下,应用的saas实施方式可允许有限的用户特定应用配置设定的可能例外。
124.本发明可以是任何可能的集成技术细节水平的系统、方法和/或计算机程序产品。计算机程序产品可包含存储计算机可读程序指令的计算机可读存储介质(或媒体),这些计算机可读程序指令用于使得处理器执行本发明的方面。
125.计算机可读存储介质可以是可以保留和存储指令以供指令执行设备使用的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、
电磁存储设备、半导体存储设备或前述各项的任何合适的组合。计算机可读存储介质的更具体例子的非穷举列表包括以下项:便携式计算机盘,硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存),静态随机存取存储器(sram)、便携式致密盘只读存储器(cd-rom),数字通用盘(dvd)、记忆棒、软盘、机械编码设备(诸如穿孔卡片或具有记录在其上的指令的凹槽中的凸起结构),以及上述项的任意合适的组合。如本文中所使用的计算机可读存储介质不应被解释为瞬态信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光缆的光脉冲)、或通过导线传输的电信号。
126.本文所述的计算机可读程序指令可从计算机可读存储介质下载到相应的计算/处理设备,或经由网络(例如,互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
127.用于执行本发明的操作的计算机可读程序指令可以是汇编指令,指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据,集成电路的配置数据,或以一种或多种编程语言的任何组合编写的源代码或目标代码,包括面向对象的smalltalk、c 等编程语言,以及过程式编程语言,例如“c”编程语言或类似的编程语言。计算机可读程序指令可完全在用户的计算机上执行、部分在用户的计算机上执行、作为独立软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何类型的网络(包括局域网(lan)或广域网(wan))连接到用户的计算机,或者可以连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。在一些实施例中,电子电路(包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla))可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行本发明的方面。
128.本文中参考根据本发明的实施例的方法、设备(系统)和计算机程序产品的流程图说明和/或框图描述本发明的方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令来实现。
129.这些计算机可读程序指令可以被提供给计算机或其他可编程数据处理装置的处理器以产生机器,使得指令经由计算机或其他可编程数据处理装置的处理器执行,创建用于实现在流程图和/或方框图的一个或多个方框中指定的功能/动作的装置。这些计算机可读程序指令还可被存储在可引导计算机、可编程数据处理装置和/或其他设备以特定方式工作的计算机可读存储介质中,使得存储指令的计算机可读存储介质包括一件制品,该制品包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各方面的指令。
130.计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤以产生计算机实现的过程,以使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
131.附图中的流程图和框图图示了根据本发明的不同实施例的系统、方法和计算机程
序产品的可能实现的架构、功能和操作。在此方面,流程图或框图中的每个方框可以代表模块、段或指令的一部分,其包括用于实现规定的逻辑功能的一个或多个可执行指令。在一些替代实施例中,框中所标注的功能可以不以图中所标注的次序发生。例如,连续示出的两个框实际上可以作为一个步骤来实现,同时、基本同时、以部分或全部时间重叠的方式被执行,或者这些框有时可以以相反的顺序被执行,这取决于所涉及的功能。还将注意的是,框图和/或流程图中的每个框、以及框图和/或流程图中的框的组合可以由基于专用硬件的系统来实现,基于专用硬件的系统执行指定的功能或动作或执行专用硬件与计算机指令的组合。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献