用于基于用户角色信息来进行移动设备行为的行为分析的方法和系统与流程

文档序号:12513013阅读:285来源:国知局
用于基于用户角色信息来进行移动设备行为的行为分析的方法和系统与流程

过去几年,蜂窝和无线通信技术已经经历了爆发性发展。无线服务提供商现在提供一系列广泛的特征和服务,该一系列广泛的特征和服务向其用户提供对信息、资源和通信的前所未有的水平的接入。为了跟上这些服务增强,个人和消费者电子设备(例如,蜂窝电话、手表、头戴式耳机、远程控制等)已经变得比以往任何时候都强大和复杂,并且现在通常包括允许在其设备上执行复杂和强大的软件应用的强大的处理器、大型存储器和其它资源。

由于这些和其它改进,个人和消费者电子设备在现代生活中正变得无所不在,并且具有对由其用户生成的或者与其用户有关的信息的前所未有的水平的接入。另外,人们频繁地使用其设备来存储敏感信息(例如,信用卡信息、联系人等)和/或完成安全性是重要的任务。例如,移动设备用户频繁地使用其设备来购买商品、发送和接收敏感通信、付账、管理银行账户以及进行其它敏感交易。由于这些趋势,个人和消费者电子设备迅速地成为恶意软件和网络攻击的下一个前沿。因此,更好地保护资源受限的计算设备(诸如移动和无线设备)的新的且改进的安全解决方案对于消费者来说将是有益的。



技术实现要素:

各个方面包括通过在计算设备(例如,移动计算设备等)的处理器中监测在所述计算设备上操作的软件应用的活动以生成对所述计算设备的用户进行表征的用户角色信息,并且使用所述用户角色信息来确定设备行为是否是非良性的,来对所述计算设备中的所述设备行为进行分析的方法。在一个方面中,使用所述用户角色信息来确定所述设备行为是否是非良性的可以包括:使用所生成的用户角色信息来动态地确定要在所述计算设备中监测或评估的设备特征,以便平衡性能和安全性之间的折衷。在一个方面中,使用所述用户角色信息来确定所述设备行为是否是非良性的可以包括:使用所生成的用户角色信息来识别与确定所述设备行为是否与所述用户对所述计算设备的通常使用的模式不一致最相关的设备特征。

在一个方面中,使用所述用户角色信息来确定所述设备行为是否是非良性的可以包括:监测所识别的设备特征以收集行为信息;生成对所收集的行为信息进行表征的行为向量;以及将所生成的行为向量应用于分类器模型,以确定所述设备行为是否是非良性的。在一个方面中,所述方法可以包括:生成对所识别的设备特征进行评估的特定于用户的分类器模型;以及将所生成的行为向量应用于所述分类器模型,以确定所述设备行为是否是非良性的。在一个方面中,生成对所识别的设备特征进行评估的所述特定于用户的分类器模型可以包括:接收包括多个测试条件的完全分类器模型;识别所述多个测试条件中的、对所识别的设备特征进行评估的测试条件;以及生成所述特定于用户的分类器模型以包括经识别的测试条件。

在一个方面中,将所生成的行为向量应用于所述特定于用户的分类器模型以确定所述设备行为是否是非良性的可以包括:将所生成的行为向量应用于所述特定于用户的分类器模型,以便对所述特定于用户的分类器模型中包括的每个测试条件进行评估;计算对所述特定于用户的分类器模型中的测试条件进行评估的每个结果的加权平均;以及基于所计算的加权平均来确定所述设备行为是否是非良性的。在一个方面中,监测所述软件应用的活动可以包括:监测所述用户与所述软件应用之间的用户交互。在一个方面中,生成所述用户角色信息可以包括:生成对所述用户的情绪进行表征的信息。

在一个方面中,所述方法可以包括:确定所述用户的情绪是否与对通过监测设备特征所收集的行为信息进行分析有关。在一个方面中,所述方法可以包括:生成行为向量,所述行为向量将所述用户的情绪与之有关的所收集的行为信息与所述用户在所述行为信息被收集时的情绪相互关联;以及将所生成的行为向量应用于分类器模型,以确定所述设备行为是否是非良性的。在一个方面中,所述方法可以包括:生成分类器模型,所述分类器模型包括对与所述用户的情绪有关的设备特征进行评估的决策节点;以及将行为向量应用于所述分类器模型,以确定所述设备行为是否是非良性的。

进一步的方面可以包括具有处理器的计算设备,所述处理器被配置有处理器可执行指令,以执行可以包括以下各项的操作:监测在所述计算设备上操作的软件应用的活动,以生成对所述计算设备的用户进行表征的用户角色信息;以及使用所述用户角色信息来确定设备行为是否是非良性的。在一个方面中,所述处理器可以被配置有处理器可执行指令以执行操作,使得使用所述用户角色信息来确定所述设备行为是否是非良性的包括:使用所生成的用户角色信息来动态地确定要在所述计算设备中监测或评估的设备特征,以便平衡性能和安全性之间的折衷。在一个方面中,所述处理器可以被配置有处理器可执行指令以执行操作,使得使用所述用户角色信息来确定所述设备行为是否是非良性的包括:使用所生成的用户角色信息来识别与确定所述设备行为是否与所述用户对所述计算设备的通常使用的模式不一致最相关的设备特征。

在一个方面中,所述处理器可以被配置有处理器可执行指令以执行操作,使得使用所述用户角色信息来确定所述设备行为是否是非良性的还包括:监测所识别的设备特征以收集行为信息;生成对所收集的行为信息进行表征的行为向量;以及将所生成的行为向量应用于分类器模型,以确定所述设备行为是否是非良性的。在一个方面中,所述处理器可以被配置有处理器可执行指令,以执行还包括以下项的操作:生成对所识别的设备特征进行评估的特定于用户的分类器模型。在一个方面中,所述处理器可以被配置有处理器可执行指令以执行操作,使得将所生成的行为向量应用于所述分类器模型以确定所述设备行为是否是非良性的包括:将所生成的行为向量应用于所述特定于用户的分类器模型以确定所述设备行为是否是非良性的。

在一个方面中,所述处理器可以被配置有处理器可执行指令以执行操作,使得生成对所识别的设备特征进行评估的所述特定于用户的分类器模型包括:接收包括多个测试条件的完全分类器模型;识别所述多个测试条件中的、对所识别的设备特征进行评估的测试条件;以及生成所述特定于用户的分类器模型以包括经识别的测试条件。在一个方面中,将所生成的行为向量应用于所述特定于用户的分类器模型以确定所述设备行为是否是非良性的包括:将所生成的行为向量应用于所述特定于用户的分类器模型,以便对所述特定于用户的分类器模型中包括的每个测试条件进行评估;计算对所述特定于用户的分类器模型中的测试条件进行评估的每个结果的加权平均;以及基于所计算的加权平均来确定所述设备行为是否是非良性的。

在一个方面中,所述处理器可以被配置有处理器可执行指令以执行操作,使得生成所述用户角色信息包括:生成对所述用户的情绪进行表征的信息。在一个方面中,所述处理器可以被配置有处理器可执行指令,以执行还包括以下各项的操作:确定所述用户的情绪是否与对通过监测设备特征所收集的行为信息进行分析有关;响应于确定所述用户的情绪与对通过监测所述设备特征所收集的所述行为信息进行分析有关,生成分类器模型,所述分类器模型包括对与所述用户的情绪有关的设备特征进行评估的决策节点;生成行为向量,所述行为向量将所述用户的情绪与之有关的所收集的行为信息与所述用户在所述行为信息被收集时的情绪相互关联;以及将所生成的行为向量应用于所述分类器模型,以确定所述设备行为是否是非良性的。

进一步的方面包括具有存储在其上的处理器可执行软件指令的非暂时性计算机可读存储介质,所述处理器可执行软件指令被配置为使得计算设备的处理器执行用于对所述计算设备中的设备行为进行分析的操作,所述操作包括:监测在所述计算设备上操作的软件应用的活动以生成对所述计算设备的用户进行表征的用户角色信息;以及使用所述用户角色信息来确定所述设备行为是否是非良性的。在一个方面中,所存储的处理器可执行软件指令可以被配置为使得处理器执行操作,使得使用所述用户角色信息来确定所述设备行为是否是非良性的包括:使用所生成的用户角色信息来动态地确定要在所述计算设备中监测或评估的设备特征,以便平衡性能和安全性之间的折衷。在一个方面中,所存储的处理器可执行软件指令可以被配置为使得处理器执行操作,使得使用所述用户角色信息来确定所述设备行为是否是非良性的包括:使用所生成的用户角色信息来识别与确定所述设备行为是否与所述用户对所述计算设备的通常使用的模式不一致最相关的设备特征。

在一个方面中,所存储的处理器可执行软件指令可以被配置为使得处理器执行操作,使得使用所述用户角色信息来确定所述设备行为是否是非良性的包括:监测所识别的设备特征以收集行为信息;生成对所收集的行为信息进行表征的行为向量;以及将所生成的行为向量应用于分类器模型,以确定所述设备行为是否是非良性的。在一个方面中,所存储的处理器可执行软件指令可以被配置为使得处理器执行还包括以下项的操作:生成对所识别的设备特征进行评估的特定于用户的分类器模型。

在一个方面中,所存储的处理器可执行软件指令可以被配置为使得处理器执行操作,使得将所生成的行为向量应用于所述分类器模型以确定所述设备行为是否是非良性的包括:将所生成的行为向量应用于所述特定于用户的分类器模型以确定所述设备行为是否是非良性的。在一个方面中,所存储的处理器可执行软件指令可以被配置为使得处理器执行操作,使得生成对所识别的设备特征进行评估的所述特定于用户的分类器模型包括:接收包括多个测试条件的完全分类器模型;识别所述多个测试条件中的、对所识别的设备特征进行评估的测试条件;以及生成所述特定于用户的分类器模型以包括经识别的测试条件。在一个方面中,所存储的处理器可执行软件指令可以被配置为使得处理器执行操作,使得将所生成的行为向量应用于所述特定于用户的分类器模型以确定所述设备行为是否是非良性的包括:将所生成的行为向量应用于所述特定于用户的分类器模型,以便对所述特定于用户的分类器模型中包括的每个测试条件进行评估;计算对所述特定于用户的分类器模型中的测试条件进行评估的每个结果的加权平均;以及基于所计算的加权平均来确定所述设备行为是否是非良性的。

