基于可用资源向设备缓存和提供数据的制作方法

文档序号:21192289发布日期:2020-06-20 18:37阅读:182来源:国知局
基于可用资源向设备缓存和提供数据的制作方法

相关申请的交叉引用

本申请是于2017年9月7日递交的美国专利申请no.15/698,058的继续并要求其优先权,该申请的整体通过引用结合于此。

本公开总体涉及检测设备上的可用资源,并且更具体地,涉及基于在设备上检测到的可用资源来向设备缓存数据和向设备提供数据。



背景技术:

当今时代,用户在其计算设备和移动设备上具有越来越多的应用。除了占用存储空间之外,一些应用可能会占用大量计算资源,并且在一些情况下,可能会在加载和执行时消耗设备的电池电量。此外,由于许多应用在后台运行,从各种来源接收更新和信息,因此用户的计算设备或移动设备可能在用户甚至没有意识到的情况下损失大量电量。少量电量可能导致用户在最需要移动设备或计算设备时,无法使用移动设备或计算设备。

附图说明

图1示出了根据实施例的可用资源系统。

图2是示出根据实施例的图1的可用资源程序在以下操作中的流程图:检测计算设备的可用资源量,并且基于检测到的可用资源量,确定是否将计算设备切换到低资源模式。

图3描绘了根据实施例的到一个或多个替代设备的数据流。

图4是示出根据实施例的图1的可用资源程序在将数据路由到一个或多个替代设备中的操作的流程图。

图5是描绘根据实施例的图1的可用资源系统以及图3的替代设备的硬件组件的框图。

具体实施方式

本公开的实施例提供了一种系统、方法和程序产品。计算机系统在第一时间段检测计算设备上的可用第一资源量是否低于第一阈值水平。响应于在该第一时间段检测到计算设备上的可用第一资源量低于第一阈值水平,计算机系统将计算设备切换到第一低资源模式,其中,将计算设备切换到第一低资源模式包括:拦截旨在发送到计算设备的第一数据,该第一数据对应于计算设备上的第一组一个或多个应用。响应于在第一时间段之后的第二时间段检测到计算设备上的可用第一资源量达到或超过第一阈值水平,计算机系统将计算设备切换回正常操作模式,其中,将计算设备切换回正常操作模式包括:停止拦截旨在发送到计算设备的第一数据。

在示例实施例中,本公开描述了在计算设备或移动设备具有低可用资源量时,最大化使用时间和使用能力的问题的解决方案。例如,如果计算设备剩下较低水平的电池余量(batterylife),则本公开提供一种解决方案,其中,对应于一个或多个应用的数据被拦截并存储在替代存储设备上,然后在较后时间,基于检测到计算设备已被充电到一定水平而将该数据发送到计算设备。在该示例中,本公开提供了一种解决以下问题的解决方案:计算设备使用可用电池电量来接收、存储接收到的数据,并将其呈现给计算设备的用户,这可能导致电池进一步耗尽,并且计算设备或移动设备在较短时间段内对用户可用(并且可能在紧急情况下对用户不可用)。

此外,在示例实施例中,本公开描述了一种解决方案,该解决方案涉及检测到计算设备上的可用资源量(例如,存储/存储器或计算能力)低于阈值水平,在这种情况下,如上所述,对应于一个或多个应用的数据可以被拦截,并然后再较后时间,一旦计算设备已经达到所需的资源量(例如,存储容量等),则数据被发送到计算设备。

现在将参考附图详细描述本公开的实施例。

图1示出了根据实施例的可用资源系统100。在示例实施例中,可用资源系统100包括经由网络130互连的计算设备110和服务器140。

在示例实施例中,网络130是互联网,代表网络和网关的全球集合,以支持连接到互联网的设备之间的通信。网络130可以包括例如有线、无线或光纤连接。在其他实施例中,网络130可以被实现为内联网、局域网(lan)或广域网(wan)。通常,网络130可以是将支持计算设备110与服务器140之间的通信的连接和协议的任何组合。

计算设备110包括应用112和应用114。在示例实施例中,计算设备120是诸如智能电话之类的计算设备,但在其他实施例中,计算设备120可以是台式计算机、膝上型计算机、平板计算机、手持设备、瘦客户端、或能够通过网络130从其他计算设备(例如,服务器140)接收数据并向其发送数据的任何其他电子设备或计算系统。参考图5更详细地描述了计算设备120。

应用112是应用或程序,例如,金融应用、社交媒体应用、网络浏览器、或另一类型的应用。参考图2和图3更详细地描述了应用112。

应用114是应用或程序,例如,金融应用、社交媒体应用、网络浏览器、或另一类型的应用。参考图2和图3更详细地描述了应用114。

服务器140包括可用资源程序142和数据缓存144。在示例实施例中,服务器140可以是台式计算机、膝上型计算机、平板计算机、移动设备、手持设备、瘦客户端、或能够通过网络130从其他计算设备(例如,计算设备110)接收数据并向其发送数据的任何其他电子设备或计算系统。尽管未示出,但可选地,服务器140可以包括执行相同软件以共同处理由前端服务器和负载平衡器分发的请求的服务器集群。在示例实施例中,服务器140是支持可用资源程序142的服务器。参考图5更详细地描述了服务器140。

数据缓存144包括与应用112和应用114相对应的电子内容/数据。在示例实施例中,包括在数据缓存144中的数据是旨在去往计算设备110的数据,该数据基于可用资源程序142检测到计算设备110具有低可用资源,而已被可用资源程序142拦截(或重定向到可用资源程序142)。虽然在示例实施例中,仅描绘了计算设备110(以及应用112和应用114),但数据缓存144可以是可以包括跨多个计算设备的多个应用的信息的多个缓存存储器。参考图2和图3更详细地描述了数据缓存144。

在示例实施例中,可用资源程序142是能够检测诸如计算设备110之类的计算设备的可用资源(例如,电池余量或存储空间/存储器)是否较低的程序。此外,基于检测到计算设备110的可用资源较低,可用资源程序142能够拦截旨在去往计算设备110的数据,并且基于稍后检测到计算设备110上的资源量达到或超过阈值水平,将数据释放或发送到计算设备110。参照图2和图3更详细地描述了可用资源程序142的操作。

图2是示出根据实施例的可用资源程序142在以下操作中的流程图:检测计算设备的可用资源量,并且基于检测到的可用资源量,确定是否将计算设备切换到低资源模式。

在示例实施例中,可用资源程序142经由网络130确定在第一时间段,计算设备110上的可用资源量是否低于阈值水平(判定202)。在示例实施例中,可用资源程序142可以传送或监测计算设备110的使用,并确定来自多个可用资源的可用资源量是否低于阈值水平。例如,可用资源程序142可以监测诸如可用存储、可用随机存取存储器(ram)、可用处理能力、可用电池余量、以及其他可用组件(检测扬声器是否正常工作等)之类的资源。在示例实施例中,计算设备110的每个资源可以具有不同的阈值水平,因此,可用资源程序142可以将每个可用资源的水平与相应的阈值水平进行比较。

在示例实施例中,阈值水平(或多个阈值水平)可以由系统管理员输入,或者可替代地,由计算设备110的用户输入。在其他实施例中,可以基于对计算设备110的组件的规格的分析来确定阈值水平(或多个阈值水平)。例如,可用资源程序142可以基于确定计算设备110具有比计算设备a更高的计算能力,针对计算设备110确定比计算设备a更低的阈值水平(针对计算能力可用资源)。在另一示例中,可用资源程序142可以基于确定计算设备110具有比计算设备a更大单元的电池,针对计算设备110确定比计算设备a更低的阈值水平(针对电池余量可用资源)(即,计算设备110上的10%电量可支持30分钟的计算寿命,而计算设备a上的10%电量可支持仅20分钟的计算寿命)。

在其他实施例中,可用资源程序142可另外利用机器学习技术来确定可用资源的阈值水平。例如,可用资源程序142可以监测计算设备110的使用,并确定基于计算设备110的使用的历史水平,10%的电池电量可以持续1小时,而对于计算设备a,10%的电池电量仅可以持续30分钟(这可以也基于对计算设备a的使用的分析来确定)。此外,可用资源程序142可以确定动态阈值水平,该动态阈值水平可以基于星期几、一年中的时间、或一天中的时间而改变。例如,基于监测一段时间内计算设备110的使用,可用资源程序142可以确定:在第一时间段期间10%的电量通常与在第二时间段期间12%的电量持续时间一样长。因此,在第一时间段期间,可用资源电池余量的阈值水平可以为10%,而在第二时间段期间可以为12%。在确定计算设备110的动态阈值水平时,除历史使用之外,还可以考虑计算设备110上存在的应用的数量,以及当前正在运行的活跃应用的数量和在后台运行的应用的数量。