在一个方面中,所存储的处理器可执行软件指令可以被配置为使得处理器执行操作,使得生成所述用户角色信息包括:生成对所述用户的情绪进行表征的信息。在一个方面中,所存储的处理器可执行软件指令可以被配置为使得所述处理器执行还包括以下各项的操作:确定所述用户的情绪是否与对通过监测设备特征所收集的行为信息进行分析有关;响应于确定所述用户的情绪与对通过监测所述设备特征所收集的所述行为信息进行分析有关,生成分类器模型,所述分类器模型包括对与所述用户的情绪有关的设备特征进行评估的决策节点;生成行为向量,所述行为向量将所述用户的情绪与之有关的所收集的行为信息与所述用户在所述行为信息被收集时的情绪相互关联;以及将所生成的行为向量应用于所述分类器模型,以确定所述设备行为是否是非良性的。

进一步的方面可以包括一种计算设备,所述计算设备包括:用于监测在所述计算设备上操作的软件应用的活动以生成对所述计算设备的用户进行表征的用户角色信息的单元;以及用于使用所述用户角色信息来确定设备行为是否是非良性的单元。在一个方面中,用于使用所述用户角色信息来确定所述设备行为是否是非良性的单元包括:用于使用所生成的用户角色信息来识别与确定所述设备行为是否与所述用户对所述计算设备的通常使用的模式不一致最相关的设备特征的单元。在一个方面中,用于使用所述用户角色信息来确定所述设备行为是否是非良性的单元还包括:用于监测所识别的设备特征以收集行为信息的单元;用于生成对所收集的行为信息进行表征的行为向量的单元;以及用于将所生成的行为向量应用于分类器模型以确定所述设备行为是否是非良性的单元。

在一个方面中,所述计算设备还包括:用于生成对所识别的设备特征进行评估的特定于用户的分类器模型的单元,以及所述用于将所生成的行为向量应用于所述分类器模型以确定所述设备行为是否是非良性的单元可以包括:用于将所生成的行为向量应用于所述特定于用户的分类器模型以确定所述设备行为是否是非良性的单元。在一个方面中,用于生成对所识别的设备特征进行评估的所述特定于用户的分类器模型的单元可以包括:用于接收包括多个测试条件的完全分类器模型的单元;用于识别所述多个测试条件中的、对所识别的设备特征进行评估的测试条件的单元;以及用于生成所述特定于用户的分类器模型以包括经识别的测试条件的单元。

在一个方面中,用于将所生成的行为向量应用于所述特定于用户的分类器模型以确定所述设备行为是否是非良性的单元可以包括:用于将所生成的行为向量应用于所述特定于用户的分类器模型,以便对所述特定于用户的分类器模型中包括的每个测试条件进行评估的单元;用于计算对所述特定于用户的分类器模型中的测试条件进行评估的每个结果的加权平均的单元;以及用于基于所计算的加权平均来确定所述设备行为是否是非良性的单元。

在一个方面中,用于生成所述用户角色信息的单元可以包括:用于生成对所述用户的情绪进行表征的信息的单元,以及所述计算设备还可以包括:用于确定所述用户的情绪是否与对通过监测设备特征所收集的行为信息进行分析有关的单元;用于响应于确定所述用户的情绪与对通过监测所述设备特征所收集的所述行为信息进行分析有关,生成分类器模型的单元,所述分类器模型包括对与所述用户的情绪有关的设备特征进行评估的决策节点;用于生成行为向量的单元,所述行为向量将所述用户的情绪与之有关的所收集的行为信息与所述用户在所述行为信息被收集时的情绪相互关联;以及用于将所生成的行为向量应用于所述分类器模型,以确定所述设备行为是否是非良性的单元。

附图说明

并入本文并且构成本说明书的一部分的附图示出了本发明的示例性方面,并且与上文给出的一般描述和下文给出的具体实施方式一起用于解释本发明的特征。

图1是适用于实现各个方面的示例片上系统的架构图。

图2是示出了在被配置为确定特定的移动设备行为是良性的还是非良性的方面移动设备中的示例逻辑组件和信息流的框图。

图3是根据一个方面,示出了基于用户角色信息来分析设备行为的方法的过程流程图。

图4是根据另一个方面,示出了基于用户角色信息来分析设备行为的方法的过程流程图。

图5是示出了在计算设备中生成特定于用户的分类器模型或贫乏分类器模型的方面移动设备方法的过程流程图。

图6是可以由方面服务器处理器生成的并且由设备处理器用于生成特定于用户的分类器模型或贫乏分类器模型的示例提升决策树桩的说明。

图7是用于在移动设备上执行适应性观察的方面方法的过程流程图。

图8是适用于在一个方面中使用的移动设备的组件框图。

具体实施方式

将参照附图详细描述各个方面。在任何可能的地方,将遍及附图使用相同的附图标记指代相同或相似的部分。对特定示例和实现方式做出的引用是出于说明性的目的,并且不旨在限制本发明或权利要求书的范围。

概括地说,各个方面包括方法和计算设备,所述计算设备被配置为实现如下方法:部分地基于如计算设备所识别的用户的角色,使用行为分析和机器学习技术来对计算设备的、非良性的行为(例如,由恶意的或者性能降级的软件应用等引起的行为)进行识别、阻止、纠正和/或以其它方式进行响应。计算设备可以被配置为:识别设备用户的独特的个性特点,以学习随时间的他的或她的设备使用模式,和/或通过识别或表征他的或她的活动、偏好、年龄、职业、习惯、情绪、情感状态、个性、设备使用模式等来生成表征用户(用户的角色)的用户角色信息。计算设备可以被配置为:使用任何或所有这样的信息来更好地识别计算设备的非良性的行为或对计算设备的非良性的行为进行响应。

在一个方面中,计算设备处理器可以被配置为:识别设备的一个用户(或多个用户),生成对所识别的用户的个性、活动、偏好、个性特点、设备使用模式、习惯、情绪、情感状态等进行表征的用户角色信息,以及使用该用户角色信息来识别计算设备的、与确定检测的/监测的设备行为是否与所识别的用户对该设备的通常使用模式相一致最相关的因素或特征。随后,计算设备处理器可以对所识别的因素/特征进行监测以收集行为信息,生成对所收集的行为信息进行表征的行为向量,生成对所识别的因素/特征进行测试或评估的特定于用户的分类器模型,以及将所生成的行为向量应用于特定于用户的分类器模型,以智能地确定设备的行为、软件应用或过程是否是非良性的(例如,恶意的、性能降级的等)。

在进一步的方面中,计算设备处理器可以被配置为:使用用户角色信息来智能地优先和/或动态地确定要在设备中监测或分析的设备特征的数量,以便平衡行为分类的准确度和设备的性能之间的折衷。例如,计算设备处理器可以被配置为:当用户角色信息指示用户在很高概率上是儿童或者不是非常精通电脑时,自动地增加要监测或分析的设备特征的数量,以便增加行为分类的准确度(因此提高设备的安全性)。在另一方面,当用户角色信息指示用户是对设备的高级配置进行频繁修改(例如,超频处理器等)的狂热玩家时,设备处理器可以减少要监测或分析的设备特征的数量(即,降级设备的安全性级别),以改善处理器的性能。

通过对所识别的用户的个性、活动、设备使用模式、习惯、情绪、情感状态等进行学习和表征,并且使用该信息来评估设备行为,各个方面通过允许计算设备对非良性的软件应用和其它不期望的设备行为进行更准确地识别、阻止、纠正和/或以其它方式进行响应,来改善计算设备的运作。此外,通过在计算设备中本地地执行这样的操作,各个方面允许计算设备收集用户的详细的个人信息,并且使用该详细的个人信息来改善计算设备的安全性、性能和功耗特性,而不危害(compromise)用户的隐私。

各个方面还通过允许计算设备(或计算设备的基于行为的监测和分析系统)使用用户角色信息来智能地将其监测和/或分析操作集中在对于对非良性的设备行为进行识别和分类而言最重要的设备特征上,来改善计算设备的运作。例如,计算设备处理器可以被配置为:对设备特征区分优先次序,以便当用户角色信息指示用户是住在养老院的老年人(被已知为更易受到钓鱼攻击的人口)时,集中在对钓鱼攻击进行识别和响应上。用户角色信息的这种智能使用提高了行为分类操作的准确度,并且减小了其对设备的响应性、性能和功耗特性的影响。因而,各个方面很好地适于包括和用在移动的和资源受限的计算设备(诸如智能电话)中,这些计算设备具有有限的资源,靠电池电力运行,并且对于这些计算设备而言性能是重要的。

根据下文提供的方面的具体描述,对计算设备的功能、功能性和/或运作的另外的改进将是明显的。

术语“性能降级”在本申请中用于指代计算设备的广泛的多种多样的不期望的操作和特性,诸如较长的处理时间、较慢的实时响应性、较低的电池寿命、私人数据的丢失、恶意的经济活动(例如,发送未授权的优质SMS消息)、服务拒绝(DoS)、拙劣编写或设计的软件应用、恶意的软件、恶意软件、病毒、碎裂的存储器、与强占计算设备或将电话用于侦查或僵尸网络活动有关的操作等。此外,由于这些原因中的任何一种而使性能降级的行为、活动和状况在本文中被称为“不良的”或“非良性的”。

本文中可互换地使用术语“移动计算设备”和“移动设备”来指代蜂窝电话、智能电话、个人或移动多媒体播放器、个人数据助理(PDA)、膝上型计算机、平板计算机、智能本、超级本、掌上型计算机、无线电子邮件接收机、支持多媒体互联网的蜂窝电话、无线游戏控制器以及类似的个人电子设备(其包括存储器和性能是重要的可编程处理器,并且低于电池功率来操作,使得功率节省方法是有益的)中的任何一项或者全部项。虽然各个方面具体来说对于具有有限的资源并且靠电池运行的移动计算设备(诸如智能电话)是有用的,但是这些方面通常在包括处理器和执行应用程序的任何电子设备中都是有用的。