如果可用资源程序142确定计算设备110上的可用资源量不低于相应阈值水平(判定202,“否”分支),则可用资源程序142继续监测计算设备110以确定阈值水平是否被违反。

如果可用资源程序142确定计算设备110上的可用资源量低于相应阈值水平(判定202,“是”分支),则可用资源程序142确定与该资源相对应的低资源模式(步骤204)。在示例实施例中,如上所述,由可用资源程序142监测的每个可用资源可以具有相应阈值水平。此外,可用资源程序142可以基于相应资源来确定特定低资源模式。在示例实施例中,阈值水平和特定低资源模式可以与资源相关联地存储,使得可用资源程序142可以参考该信息。因此,在示例实施例中,可用资源程序142可以参考所存储的信息以便确定特定低资源模式,该特定低资源模式对应于其可用水平已被检测为低于相应阈值水平的资源。例如,如果可用资源程序142检测到计算设备110上的可用存储量低于相应阈值水平,则可用资源程序142可以参考与该资源相关联的所存储的信息,以便标识与该资源(设备上的存储)相对应的低资源模式。在另外的实施例中,多个低资源模式可以对应于一个资源。例如,如果检测到计算设备110上的可用电池余量为10%,而阈值为12%,则可用资源程序142确定可用资源量低于阈值水平,并确定与该资源相对应的低资源模式。然而,如果检测到可用电池余量为8%,则可以确定第二低资源模式以对应于该资源(以及该资源的可用量)。

尽管在示例实施例中,每个资源可以对应于不同特定低资源模式,但是在其他实施例中,部分或全部资源可以对应于同一特定低资源模式。

可用资源程序142将计算设备110切换到所确定的低资源模式(步骤206)。在示例实施例中,可用资源程序142可以在不对计算设备110执行动作的情况下(而是通过切换在数据库中维护的指示符,该指示符对应于计算设备110),将计算设备110切换到所确定的低资源模式。在其他实施例中,可用资源程序142可以向计算设备110发送低资源模式正在被切换的通知。

在示例实施例中,低资源模式包括可用资源程序142标识一个或多个应用,并且然后拦截旨在从相应的应用服务器发送到计算设备110的数据。例如,可用资源程序142可以通过以下方式来标识一个或多个应用:标识计算设备110上的利用大百分比的计算能力或存储器的应用、基于计算设备110的用户所输入的应用优先级来标识应用、标识与如在用户输入中指定的所确定的低资源模式相对应的一个或多个应用、基于计算设备110的用户不经常使用的应用来标识应用、或上述项的混合。在示例实施例中,可用资源程序142可以另外从计算设备110接收或获取针对计算设备110上的一个或多个应用(例如,应用112和应用114)的用户信息。例如,用户信息可以包括登录信息、应用使用信息、应用交易历史、以及与一个或多个相关应用相关联的任何其他用户信息。

可用资源程序142然后可以利用用户信息来周期性地登记(check-in)相应的应用服务器,以确定是否存在要发送到计算设备110的任何更新或消息(针对更新或消息的轮询)。在示例实施例中,可用资源程序142可以每10秒登记应用服务器,而在其他实施例中,可以更频繁或较不频繁地执行登记。此外,登记的频率可以另外对应于应用的类型或者计算设备110的用户利用该应用的频率(用户历史上越频繁地使用该应用,则越频繁地执行登记)。如果可用资源程序142确定存在要发送到计算设备110的数据(例如,更新或消息),则可用资源程序142拦截该数据并将该数据缓存在数据缓存144中(或将数据与对应于计算设备110、应用和特定数据的标识符相关联地存储在存储数据库中)。在其他实施例中,所拦截的数据可以仅与对应于特定数据的标识符、或对应于特定数据和计算设备110的标识符相关联地存储。此外,在缓存数据之前,可用资源程序142可以基于数据的大小、查看数据所需的设备功能(高分辨率视频需要某些设备功能等)来对数据进行分类。此外,在附加实施例中,可用资源程序142可以将诸如标识符之类的缓存数据的参考发送到计算设备110。

如上所述,第一低资源模式可以对应于第一可用资源量,而第二低资源模式可以对应于第二可用资源量。在示例中,第一低资源模式可以包括可用资源程序142拦截旨在从第一应用服务器(对应于应用112)而不是第二应用服务器(对应于应用114)发送到计算设备110的数据,而第二低资源模式可以包括可用资源程序142拦截旨在从第一应用服务器(对应于应用112)和第二应用服务器(对应于应用114)发送到计算设备110的数据。因此,参考该示例,按照上述方式,如果可用资源程序142确定基于诸如电池余量之类的可用资源量,第一低资源模式是适用的,则可用资源程序142将拦截要从第一应用服务器发送到计算设备110的数据。如果在较后时间,可用资源程序142确定基于可用资源量,第二低资源模式是适用的,则可用资源程序142将拦截要从第一应用服务器和第二应用服务器发送到计算设备110的数据。

在示例中,如果可用资源程序142确定多个可用资源的水平/量低于其相应的阈值水平,则可用资源程序142可以基于确定哪个低资源模式具有较高警告因子(cautionfactor)来确定切换到哪个低资源模式。在示例实施例中,基于低资源模式所例示的警告的程度,警告因子可以与每个低资源模式相关联。例如,在以上给出的示例中,第二低资源模式(其需要可用资源程序142拦截要从第一应用服务器和第二应用服务器发送到计算设备110的数据)可以与比第一低资源模式(其仅需要可用资源程序142拦截要从第一应用服务器发送到计算设备110的数据)更高的警告因子相关联。其他实施例中,可用资源程序142可以基于由计算设备110的用户置于每个资源上的优先级来确定切换到哪个低资源模式。如果与第二资源相比,更高优先级与第一资源相关联,则可用资源程序142可以确定开启对应于第一资源的低资源模式。在进一步的实施例中,特定低资源模式可以与两个或更多个资源(其量低于阈值水平)相关联。例如,第一数量的第一资源可以对应于第一低资源模式,而第二数量的第二资源可以对应于第二低资源模式。然而,具有第一数量的第一资源和第二数量的第二资源的计算设备可以对应于第三低资源模式。

在示例实施例中,可用资源程序142确定可用资源量是否达到或超过(一个或多个)相应的阈值水平(判定208)。在示例实施例中,可用资源程序142确定在晚于第一时间段的第二时间段中,可用资源量是否达到或超过(一个或多个)相应的阈值水平。例如,如果在判定202(第一时间段)处,可用资源程序142确定计算设备110的电池余量低于相应的阈值水平,则可用资源程序142可以确定在第二时间段中,电池余量是否达到或超过阈值水平。如果可用资源程序142确定可用资源量未达到或超过相应的阈值水平(判定208,“否”分支),则可用资源程序142继续监测计算设备110,并且进一步地可以再次登记以确定在第三时间段中,可用资源数量是否达到或超过相应的阈值水平(步骤210)。

如果可用资源程序142确定可用资源量确实达到或超过相应的阈值水平(判定208,“是”分支),则可用资源程序142将计算设备110切换回正常操作模式(步骤212)。在示例实施例中,正常操作模式是设备在被切换到所确定的低资源模式之前正在运行的模式。例如,当计算设备110处于正常操作模式时,可用资源程序142可以不拦截或可以停止拦截旨在去往计算设备110的数据。此外,在示例实施例中,将计算设备110切换回正常操作模式可以包括可用资源程序142将所拦截的(和缓存的)数据(或所释放的数据的至少一部分)发送/释放到计算设备110。所拦截的数据的发送/释放在下面进一步详细描述。

此外,如上所述,在示例实施例中,可以在不对计算设备110执行动作的情况下(而是通过切换在数据库中维护的指示符,该指示符对应于计算设备110),将计算设备110切换回正常操作模式。在其他实施例中,可用资源程序142可以向计算设备110发送低资源模式正被关闭的通知。

此外,在示例实施例中,切换回正常操作模式不会影响不与将计算设备110切换到所确定的低资源模式相对应的任何设置或动作。例如,如果在处于所确定的低资源模式时,计算设备110的用户改变了第一设置(并且所改变的第一设置与切换到所确定的低资源模式无关),则可用资源程序142在将计算设备110切换回正常操作模式时,将不会改变第一设置的当前状态。在其他实施例中,在将计算设备110切换回正常操作模式时,可用资源程序142可以切换回在计算设备110处于所确定的低资源模式时所改变或调整的任何设置。