通常,移动设备的性能和功率效率随时间降级。最近,反病毒公司(例如,迈克菲(McAfee)、赛门铁克(Symantec)等)已经开始营销旨在减慢该降级的移动反病毒、防火墙和加密产品。然而,这些解决方案中的许多解决方案依靠移动设备上的计算密集型扫描引擎的定期执行,这可以消耗移动设备的处理和电池资源中的许多资源,使移动设备变慢,或者在延长的时间段内致使移动设备无效,和/或以其它方式使用户体验降级。另外,这些解决方案通常限于检测已知的病毒和恶意软件,并且不解决经常结合以对移动设备随时间的降级起作用的多个复杂因素和/或交互(例如,当性能降级不是由病毒或恶意软件引起的时候)。由于这些和其它原因,现有的反病毒、防火墙和加密产品不提供用于识别可能对移动设备随时间的降级起作用的大量因素、防止移动计算设备降级、或者将老化的移动设备高效地恢复到其原始状况的足够的解决方案。

此外,现代移动设备是高度可配置的并且复杂的系统。因而,对于确定特定设备行为是良性的还是非良性的(例如,恶意的或性能降级的)而言最重要的特征在每个移动设备中可能是不同的。另外,存在可以对移动计算设备的性能和功率利用水平随时间的降级起作用的大量的多种因素,包括:拙劣编写或设计的软件应用、恶意软件、病毒、碎裂的存储器、背景过程等。由于这些因素的数量、多样化和复杂性,因此对可能使现代移动计算设备的复杂且资源受限的系统的性能和/或功率利用水平的降级起作用的全部因素进行评估通常是不可行的。因而,使用户、操作系统和/或应用程序(例如,反病毒软件等)准确地并且高效地识别这些问题的源是困难的。结果,移动设备用户当前具有用于防止移动设备的性能和功率利用水平随时间的降级、或者用于将老化的移动设备恢复到其原始性能和功率利用水平的少数几个解决办法。

为了克服对现有解决方案的限制,各个方面包括配备有行为监测和分析系统的计算设备,所述行为监测和分析系统被配置为:快速且高效地识别非良性的软件应用(例如,恶意的、拙劣编写的、与设备不兼容的应用等),并且防止这样的应用使计算设备的性能、功率利用水平、网络使用水平、安全性和/或隐私随时间降级。行为监测和分析系统可以被配置为识别、阻止和纠正所识别的问题,而不对计算设备的响应性、性能或功耗特性产生显著的、负面的或用户可察觉的影响。

基于行为的监测和分析系统可以包括观察器过程、守护程序、模块或子系统(本文中共同地称为“模块”)、行为提取器模块以及行为分析器模块。观察器模块可以被配置为:装备或协调在计算设备系统的各个级别处的各个应用编程接口(API)、寄存器、计数器或其它设备组件(本文中共同地“装备组件”),从装备组件收集行为信息,以及将所收集的行为信息(例如,经由存储器写入操作、函数调用等)传送给行为提取器模块。行为提取器模块可以使用所收集的行为信息来生成行为向量,所述行为向量均表示或表征与设备的一个或多个特定线程、过程、软件应用、模块或组件相关联的所观察的事件、状况、任务、活动和/或行为(本文中共同地“行为”)中的许多项或全部项。行为提取器模块可以将所生成的行为向量(例如,经由存储器写入操作、函数调用等)传送给分析器模块,所述分析器模块可以将行为向量应用于分类器模型以生成分析结果,并且使用该分析结果来确定软件应用或设备行为是良性的还是非良性的(例如,恶意的、拙劣编写的、性能降级的等)。随后,设备处理器可以执行各种操作来纠正、治愈、治疗、隔离或以其它方式改正所识别的问题(例如,被确定为是非良性的行为)。

每个行为向量可以是包括或封装一个或多个“行为特征”的信息结构。行为特征可以是对移动设备中的观察到的事件、状况、活动、操作、关系、交互或行为中的全部或一部分进行表示的抽象的数或符号。每个行为特征可以与对某一范围的可能的值、可以对那些值执行的操作、值的意义以及其它类似信息进行标识的数据类型相关联。移动设备可以使用该数据类型来确定应当如何测量、分析、加权或使用相应的行为特征(或特征值)。

分类器模型可以是一种行为模型,其包括可以被设备处理器用来对具体特征、因素、数据点、条目、API、状态、状况、行为、软件应用、过程、操作、组件等(本文中共同地“特征”)或设备的行为的其它方面进行快速和高效地评估的数据、条目、决策节点、决策标准和/或信息结构。分类器模型还可以包括可以被设备处理器用来确定要在移动设备中监测的软件应用和/或行为之间的关系的本质的信息。

每个分类器模型可以被分类为完全分类器模型或贫乏分类器模型。完全分类器模型可以是根据大型训练数据集合生成的鲁棒数据模型,其中所述大型训练数据集合可以包括数千的特征和数十亿的条目。贫乏分类器模型可以是根据减小的数据集合生成的更集中的数据模型,所述减小的数据集合包括或优先对与用于确定特定的移动设备行为是否是非良性的最相关的特征/条目的测试。本地分类器模型可以是在移动计算设备中生成的贫乏分类器模型。通过在其中使用模型的计算设备中生成分类器模型,各个方面允许计算设备准确地识别在确定该特定设备上的行为是良性的还是对设备的性能的降级起作用时最重要的特定特征。这些方面还允许计算设备根据分类器模型中的特征关于对该特定设备中的行为进行分类的相对重要性,来准确地对这些特征区分优先次序。

为了进一步减少要在计算设备中监测或分析的特征或因素的数量,计算设备处理器可以被配置为:生成特定于用户的分类器模型并且使用其来确定设备行为是否是非良性的。特定于用户的分类器模型可以是包括高度集中的数据模型的本地分类器模型,所述高度集中的数据模型包括或优先对用于确定设备行为是否与特定用户对计算设备的通常使用相一致最相关的设备特征/条目进行测试或评估的决策节点。特定于用户的分类器模型还包括或优先对与特定用户和该用户的角色有关的状况进行测试/评估的决策节点,诸如用于对设备的用户进行表征、确定用户的一个或多个角色、或者用于确定设备行为是否与用户的表征或角色相一致的决策节点。设备处理器可以被配置为:基于在计算设备中收集、计算或生成的用户角色信息来生成特定于用户的分类器模型。

现代计算设备具有对由其用户生成的或者与其用户有关的信息的前所未有的水平的接入。例如,移动计算设备经常配备有收集或生成关于用户的详细个人信息的传感器(例如,加速度计、陀螺仪、地理空间定位传感器、相机、心率监测器、血糖仪等)。另外,移动计算设备现在包括允许执行复杂的软件应用(包括用于导航web、购买商品、监测用户的健康、控制家用电器、打游戏、观看/记录视频、导航新城市、跟踪健身、进行金融交易等的应用)的强大的处理器。这些软件应用经常收集或生成关于用户的详细个人信息。这些软件应用和传感器所收集、生成或使用的信息可以被方面计算设备用来生成对用户的活动、偏好、年龄、职业、习惯、情绪、情感状态、个性等进行表征的用户角色信息。

另外,每个人通常以唯一或独特的方式来与他的/她的计算设备进行交互。例如,移动设备用户经常具有独特的工作或通信风格,使用特定的软件应用或特定类型的软件应用,使用其移动设备来执行特定活动或完成特定任务,以特定次序来执行活动,在特定时间执行特定活动,以特定方式来与特定软件应用进行交互等。用户与他的/她的设备进行交互所采用的独特的方式可以随时间被学习,并且可以被方面计算设备用来生成对该用户的设备使用模式或独特的个性特点进行标识的用户角色信息。

例如,设备处理器可以被配置为:观察和/或收集来自在计算设备中操作的软件应用、计算的传感器、和/或来自用户与计算设备或其软件的交互的用户角色信息。用户角色信息可以包括适用于对设备用户的年龄、性别、个性、活动、设备使用模式、习惯、情绪、职业和/或情感状态进行标识或表征的任何信息。举例来说,用户角色信息可以包括用于标识以下各项的信息:用户与设备的交互、在设备上执行的定制的数量和类型、用户下载或使用的软件应用的类型、用户触摸屏幕或与屏幕进行交互的速率、设备的图形处理单元(GPU)使用水平、用户多久使用设备来与其它设备进行通信一次、用户偏好的通信方法(例如,文本与语音)、用户多快地进行通信、设备存储器大小等。

用户角色信息可以基于设备的数量和类型设备定制(例如,用于更改写入/读取设置、处理器速度等的数量)来将用户表征为“精通计算机的”。用户角色信息可以基于用户的手的大小(其可以是基于用户与设备的交互来确定的(例如,用户总是使用一只手来与具有大于5.5英寸的显示器大小的设备进行交互等))来将用户表征为“男性”或者“女性”。用户角色信息可以基于该用户下载或使用的软件应用的类型(例如,生产率app与游戏)来将用户表征为“成年人”或者“儿童”。用户角色信息可以基于检测到高触摸屏速率、高GPU使用以及中等通信水平来将用户表征为“玩家”。用户角色信息可以基于设备包括高质量相机、大型存储器、鲁棒的图片库、低触摸屏速率等来将用户表征为“摄影师”。用户角色信息还可以将用户表征为属于上述表征的组合,诸如“成年人-女性-玩家”。

设备处理器可以使用用户角色信息来生成行为向量和/或特定于用户的分类器模型。例如,设备处理器可以被配置为:使用用户角色信息来动态地确定被监测的设备特征、被包括在行为向量中的行为信息、被包括在分类器模型中(因此由分类器模型评估)的特定的设备特征等。

在一个方面中,设备处理器可以被配置为:使用用户角色信息来动态地确定要在设备上监测或分析的设备特征的数量,以便平衡准确度与性能之间的折衷。例如,当用户角色信息指示用户较老或不太精通计算机时,设备处理器可以增加要监测/分析的设备特征的数量,以增加设备的安全性。在另一方面,当用户角色信息指示用户是精通计算机的玩家并且计算设备/平台通常是安全的时,设备处理器可以减少要监测/分析的设备特征的数量,以提高性能。

在一个方面中,设备处理器可以被配置为:使用用户角色信息来对分类器模型所测试的特征智能地区分优先次序。例如,当用户角色信息指示用户频繁地使用他的/她的移动计算设备在网上购物时,设备处理器可以优先对与电子商务和信用卡保护有关的条件进行测试的特征。举另一个示例,当用户角色信息指示用户较老或不太精通计算机时,设备处理器可以优先对与检测以老年人为目标的垃圾邮件和钓鱼攻击有关的条件进行测试的特征。

设备处理器可以被配置为:通过监测多种软件应用(或软件应用类型)中的任何一种来收集用户角色信息,所述多种软件应用包括日历应用、提醒应用、通信应用、金融应用、用于完成特定任务的应用(例如,字处理、准备税制改革、演示应用、会计应用等)、基于位置的应用(例如,绘图和地理位置应用等)、社交媒体应用、web浏览器(例如,用于获得关于过去的搜索、浏览历史、访问的网站的类型、访问的网站的内容等的信息)、娱乐应用(例如,音频或多媒体播放器应用)、用于访问用户账户的应用(例如,银行app等)、个人训练和发展应用等。

计算设备处理器可以使用通过监测软件应用收集的用户角色信息来学习、确定或推断关于用户的信息,诸如用户的情绪。例如,大量的社交媒体状态更新可能指示用户是无聊的。在电子邮件中出现一反常态地大量的负面词语可能指示用户是心烦的或生气的。用户的银行账户余额(或股票投资组合)的显著增加可能指示用户更可能是高兴的或情绪很好的,以及用户的银行账户的显著下降(或长期的减少)可能指示用户可能是心烦的或者承受提高水平的压力。任何数量的可观察或可访问参数、特性或数据可以与用户情绪和情感状态相互关联。

设备处理器可以被配置为:确定用户的情绪(例如,无聊、心烦、生气、高兴、紧张、积极、激动等),将用户的情绪与从设备收集的其它信息相互关联,使用这些关联来学习用户的设备使用模式,以及确定所识别/检测/监测的设备行为是否与用户的正常使用模式相一致。例如,计算设备可以基于历史使用信息来确定特定用户在他/她悲伤时打游戏是异常的。因此,当用户被确定为是悲伤时,设备上的游戏应用的出现、执行或使用更加指示非良性的设备行为(即,游戏应用在较高的概率上是恶意软件)。因而,设备处理器可以对要监测或分析的设备特征进行更新或重新区分优先次序,以将其操作集中在确定游戏应用是否是非良性的。

在一些方面中,设备处理器可以被配置为:智能地识别用户角色信息(例如,用户的情绪)与之相关的设备行为(或软件应用的活动),以及生成针对所识别的设备行为的行为向量,以使得其可以解释被确定为是有关的用户角色信息。例如,在一个方面中,设备处理器可以被配置为:生成包括“情绪”数据字段的行为向量,其中如果用户角色信息被确定为是无关的,则“情绪”数据字段存储空值,以及如果用户角色信息被确定为是有关的,则“情绪”数据字段标识用户在行为被观察时的情绪(例如,生气)。

设备处理器还可以被配置为:生成行为向量以包括针对用户的检测到的情绪中的每个情绪(或用户的其它表征中的每个表征)的独立的数据字段。这样的数据字段的值标识软件应用执行与特定表征不一致的一个活动/多个活动的次数。例如,行为向量可以包括“懒惰”数据字段,其值标识软件应用在用户处于“懒惰”或“劳累”情绪时访问基于位置的信息(例如,GPS信息)的次数。这允许计算设备与观察到的移动设备的行为独立地并且并行地来随时间聚集信息(例如,频率或速率)和/或分析用户的情绪信息。

在另一个方面中,设备处理器可以被配置为:生成包括多个相互关联的子向量或信息结构的行为向量。例如,第一子向量/结构可以包括通过监测装备组件所收集的行为信息,第二子向量/结构可以标识用户表征是否与该行为/行为信息有关,以及第三子向量/结构可以包括特定表征的值(例如,用于标识用户在行为信息被收集时的情绪的值)。

另外,设备处理器可以被配置为:生成并且使用对与用户表征(即,与用户角色信息)有关的条件进行测试的分类器模型。例如,处理器可以生成分类器模型,该分类器模型对集中于识别当用户处于特定情绪(例如,悲伤、劳累、生气、繁忙、紧张等)时的某些类型的软件应用(例如,游戏等)的出现、使用或执行的条件/特征进行评估。这样的分类器模型可以包括决策树,其首先对“是否在设备上播放慢节奏音乐”的条件进行测试以确定用户是否是悲伤的,并且随后,响应于确定用户是悲伤的,对“是否活动进程中的任何进程与游戏app相关联”的条件进行测试。替代地,分类器模型可以包括对条件的组合(例如,“活动进程是否包括与娱乐app相关联的进程以及与游戏app相关联的进程”)进行测试的单个决策节点(例如,决策树桩等)。

在一个方面中,设备处理器可以被配置为:监测在计算设备上操作的软件应用的一个活动或许多活动(例如,用户与软件应用之间的用户交互)以生成对计算设备的用户进行表征的用户角色信息,并且使用该用户角色信息来确定设备行为是否是非良性的。设备处理器可以被配置为:使用所生成的用户角色信息来识别与确定设备行为是否与用户对计算设备的通常使用的模式不一致最相关的设备特征;监测所识别的设备特征以收集行为信息;生成对所收集的行为信息进行表征的行为向量;以及将所生成的行为向量应用于特定于用户的分类器模型,以确定设备行为是否是非良性的。

在一个方面中,设备处理器可以被配置为:确定用户角色信息(例如,用于表征用户的个性、情绪、习惯等)是否与对所收集的行为信息中的全部或一部分进行分析有关;生成分类器模型,所述分类器模型包括对与用户的情绪(如果有关的话)有关的设备特征进行评估的决策节点;生成行为向量,所述行为向量将用户的情绪与之有关的所收集的行为信息与用户在行为信息被收集时的情绪相互关联;以及将所生成的行为向量应用于所生成的分类器模型,以确定设备行为是否是非良性的。

设备处理器还可以被配置为:接收/获取包括多个测试条件的完全分类器模型;识别所述多个测试条件中的、对所识别的设备特征进行评估的测试条件;生成包括所识别的测试条件和/或对所识别的测试条件区分优先次序的特定于用户的分类器模型;将行为向量应用于分类器模型,以便对分类器模型中包括的每个测试条件进行评估;计算对分类器模型中的测试条件进行评估的每个结果的加权平均;以及基于所计算的加权平均来确定设备行为是否是非良性的。

各个方面(包括参照图2-7描述的方面)可以被实现在多个不同的移动设备中,包括单处理器和多处理器系统以及片上系统(SOC)。图1是示出了可以用在用于实现各个方面的计算设备中的示例片上系统(SOC)100架构的架构图。SOC 100可以包括多个异构处理器,诸如数字信号处理器(DSP)101、调制解调器处理器104、图形处理器106和应用处理器108。SOC还可以包括连接到异构处理器102、104、106、108中的一个或多个异构处理器的一个或多个协处理器110(例如,向量协处理器)。每个处理器101、104、106、108、110可以包括一个或多个内核,以及每个处理器/内核可以独立于其它处理器/内核来执行操作。例如,SOC 100可以包括执行第一类型的操作系统(例如,FreeBSD、LINIX、OS X等)的处理器和执行第二类型的操作系统(例如,Microsoft Windows 8)的处理器。

SOC 100还可以包括模拟电路和定制电路114,其用于管理传感器数据、模数转换、无线数据传输、以及用于执行其它专门的操作,诸如处理游戏和电影的经编码的音频信号。SOC 100还可以包括系统组件和资源116,诸如电压调节器、振荡器、锁相环、外围桥路、数据控制器、存储器控制器、系统控制器、接入端口、定时器和用于支持计算设备上运行的处理器和客户端的其它类似的组件。

系统组件116和定制电路114可以包括用于与外围设备(诸如相机、电子显示器、无线通信设备、外部存储器芯片等)对接的电路。可以将处理器101、104、106、108经由互联/总线模块124(其可以包括可配置的逻辑门阵列和/或实现总线架构(例如,CoreConnect、AMBA等))互联到一个或多个存储器元素112、系统组件以及资源116和定制电路114。可以由高级互联(诸如高性能片上网络(NoC))来提供通信。

SOC 100还可以包括用于与SOC外部的资源(诸如时钟118和电压调节器120)进行通信的输入/输出模块(未示出)。在SOC外部的资源(例如,时钟118、电压调节器120)可以被内部SOC处理器/内核(例如,DSP101、调制解调器处理器104、图形处理器106、应用处理器108等)中的两个或更多个共享。

SOC 100还可以包括适用于从传感器(包括扬声器、用户接口元素(例如,输入按钮、触摸屏显示器等)、麦克风阵列、用于监测物理状况(例如,位置、方向、运动、朝向、振动、压力等)的传感器、相机、指南针、GPS接收机、通信电路(例如,WLAN、WiFi等)、以及现代电子设备的其它公知组件(例如,加速度计等))收集传感器数据的硬件和/或软件组件。

除了上文论述的SOC 100之外,各个方面可以实现在广泛的多种多样的计算系统中,所述计算系统可以包括单个处理器、多个处理器、多核处理器或其任意组合。

图2示出了在包括被配置为使用行为分析技术来对非良性的设备行为进行识别和响应的基于行为的安全系统200的方面计算设备中的示例逻辑组件和信息流。在图2中示出的示例中,计算设备是包括被配置有可执行指令模块的设备处理器(即,移动设备处理器)的移动设备102,所述可执行指令模块包括行为观察器模块202、行为提取器模块204、行为分析器模块206以及致动器模块208。模块202-208中的每个模块可以是线程、过程、守护程序、模块、子系统、或者实现在软件、硬件或其组合中的组件。在各个方面中,模块202-208可以实现在操作系统的部分内(例如,内核内、内核空间中、用户空间中等)、单独的程序或应用内、在专用硬件缓冲器或处理器中、或其任意组合。在一个方面中,模块202-208中的一个或多个模块可以被实现为在移动设备102的一个或多个处理器上执行的软件指令。