如上所述,在其他实施例中,可用资源程序142可以监测计算设备110上的多个资源,因此,可用资源程序142可以确定在第一时间段被检测为低于其相应的阈值水平的所有多个资源是否在第二时间段达到或超过其相应的阈值水平。例如,如果第一资源量和第二资源量在第一时间段低于其相应的阈值水平,并且可用资源程序142确定在第二时间段,第一资源量和第二资源量达到或超过其相应的阈值水平,则可用资源程序142可以以上述方式将计算设备110切换回正常操作模式。替代地,如果可用资源程序142确定第一资源量达到或超过相应的阈值水平,但是第二资源量低于相应的阈值水平,则可用资源程序142可以切换到与第二资源量相对应的不同的低资源模式。此外,如果第一资源量和第二资源量在第一时间段低于其相应的阈值水平,并且可用资源程序142确定在第二时间段,第一资源量达到或超过其相应的阈值水平,但是第二资源量低于相应的阈值水平,并且第三资源量低于相应的阈值水平,则可用资源程序142可以切换到与第二资源量和第三资源量相对应的不同的低资源模式。

如上所述,在示例实施例中,可用资源程序142可以基于可用资源程序142将计算设备110切换到正常操作模式,来将所拦截的数据释放到计算设备110。在示例实施例中,所拦截的数据的整体可以被发送/释放到计算设备110(当计算设备110切换到正常操作模式时),然而,在其他实施例中,所拦截的数据可以以逐步方式(piecemealfashion)被发送/释放到计算设备110。例如,每10分钟发送一定量的数据,或者替代地,在计算设备110达到一定水平的可用资源量时发送一定量的数据(可以在达到10%电池余量时发送数据的第一部分,可以在达到20%时发送数据的第二部分等)。

在其他实施例中,除了如上所述的拦截数据并将数据缓存在数据缓存144中之外,切换到所确定的低资源模式还可以包括可用资源程序142基于所确定的低资源模式将所拦截的数据(或拦截数据的一部分)释放(或发送)到计算设备110。例如,所确定的低资源模式可以要求在达到一定时间段之后,将所拦截的数据(或所拦截的数据的一部分)释放到计算设备110。例如,可用资源程序142可以在缓存之后10分钟释放所拦截的数据的一部分,并且在缓存之后30分钟释放另一部分,并在缓存之后2小时释放所有剩余的所拦截的数据。替代地,可用资源程序142可以在经过单个时间段之后释放所有所拦截的数据,例如,在缓存之后2小时发送/释放所有所拦截的数据。

在另一示例中,所确定的低资源模式可以要求基于可用资源量来释放所拦截的数据。例如,关于电池余量,可用资源程序142可以在计算设备110的电池余量达到10%时释放所拦截的数据的一部分,并且在计算设备110的电池余量达到15%时释放另外的一部分,并在电池余量达到20%时最终释放所拦截的数据的任何剩余部分。替代地,如上所述,可用资源程序142可以在可用资源量达到或超过相应的阈值水平(并且计算设备已经切换回到正常操作模式)之后,释放所有所拦截的数据,例如,在电池余量达到20%之后发送/释放所有所拦截的数据。

在附加示例中,所确定的低资源模式可以要求基于在数据缓存144中达到存储限制来释放所拦截的数据。例如,如果可用资源程序142基于计算设备110被切换到所确定的低资源模式而拦截数据(并将拦截数据缓存在数据缓存144中),并且数据缓存144中的所拦截的数据的量达到一定的存储限制,则可用资源程序142可以开始发送/释放所拦截的数据的一部分,以避免违反存储限制。在示例实施例中,数据的释放可以符合“先进先出”规则,使得首先被拦截的数据首先被释放,然而,在其他实施例中,数据的释放可以基于数据的优先级、数据所对应的应用的优先级,或者替代地,可用资源程序142可以在达到存储限制时停止拦截旨在去往计算设备110的数据。此外,数据的释放可以基于所拦截的数据的分类。例如,基于文件类型、基于文件大小、或基于文件所对应的应用,某些文件类型可具有较高优先级。例如,可用资源程序142可以在释放与较低优先级相关联的数据之前,释放与高优先级相关联的拦截数据。

此外,在一些实施例中,可以基于超过存储限制或存储时间来自动对计算设备110的用户进行收费,其中该收费对应于超过存储限制的量或超过存储限制的时间量。此外,在其他实施例中,特定数据释放协议可以与用户或特定计算设备(例如,计算设备110)相关联,而不是与所确定的低资源模式相关联。

此外,在另外的实施例中,如上所述,可用资源程序142可以将缓存数据的参考(例如,标识符)发送到计算设备110。该引参考可以被计算设备110用来从服务器140提取数据。在另外的实施例中,计算设备110在提取数据时可以利用上述方法。例如,计算设备110可以基于由计算设备110实现的每个电池余量水平来提取一定量的数据。

图3是描绘从服务器140到一个或多个替代设备(计算设备310和计算设备320)的数据流的数据流图。在示例实施例中,上述低资源模式可以包括可用资源程序142确定计算设备110是否与一个或多个替代设备相关联。例如,计算设备110的用户可以另外指定一个或多个替代设备,例如,智能手表和平板电脑。在替代实施例中,可用资源程序142可以基于多个设备上的某些应用的使用来标识一个或多个替代设备。例如,如果计算设备110的用户利用(并登录到)计算设备110、计算设备310和计算设备320上的应用112(并且此外,如果这些设备相对于应用112被列为受信任设备),则可用资源程序142可以确定计算设备310和计算设备320是计算设备110的替代设备。如上所述,上述低资源模式可以包括可用资源程序142确定计算设备110是否与一个或多个替代设备相关联。此外,可用资源程序142可以与每个替代设备进行通信,以标识每个设备的规格和能力。基于每个设备的所确定的规格和能力,在将计算设备110切换到所确定的低资源模式之后,可用资源程序142可以确定是将所拦截的数据的全部还是一部分发送到替代设备中的一者还是两者。例如,可用资源程序142可以确定计算设备310是智能手表,其具有接收和显示文本消息的能力,但是不具有显示高分辨率视频的能力。因此,如果可用资源程序142根据所确定的低资源模式拦截包括文本消息和高分辨率视频两者的数据,则可用资源程序142可以将文本消息发送到计算设备310,而将高分辨率视频维持在缓存中(直到可用资源程序确定根据所确定的低资源模式将数据释放到计算设备110为止)。在该示例中,由于与文本消息相对应的所拦截的数据被发送到替代设备,因此与文本消息相对应的所拦截的数据可不被释放到计算设备110(例如,在将计算设备110切换回正常操作模式时),然而在其他实施例中,与文本消息相对应的所拦截的数据可以被释放到计算设备110,如关于图2所描述的(以及被发送到替代设备,计算设备310)。

此外,为了确定每个替代设备的能力和规格,可用资源程序142还可以确定每个替代设备上的可用资源量,如上所述。例如,如果可用资源程序142确定计算设备310具有低于阈值水平(如上所述确定的阈值水平)的电池余量,则可用资源程序142可以确定不将所拦截的数据的特定部分发送到计算设备310(例如,可以仅发送文本消息,而不发送高分辨率视频)。替代地,基于针对替代设备确定的可用资源量,可用资源程序142可以将所拦截的数据的附加量发送到另一替代设备。

此外,如果多于一个替代设备与计算设备110相关联,则可用资源程序142可以基于替代设备的优先级来确定将所拦截的数据发送到哪个替代设备。优先级可以由计算设备110的用户输入,或者替代地,可以由可用资源程序142基于每个替代设备的使用频率(如果可用资源程序142确定替代设备被更频繁地利用,则可以为该设备分配较高优先级),或者基于关于特定应用的每个替代设备的使用频率来确定。例如,如果可用资源程序142拦截旨在发送到计算设备110的数据,并且所拦截的数据对应于第一应用,则可用资源程序142在比较替代设备计算设备310和计算设备320时,可以确定计算设备110的用户利用计算设备310来使用第一应用比计算设备110的用户利用计算设备320来使用第一应用更多。在该示例中,关于对应于第一应用的所拦截的数据,可用资源可以向计算设备310分配较高优先级,然而,关于对应于其他应用的所拦截的数据,可用资源可以向计算设备320分配较高优先级(基于执行如上所述的分析)。