行为观察器模块202可以被配置为:装备在设备的各个级别/模块处的应用编程接口(API)、计数器、硬件监测器等,并且在一时间段内监测在各个级别/模块处的活动、状况、操作和事件(例如,系统事件、状态改变等)。行为观察器模块202可以收集与所监测的活动、状况、操作或事件相关的行为信息,并且将所收集的信息存储在存储器中(例如,存储在记录文件中等)。

另外,行为观察器模块202可以被配置为:监测移动计算设备102的活动、与设备的用户交互、以及设备可用于(例如,经由设备的传感器)收集用户角色信息的其它信息。

行为观察器模块202可以通过监测在设备中操作的选择的软件应用或某种类型的软件应用来收集用户角色信息。这样的应用包括日历和提醒应用、金融应用、用于完成特定任务的应用(例如,字处理、准备税制改革、演示应用、会计应用等)、基于位置的应用(例如,绘图和地理位置app等)、web浏览器(例如,过去的搜索、浏览历史、访问的网站的类型、访问的网站的内容)、娱乐应用(例如,音频或多媒体播放器应用)、用于访问用户账户的应用(例如,银行app等)、个人训练和发展应用等。设备处理器可以使用这样的用户角色信息来确定或推断关于用户的信息,诸如用户的情绪。例如,大量的社交媒体状态更新可能指示用户是无聊的。再举一个示例,在电子邮件中出现一反常态地大量的负面词语可能指示用户是心烦的或生气的,用户的银行账户余额(或股票投资组合)的显著增加可能指示用户更可能是高兴的或情绪很好的,以及用户的银行账户的显著下降(或长期的减少)可能指示用户可能是心烦的或者承受提高水平的压力。

行为观察器模块202还可以通过监测设备的地理空间定位和导航系统以确定用户的当前位置(例如,在办公室、在家、在餐厅、健身房、在旅行等)、用户的当前运动(例如,当前在行进、在锻炼、是静止的等)、运动的历史(例如,广泛地旅行、从来没离开城镇等)、用户是否在遵循他的/她的建立的惯例(例如,按时到达进行工作、仍然在工作)或者偏离他的/她的惯例(例如,比平时晚到、比平时提前离开),来收集用户角色信息。设备处理器可以单独地使用该信息或结合其它收集的信息来确定用户的日程、情绪、习惯、情感状态等。例如,如果用户在家,则他/她更可能处于高兴的情绪,或者如果在餐厅接收到电话呼叫,则更可能是恼怒的。

行为观察器模块202还可以通过从心率监测器、血压监测器、温度计、计步器、血糖仪、湿度传感器、呼气测醉器、皮肤电反应传感器、或者计算设备内或与计算设备通信的其它传感器或监测器设备获得数据,来收集用户角色信息。设备处理器可以使用该信息来确定或推断关于用户的信息。例如,从心率监测器、血糖仪和/或血压监测器获得的信息可以用于确定用户是否在锻炼(并且因此无空闲的)、经历医疗状况、承受压力、处于糟糕的情绪等。从湿度传感器获得的高湿度信息可以指示用户可能是愤怒的。从呼气测醉器获得的信息可以用于推断用户一直在喝酒,其可以结合其它用户角色信息用于确定用户的情感状态或情绪。

行为观察器模块202还可以通过监测设备的媒体播放器来收集用户角色信息。设备处理器可以使用该信息来确定用户的情绪、习惯、情感状态等。例如,如果用户在收听积极的或弱拍的音乐,则其可以指示他/她更可能处于好的情绪。在另一方面,如果用户的收听历史指示用于最近一直在收听一反常态的悲伤或慢节奏的音乐,则这可以指示用户是悲伤的。举另一个示例,如果用户在观看电影,则其可以指示他是有空的或繁忙的(取决于电影的内容、用户的观看历史、用户的个性等)。

另外,行为观察器模块202可以被配置为:通过收集与应用框架或运行时间库中的库应用编程接口(API)调用、系统调用API、文件系统和网络子系统操作、设备(包括传感器设备)状态改变以及其它类似事件相关的信息来监测移动计算设备102的活动。另外,行为观察器模块202可以监测文件系统活动,其可以包括搜索文件名称、文件访问的类别(个人信息或正常数据文件)、创建或删除文件(例如,exe、zip等类型)、文件读取/写入/查找操作、改变文件许可等。

行为观察器模块202还可以通过监测数据网络活动(其可以包括连接类型、协议、端口号、设备连接到的服务器/客户端、连接数量、通信的容量或频率等)来监测移动计算设备102的活动。行为观察器模块202可以监测电话网络活动,这可以包括监测发出、接收或拦截的呼叫或消息(例如,SMS等)的类型和数量(例如,拨打的优质呼叫的数量)。

行为观察器模块202还可以通过监测系统资源使用(这可以包括监测叉路的数量、存储器存取操作、文件打开的数量等)来监测移动计算设备102的活动。行为观察器模块202可以监测移动计算设备102的状态,这可以包括监测各种因素,诸如显示器是开启还是关闭、设备是上锁的还是未上锁的、剩余的电池电量、相机状态等。行为观察器模块202还可以通过例如监测对关键服务(浏览器、合同提供者等)的意图、过程间通信(IPC)的自由度、弹出窗口等来监测过程间通信。

行为观察器模块202还可以通过监测一个或多个硬件组件(其可以包括相机、传感器、电子显示器、WiFi通信组件、数据控制器、存储器控制器、系统控制器、接入端口、定时器、外围设备、无线通信组件、外部存储器芯片、电压调节器、振荡器、锁相环、外围桥路、以及用于支持在移动计算设备102上运行的处理器和客户端的其它类似组件)的驱动器统计和/或状态来监测移动计算设备102的活动。

行为观察器模块202还可以通过监测指示移动计算设备102和/或计算设备子系统的状态或条件的一个或多个硬件计数器来监测移动计算设备102的活动。硬件计数器可以包括处理器/内核的专用寄存器,其被配置为存储在移动计算设备102中发生的硬件相关的活动或事件的计数值或状态。

行为观察器模块202还可以通过监测软件应用的动作和操作、从应用下载服务器(例如,应用商店服务器)的软件下载、软件应用所使用的计算设备信息、呼叫信息、文本消息传送信息(例如,发送SMS(SendSMS)、阻止SMS(BlockSMS)、读取SMS(ReadSMS)等)、媒体消息传送信息(例如,接收MMS(ReceiveMMS))、用户账号信息、位置信息、相机信息、加速度计信息、浏览器信息、基于浏览器的通信内容、基于语音的通信内容、短距离无线通信(例如,蓝牙、WiFi等)、基于文本的通信内容、记录的音频文件的内容、电话本或联系人信息、联系人列表等来监测移动计算设备102的活动。

行为观察器模块202可以通过监测移动计算设备102的传输或通信(包含包括语音邮件(语音邮件通信(VoiceMailComm))、设备标识符(设备标识符通信(DeviceIDComm))、用户账号信息(用户账号通信(UserAccountComm))、日历信息(日历通信(CalendarComm))、位置信息(位置通信(LocationComm))、记录的音频信息(记录的音频通信(RecordAudioComm))、加速度计信息(加速度计通信(AccelerometerComm))等的通信)来监测移动计算设备102的活动。

行为观察器模块202还可以通过监测指南针信息、计算设备设置、电池寿命、陀螺仪信息、压力传感器、磁传感器、屏幕活动等的使用和对上述项的更新/改变来监测移动计算设备102的活动。行为观察器模块202可以监测被传送到软件应用的通知(应用通知(AppNotifications))和从软件应用传送的通知、应用更新等。行为观察器模块202可以监测与第一软件应用请求下载和/或安装第二软件应用相关的条件或事件。行为观察器模块202可以监测与用户验证相关的条件或事件(例如,密码的输入等)。

行为观察器模块202还可以通过监测在移动计算设备102的多个级别(包括应用级别、无线级别以及传感器级别)处的条件或事件来监测移动计算设备102的活动。应用级别观察可以包括经由面部识别软件来观察用户、观察社交流、观察由用户输入的笔记、观察与钱包(Wallet)、以及其它类似应用或服务的使用相关的事件等。应用级别观察还可以包括观察与虚拟私有网络(VPN)的使用有关的事件以及与同步、语音搜索、语音控制(例如,通过说一个字来上锁/解锁电话)、语言翻译器、用于计算的数据卸载、视频流、在没有用户活动的情况下的相机使用、在没有用户活动的情况下的麦克风使用等相关的事件。

无线级别观察可以包括确定以下各项中的任何一项或多项的出现、存在或数量:在建立无线通信链路或发送信息之前与移动计算设备102的用户交互、双/多用户身份模块(SIM)卡、互联网电台、移动电话约束、用于计算的卸载数据、设备状态通信、作为游戏控制器或家庭控制器的用途、车辆通信、计算设备同步等。无线级别观察还可以包括监测无线(WiFi、WiMax、蓝牙等)的使用以进行定位、对等(p2p)通信、同步、车辆到车辆通信和/或机器到机器(m2m)。无线级别观察可以进一步包括监测网络业务使用、统计或简档。

传感器级别观察可以包括监测磁传感器或其它传感器,以确定移动计算设备102的使用和/或外部环境。例如,计算设备处理器可以被配置为确定设备是在皮套中(例如,经由被配置为检测皮套内的磁铁的磁传感器)还是在用户的口袋中(例如,经由相机或光传感器所检测到的光量)。检测到移动计算设备102在皮套中可以与识别可疑的行为有关,这是因为,例如,当移动计算设备102被放入皮套中时发生的与用户进行的活跃使用(例如,拍照片或视频、发送消息、进行语音呼叫、记录声音等)相关的活动和功能可能是在设备上执行不法过程(例如,来跟踪或侦察用户)的迹象。

与使用或外部环境相关的传感器级别观察的其它示例可以包括检测近场通信(NFC)信令、从信用卡扫描器、条形码扫描器或移动标签阅读器收集信息、检测通用串行总线(USB)充电源的存在、检测键盘或辅助设备已经耦合到移动计算设备102、检测移动计算设备102已经耦合到另一个计算设备(例如,经由USB等)、确定LED、闪光、闪光灯或光源是否已经被修改或禁用(例如,恶意地禁用紧急事件信令应用等)、检测扬声器或麦克风已经被开启或通电、检测充电或电源事件、检测移动计算设备102正在被用作游戏控制器等。传感器级别观察还可以包括从医疗或健康传感器或者通过扫描用户的身体来收集信息、从插入到USB/音频插口中的外部传感器收集信息、从感触或触觉传感器收集信息(例如,经由振动器接口等)、收集与移动计算设备102的热状态相关的信息等。

为了将被监测的因素的数量降低到可管理的水平,在一个方面中,行为观察器模块202可以通过监测/观察作为可以对计算设备的降级起作用的所有因素的小的子集的行为或因素的初始集合来执行粗略观察。在一个方面中,行为观察器模块202可以从服务器和/或云服务或网络中的组件接收行为和/或因素的初始集合。在一个方面中,可以在机器学习分类器模型中指定行为/因素的初始集合。

行为观察器模块202可以将所收集的行为信息(例如,经由存储器写入操作、函数调用等)传送给行为提取器模块204。行为提取器模块204可以被配置为接收或获取所收集的行为信息,并且使用该信息来生成一个或多个行为向量。每个行为向量可以用值或向量数据结构来简洁地描述设备、软件应用或过程的行为。向量数据结构可以包括一组数字,其中的每一个数字表示移动设备的特征或行为,诸如移动设备的相机是否正在使用中(例如,作为零或一)、移动设备已经发送或生成了多少网络业务(例如,20KB/秒等)、已经传送了多少互联网消息(例如,SMS消息的数量等)、和/或行为观察器模块202所收集的任何其它行为信息。在一个方面中,行为提取器模块204可以被配置为生成行为向量,以使得其作为使移动设备系统(例如,行为分析器模块206)能够快速地辨别、识别或分析设备的行为的标识符起作用。

在一个方面中,行为提取器模块204可以被配置为:生成行为向量以包括可以输入到机器学习分类器中的特征/决策节点的信息,以生成关于监测的一个活动或多个活动的查询的应答。

在一个方面中,行为提取器模块204可以被配置为生成行为向量以包括执行信息。执行信息可以作为行为(例如,后台进程在三秒内使用相机五次,前台进程在三秒内使用相机三次等)的一部分或者作为独立特征的一部分被包括在行为向量中。在一个方面中,执行状态信息可以作为消隐特征值子向量或数据结构被包括在行为向量中。在一个方面中,行为向量可以存储与特征、活动、任务相关联的消隐特征值子向量/数据结构,其中执行状态与所述特征、活动、任务相关。

行为提取器模块204可以将所生成的行为向量(例如,经由存储器写入操作、函数调用等)传送给行为分析器模块206。行为分析器模块206可以被配置为将行为向量应用于分类器模型以确定设备行为是否是正在对设备随时间的降级起作用(或者可能起作用)和/或可能以其它方式导致设备上的问题的非良性的行为。

每个分类器模型可以是包括数据和/或信息结构(例如,特征向量、行为向量、组件列表等)的行为模型,所述数据和/或信息结构可以被计算设备处理器用来对计算设备的行为的特定特征或方面进行评估。每个分类器模型还可以包括用于监测计算设备中的多个特征、因素、数据点、条目、API、状态、条件、行为、应用、过程、操作、组件等(本文中共同地“特征”)的决策标准。分类器模型可以预安装在计算设备上、从网络服务器下载或接收、在移动计算设备中生成、或其任意组合。可以通过使用众包(crowd sourcing)解决方案、行为建模技术、机器学习算法等来生成分类器模型。

每个分类器模型可以被分类为完全分类器模型或贫乏分类器模型。完全分类器模型可以是根据大型训练数据集合生成的鲁棒数据模型,其中所述大型训练数据集合可以包括数千的特征和数十亿的条目。贫乏分类器模型是根据减小的数据集合生成的更集中的数据模型,所述减小的数据集合包括/测试仅与用于确定特定活动是正在进行的关键活动和/或特定的计算设备行为是否是非良性的最相关的特征/条目。举例而言,设备处理器可以被配置为从网络服务器接收完全分类器模型,基于完全分类器来在移动设备中生成贫乏分类器模型,以及使用本地生成的贫乏分类器模型来将设备的行为分类为良性的还是非良性的(即,恶意的、性能降级的等)。

本地生成的贫乏分类器模型是在计算设备中生成的贫乏分类器模型。即,因为移动计算设备是高度可配置的并且复杂的系统,所以用于确定特定的设备行为是否是非良性的(例如,恶意的或性能降级的)的最重要的特征可能在每个设备中都是不同的。此外,不同的特征组合可以要求在每个设备中进行监测和/或分析,以便使该设备快速和高效地确定特定的行为是否是非良性的。然而,要求监测和分析的特征的精确组合以及每个特征或特征组合的相对优先级或重要性通常仅可以使用从要在其中监测或分析行为的特定设备获得的信息来确定。出于这些和其它原因,各个方面可以在其中使用模型的移动设备中生成分类器模型。这些本地分类器模型允许设备处理器准确地识别在确定该特定设备上的行为是否是非良性的(例如,对设备的性能的降级起作用)时最重要的特定特征。本地分类器模型还允许设备处理器根据要测试或评估的特征关于对该特定设备中的行为进行分类的相对重要性,来对这些特征区分优先次序。

特定于设备的分类器模型是包括集中的数据模型的分类器模型,所述集中的数据模型仅包括/测试被确定为与对特定计算设备中的活动或行为进行分类最相关的特定于计算设备的特征/条目。

特定于应用的分类器模型是包括集中的数据模型的分类器模型,所述集中的数据模型仅包括/测试用于评估特定的软件应用最相关的特征/条目。

特定于用户的分类器模型可以是包括集中的数据模型的本地分类器模型,所述集中的数据模型包括或优先对与进行以下各项操作最相关的特征/条目的测试:识别设备的用户、确定用户的角色、确定设备行为是否与经识别的用户的角色相一致、确定设备行为是否与其识别的用户中的一个用户对该设备的通常使用相一致、或者确定用户的活动是否指示非良性的设备行为。

通过在移动设备中本地地动态地生成特定于用户、特定于设备和/或特定于应用的分类器模型,各个方面允许设备处理器将其监测和分析操作集中在少量对于用于确定该特定移动设备和/或该设备中操作的特定软件应用的操作是否与该特定设备的已知用户的个性、习惯或通常使用模式相一致最重要的特征上。

在一个方面中,行为分析器模块206可以被配置为:当其行为分析操作的结果没有提供足以将设备行为分类为良性或者非良性的信息时,将行为分类为“可疑的”。行为分析器模块206可以被配置为:响应于确定设备行为是可疑的,通知行为观察器模块202。作为响应,行为观察器模块202可以调整其观察的粒度(即,监测计算设备特征所采用的细节级别)和/或基于从行为分析器模块206接收的信息(例如,实时分析操作的结果)来改变监测到的因素或行为,生成或收集新的或额外的行为信息,并且将新的/额外的信息发送给行为分析器模块206,以用于进一步的分析/分类。行为观察器模块202和行为分析器模块206之间的这种反馈通信使移动计算设备102能够递归地增加观察的粒度(即,进行更精细的或更详细的观察)或改变观察到的特征/行为,直到将收集的行为分类为良性的还是非良性的、识别可疑的或性能降级的行为的源为止,直到达到处理或电池消耗门限为止,或直到设备处理器确定无法根据观察粒度的进一步的改变、调整或增加来识别可疑的或性能降级的设备行为的源为止。这种反馈通信还使移动计算设备102能够调整或修改行为向量和分类器模型,而不消耗过量的计算设备的处理、存储器或能量资源。

在一个方面中,行为分析器模块206可以被配置为:接收和分析由各种移动设备子系统和/或在各个时间段内收集的信息,以学习移动设备在多种多样的上下文和状况下的正常操作行为,并且生成在各种上下文/状况下的正常的移动设备行为的模型。在一个方面中,分析器模块204可以被配置为:将所收集的行为信息与所生成的行为模型相互关联,以及基于相关性来执行行为分析操作,以确定所接收的观察是否与所学习的正常操作行为相冲突(或不匹配)。

举一个高级示例,移动设备102可以(经由所收集的行为信息)检测到当设备在皮套中并且系在用户的皮带上时,相机已经被使用,移动设备102正在尝试向服务器上传图片,以及移动设备上的应用拍照片。移动设备102可以确定该检测到的行为(例如,相机在皮套中时的使用)是否是对于用户而言可接受的或常见的行为。这可以通过将所检测的行为(例如,所生成的行为向量)与移动设备102或用户的过去行为进行比较来实现。由于当在皮套中时拍照片和将其上传到服务器是不寻常的行为(如在皮套中的上下文中,可以根据观察到的正常行为确定的),因此在这种情形下,计算设备可以将此识别为与用户对计算设备的通常使用的模式不一致,并且发起适当的响应(例如,关闭相机、发出报警的声音等)。

在各个方面中,移动设备102可以被配置为:结合网络服务器来工作以智能地且高效地识别与确定活动或行为是否是非良性的最相关的特征、因素以及数据点。例如,设备处理器可以被配置为:从网络服务器接收完全分类器模型,并且使用所接收的完全分类器模型来生成专用于设备的用户和/或设备或其软件应用的特征和功能的贫乏分类器模型(即,数据/行为模型)。设备处理器可以使用完全分类器模型来生成具有不同级别的复杂度(或“贫瘠”)的贫乏分类器模型族。可以常规地应用最贫乏的贫乏分类器模型族(即,基于最少数量的测试条件的贫乏分类器模型),直到遇到分类型模型不能够将其分类为良性的还是非良性的(并且因此被模型分类为是可疑的)为止,此时可以应用更鲁棒的(即,不太贫乏的)贫乏分类器模型,以尝试对行为进行分类。可以应用所生成的贫乏分类器模型族内的永远更加鲁棒的贫乏分类器模型的应用,直到实现对行为的确定性分类为止。以此方式,设备处理器可以通过将最完整但资源密集的贫乏分类器模型的使用限制在其中需要鲁棒的分类器模型来对行为进行确定地分类的那些情形,来达到效率和准确度之间的平衡。