在另外的实施例中,根据图2中描述的实施例,所拦截的数据可以被释放/发送到替代设备。例如,可用资源程序142可以首先将所拦截的数据缓存在数据缓存144中,然后基于达到存储限制,将所拦截的数据释放到适当的替代设备。例如,如果可用资源程序142基于计算设备110被切换到所确定的低资源模式而拦截数据,并且数据缓存144中的所拦截的数据的量达到某个存储限制,则可用资源程序142可以开始发送/释放所拦截的数据的一部分以避免违反存储限制,如上文关于图2所述。此外,在其他实施例中,可用资源程序142可以在达到特定时间段之后,将所拦截的数据(从数据缓存144)释放到一个或多个适当的替代设备。例如,可用资源程序142可以在缓存之后10分钟释放所拦截的数据的一部分,并且在缓存之后30分钟释放另一部分,并在缓存之后2小时释放所有剩余的所拦截的数据。替代地,可用资源程序142可以在经过单个时间段之后释放所有所拦截的数据,例如,在缓存之后2小时发送/释放所有所拦截的数据,如上所述。

图4是示出根据实施例的可用资源程序142在将数据路由到一个或多个替代设备中的操作的流程图。在示例实施例中,可用资源程序142接收每个替代设备的用户设备信息(步骤402)。在示例实施例中,替代设备可以如上所述通过用户输入来标识,或者可以如上所述通过可用资源程序142来确定。此外,如上所述,用户设备信息可以包括设备能力信息(例如,所支持的文件类型)和设备规格(例如,存储容量等)。

如上所述,可用资源程序142响应于切换到所确定的低资源模式而拦截来自一个或多个应用服务器的数据(步骤404)。可用资源程序142可以基于数据类型以及与数据相关联的设备要求来对所拦截的数据进行分类(步骤406)。例如,高分辨率视频可以与不同于文本消息或社交媒体消息的分类相关联。在其他实施例中,高分辨率视频可以具有不同于低分辨率视频的分类。在其他实施例中,不同的文件类型可以另外具有不同的分类,例如,“.mkv”文件可以具有与“mpeg”文件不同的分类。

在示例实施例中,可用资源程序142基于用户设备信息和数据分类将所拦截的数据路由到替代设备(步骤408)。例如,如上所述,可用资源程序142可以确定替代计算设备(例如,计算设备310)具有处理某些文件类型的能力,因此可用资源程序142可以将对应于某些文件类型的所拦截的数据的一部分发送到计算设备310。在另一示例中,如上所述,可用资源程序142可以考虑替代计算设备上的存储容量,并且基于所确定的替代设备的存储容量来发送所拦截的数据中的一部分或全部。此外,在示例实施例中,如上所述,将所拦截的数据路由到一个或多个替代设备在计算设备110处于所确定的低资源模式时发生。

为了说明和描述的目的,已经给出了本公开的各种实施例的前述描述。这既不旨在是穷举的,也不旨在将本公开限制于所公开的精确形式。许多修改和变化是可能的。对于本公开领域的技术人员可能是明显的这些修改和变化旨在被包括在如所附权利要求所限定的本公开的范围之内。

图5描绘了根据实施例的包括在图1的可用资源系统100中的计算设备、以及图3的计算设备310和计算设备320的组件的框图。应理解,图5仅提供了一种实现方式的图示,并且不暗示关于可以实现不同实施例的环境的任何限制。可以对所描绘的环境进行许多修改。

计算设备可以包括一个或多个处理器502、一个或多个计算机可读ram504、一个或多个计算机可读rom506、一个或多个计算机可读存储介质508、设备驱动器512、读/写驱动器或接口514、网络适配器或接口516,它们全部通过通信结构518互连。通信结构518可以通过被设计用于在处理器(例如,微处理器、通信和网络处理器等)、系统存储器、外围设备、以及系统中的任何其他硬件组件之间传递数据和/或控制信息的任何架构来实现。

一个或多个操作系统510和一个或多个应用程序511(例如,可用资源程序142)被存储在一个或多个计算机可读存储介质508上,以用于由一个或多个处理器502并通过利用一个或多个相应的ram504(通常包括缓存存储器)执行。在所示实施例中,每个计算机可读存储介质508可以是内部硬盘驱动器的磁盘存储设备、cd-rom、dvd、存储棒、磁带、磁盘、光盘、半导体存储设备(例如,ram、rom、eprom)、闪存、或可以存储计算机程序和数字信息的任何其他计算机可读有形存储设备。

计算设备还可以包括r/w驱动器或接口514,以从一个或多个便携式计算机可读存储介质526读取以及对其写入。计算设备上的应用程序511可以被存储在一个或多个便携式计算机可读存储介质526上,经由相应的r/w驱动器或接口514读取,并被加载到相应计算机可读存储介质508中。