在各个方面中,设备处理器可以被配置为:通过将完全分类器模型中包括的有限状态机表示或表达转换成提升决策树桩,来生成贫乏分类器模型。设备处理器可以基于用户角色信息或特定于用户的设备特征来对提升决策树桩的完全集合进行修剪或剔除,以生成包括完全分类器模型中包括的提升决策树桩子集的贫乏分类器模型。随后,设备处理器可以使用贫乏分类器模型来对设备行为进行智能地监测、分析和/或分类。

提升决策树桩是恰好具有一个节点(并且因此具有一个测试问题或测试条件)和权重值的一级决策树,并且因此很好地适于在对数据/行为的二进制分类中使用。即,将行为向量应用于提升决策树桩产生二进制回答(例如,是或否)。例如,如果提升决策树桩所测试的问题/条件是“短消息服务(SMS)传输的频率是否小于x/分钟”,则将值“3”应用于提升决策树桩将产生“是”回答(针对“小于3”的SMS传输)或“否”回答(针对“3或更多”的SMS传输)。提升决策树桩是高效的,这是因为其是非常简单和原始的(并且因此不要求显著的处理资源)。提升决策树桩还是非常可并行化的,并且因此可以并行/同时应用或测试许多树桩(例如,通过计算设备中的多个内核或处理器)。

图3根据一个方面,示出了生成用户角色信息并且使用其来确定设备行为是否是非良性的方法300。方法300可以由移动计算设备中的设备处理器或资源受限的计算设备中的设备处理器执行。在框302中,设备处理器可以监测传感器、软件应用的活动、或者软件应用的活动数量,以生成对计算设备的用户进行表征的用户角色信息。在一个方面中,这可以经由上文论述的行为观察器模块202来完成。

在框304中,设备处理器可以使用所生成的用户角色信息来识别与确定设备行为是否与用户对计算设备的通常使用的模式不一致最相关的设备特征。在框306中,设备处理器可以监测所识别的设备特征以收集行为信息。在框308中,设备处理器可以生成对所收集的行为信息进行表征的行为向量。在框310中,设备处理器可以生成对所识别的设备特征进行评估的特定于用户的分类器模型。在框312中,设备处理器可以将所生成的行为向量应用于分类器模型,以确定设备行为是否是非良性的。

图4根据一个方面,示出了生成用户角色信息并且使用其来确定设备行为是否是非良性的另一种方法400。方法400可以由移动计算设备或资源受限的计算设备中的设备处理器执行。

在框402中,设备处理器可以监测用户与在设备上操作的软件应用之间的用户交互。在框404中,设备处理器可以基于用户交互来生成对用户的情绪进行表征的用户角色信息。在框406中,设备处理器可以监测装备组件以收集行为信息。在框408中,设备处理器可以确定用户的情绪是否与对所收集的行为信息中的全部或一部分进行分析有关。在框410中,设备处理器可以生成行为向量,所述行为向量将用户的情绪与之有关的行为信息与用户在行为信息被收集时的情绪相互关联。在框412中,设备处理器可以生成分类器模型,所述分类器模型包括对与用户的情绪有关的设备特征进行评估的决策节点。在框414中,设备处理器可以将行为向量应用于分类器模型,以确定设备行为是否是非良性的。

图5示出了使用贫乏分类器模型族来对移动设备的行为进行分类的方面方法500。方法500可以由移动计算设备或资源受限的计算设备的设备处理器执行。

在框502中,设备处理器可以执行观察以从在移动设备系统的各个级别处装备的各个组件收集行为信息。在一个方面中,这可以是经由上文参照图2论述的行为观察器模块202来完成的。在框504中,设备处理器可以生成用于对所收集的行为信息和/或移动设备行为进行表征的行为向量。此外,在框504中,设备处理器可以使用从网络服务器接收的完全分类器模型来生成具有不同级别的复杂度(或“贫瘠”)的贫乏分类器模型或贫乏分类器模型族。为了完成该操作,设备处理器可以对完全分类器模型中包括的提升决策树桩族进行剔除,以生成包括减少数量的提升决策树桩和/或对有限数量的测试条件进行评估的贫乏分类器模型。在一个方面中,贫乏分类器模型中的一个或多个贫乏分类器模型可以是特定于用户的分类器模型。

在框506中,设备处理器可以在贫乏分类器模型族中选择尚未被移动设备评估或应用的最贫乏的分类器(即,基于最少数量的不同移动设备状态、特征、行为或条件的模型)。在一个方面中,这可以通过设备处理器在有序的分类器模型列表中选择第一分类器模型来完成。在框508中,设备处理器可以将收集的行为信息或行为向量应用于所选择的贫乏分类器模型中的每个提升决策树桩。由于提升决策树桩是二进制决策并且贫乏分类器模型是通过选择许多基于相同测试条件的二进制决策来生成的,因此可以在并行操作中执行将行为向量应用于贫乏分类器模型中的提升决策树桩的过程。替代地,可以对行为向量进行截短或过滤,以仅包括在贫乏分类器模型中包括的有限数量的测试条件参数,由此进一步减少在应用该模型时的计算努力。

在框510中,设备处理器可以计算或确定将所收集的行为信息应用于贫乏分类器模型中的每个提升决策树桩的结果的加权平均。在框512中,设备处理器可以将所计算的加权平均与门限值进行比较。在确定框514中,设备处理器可以确定该比较的结果和/或通过应用所选择的贫乏分类器模型生成的结果是否是可疑的。例如,设备处理器可以确定这些结果是否可以用于具有高置信度的将行为分类为恶意的或良性的,并且如果这些结果不可以用于具有高置信度的将行为分类为恶意的或良性的,则将行为作为可疑的来对待。

如果设备处理器确定结果是可疑的(例如,确定框514=“是”),则设备处理器可以重复框506-512中的操作,以选择和应用对更多的设备状态、特征、行为或条件进行评估的更强的(即,不太贫乏的)分类器模型,直到具有高置信度的将行为分类为恶意的或良性的为止。如果设备处理器确定结果不是可疑的(例如,确定框514=“否”),诸如通过确定可以具有高置信度的将行为分类为恶意的或良性的,则在框516中,设备处理器可以使用在框512中生成的比较的结果来将移动设备的行为分类为良性的或者潜在地恶意的。

在一个替代的方面方法中,可以通过顺序地执行以下操作来完成上文描述的操作:选择尚未在贫乏分类器模型中的提升决策树桩;识别取决于与所选择的决策树桩相同的移动设备状态、特征、行为或条件的所有其它提升决策树桩(并且因此可以基于一个确定结果来应用);在贫乏分类器模型中包括所选择的提升决策树桩和取决于相同的移动设备状态、特征、行为或条件的所有识别的其它提升决策树桩;以及将该过程重复等于所确定的测试条件的数量的次数。由于每次将取决于与所选择的决策树桩相同的测试条件的所有提升决策树桩添加到贫乏分类器模型,因此限制该过程被执行的次数将限制贫乏分类器模型中包括的测试条件的数量。

图6示出了适用于生成适用于根据各个方面使用的决策树/分类器的示例方法600。方法600可以由移动计算设备或资源受限的计算设备的设备处理器执行。在框602中,设备处理器可以生成和/或执行决策树/分类器,从决策树/分类器的执行收集训练样本,以及基于训练样本来生成新的分类器模型(h1(x))。训练样本可以包括从移动设备行为、移动设备中的软件应用或过程的先前的观察或分析收集的信息。训练样本和/或新的分类器模型(h1(x))可以是基于先前的分类器中包括的问题或测试条件的类型和/或基于从先前的数据/行为模型或分类器的执行/应用收集的准确度或性能特性来生成的。

在框604中,设备处理器可以提升(或增加)被所生成的决策树/分类器(h1(x))错误分类的条目的权重,以生成第二新的树/分类器(h2(x))。在一个方面中,训练样本和/或新的分类器模型(h2(x))可以是基于分类器的先前的执行或使用(h1(x))的错误率来生成的。在一个方面中,训练样本和/或新的分类器模型(h2(x))可以是基于被确定为具有对分类器的先前的执行或使用中的数据点的错误率或错误分类起作用的属性来生成的。

在一个方面中,被错误分类的条目可以是基于其相对准确度或有效性来加权的。在操作606中,处理器可以提升(或增加)被所生成的第二树/分类器(h2(x))错误分类的条目的权重,以生成第三新的树/分类器(h3(x))。在操作608中,可以重复604-606的操作以生成“t”个新的树/分类器(ht(x))。

通过提升或增加被第一决策树/分类器(h1(x))错误分类的条目的权重,第二树/分类器(h2(x))可以对被第一决策树/分类器(h1(x))错误分类的条目进行更准确地分类,但是也可能对被第一决策树/分类器(h1(x))正确分类的条目中的一些条目进行错误地分类。类似地,第三树/分类器(h3(x))可能对被第二决策树/分类器(h2(x))错误分类的条目进行更准确地分类,以及对被第二决策树/分类器(h2(x))正确分类的条目中的一些条目进行错误地分类。即,生成树/分类器族h1(x)-ht(x)可能不产生汇聚成整体的系统,而是产生可以并行执行的多个决策树/分类器。

图7根据一个方面,示出了用于执行动态和适应性观察的示例方法700。在框702中,设备处理器可以通过监测/观察可能对移动设备的降级起作用的大量的因素、行为和活动的子集来执行粗略观察。在框703中,设备处理器可以基于粗略观察,生成对粗略观察和/或移动设备行为进行表征的行为向量。在框704中,设备处理器可以识别与粗略观察相关联的、可能潜在地对移动设备的降级起作用的子系统、过程和/或应用。这可以例如通过将从多个源接收的信息与从移动设备的传感器接收的上下文信息进行比较来实现。在框706中,设备处理器可以基于粗略观察来执行行为分析操作。

在确定框708中,设备处理器可以基于行为分析的结果,确定可疑行为或潜在问题是否能够被识别和纠正。当设备处理器基于行为分析的结果,确定可疑行为或潜在问题能够被识别和纠正(即,确定框708=“是”)时,在框718中,处理器可以发起纠正行为的过程并且返回到框702以执行另外的粗略观察。

当设备处理器基于行为分析的结果,确定可疑行为或潜在问题不能够被识别和/或纠正(即,确定框708=“否”)时,在确定框709中,设备处理器可以确定是否有可能存在问题。在一个方面中,设备处理器可以通过计算移动设备遇到潜在问题和/或参与可疑行为的概率,并且确定所计算的概率是否大于预定门限,来确定有可能存在问题。当设备处理器确定所计算的概率不大于预定门限和/或不存在可疑行为或者潜在问题存在和/或可检测的可能性(即,确定框709=“否”)时,处理器可以返回到框702以执行另外的粗略观察。

当设备处理器确定存在可疑行为或者潜在问题存在和/或可检测的可能性(即,确定框709=“是”)时,在框710中,设备处理器可以对所识别的子系统、过程或应用执行更深度的记录/观察或最终记录。在框712中,设备处理器可以对所识别的子系统、过程或应用执行更深度的和更详细的观察。在框714中,设备处理器可以基于更深度的和更详细的观察,执行进一步的和/或更深度的行为分析。在确定框708中,设备处理器可以基于更深度的行为分析的结果,再次确定可疑行为或潜在问题是否能够被识别和纠正。当设备处理器基于更深度的行为分析的结果,确定可疑行为或潜在问题不能够被识别和纠正(即,确定框708=“否”)时,处理器可以重复框710-714中的操作,直到细节级别足够精细用于识别问题或者直到确定不能够利用另外的细节识别问题或不存在问题为止。

当设备处理器基于更深度的行为分析的结果,确定可疑行为或潜在问题能够被识别和纠正(即,确定框708=“是”)时,在框718中,设备处理器可以执行操作以纠正问题/行为,并且处理器可以返回到框702以执行另外的操作。

在一个方面中,作为方法700的框702-718的一部分,设备处理器可以执行对系统的行为的实时行为分析,以根据有限和粗略的观察来识别可疑行为,动态地确定要更加详细观察的行为,以及动态地确定针对观察所要求的细节的精确级别。这使设备处理器能够有效地识别和防止问题发生,而不需要使用设备上的大量的处理器、存储器或电池资源。

各个方面通过使用行为分析和/或机器学习技术(与基于许可、策略或规则的方法相反)来监测和分析选择的软件应用群组的收集性行为,来对现有的解决方案进行改进。行为分析或机器学习技术的使用是重要的,这是因为现代计算设备是高度可配置和复杂的系统,并且用于确定软件应用是否是合谋的最重要的因素在每个设备中可以是不同的。此外,设备特征/因素的不同组合可能要求每个设备中的分析,以便使该设备确定软件应用是否是合谋的。但是,要求监测和分析的特征/因素的精确组合通常仅可以使用从特定计算设备(在该计算设备中,一个活动或多个活动被执行,以及此时,一个活动/多个活动正在进行)获得的信息来确定。出于这些和其它原因,现有的解决方案不足以用于对计算设备中的多个软件应用之间的收集性行为或关系进行实时地(当行为正在进行时)监测、检测和表征,而不消耗大量的计算设备的处理、存储器或功率资源。

各个方面(包括上文参照图2-7论述的方面)可以实现在多种多样的计算设备上,其中的示例是在图8中以智能电话的形式示出的。智能电话800可以包括处理器802,其耦合到内部存储器804、显示器812和扬声器814。另外,智能电话800可以包括用于发送和接收电磁辐射的天线,其可以连接到无线数据链路和/或耦合到处理器802的蜂窝电话收发机808。智能电话800通常还包括用于接收用户输入的菜单选择按钮或摇杆式开关820。

典型的智能电话800还包括声音编码/解码(编解码器)电路806,其将从麦克风接收的声音数字化成适用于无线传输的数据分组,并且对接收的声音数据分组进行解码以生成要提供给扬声器用于生成声音的模拟信号。此外,处理器802、无线收发机808和编解码器806中的一个或多个可以包括数字信号处理器(DSP)电路(未单独示出)。

处理器802可以是可以被软件指令(应用)配置为执行多种功能(包括下文描述的各个方面的功能)的任何可编程的微处理器、微计算机或多处理器芯片。在一些移动设备中,可以提供多个处理器802,诸如一个处理器专用于无线通信功能以及一个处理器专用于运行其它应用。典型地,软件应用可以在被存取和加载到处理器802之前被存储在内部存储器804中。处理器802可以包括足以存储应用软件指令的内部存储器。在各个方面中,处理器802可以是设备处理器、处理内核或SOC(诸如在图1中示出的示例SOC 100)。在一个方面中,智能电话800可以包括SOC,并且处理器802可以是SOC中包括的处理器中的一个处理器(诸如图1中示出的处理器101、104、106、108、110中的一个处理器)。

如在本申请中使用的,术语“组件”、“模块”等等旨在包括与计算机相关的实体,例如但不限于硬件、固件、硬件和软件的组合、软件或执行中的软件,它们被配置为执行特定的操作或功能。例如,组件可以是,但不限于是:在处理器上运行的过程、处理器、对象、可执行文件、执行的线程、程序和/或计算机。举例而言,在计算设备上运行的应用和计算设备二者可以被称为组件。一个或多个组件可以存在于过程和/或执行的线程中,并且组件可以位于一个处理器或内核上和/或分布在两个或更多处理器或内核中。此外,这些组件可以从具有存储在其上的各种指令和/或数据结构的各种非暂时性计算机可读介质中执行。组件可以通过本地和/或远程过程、函数或过程调用、电信号、数据分组、存储器读取/写入以及其它已知网络、计算机、处理器和/或过程相关的通信方法的方式来进行通信。

用于在用于执行各个方面的操作的可编程处理器上执行的计算机程序代码或“程序代码”可以以高级编程语言来书写,例如,C、C++、C#、Smalltalk、Java、JavaScript、Visual Basic、结构化查询语言(例如,Transact-SQL)、Perl或各种其它编程语言。如在本申请中使用的,在计算机可读存储介质上存储的程序代码或程序可以指代格式可被处理器理解的机器语言代码(例如,目标代码)。

许多移动计算设备操作系统内核被组织到用户空间(非特权代码运行处)和内核空间(特权代码运行处)中。该分离在和其它通用公共许可证(GPL)环境中是尤其重要的,其中作为内核空间的一部分的代码必须被GPL许可,而在用户空间中运行的代码可以不被GPL许可。应当理解的是,除非明确地另外陈述,否则这里论述的各种软件组件/模块可以实现在内核空间或用户空间中。

前述方法描述和过程流程图仅是作为说明性的示例来提供的,并且不旨在要求或暗示各个方面的步骤必须按给出的次序来执行。如本领域的技术人员将认识到的,前述方面中的步骤的次序可以按任意次序来执行。诸如“其后”、“随后”、“接下来”等的词语不旨在限制步骤的次序;这些词语仅用于引导读者浏览方法的描述。此外,任何以单数形式的对权利要求元素的引用,例如使用冠词“一”、“一个”或“这个”不被解释为将元素限制为单数形式。

结合本文公开的方面描述的各种说明性的逻辑框、模块、电路和算法步骤可以实现为电子硬件、计算机软件或二者的组合。为了清楚地说明硬件和软件的这种互换性,上文依据各种说明性的组件、框、模块、电路和步骤的功能,已经对它们进行了一般性描述。至于这样的功能是实现为硬件还是软件,取决于特定的应用以及施加在整个系统上的设计约束。熟练的技术人员可以针对每个特定的应用,以变通的方式来实现所描述的功能,但是这样的实现决策不应当被解释为引起脱离本发明的范围。

用于实现结合本文公开的方面描述的各种说明性的逻辑单元、逻辑框、模块和电路的硬件可以利用被设计为执行本文描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意组合来实现或执行。通用处理器可以是多处理器,但是在替代的方式中,处理器可以是任何常规的处理器、控制器、微控制器或者状态机。处理器还可以被实现为计算设备的组合,例如,DSP和多处理器的组合、多个多处理器、一个或多个多处理器与DSP内核的结合,或者任何其它这样的配置。替代地,某些步骤和方法可以由特定于给定功能的电路来执行。

在一个或多个示例性方面中,描述的功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则所述功能可以作为一个或多个处理器可执行指令或代码存储在非暂时性计算机可读介质上或非暂时性处理器可读介质上。本文公开的方法或算法的步骤可以体现在处理器可执行软件模块中,其可以位于非暂时性计算机可读或处理器可读存储介质上。非暂时性计算机可读或处理器可读存储介质可以是可由计算机或处理器存取的任何存储介质。通过举例而非限制性的方式,这样的非暂时性计算机可读或处理器可读介质可以包括RAM、ROM、EEPROM、闪速存储器、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或者可以用于以指令或数据结构的形式存储期望的程序代码并且可以由计算机来存取的任何其它介质。如本文所使用的,磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则利用激光来光学地复制数据。上述的组合也应当包括在非暂时性计算机可读和处理器可读介质的范围内。另外,方法或算法的操作可以作为代码和/或指令集合中的一个集合或任意组合而位于非暂时性处理器可读介质和/或计算机可读介质上,所述非暂时性处理器可读介质和/或计算机可读介质可以并入到计算机程序产品中。

提供对所公开的方面的前述描述,以使本领域的任何技术人员能够实现或使用本发明。对这些方面的各种修改对于本领域的技术人员将是显而易见的,并且本文所定义的通用原则可以应用到其它方面,而不会脱离本发明的精神或范围。因此,本发明不旨在限于本文示出的方面,而是要符合与下面的权利要求书和本文所公开的原则和新颖性特征相一致的最宽的范围。

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