计算设备还可以包括网络适配器或接口516,例如,tcp/ip适配器卡或无线通信适配器(例如,使用ofdma技术的4g无线通信适配器)。可以经由网络(例如,互联网、局域网、或其他广域网或无线网)和网络适配器或接口516从外部计算机或外部存储设备将计算设备上的应用程序511下载到计算设备。程序可以从网络适配器或接口516加载到计算机可读存储介质508上。网络可以包括铜线、光纤、无线传输、路由器、防火墙、交换机、网关计算机、和/或边缘服务器。

计算设备还可以包括显示屏520和外部设备522,外部设备522可以包括例如键盘、计算机鼠标、和/或触摸板。设备驱动器512连接到用于成像的显示屏520、外部设备522、和/或用于压力感测字母数字字符输入和用户选择的显示屏520。设备驱动器512、r/w驱动器或接口514、以及网络适配器或接口516可以包括硬件和软件(存储在计算机可读存储介质508和/或rom506上)。

本文描述的程序基于针对其在特定实施例中实现这些程序的应用来标识。然而,应理解,本文中任何特定程序术语的使用仅是为了方便,因此,本公开不应限于仅在由此类术语所标识和/或暗示的任何特定应用中使用。

基于前述内容,已经公开了一种计算机系统、方法和计算机程序产品。然而,在不脱离本公开的范围的情况下,可以进行多种修改和替换。因此,通过示例而非限制的方式公开了各种实施例。

本公开的各种实施例可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括在其上具有计算机可读程序指令的(一个或多个)计算机可读存储介质,这些计算机可读程序指令用于使处理器执行本公开的各方面。

计算机可读存储介质可以是有形设备,该有形设备可以保留和存储供指令执行设备使用的指令。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或前述项的任何合适的组合。计算机可读存储介质的更具体示例的非详尽列表包括下列项:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字多功能磁盘(dvd)、记忆棒、软盘、机械编码设备(例如,打孔卡或凹槽中的凸起结构,上面记录有指令)、以及前述项的任何合适的组合。如本文所使用的,计算机可读存储介质不应被理解为瞬态信号本身,例如,无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,传输通过光纤电缆的光脉冲)、或传输通过电线的电信号。

本文描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应的计算/处理设备内的计算机可读存储介质中。

用于执行本公开的操作的计算机可读程序指令可以是汇编程序指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、用于集成电路的配置数据、或以一种或多种编程语言(包括面向对象编程语言(如smalltalk、c++等)和过程编程语言(如“c”编程语言或类似编程语言)的任何组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上、部分地在用户的计算机上、作为独立软件包、部分地在用户的计算机上并且部分地在远程计算机上、或完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(lan)或广域网(wan))连接到用户的计算机,或者可以与外部计算机建立连接(例如,通过使用互联网服务提供商的互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)、或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息个性化电子电路来执行计算机可读程序指令,以便执行本公开的各方面。

本文参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。将理解,流程图和/或框图的每个框、以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机、或其他可编程数据处理装置的处理器以产生机器,从而使得执行指令(经由计算机或其他可编程数据处理装置的处理器执行)创建用于实现流程图和/或一个或多个框图框中指定的功能/动作的装置。这些计算机可读程序指令也可以存储在计算机可读存储介质中,该计算机可读存储介质可以引导计算机、可编程数据处理装置、和/或其他设备以特定方式起作用,从而使得在其中存储有指令的计算机可读存储介质包括制品,该制品包括实现在流程图和/或一个或多个框图框中指定的功能/动作的各方面的指令。

计算机可读程序指令还可以加载到计算机、其他可编程数据处理装置或其他设备上,以使一系列操作步骤在计算机、其他可编程装置或其他设备上执行以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或一个或多个框图框中指定的功能/动作。

附图中的流程图和框图示出了根据本公开的各种实施例的系统、方法和计算机程序产品的可能的实施方式的架构、功能和操作。在这方面,流程图或框图中的每个框可以表示指令的模块、片段或部分,其包括用于实现(一个或多个)指定的逻辑功能的一个或多个可执行指令。在一些替代实施方式中,框中指出的功能可以不按附图中指出的顺序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。还应注意,框图和/或流程图的每个框、以及框图和/或流程图中的框的组合可以由执行指定功能或动作、或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。

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