监测移动多处理器平台中的行为特征的制作方法
【专利摘要】用于监测移动计算设备的行为的方法、设备和系统包括:在非主处理内核中观测移动设备行为中与该非主处理内核有关的一部分;生成描述所观测到的移动设备行为的一部分的行为标签;以及将所生成的行为标签发送给主处理内核。该主处理内核将从非主处理内核接收的两个或更多个行为标签进行组合以生成全局行为向量,该全局行为向量可以由分析器模块使用以确定分布式软件应用是良性的还是非良性的。
【专利说明】监测移动多处理器平台中的行为特征
[0001] 相关申请
[0002] 本申请要求享受于2012年5月14日提交的、题目为"System, Apparatus and Method for Adaptive Observation of Mobile Device Behavior" 的美国临时专利申 请 No. 61/646, 590 以及于 2012 年8 月 15 日提交的、题目为 "System, Apparatus and Method for Adaptive Observation of Mobile Device Behavior" 的美国临时专利申请 61/683, 274的优先权的权益,故出于所有的目的以引用方式将这两个临时申请的全部内容 并入本申请。
【背景技术】
[0003] 在过去的若干年里,蜂窝和无线通信技术已爆炸性增长。这种增长由更好的通信、 硬件、更大的网络、以及更可靠的协议来推动。无线服务提供商现在能够向其客户提供不断 扩展的一系列特征和服务,并向用户提供对信息、资源以及通信的前所未有的接入水平。为 了与这些服务增强俱进,移动电子设备(例如,蜂窝电话、平板电脑、膝上型电脑等)已经变 得比以往更强大和复杂,并且现在通常包括多个处理器、片上系统(SoC)、以及允许移动设 备用户在其移动设备上执行复杂和功率密集型软件应用(例如,视频流传送、视频处理等) 的其它资源。该复杂性已经为恶意软件、软件冲突、硬件错误、以及其它类似的错误或现象 不利地影响移动设备的长期以及持续的性能和功率利用水平创造了新的机会。因此,用于 对可能不利地影响移动设备的长期以及持续的性能和功率利用水平的条件和/或移动设 备行为进行识别和校正的新的及改进的解决方案对用户而言将是有益的。
【发明内容】
[0004] 各个方面包括一种通过以下操作来监测移动计算设备的行为的方法:在非主处理 内核中观测移动设备行为中与该非主处理内核有关的一部分;在所述非主处理内核中生成 对所观测到的所述移动设备行为的一部分进行描述的行为标签;将所生成的行为标签发送 给主处理内核;在所述主处理内核中将从非主处理内核接收的两个或更多个行为标签进行 组合以生成全局行为向量;以及将所述全局行为向量提供给分析器模块以进行处理。
[0005] 在一方面,由分析器模块进行的处理可以包括基于所生成的行为向量来确定软件 应用良性还是非良性。在另外的方面,该方法可以包括在所述主内核中生成任务图,并且在 所述主处理内核中将两个或更多个行为标签进行组合以生成全局行为向量可以包括基于 所生成的任务图将所述两个或更多个行为标签进行组合。在另外的方面,该方法可以包括 在所述主处理内核中监测单个应用的子任务到一个或多个非主内核的分配。在另外的方 面,监测子任务的所述分配可以包括监测对所述移动设备的传输层的调用。
[0006] 另外的方面可以包括一种计算设备,其具有存储器、主处理器以及耦合到所述存 储器的一个或多个非主处理器。所述一个或多个非主处理器中的每一个配置具有用以执行 操作的处理器可执行指令,所述操作可以包括:在非主处理内核中观测移动设备行为中与 该非主处理内核有关的一部分;在所述非主处理内核中生成对所观测到的所述移动设备行 为的一部分进行描述的行为标签;以及将所生成的行为标签发送给主处理器。所述主处理 器可以配置具有用于执行操作的处理器可执行指令,所述操作可以包括:在所述主处理内 核中将从非主处理内核接收的两个或更多个行为标签进行组合以生成全局行为向量;以及 将所述全局行为向量提供给分析器模块以进行处理。
[0007] 在一方面,所述主处理器可以配置具有用以执行还包括以下操作的处理器可执行 指令:基于在所述分析器模块中所生成的行为向量来确定软件应用良性的还是非良性的。 在另外的方面,所述主处理器可以配置具有用于执行还包括生成任务图的操作的处理器可 执行指令,并且所述主处理器可以配置具有处理器可执行指令,使得将两个或更多个行为 标签进行组合以生成全局行为向量包括基于所生成的任务图将两个或更多个行为标签进 行组合的处理器可执行指令。
[0008] 在另外的方面,所述主处理器可以配置具有用于执行还包括以下操作的处理器可 执行指令:监测单个应用的子任务到所述非主处理器的分配。在另外的方面,所述主处理器 可以配置具有使得监测子任务的所述分配可以包括监测对所述移动设备的传输层的调用 的处理器可执行指令。
[0009] 另外的方面可以包括一种计算设备,该计算设备具有多个异构内核、以及用于在 非主处理内核中观测移动设备行为中与所述非主处理内核有关的一部分的单元;用于在所 述非主处理内核中生成对所观测到的所述移动设备行为的一部分进行描述的行为标签的 单元;用于将所生成的行为标签发送给主处理内核的单元;用于在所述主处理内核中将从 非主处理内核接收的两个或更多个行为标签进行组合以生成全局行为向量的单元;以及用 于将所述全局行为向量提供给分析器模块以进行处理的单元。在一方面,用于在所述分析 器模块中基于所生成的行为向量来确定软件应用良性还是非良性的单元。
[0010] 在另外的方面,所述计算设备可以包括用于在所述主处理内核中生成任务图的单 元,并且用于在所述主处理内核中将两个或更多个行为标签进行组合以生成全局行为向量 的单元包括用于基于所生成的任务图将所述两个或更多个行为标签进行组合的单元。在另 外的方面,所述计算设备可以包括用于在所述主处理内核中监测单个应用的子任务到一个 或多个非主内核的分配的单元。在另外的方面,用于监测子任务的所述分配的单元可以包 括用于监测对所述移动设备的传输层的调用的单元。
[0011] 另外的方面包括一种非暂时性服务器可读存储介质,其具有存储在其上的处理器 可执行指令,所述指令配置成使(例如,移动计算设备的)异构多处理器系统执行各种操 作,所述操作包括:在非主处理器中观测移动设备行为中与所述非主处理器有关的一部分; 在所述非主处理内核中生成对所观测到的所述移动设备行为的一部分进行描述的行为标 签;将所生成的行为标签发送给主处理内核;在所述主处理内核中将从非主处理内核接收 的两个或更多个行为标签进行组合以生成全局行为向量;以及将所述全局行为向量提供给 分析器模块以进行处理。在一方面,所存储的处理器可执行软件指令可以配置成使处理器 执行还包括以下操作:由所述分析器模块对所述全局行为向量进行处理,以基于所生成的 行为向量来确定软件应用良性还是非良性。
[0012] 在另外的方面,所存储的处理器可执行软件指令可以配置成使处理器执行包括在 主内核中生成任务图的操作,并且其中所存储的处理器可执行软件指令可以配置成使处理 器执行操作,以使得在所述主处理内核中将两个或更多个行为标签进行组合以生成全局行 为向量可以包括基于所生成的任务图将两个或更多个行为标签进行组合。在另外的方面, 所存储的处理器可执行软件指令可以配置成使处理器执行操作包括:在所述主处理内核中 监测单个应用的子任务到一个或多个非主内核的分配。在另外的方面,所存储的处理器可 执行软件指令可以配置成使处理器执行使得监测子任务的所述分配可以包括监测对所述 移动设备的传输层的调用的操作。
【专利附图】
【附图说明】
[0013] 附图示出了本发明的示例性方面,其被并入本申请中并构成该说明书的一部分, 且其与上文给出的一般性描述以及下文给出的详细描述一起用于解释本发明的特征。
[0014] 图1是适合于实现各个方面的示例性片上系统的架构图。
[0015] 图2是适合于实现各个方面的示例性多核处理器的架构图。
[0016] 图3是根据各个方面示出了配置成在异构平台中执行动态及自适应观测的计算 系统中的示例性逻辑组件和信息流的框图。
[0017] 图3是根据各个方面示出了配置成在异构平台中执行动态及自适应观测的计算 系统中的示例性逻辑组件和信息流的框图。
[0018] 图4是根据各个方面,表征分布在多个异构处理内核的软件应用的行为并且适合 于在组合局部行为标签时使用的应用任务图的图示。
[0019] 图5是根据各个方面,表征分布在多个异构处理内核的软件应用的完整行为并且 适合于在组合局部行为标签时使用的应用任务图的另一图示。
[0020] 图6是示出在一个方面的具有主内核和两个辅内核的异构多处理器系统中的示 例性逻辑组件和信息流的框图。
[0021] 图7是根据一个方面示出了配置成执行动态和自适应观测的计算系统的观测器 模块中的示例性逻辑组件和信息流的框图。
[0022] 图8是示出了在实现一方面的观测器守护进程的计算系统中的逻辑组件和信息 流的框图。
[0023] 图9是示出了用于在移动设备上执行自适应观测的方法的一方面的过程流图。
[0024] 图10是示出了用于在具有多个异构处理内核的移动设备上执行自适应观测的方 法的一方面的过程流图。
[0025] 图11是示出了用于在移动设备上执行自适应观测的方法的另一方面的过程流 图。
[0026] 图12是适合于与各个方面一起使用的移动设备的组件框图。
[0027] 图13是适合于与各个方面一起使用的示例性移动设备的图示。
[0028] 图14是适合于与各个方面一起使用的示例性服务器计算机的图示。
【具体实施方式】
[0029] 下面将参照附图详细描述各个方面。只要有可能,贯穿这些附图,将使用相同的附 图标记来表示相同的或类似的部件。对特定示例和实现的引用是为了说明的目的的,其不 意在现在本发明或权利要求书的保护范围。
[0030] 在本申请中使用词语"示例性的"来指"充当示例、实例或例证"。本申请中被描述 为"示例性的"任何实现不一定被解释为比其它的实现优选的或更优的。
[0031] 在本申请中使用词语"移动计算设备"和"移动设备"来指蜂窝电话、智能电话、个 人或移动多媒体播放器、个人数据助理(PDA)、膝上型计算机、平板计算机、智能本、超级本、 掌上计算机、无线电子邮件接收机、具有多媒体因特网功能的蜂窝电话、无线游戏控制器、 以及包含存储器、对于其而言性能是重要的的可编程处理器、以及在电池电源下工作使得 节能方法是有益的的类似的个人电子设备中的任何一个或全部。虽然各个方面对于诸如智 能电话之类的、具有有限处理功率和电池寿命的移动计算设备尤其有用,但是这些方面在 包含适合执行应用程序的多个异构处理器/内核的任何计算设备中一般都有用。
[0032] 概述地,各个方面包括用于在具有多个分布的或异构的计算单元(例如,处理器、 内核等)的移动设备中执行行为检测和分析操作方法以及配置成执行这些方面的多处理 器计算系统,以有效地识别、阻止、和/或校正潜在地对移动设备的性能和功率利用水平随 着时间降低起作用的条件和移动设备行为。行为分析操作可以包括识别其操作在多个异构 内核之间分布的单个软件应用的总体行为。这可以通过观测或监测在多个异构内核的每一 个中的局部移动设备行为并在主处理器/内核(例如,CPU、应用处理器等)中使用任务图 来重新组合所观测的局部的移动设备行为来生成适合在确定软件应用或移动设备的总体 行为是否与该移动设备的正常操作模式一致中使用的行为向量。局部的移动设备行为可以 是与监测内核相关的移动设备行为的一部分,例如与处理内核使用相同的存储器和处理资 源的部分、由处理内核执行的部分、调用在处理内核上的功能/操作的部分等。
[0033] 在本申请中使用术语"片上系统"(S0C)是指包含在单个基板上集成的多个资源、 计算单元、处理器和/或内核的单个集成电路(1C)芯片。单个S0C可以包含用于数字、模 拟、混合信号和射频功能的电路、以及任意数量的通用和/或专用处理器(数字信号处理 器、调制解调器处理器、视频处理器等)、存储块(例如,ROM、RAM、闪存等)、以及资源(例 如,定时器、电压调节器、振荡器等)。S0C还可以包含用于控制所集成的资源和处理器以及 用于控制外围设备的软件。
[0034] 在本申请中使用"系统级封装"(SIP)是指在两个或更多1C芯片或基板上包含多 个资源、计算单元、内核和/或处理器的单个模块或封装。例如,SIP可以包含单个基板,在 该单个基板上,以垂直配置来堆叠多个1C芯片或半导体晶粒。类似地,该SIP可以包含一 个或多个多芯片模块(MCM),在该MCM上,多个1C或半导体晶粒被封装成统一的基板。SIP 还可以包含诸如在单个主办上或在单个移动计算设备中经由高速通信电路耦合在一起且 封装在附近的多个独立的S0C。这些S0C的接近性有助于高速通信和对存储器及资源的共 享,以及这些S0C中的组件之间的更协调的合作和同步。
[0035] 在本申请中使用术语"多处理器"和"多处理器计算系统"是指包括配置成读取并 执行程序指令的两个或更多个计算或处理单元的系统或设备。在本申请中使用术语"多核 处理器"是指包含配置成读取并执行程序指令的两个或更多个独立的计算或处理单元(例 如,CPU内核、IP内核等)的单个集成电路(1C)芯片或芯片封装。S0C可以包含多个多核 处理器,并且可以将S0C中的每个处理器称为一个内核。
[0036] 在本申请中使用"上下文信息"是指对在主操作系统(例如,Android、Windows 8、 LINUX等)中运行的线程或进程可用的任何信息,并且可以包含标识操作系统服务、库、文 件系统、以及线程/进程可以访问的其它资源的操作状态数据和许可和/或访问限制。这样 的操作状态数据可以包括进程的地址空间、栈空间、虚拟地址空间、寄存器组映像(例如, 程序计数器、栈指针、指令寄存器、程序状态字等)、计帐信息、许可、访问限制、以及状态信 肩、。
[0037] 通常,移动设备的性能和功率效率随着时间而降级。近来,反病毒公司(例如, McAfee、Symantec等)已经开始销售旨在减慢这种降级的移动反病毒、防火墙、和加密产 品。然而,这些解决方案中的许多依赖于计算密集型扫描引擎在移动设备上的周期性执行, 这可能消耗了移动设备许多的处理和电池资源,使移动设备减慢或无用达延长的时间段, 和/或以其它方式降低了用户体验。此外,这些解决方案典型地受限于检测已知的病毒和 恶意软件,并且不能解决常常结合起来而导致移动设备随着时间的降级的多种复杂因素和 /或交互(例如,当性能降级不是由病毒或恶意软件导致的时)。对于这些以及其它原因, 现有的反病毒、防火墙、和加密产品未提供足够的解决方案用于识别可能导致移动设备随 着时间的性能降级的移动设备行为。
[0038] 存在用于对在计算设备上执行的进程或应用程序的行为进行建模的各种其它解 决方案,并且这些行为模型可以用于在计算设备上的恶意和良性进程/程序之间进行区 分。然而,这些现有的建模解决方案不适合在移动设备上使用,这是因为这些解决方案通常 需要执行计算密集型进程,这些进程消耗大量的处理、存储器和能量资源,而所有这些资源 在移动设备上都是匮乏的。此外,这些解决方案通常受限于评估单个应用程序或进程的行 为和/或针对单个处理器或内核(本文中统称处理内核),并且不提供对可能分布在多个异 构处理内核的复杂移动设备行为的准确或完整的模型。对于这些或其它原因,现有的建模 解决方案不适合在包括多个异构处理内核的移动设备中使用。
[0039] 移动设备是具有相对有限的处理、存储及能量资源的资源受限系统。现代的移动 设备还是复杂系统,并且存在可能导致移动设备随着时间在性能和功率利用水平上的降级 的各种各样的因素,其中包括设计不当的软件应用、恶意软件、病毒、零散的存储、后台处理 等。由于这些因素的数量、种类以及复杂性,对可能导致现代移动设备的复杂而资源受限系 统在性能和/或功率利用水平上的降级的所有因素进行评估常常是不可行的。
[0040] 各个方面包括多处理器移动设备、系统、和方法,其用于从有限的(粗糙的)行为 观测集合中有效地识别、分析、分类、建模、阻止、和/或校正常常使移动设备的性能和/或 功率利用水平随着时间而降级的条件和/或移动设备行为。通过减少在每个处理内核中观 测或监测到的因素的数量,以及通过减少在异构处理内核之间传送的信息量,各个方面改 善了移动设备的效率和性能以及功耗特征。
[0041] 在异构平台(例如,SIP、S0C、多处理器设备等)上,单个软件应用可以被分解为若 干子任务,这些子任务中的每一个可以被调度到不同的处理内核上(或在不同的处理内核 中执行)。也就是说,软件应用的不同部分可以在不同的单个处理内核上执行操作(例如, API调用),并且应用的行为可以散布(或分布)在不同的异构处理内核。由于此原因,在处 理内核之间没有繁琐的或消耗性通信或协调的情况下,获得应用在多个异构处理内核的行 为的完整图像常常是困难的/有挑战性的。通过在每个处理内核中生成局部的、不完整的、 轻量的、或简洁的行为标签来从每一单个处理内核的角度(或在每一单个处理内核的上下 文中)描述应用的一部分,以及通过经由所生成的行为标签跨越多个异构处理内核/在多 个异构处理内核之中/在多个异构处理内核之间高效地传送行为信息,各个方面可以在不 消耗过量的移动设备的电池或处理资源的情况下,对具有高潜在性来负面影响移动设备的 移动设备行为和条件进行识别、分析和/或响应。
[0042] 在单处理器系统和多处理器系统两者中,共享、利用和/或在相同的上下文中操 作的进程和线程(在本申请中统称为进程)可以通过相对快速的存储器读/写操作来通 信。在另一方面,在不共享上下文的独立进程之间的通信经常通过相对较慢且昂贵的(例 如,在性能成本、能量消耗、存储器访问时间等方面)函数调用、方法调用、过程调用、消息 交换、域套接字、以及其它形式的进程间通信(IPC)来完成。远程过程调用(RPC)和远程方 法调用(RMI)是允许调用进程使得子例程、过程、进程、或服务在另一地址空间中(通常是 在另一处理器、芯片或计算设备上)执行的进程间通信(IPC)。
[0043] 在异构平台上,对不同的处理内核可用的存储器和资源经常位于单独的域(例 如,保护域、物理域等)。此外,每一个处理内核可以配置具有不同的操作系统和/或实现不 同的硬件描述语言(HDL)或指令集架构(ISA)。在这样的系统中,RPC/RMI机制可以提供允 许在第一处理内核上的调用进程以使操作、服务、或进程在第二处理内核中执行,并且使第 二处理内核将执行的结果发送回第一处理内核的接口。经常地,为了解释该结果,第一处理 内核需要访问对不与在第二处理内核上执行的操作、服务、或进程共享相同上下文的进程 而言不易获得的信息。在这样的情形下,现有的RPC/RMI解决方案需要第二处理内核要由 所调用的服务使用的所有上下文信息(即,状态信息、许可等)包含在该结果中。
[0044] 通过现有的RPC/RMI机制在第一和第二处理内核之间传送如此大量的信息(例 如,程序、过程、或服务执行等的结果)通常消耗过量的功率、存储器和处理资源。此外,处 理内核可能具有不同的操作系统和/或实现不同的硬件描述语言,在这种情况下,第一处 理内核可能需要执行复杂的和功率密集型操作,以在其能够解释从第二处理内核接收的执 行结果之前,重建第二处理内核的上下文。重建上下文可能还需要对第一处理内核的核心 或主操作系统的修改,这可能需要执行另外的复杂且功率密集型操作和/或需要对移动设 备架构的显著修改。由于这些和其它原因,使用标准的RMI/RPC解决方案在异构内核之间 传送行为信息可能降级或降低移动设备的性能和功耗特性,并降级用户体验。
[0045] 当在异构平台上执行行为观测和分析操作时,可能需要每个处理内核收集大量的 行为信息,并将所收集的所有行为信息和上下文信息发送至另一处理内核以进行分析。然 而,在处理内核之间传送如此大量的信息低效地利用了移动设备资源,并且可能降级或降 低移动设备的性能和功耗特性。
[0046] 移动设备是具有相对有限的处理、存储和能量资源的资源受限系统。因此,协调多 处理内核的操作以便观测或监测软件应用或行为的繁琐或消耗性方式(或方法)不适合于 在移动设备中使用。例如,从从属或辅处理内核向主导或主处理内核(即,主要应用处理器 内核或CPU)传送API日志(例如,经由存储器读/写操作),能够导致过高的开销,尤其对 于电池驱动的移动设备。
[0047] 出于所有前述原因,现有的解决方案不适合在包含多个异构处理内核的移动设备 中使用。
[0048] 各个方面通过提供具有一个或多个辅处理内核的移动设备来克服现有解决方案 的限制,该一个或多个辅处理内核配置成观测移动设备行为的一部分并生成从进行监测的 辅处理内核的角度来标识所观测的移动设备行为的最相关的特征的行为标签。每一辅处理 内核可以向移动设备的主处理内核发送所生成的行为标签,该主处理内核可以智能地组合 从辅处理内核接收的行为标签(例如,经由任务图),并生成标识分布式软件应用的完整行 为或完整的移动设备行为的全局行为向量。然后,移动设备可以使用所生成的行为向量来 对具有高潜在性负面影响移动设备的条件和行为进行识别、分类、建模、阻止、和/或校正。
[0049] 在一方面,移动设备的主处理内核的主观测器进程、守护进程、模块、或子系统 (在本申请中统称为"模块")可以装备或协调各种级别的移动设备系统处的各种应用程序 接口(API),并从所装备的API收集行为信息。在一方面,主观测器模块可以接收在辅处理 内核的从属观测器模块中生成的局部的/不完整的行为标签。每一局部的/不完整的行为 标签可以以一个值或向量数据结构(例如,以数字串、状态机等的形式)简洁地描述在辅处 理内核中(例如,通过装备的API)所观测到的移动设备或软件应用的总体行为的一部分。 每一局部的/不完整的行为标签还可以从辅处理内核的角度或在辅处理内核的上下文中 描述移动设备或软件应用的总体行为。例如,局部的/不完整的行为标签可以描述由辅处 理内核执行的或访问对辅处理内核可用的存储器或处理资源的软件应用的一部分。
[0050] 主处理内核中的主观测器模块可以使用任务图来重新组合从辅处理内核接收的 局部的/不完整的行为标签,以生成适合在确定软件应用或移动设备的总体行为是否与移 动设备的正常操作模式一致时使用的行为向量。每一行为向量可以以一个值或向量数据结 构(例如,以数字串、状态机等的形式)简洁地描述移动设备或特定软件应用的总体行为。
[0051] 主观测器模块可以所生成的行为向量发送给移动设备的分析器模块(例如,经由 存储器写操作等),该分析器模块可以基于在行为向量中包含的信息和/或从各种其它移 动设备子系统收集的信息来生成空间和/或时间相关性。所生成的空间和/或时间相关性 可以由移动设备的各种模块(例如,由驱动模块等)使用,以识别和/或响应被确定为具有 很高可能性负面地影响移动设备的性能或电池消耗水平的行为。
[0052] 在一方面,移动设备的主处理内核可以与辅处理内核位于相同的芯片或基板上。 在一方面,辅处理内核中的一个或多个可以与主处理内核位于不同的芯片或基板上。在一 方面,主或辅处理内核均可以配置具有不同的操作系统和/或实现不同的硬件描述语言或 指令集架构。在各个方面,主处理内核和辅处理内核可以位于相同的SIP、S0C、芯片、基板、 电路、或微处理器中。
[0053] 可以在多个不同的移动设备中实现各个方面,其中包括单处理器和多处理器系统 以及片上系统(S0C)。图1是示出可以在实现各个方面的计算设备中使用的示例性片上 系统(SOC)IOO架构的架构图。S0C 100可以包括多个异构处理器,诸如数字信号处理器 (DSP) 101、调制解调器处理器104、图形处理器106、以及应用处理器108。S0C 100还可以 包括连接到异构处理器101、104、106、108中的一个或多个的一个或多个协处理器110 (例 如,向量协处理器)。
[0054] 每个处理器101、104、106、108、110可以包括一个或多个内核,并且每个处理器/ 内核可以独立于其它处理器/内核来执行操作。例如,S0C 100可以包括执行第一类型操 作系统(例如,FreeBSD、LINUX、OS X等)的处理器,以及执行第二类型操作系统(例如, Microsoft Windows 8)的处理器。在各个方面,处理器101、104、106、108、110中的每一个 可以是主或主要处理内核,并且其它处理器101、104、106、108、110中的每一个可以是非主 或辅处理内核。
[0055] SOC 100还可以包括模拟电路和定制电路114,其用于管理传感器数据、模数转 换、无线数据传输、以及用于执行诸如处理针对游戏和电影的编码音频信号之类的其它专 门操作。S0C 100还可以包括系统组件和资源116,诸如电压调节器、振荡器、锁相环、外围 桥接、数据控制器、存储器控制器、系统控制器、接入端口、定时器、以及用于支持在计算设 备上运行的处理器和客户端的其它类似的组件。
[0056] 资源/系统组件116和定制电路114可以包括用于与诸如照相机、电子显示器、无 线通信设备、外部存储器芯片等之类的外围设备对接的电路。处理器101、104、106、108可 以经由互连/总线模块124与一个或多个存储器单元112、系统组件、以及资源116和定制 电路114互连,互连/总线模块124可以包括可重配置的逻辑门阵列和/或实现总线架构 (例如,CoreConnect、AMBA等)。可以通过诸如高性能片上网络(NoC)之类的高级连接器 提供通信。
[0057] S0C 100还可以包括用于与诸如时钟118和电压调节器120之类的位于S0C外部 的资源进行通信的输入/输出模块(未示出)。位于S0C外部的资源(例如,时钟118、电 压调节器120)可以由两个或更多个内部S0C处理器/内核(例如,DSP 101、调制解调器处 理器104、图形处理器106、应用处理器108等)共享。
[0058] S0C 100还可以包括适合用于从包括扬声器、用户接口单元(例如,输入按钮、触 摸屏显示器等)、麦克风阵列的传感器、用于监测物理条件(例如,位置、方向、运动、方位、 振动、压力等)的传感器、照相机、指南针、全球定位系统(GPS)接收机、通信电路(例如, Bluetooth?、WLAN、WiFi等)、以及现代电子设备的其它公知组件(例如,加速计等)收集 传感器数据的硬件和/或软件组件。
[0059] 在一方面,应用处理器108可以是主处理内核,而其它处理器101、104、106、110可 以是非主处理内核。在一方面,应用处理器108可以是主处理器,而其它处理器101、104、 106、110可以移动设备的多个是非主处理内核或多个非主处理器。在一方面,主处理器可 以配置成监测单个应用的子任务到多个非主处理器的分配。在一方面,每个非主处理器可 以配置成观测移动设备行为中与该非主处理器相关的一部分,并基于该观测来生成行为标 签。在一方面,主处理器可以配置成在该主处理器中将从两个或更多个非主处理器接收的 两个或更多个行为标签进行组合,以生成描述整个或完整的移动设备行为或应用的全局行 为向量,并且可以将其提供给分析器模块以进行处理。在一方面,主处理器可以包括用于在 分析器模块中处理全局行为向量以确定软件应用良性还是非良性的单元。
[0060] 除了上文讨论S0C 100之外,还可以在各种各样的多处理器和多核处理器系统中 实现各个方面。图2示出了可以用于实现各个方面的示例性多核处理器架构。多核处理器 202可以包括非常靠近(例如,在单个基板、晶粒、集成芯片等上)的两个或更多个独立处 理内核204、206、230、232。处理内核204、206、230、232的靠近允许存储器以比信号要去往 芯片外的情况下所可能的频率/时钟速率高得多的频率/时钟速率操作。此外,内核204、 206、230、232的靠近允许对片上存储器和资源(例如,电压轨)的共享,以及允许内核之间 更协调的协作和同步。
[0061] 在各个方面,处理内核204、206、230、232可以是彼此相同、异构、和/或实现不同 的专门功能。从而,处理内核204、206、230、232无需是对称的,无论是从操作系统的角度 (例如,可以执行不同的操作系统)来看还是从硬件的角度(例如,可以实现不同的指令集 /架构)来看。此外,每个处理内核204、206、230、232可以对一些资源具有互斥控制并与其 它内核共享其它资源。
[0062] 处理内核204、206、230、232可以经由总线/互连接口218、对共享存储器的直接存 储器读/写操作、函数调用、方法调用、过程调用、消息交换、域套接字(例如,Unix域套接 字)、以及其它形式的进程间通信(IPC)来彼此通信。
[0063] 在各方面,多核处理器202可以是主处理内核(例如,应用处理器108、CPU等)或 非主处理内核。在一方面,一个处理内核204可以是主处理内核,而其它处理内核206、230、 232可以是非主处理内核。
[0064] 在图2中示出的示例中,多核处理器202包括多级高速缓存,其中包括多个级别 1(L1)高速缓冲器212、214、238、240和级别2仏2)高速缓存器216、226、242。多核处理器 202还包括总线/互连接口 218、主存储器220、以及输入/输出模块222。L2高速缓存器 216、226、242可以比L1高速缓存器212、214、238、240更大(但更慢),但是比主存储器220 单元更小(但基本上更快)。每个处理内核204、206、230、232可以包括具有对1^1高速缓存 器 212、214、238、240 私有访问的处理单元 208、210、234、236。处理内核 204、206、230、232 可以共享对L2高速缓存器(例如,L2高速缓存器242)的访问或可以具有对独立L2高速 缓存器(例如,L2高速缓存器216、226)的访问。
[0065] L1和L2高速缓存器可以用于存储由处理单元频繁访问的数据,而主存储器220可 以用于存储由处理内核204、206、230、232访问的较大的文件和数据单元。多核处理器202 可以配置成使处理内核204、206、230、232按照先查询L1高速缓存器然后是L2高速缓存 器,且如果信息未存储在高速缓存器中则再查询主存储器的顺序来从存储器中寻找数据。 如果信息未存储在高速缓存器或主存储器220中,则多核处理器202可以从外部存储器和 /或硬盘存储器224寻找信息。
[0066] 诸如参考图1和2所讨论的那些多处理器硬件设计可以在相同的封装内、经常是 在同一硅片上包括具有不同能力的多个处理内核。对称的多处理硬件包括由单个操作系统 控制的、连接到单个共享的主存储器的两个或更多个相同的处理器。不对称的或"松散耦合 的"多处理硬件可以包括两个或更多个异构的处理器/内核,该两个或更多个异构的处理器 /内核均可以由独立的操作系统控制并连接到一个或多个共享的存储器/资源。各个方面 可以包括或利用对称和不对称多处理硬件系统的任何组合。
[0067] 图3示出了异构多处理器系统300的一方面的处理内核301中的示例性逻辑组件 和信息流,其中异构多处理器系统300配置成识别、阻止、和/或校正具有高潜在性导致移 动设备的性能和功率利用水平随着时间降级的条件和移动设备行为。在一方面,处理内核 301可以是主或主要处理内核。
[0068] 在图3中示出的示例中,处理内核301包括行为观测器模块302、行为分析器模块 306、外部上下文信息模块304、以及执行器模块308。处理内核301可以配置成从一个或多 个从属行为观测器模块303接收行为标签及其它通信。
[0069] 可以在软件、硬件或其任何组合中实现模块302-308中的每一个。在各方面,可以 在操作系统的一部分内(例如,在内核内、在内核空间中、在用户空间中等)、在单独的程序 或应用内、在专用硬件缓冲器或处理器、或其任何组合中实现模块302-308。在一方面,模块 302-308中的一个或多个可以被实现为在移动设备的一个或多个处理内核上执行的软件指 令。
[0070] 行为观测器模块302、303中的任何一个可以配置成装备或协调移动设备的各个 级别/模块处的应用程序接口(API),以及经由所装备的API监测/观测各个级别/模块 处的移动设备操作和事件(例如,系统事件、状态变化等),收集与所观测到的操作/事件 有关的信息,智能地对所收集的信息进行过滤,基于经过滤的信息生成一个或多个观测,生 成行为标签,将所生成的观测和/或行为标签存储在存储器中(例如,在日志文件、高速缓 存存储器等中)和/或将所生成的标签或观测发送给主/主要处理内核或行为分析器模块 306(例如,经由存储器写、函数调用等)。
[0071] 通过在每个处理内核中生成局部的、不完整的、轻型的、或简洁的行为标签来从每 一单个的处理内核的角度(或在每一单个的处理内核的上下文中)描述应用的一部分,行 为观测器模块302、303可以根据观测(且从而操作)的减少的集合来生成更容易与从其它 处理内核收集的其它观测/行为信息组合的行为信息,以识别、分析和/或响应具有高潜在 性负面地影响移动设备的完整的移动设备行为或条件。此外,该行为标签允许有效地且在 不负面地影响移动设备的情况下跨多个异构处理内核/在多个异构处理内核之中/之间传 送行为信息。
[0072] 行为观测器模块302、303中的任何一个可以通过收集与在应用框架或运行时库 中的库应用程序接口(API)调用、系统调用API、文件系统和联网子系统操作、设备(包括 传感器设备)状态变化、以及其它类似的事件有关的信息来监测/观测移动设备操作和事 件。行为观测器模块302、303还可以监测文件系统活动,该文件系统活动可以包括搜索文 件名、文件访问的类别(个人信息或正常数据文件)、创建或删除文件(例如, eXe、zip等类 型)、文件读/写/查找操作、改变文件权限等。
[0073] 行为观测器模块302、303还可以监测/观测数据网络活动,其可以包括连接类型、 协议、端口号、设备所连接到的服务器/客户端、连接的数目、通信的体量或频率等。行为观 测器模块302、303可以监测电话网络活动,这可以包括监测所发出的、接收到的、或拦截的 电话或消息(例如,SMS等)的类型和数目(例如,所拨打的高价电话的数目)。
[0074] 行为观测器模块302、303还可以监测/观测系统资源使用,这可以包括监测分叉 (fork)数目、存储器访问操作、打开的文件数目等。行为观测器模块302、303可以监测移动 设备的状态,这可以包括监测各种因素,诸如显示器是打开的还是关闭的、设备是锁定的还 是未锁定的、剩余的电池量、照相机的状态等。行为观测器模块302、303还可以通过例如监 测关键服务(浏览器、合约提供方等)的意图、进程间通信的程度、弹出窗口等来监测进程 间通信(IPC)。
[0075] 行为观测器模块302、303还可以监测/观测一个或多个硬件组件的驱动器统计和 /或状态,该一个或多个硬件组件可以包括照相机、传感器、电子显示器、WiFi通信组件、数 据控制器、存储器控制器、系统控制器、访问端口、定时器、外围设备、无线通信组件、外部存 储器芯片、电压调节器、振荡器、锁相环、外围桥路、以及用于支持移动计算机设备上的处理 器和客户端的其它类似组件。
[0076] 行为观测器模块302、303还可以监测/观测表示移动计算设备和/或移动设备子 系统的状态或状况的一个或多个硬件计数器。硬件计数器可以包括处理器/内核的专用寄 存器,其配置成存储在移动计算设备中发生的与硬件相关的活动或事件的计数或状态。
[0077] 行为观测器模块302、303还可以监测/观测软件应用的动作或操作、从应用下载 服务器(例如,Apple? App商店服务器)的软件下载、软件应用所使用的移动设备信息、 呼叫信息、文本消息传送信息(例如,SendSMS、BlockSMS、ReadSMS等)、媒体消息传送信息 (例如,ReceiveMMS)、用户账户信息、位置信息、照相机信息、加速计信息、浏览器信息、基于 浏览器的通信的内容、基于语音的通信的内容、短距离无线通信(例如,蓝牙、WiFi等)、基 于文本的通信的内容、录制的音频文件的内容、电话簿或联系人信息、联系人列表等。
[0078] 行为观测器模块302、303可以监测/观测移动设备的传输或通信,包 括包含语音邮件(VoiceMailComm)、设备标识符(DevicelDComm)、用户账户信息 (UserAccountComm)、日历信息(CalendarComm)、位置信息(LocationComm)、录制的音频信 息(RecordAudioComm)、加速计信息(AccelerometerComm)等的通信。
[0079] 行为观测器模块302、303可以监测/观测对指南针信息、移动设备设置、电池寿 命、陀螺仪信息、压力传感器、磁传感器、屏幕活动等的使用和更新/改变。行为观测器模块 302、303可以监测/观测传送给软件应用传送及来自软件应用的通知(AppNotification)、 应用更新等。行为观测器模块302、303可以监测/观测与请求对第二软件应用的下载和/ 或安装的第一软件应用相关的条件或事件。行为观测器模块302、303可以监测/观测与诸 如密码的输入等之类的用户认证相关的条件或事件。
[0080] 行为观测器模块302、303可以监测/观测在移动设备的多个级别处的条件或事 件,其中包括应用级别、无线电级别和传感器级别。
[0081] 应用级别观测可以包括经由面部识别软件观测用户、观测社交流、观测用户输入 的备注、观测与PassBook/Google Wallet/Paypal等的使用有关的事件。应用级别观测还 可以包括观测与虚拟私有网络(VPN)的使用有关的事件以及与同步、语音搜索、语音控制 (例如,通过说一个词锁定/解锁电话)、语音翻译器、用于计算的数据卸载、视频流传送、在 没有用户活动的情况下的照相机使用、在没有用户活动的情况下的麦克风使用等相关的事 件。
[0082] 无线电级别观测可以包括确定以下各项中的任何一个或多个的出现、存在性或数 量:在建立无线通信链路或发送信息之前与移动设备的用户交互、双/多SM卡、因特网无 线电、移动电话系留、卸载用于计算的数据、设备状态传送、作为游戏控制器或家庭控制器 使用、车辆通信、移动设备同步等。无线电级别观测还可以包括监测用于定位、对等(p2p) 通信、同步、车辆对车辆通信、和/或机器对机器(m2m)的无线电(WiFi、WiMax、蓝牙等)的 使用。无线电级别观测还可以包括监测网络业务使用、统计或简档。
[0083] 传感器级别观测可以包括监测磁传感器或其它传感器以确定移动设备的使用和/ 或外部环境。例如,移动设备处理器可以配置成确定电话是在皮套中(例如,经由配置成感 测皮套中的磁铁的磁传感器)还是在用户的口袋中(例如,经由通过照相机或光传感器检 测到的光的量)。检测移动设备在皮套中可能与识别可疑行为有关,例如,这是因为在移动 设备在皮套中时发生与用户的活动使用(例如,照相或录像、发送消息、进行语音电话、录 音等)有关的活动和功能可能是在该设备上执行的恶意进程(例如,跟踪或监视用户)的 标志。与使用或外部环境有关的传感器级别观测的其它示例包括检测近场通信(NFC)、从 信用卡扫描仪、条形码扫描仪、或移动标签阅读器收集信息、检测USB充电源的存在、检测 键盘或辅助设备已经耦合到移动设备、检测移动设备已经耦合到计算设备(例如,经由USB 等)、确定LED、闪光灯、手电筒、或光源是否已经被修改或禁用(例如,恶意地禁用紧急信号 应用等)、检测扬声器或麦克风已经被打开或上电、检测充电或电源事件、检测移动设备被 用作游戏控制器等。传感器级别观测还可以包括从医疗或保健传感器或从扫描用户的身体 收集信息、从插入到USB/音频插座的外部传感器收集信息、从触觉或触感传感器收集信息 (例如,经由振动器接口等)、收集与移动设备的热状态相关的信息等。
[0084] 为了将所监测的因素的数量减少到可管理的级别,在一方面,行为观测器模块 302、303可以通过监测/观测行为或因素的初始集来执行粗观测,该行为或因素的初始集 是可能导致移动设备的降级的所有因素的较小子集。在一方面,可以通过分析移动设备上 的良性的和有问题的应用来选择行为的初始集和/或因素的子集。在各个方面,行为观测 器模块302、303可以从另一处理内核(例如,主处理内核等)、网络服务器、或云服务提供商 网络中的组件接收行为和/或因素的初始集。
[0085] 行为分析器模块306可以从行为观测器模块302接收行为向量,并将其与一个或 多个行为模块进行比较,以确定特定的移动设备行为、软件应用、或进程是否是性能降级的 /恶意的、良性的、或可疑的。行为分析器模块306还可以将所接收的信息(例如,观测结 果)与从外部上下文信息模块304接收的上下文的信息进行比较,以识别导致(或很有可 能导致)设备随时间的降级或可能以其它方式在移动设备上造成问题的子系统、进程和/ 或应用。
[0086] 在一方面,行为分析器模块306可以包括用于利用有限的信息集(例如,粗观测结 果)来识别导致(或很有可能导致)设备随时间的降级或可能以其它方式在设备上造成问 题的行为、进程、或程序的智能。例如,行为分析器模块306可以配置成分析从各种处理内 核和模块(例如,行为观测器模块302、外部上下文信息模块304等)收集的信息(例如,以 观测结果的形式)、学习移动设备的正常操作行为、以及基于比较的结果生成或更新一个或 多个行为向量。在一方面,行为分析器模块306可以将所生成的行为向量发送给执行器模 块308,执行器模块308可以执行各种动作或操作以校正被确定为是恶意的或使性能降级 的移动设备行为和/或执行操作以修复、矫正、隔离、或以其它方式解决所识别的问题。
[0087] 在一方面,如果行为分析器模块306确定一行为、软件应用、或进程是可疑的,则 行为分析器模块306可以通知行为观测器模块302,行为观测器模块302可以调整其观测的 粒度(即,观测移动设备行为的详细级别)和/或基于从行为分析器模块306接收的信息 改变所观测的行为(例如,实时分析操作的结果)、生成或收集新的或另外的行为信息、并 将新/另外的信息发送给行为分析器模块306以进行进一步分析/分类。在行为观测器模 块302与行为分析器模块306之间的这样的反馈通信使移动设备能够递归地增加观测的粒 度(即,进行更细微或更详细的观测)或改变所观测的特征/行为,直到识别出可疑的或使 移动设备性能降级的行为的来源为止、直到达到处理或电池消耗阈值为止、或直到移动设 备处理器确定无法从进一步增加观测粒度来识别可疑的或使移动设备的性能降级的行为 的来源为止。
[0088] 图4是根据各个方面的应用任务图的图示,该应用任务图表征分布在多个异构处 理内核的软件应用的完整行为,并且适合在组合局部行为标签时使用。通常,一个任务可以 是可以在应用任务图402中被表示并且标识软件应用的完整的或统一的行为的任何模块、 执行框、逻辑、或代码单元。一个任务可以包括多个子任务404,每个子任务可以是任务中 充分独立于可以被映射到或移动到不同处理内核的其它子任务/执行框的最小执行框、模 块、逻辑、或代码单元。例如,子任务404可以是包括任何数量的(例如,成千上万的)操作 或代码行、并且充分独立和自包含使得其可以被转移到另一内核的单元。在一方面,子任务 404可以是具有定义清楚的输入和输出并且可以被移动、映射、或转移到另一处理内核的任 何模块、逻辑、或代码单元。
[0089] 在异构平台上,可以将软件应用分解成若干子任务,可以将子任务中的每一个调 度到不同的内核上。即,软件应用的不同部分可以在不同的单个内核上执行操作(例如, API调用),且应用的行为可以散布在不同的内核。由于该原因,获得跨多个异构内核/处 理单元的应用的行为的完整图像经常是困难的/挑战性的。
[0090] 在一方面,移动设备可以配置成生成任务图,该任务图将分布在多个异构处理内 核的软件应用的完整行为表征为参数、API调用、参数值、和时间戳的函数。在一方面,任务 图可以用于获得跨多个异构处理内核的应用行为的完整图像。
[0091] 图5是根据各个方面的应用任务图的另一图不,该任务图表征分布在多个异构处 理内核的软件应用的完整行为,且其适合在组合局部行为标签中使用。特别地,图5示出了 应用任务图402、且从而软件应用的总体或完整的行为、可以等于在多个异构处理内核(内 核1-3)中的每一个中包含的子任务的和。
[0092] 由于在异构内核(内核1-3)之间的硬件、软件、和/或架构的不同,在内核之间传 送信息可能是很昂贵的,或其可能降低移动设备的性能和功耗。即,移动设备是具有相对有 限的处理、存储器和能源资源的资源受限的系统。从而,协调多个内核之间的操作以观测或 监测软件应用或行为的繁琐或消耗的方式不适合在移动设备中使用。例如,从各个从属内 核向主内核传送API日志可能导致过高的开销,尤其是针对电池驱动的移动设备。即,向主 内核传送或发送在辅处理内核中生成的API日志以进行分析可能是很昂贵的。
[0093] 通过在辅内核中生成行为标签并在内核之间传送行为标签(而不是API日志),各 个方面可以减少或避免协调多核操作的繁琐或消耗的方式。主处理内核可以以有意义的方 式(即,经由任务图、基于时间、使用动作序列号等)来接收和组合局部特征以获得软件应 用的总体行为。
[0094] 图6不出了在包括主核602以及两个辅核604、606的异构多处理器系统600的一 方面中的示例性逻辑组件和信息流。在各个方面,辅内核604、606可以与主处理内核602 位于相同的或不同的芯片上。利用异构传输协议620模块(例如,总线、IPC、片上网络、织 物等)便于实现处理内核之间的通信。
[0095] 在图6中示出的示例中,主内核602包括主行为观测器模块302,该主行为观测器 模块302包括全局行为检测单元610模块、本地行为检测单元612模块、任务图614模块、 工作分配监测器616模块、以及本地观测618模块。辅内核604、606中的每一个可以包括 从属行为观测器模块303,从属行为观测器模块303包括本地行为检测单元612模块以及本 地观测618模块。本地行为检测单元612模块可以配置成在其相应的内核中解释本地观测 并针对所监测的每一软件应用向全局行为检测单元610模块提供行为标签。
[0096] 每一从属行为观测器模块303可以在其相应的辅内核604、606中监测一个或多个 活动(例如,重要的API),生成所监测的活动的特征,该特征描述了软件应用针对特定内核 604、606的行为(且其从而是应用的局部行为的特征)。可以从由从属行为观测器模块303 收集的行为信息生成该行为标签,且该行为标签以一值或向量数据结构(例如,以数字串 的形式等)简洁地描述了移动设备行为的部分。在一方面,行为标签可以充当使主处理内 核迅速识别并确定子任务及其在应用任务图402中的位置而不执行任何另外的、繁琐的、 或功率密集型分析或认证操作的标识符和/或证明。
[0097] 从属行为观测器模块303可以向主行为观测器模块302发送所生成的特征,主行 为观测器模块302可以使用应用任务图402来组合局部的/不完整的行为标签,以获得/ 识别软件应用的完整行为。
[0098] 工作分配监测器616可以配置成跟踪单个应用中的操作/工作(例如,子任务) 如何被分配到各个辅内核604、606,这可以通过监测对传输层、异构传输协议620模块、或 对全局行为检测单元610模块的调用来实现。工作分配模块616还可以生成和维护应用任 务402(即,并发执行模式)以由全局行为检测单元使用,其可以结合任务图402使用从辅 内核604、606接收的本地行为标签来生成描述软件应用的总体行为的行为向量。然后,该 行为向量可以被发送至行为分析器模块306并用于识别具有负面地影响移动设备的性能 或电池消耗级别的高可能性的行为。
[0099] 图7示出了在配置成根据一方面执行动态且自适应的观测的计算系统的行为观 测器模块302中的示例性逻辑组件和信息。行为观测器模块302可以包括自适应过滤器模 块702、抑制模块704、观测器模式模块706、高级别行为检测模块708、行为向量生成器710、 以及安全缓冲器712。高级别行为检测模块708可以包括空间相关模块714和时间相关模 块 716。
[0100] 观测器模式模块706可以从各个源接收控制信息,其可以包括分析器单元(例如, 上文参考图3描述的行为分析器模块306)和/或应用API。观测器模式模块706可以向自 适应过滤器模块702和高级别行为检测模块708发送与各种观测器模式相关的控制信息。 [0101]自适应过滤器模块702可以从多个源接收数据/信息,并对所接收的信息进行智 能地过滤以生成从所接收的信息选择的信息的较小子集。可以基于从分析器模块、或通过 API通信的高级别进程接收的信息或控制来调整该过滤器。可以向抑制模块704发送经过 滤的信息,抑制模块704可以负责控制从过滤器流出的信息量,以确保高级别行为检测模 块708不会变得被请求或信息淹没或过载。
[0102] 高级别行为检测模块708可以从抑制模块704接收数据/信息,控制来自观测器 模式模块706的信息以及来自移动设备的其它组件的上下文信息。高级别行为检测模块 708可以使用所接收的信息来执行空间的或时间的相关以检测或识别可能导致设备以次优 的级别执行的高级别行为。可以向行为向量生成器710发送空间和时间相关的结果,该行 为向量生成器710接收该相关信息并生成描述特定进程、应用、或子系统的行为的行为向 量。在一方面,行为向量生成器710可以生成行为向量,使得特定进程、应用、或子系统的每 一高级别行为是行为向量的一个元素。在一方面,所生成的行为向量可以存储在安全的缓 冲器712中。高级别行为检测的示例可以包括检测特定事件的存在、另一事件的数量或频 率、多个事件之间的关系、事件发生的顺序、特定时间的发生之间的时间差等。
[0103] 行为观测器模块302可以基于从各种源接收的信息执行自适应观测技术并控制 观测粒度。例如,高级别行为检测模块708可以从抑制模块704、观测器模式模块706接收 信息,以及从移动设备的其它组件(例如,传感器)接收上下文信息。作为示例,执行时间 相关的高级别行为检测模块708可能检测到已经使用了照相机以及移动设备正试图将照 片上载到服务器。高级别行为检测模块708还可以执行空间相关以确定移动设备上的应用 是否在该设备在皮套中并被附接到用户的腰带时拍了该照片。高级别行为检测模块708可 以确定该所检测的高级别行为(例如,在位于皮套中时使用照相机)是否为可接受的或常 见的行为,这可以通过将当前行为与该移动设备的过去的行为进行比较和/或访问从多个 设备收集的信息(例如,从众包服务器接收的信息)来实现。由于当在皮套中时拍照并将 照片上载到服务器是不寻常的行为(如在装在皮套中的背景下观测到的正常行为所可以 确定的),在该情形下高级别行为检测模块708可以将此事被为潜在的威胁行为并发起适 当的响应(例如,关闭照相机、发出警报等)。
[0104] 在一方面,行为观测器模块302可以在多个部分中实现。
[0105] 图8示出了在实现一方面的观测器守护进程的计算系统800中的逻辑组件和信 息。在图8中示出的示例中,计算系统800包括行为检测器802模块、数据库引擎804模块、 以及在用户空间中的行为分析器模块306、以及环形缓冲器814、过滤器规则816模块、抑制 规则818模块、以及在内核空间中的安全缓冲器820。计算系统800还可以包括观测器守护 进程,该观测器守护进程包括在用户空间中的行为检测器802以及数据库引擎804,以及在 内核空间中的安全缓冲器管理器806、规则管理器808、以及系统健康监测器810。
[0106] 各个方面可以提供围绕webkit,、SDK、NDK、内核、驱动器以及硬件在移动设备上的 跨层观测,以便表征系统行为。可以实时进行上述行为观测。
[0107] 观测器模块可以执行自适应观测技术并控制观测粒度。如上文所讨论的,存在对 移动设备的退化起作用的大量的(即,成千上万的)因素,并且对可能对设备的性能退化起 作用的所有不同因素进行监测/观测时不可行的。为了克服这点,各个方面动态地识别要 观测的有关行为,并动态地确定要以哪一详细级别来观测所识别的行为。
[0108] 图9示出了用于根据一方面执行动态和自适应观测的示例性方法900。在框902, 移动设备处理器可以通过监测/观测可能对移动设备的退化起作用的大量因素/行为的子 集来执行粗观测。在框903中,移动设备处理器可以生成表征粗观测和/或基于粗观测的 移动设备行为的行为向量。在框904中,移动设备处理器可以识别与对移动设备的退化潜 在起作用的粗观测相关联的子系统、进程、和/或应用。例如,这可以通过将从多个源接收 的信息与从移动设备的传感器接收的上下文的信息进行比较来实现。在框906中,移动设 备处理器可以基于粗观测执行行为分析操作。在确定框908中,移动设备处理器可以基于 行为分析的结果来确定可疑的行为或潜在的问题是否可以被识别和校正。当移动设备处理 器基于行为分析的结果确定可疑的行为或潜在的问题可以被识别和较正(即,确定框908 ="是")时,在框918中,处理器可以发起用于校正行为的进程,并返回框902以执行另外 的粗观测。
[0109] 当移动设备处理器基于行为分析的结果确定可疑的行为或潜在的问题不能被识 别和/或较正(即,确定框908 = "否")时,在确定框909中,移动设备处理器可以确定是 否存在有问题的可能性。在一实施例中,移动设备处理器可以通过计算移动设备遭遇潜在 问题和/或进行可疑行为的概率以及确定所计算的概率是否大于预定的阈值来确定存在 问题的可能性。当移动设备处理器确定所计算的概率不大于预定的阈值和/或没有存在可 疑行为或潜在问题的可能性和/或没有可疑行为或潜在问题可检测的可能性(即,确定框 909 ="否")时,处理器可以返回框902以执行另外的粗观测。
[0110] 当移动设备处理器确定有存在可疑行为或潜在问题的可能性和/或有可疑行为 或潜在问题可检测的可能性(即,确定框909 = "是")时,在框910中,移动设备处理器可 以对所识别的子系统、进程或应用执行更深的记录/观测或最后的记录。在框912中,移动 设备处理器可以对所识别的子系统、进程或应用执行更深入且更详细的观测。在框914中, 移动设备处理器可以基于上述更深人且更详细的观测执行进一步的和/或更深的行为分 析。在确定框908中,移动设备处理器可以基于上述更深入的行为分析的结果再次确定是 否可以识别可疑行为或潜在问题。当移动设备处理器基于上述更输入行为分析的结果确定 不能识别可疑行为或潜在问题(即,确定框908 ="否")时,处理器可以重复在框910-914 中的操作直到详细的级别细微地足够识别问题为止或直到确定利用另外的细节无法识别 问题或不存在问题为止。
[0111] 当移动设备处理器基于上述更深入的行为分析的结果确定可以识别并校正可疑 行为或潜在的问题(即,确定框908 = "是")时,在框918中,移动设备处理器可以执行操 作以校正问题/行为,且处理器可以返回框902以执行另外的操作。
[0112] 在一方面,作为方法900的框902-918的一部分,移动设备处理器可以执行系统行 为的实时行为分析,以从有限且粗的观测中识别可疑行为,以动态地确定要更详细观测的 行为,以及动态地确定观测所需的精确的详细级别。这使得移动设备处理器有效地识别及 避免问题发生,而无需使用设备上的大量处理器、存储器、或电池资源。
[0113] 图10根据一方面示出了用于对移动设备处理器执行观测的示例性主观测器方法 1000。在框1002-1018中,在从属或辅处理内核(内核1、内核2、内核η)中的每一个中的 从属观测器模块可以在其相应的内核中反复地监测移动设备活动,基于所监测的活动生成 行为标签,并向主处理内核(主内核)发送所生成的标签。
[0114] 在框1020中,主或主要处理内核的主观测器模块可以监测对传输层的调用并生 成任务图。在框1022中,主观测器模块可以从从属/辅处理内核(内核1、内核2、内核η) 接收行为标签。在框1024中,主观测器模块可以将所接收的行为标签与在主内核上收集的 行为信息组合以生成全局行为向量。在框1026中,主观测器模块可以向分析器模块发送所 生成的全局行为向量以进行进一步分析。
[0115] 图11根据另一方面示出了用于利用移动设备处理器执行动态且自适应观测的另 一示例性方法1100。在框1102中,移动设备处理器可以动态地识别要在移动设备上观测 的有关行为。在框1104中,移动设备处理器可以动态地确定要观测所识别的行为的详细级 另IJ。在可选的框1106中,移动设备处理器可以动态地适应正被观测到的。在可选的框1108 中,移动设备处理器可以动态地改变或更新要被观测的参数、因素、行为、进程、应用、和/ 或子系统。可以连续地重复或尽可能地重复框1102-1108的操作以改进移动设备性能(例 如,电池功耗、处理速度、网络通信速度等)。
[0116] 在图12中示出了这样的移动设备的示例性的、非限制性的方面的示例性组件和 模块。移动计算设备102可以包括电子组件的电路板1202,上述电子组件的一些或全部可 以被集成到片上系统中,该电路板1202包括耦合到存储器1204的控制处理器1201。控制处 理器1201还可以被耦合到数字信号处理器1206和/或模拟信号处理器1208,数字信号处 理器1206和模拟信号处理器1208也可以耦合到一起。在一些实施例中,控制处理器1201 和数字信号处理器1206可以是相同的组件或可以被集成到相同的处理器芯片中。显示器 控制器1210和触摸屏控制器1212可以耦合到控制处理器1201以及耦合到位于移动计算 设备102内或连接到移动计算设备102的显示器/触摸屏1214。
[0117] 控制处理器1201还可以耦合到可移动存储器1216(例如,在移动计算设备的情况 下为SD存储器或SIM卡)和/或外部存储器1218,例如一个或多个硬盘驱动器、CD驱动 器、以及DVD驱动器。控制处理器1201也可以耦合到通用串行总线(USB)控制器1220,该 通用串行总线(USB)控制器1220耦合到USB端口 1222。在各个方面,电源1221可以通过 USB控制器1220或通过不同的电气连接耦合到电路板1202,以向各种电子组件提供电源 (例如,DC电源)。
[0118] 控制处理器1201也可以耦合到视频编码器1224,例如相位交替行(PAL)编码器、 顺序与存储电视系统(SECAM)编码器、或国家电视系统委员会(NTSC)编码器。此外,视频 编码器1224可以耦合到视频放大器1226,该视频放大器1226可以耦合到视频编码器1224 和显示器/触摸屏1214。此外,视频端口 1228可以耦合到视频放大器1226以使得能够将 移动计算设备102连接到外部监测器、电视或其它显示器(未示出)。
[0119] 控制处理器1201可以耦合到射频(RF)收发机1230,例如经由模拟信号处理器 1208。RF收发机1230可以耦合到RF天线1218以发送和接收RF信号。RF收发机1230可 以配置成发送和接收一个或多个不同无线通信协议的通信信号,上述无线通信协议包括例 如蜂窝电话(例如,G-3、UMTS、CDMA、等)、WiFi、WiMax、以及蓝牙。
[0120] 控制处理器1201还可以耦合到网卡1232,该网卡1232可以耦合到网络连接器 1231和/或RF收发机1230且其配置成使得能够经由外部网络(例如,局域网、因特网、企 业内部网、WiFi网络、蓝牙网络、个域网(PAN)等)实现通信。网卡1232可以是单独的芯 片或卡的形式,或其可以作为完整解决方案通信芯片被实现为控制处理器1201或RF收发 机1230(或两者)的一部分。
[0121] 诸如键板1234之类的多个模拟设备可以通过模拟信号处理器1208耦合到控制处 理器1201。在其它实现中,键板或键盘可以包括其自身的处理器,使得与控制处理器1201 的接口可以是经由直接连接(未示出)、经由网络连接(例如,经由网卡)、或经由USB端口 1222。
[0122] 在一些实现中,数字照相机1236可以耦合到控制处理器1201。在一示例性的方 面,数字照相机1236可以是电荷耦合器件(CCD)照相机或互补金属氧化物半导体(CMOS) 照相机。数字照相机1236可以被嵌入到移动计算设备102中或通过外部线缆耦合到设备。
[0123] 在一些实现中,音频编解码器1238 (例如,立体声编解码器)可以耦合到模拟信号 处理器1208并配置成经由音频放大器1242向一个或多个扬声器1240发送声音信号。音 频编解码器1238也可以耦合到麦克风放大器1244,该麦克风放大器1244可以耦合到麦克 风246 (例如,经由麦克风插座)。耳机插座1248也可以耦合到音频编解码器1238以向耳 机输出音频。
[0124] 在一些实现中,移动计算设备102可以包括单独的RF接收机电路1250,该RF接收 机电路1250耦合到天线1252以接收广播无线通信信号。接收机电路1250可以配置成接 收广播电视信号(例如,EBMS广播),并向DSP 1206提供所接收的信号以进行处理。在一 些实现中,接收机电路1250可以配置成接收FM无线电信号,在该情况下,所接收的信号可 以被传递至音频编解码器1238以进行处理。
[0125] 在一方面,用于完成上文所描述的一个或多个方法操作的处理器可执行指令可以 存储在内部存储器1204、可移动存储器1216和/或非易失性存储器1218中(例如,当在硬 盘驱动器、CD驱动器、或经由网络可访问的其它存储器上时)。这样的处理器可执行指令可 以由控制处理器1201执行以执行本申请中描述的方法。
[0126] 各个方面可以在各种移动计算设备上实现,在图13中以智能电话的形式示出了 其一示例。智能电话1300可以包括耦合到内部存储器1302、显示器1303、以及耦合到扬声 器的处理器1301。另外,智能电话1300可以包括用于发送和接收电磁辐射的天线1304,天 线1304可以连接到无线数据链路和/或耦合到处理器1301的蜂窝电话收发机1305。智能 电话1300典型地还包括用于接收用户输入的菜单选择按钮或摇臂开关1306。
[0127] 典型的智能电话1300还包括声音编码/解码(编解码器)电路1312,其将从麦 克风接收的声音数字化成适合无线传输的数据分组并将所接收的声音数据分组解码以生 成提供给扬声器以生成声音的模拟信号。此外,处理器1301、无线收发机1305和编解码器 1312中的一个或多个可以包括数字信号处理器(DSP)电路(未分别示出)。
[0128] 可以以客户端-服务器架构来实现一方面方法的一部分,其中一些处理发生在服 务器中,例如维护正常操作行为的数据库,该数据库可以由移动设备处理器在执行本方面 的方法时访问。这样的方面可以在各种市售的服务器设备中的任何一个上实现,例如在图 14中示出的服务器1400。这样的服务器1400典型地包括处理器1401,其耦合到易失性存 储器1402和诸如磁盘驱动器1403之类的大容量非易失性存储器。服务器1400还可以包 括耦合到处理器1401的软盘驱动器、压缩盘(⑶)或DVD光盘驱动器1411。服务器1400还 可以包括用于与网络1405建立数据连接的、耦合到处理器1401的网络访问端口 1404,网络 1405例如为耦合到其它广播系统计算机和服务器的局域网。
[0129] 处理器1301U401可以是可以由软件指令(应用)配置成执行各种功能的任何可 编程微处理器、微计算机或多处理器芯片,上述各种功能包括下文所描述的各个方面的功 能。在一些移动设备中,可以提供多个处理器1301,例如一个处理器专用于无线通信功能 的以及一个处理器专用于运行其它应用。典型地,软件应用可以在其被访问并装载到处理 器1301U401中之前存储在内部存储器1302、1402、1403中。处理器1301U401可以包括 足够存储应用软件指令的内部存储器。
[0130] 许多移动计算设备操作系统内核被组织到用户空间(非特权代码在其中运行)以 及内核空间(特权代码在其中运行)中。该分离在安卓?以及其它的通用公共授权(GPL) 环境中是尤其重要的,在GPL环境中是内核空间的一部分的代码必需是GPL授权的,而在用 户空间运行的代码可以不是GPL受气多。应该理解的是,除非明确表明,否则,在此讨论的 各种软件组件/模块可以在内核空间或用户空间中实现。
[0131] 如在本申请中所使用的,术语"组件"、"模块"、"系统"、"服务"、"引擎"、"监听器"、 "管理器"等意在包括计算机相关的实体,例如但不限于硬件、固件、硬件和软件的组合、软 件、执行的软件,其配置成执行特定的操作或功能。例如,组件可以是但不限于在处理器上 运行的进程、处理器、对象、可执行程序、执行的线程、程序、和/或计算机。通过说明的方 式,在计算设备上运行的应用和计算设备可以被称为组件。一个或多个组件可以位于进程 和/或执行的线程内,且组件可以位于一个处理器或内核上,和/或在两个或更多个处理器 或内核之间分布。此外,这些组件可以从其上存储有各种指令和/或数据结构的各种非暂 时性计算机可读介质执行。组件可以通过本地和/或远程进程、函数或过程调用、电子信 号、数字分组、存储器读/写、以及其它已知的计算机、处理器、和/或与进程相关的通信方 法来进行通信。
[0132] 仅提供前述的方法描述和过程流图作为说明性示例,且其不意在需要或隐含必需 按照所呈现的顺序来执行各个方面的步骤。如将由本另一的技术人员明白的,在前述方面 中的步骤的顺序可以以任何顺序来执行。诸如"其后"、"然后"、"接下来"等之类的词不意 在限制步骤的顺序;这些词仅用于指导读者浏览方法的描述。此外,任何对权利要求元素的 单数引用,例如,使用冠词"一"、"一个"或"该",不被解释为将该元素限制为单数。
[0133] 结合本申请中所公开的方面描述的各种示例性的逻辑框、模块、电路和算法步骤 均可以实现成电子硬件、计算机软件或其组合。为了清楚地表示硬件和软件之间的可交换 性,上面对各种示例性的部件、框、模块、电路和步骤均围绕其功能进行了总体描述。至于这 种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束 条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这 种实现决策不应解释为背离本发明的保护范围。
[0134] 用于执行本申请所述功能的通用处理器、数字信号处理器(DSP)、专用集成电路 (ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑器件、 分立硬件组件或者其任意组合,可以实现或执行用于实现结合本申请中公开的方面所描述 的各种示例性的逻辑、逻辑框图、模块和电路的硬件。通用处理器可以是微处理器,或者,该 处理器也可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可能实现为计 算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP内 核的结合,或者任何其它此种结构。或者,一些步骤或方法可以由特定于给定功能的电路来 执行。
[0135] 在一个或多个示例性的方面,所描述的功能可以用硬件、软件、固件或其任意组合 的方式来实现。如果使用软件实现,则可以将这些功能存储在非暂时性计算机可读存储介 质、非暂时性计算机可读介质或非暂时性处理器可读介质上作为一个或多个指令或代码。 本申请中公开的方法或算法的步骤可以包含在位于非暂时性计算机可读或处理器可读存 储介质上的处理器可执行软件模块中。非暂时性计算机可读或处理器可读存储介质可以是 可以由计算机或处理器存取的任何存储介质。通过示例的方式而不是限制的方式,这种非 暂时性计算机可读或处理器可读介质可以包括RAM、ROM、EEPR0M、闪速存储器、CD-ROM或其 它光盘存储、磁盘存储介质或其它磁存储设备、或者能够用于存储具有指令或数据结构形 式的期望的程序代码并可以由计算机进行存取的任何其它介质。如本申请中所使用的,磁 盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光盘,其中磁盘 通常磁性地复制数据,而光盘则用激光来光学地复制数据。上面的组合也包括在非暂时性 计算机可读和处理器可读介质的保护范围之内。或者,方法或算法的操作可以位于非暂时 性处理器可读介质和/或计算机可读介质上作为代码和/或指令中的一个或其任何组合或 一组代码和/或指令,其可以并入到计算机程序产品中。
[0136] 为使本领域中的任何技术人员能够实现或者使用本发明,提供了对所公开的方面 的上述描述。对于本领域技术人员来说,对这些方面的各种修改都是显而易见的,并且,本 申请定义的总体原理也可以在不脱离本发明的精神或保护范围的基础上适用于其它方面。 因此,本发明并不限于本申请中示出的方面,而是与随后的权利要求书以及本申请公开的 原理和新颖性特征的最广范围相一致。
【权利要求】
1. 一种监测移动计算设备的行为的方法,包括: 在所述移动计算设备的非主处理内核中观测移动设备行为中与所述非主处理内核有 关的一部分; 在所述非主处理内核中生成对所观测到的所述移动设备行为的一部分进行描述的行 为标签; 将所生成的行为标签发送给所述移动计算设备的主处理内核; 在所述主处理内核中将从非主处理内核接收的两个或更多个行为标签进行组合以生 成全局行为向量;以及 将所述全局行为向量提供给分析器模块以进行处理。
2. 根据权利要求1所述的方法,还包括: 由所述分析器模块对所述全局行为向量进行处理,以基于所述全局行为向量来确定软 件应用是良性的还是非良性的。
3. 根据权利要求1所述的方法,还包括: 在所述主处理内核中生成任务图,其中,在所述主处理内核中将两个或更多个行为标 签进行组合以生成所述全局行为向量包括基于所生成的任务图将所述两个或更多个行为 标签进行组合。
4. 根据权利要求1所述的方法,还包括: 在所述主处理内核中监测单个应用的子任务到所述移动计算设备的多个非主处理内 核的分配。
5. 根据权利要求4所述的方法,其中,监测子任务的所述分配包括监测对所述移动设 备的传输层的调用。
6. -种移动计算设备,包括: 存储器; 主处理器;以及 耦合到所述存储器和所述主处理器的一个或多个非主处理器, 其中,所述一个或多个非主处理器中的每一个配置具有用以执行以下操作的处理器可 执行指令: 观测移动设备行为中与所述非主处理器有关的一部分; 生成对所观测到的所述移动设备行为的一部分进行描述的行为标签;以及 将所生成的行为标签发送给所述主处理器;并且 其中,所述主处理器配置具有用于执行以下操作的处理器可执行指令: 将从所述一个或多个非主处理器接收的两个或更多个行为标签进行组合以生成全局 行为向量;以及 将所述全局行为向量提供给分析器模块以进行处理。
7. 根据权利要求6所述的移动计算设备,其中,所述主处理器还配置具有用以执行还 包括以下操作的处理器可执行指令: 由所述分析器模块对所述全局行为向量进行处理,以基于所述分析器模块中的所述全 局行为向量来确定软件应用是良性的还是非良性的。
8. 根据权利要求6所述的移动计算设备,其中,所述主处理器配置具有用于执行还包 括生成任务图的操作的处理器可执行指令,并且其中,所述主处理器配置具有用于执行操 作,以使得将两个或更多个行为标签进行组合以生成所述全局行为向量包括基于所生成的 任务图将两个或更多个行为标签进行组合的处理器可执行指令。
9. 根据权利要求6所述的移动计算设备,其中,所述主处理器还配置具有用于执行还 包括以下操作的处理器可执行指令: 监测单个应用的子任务到所述一个或多个非主处理器的分配。
10. 根据权利要求9所述的移动计算设备,其中,所述主处理器还配置具有用于执行操 作,以使得监测子任务的所述分配包括监测对所述移动计算设备的传输层的调用的处理器 可执行指令。
11. 一种具有多个异构内核的移动计算设备,包括: 用于在非主处理内核中观测移动设备行为中与所述非主处理内核有关的一部分的单 元; 用于在所述非主处理内核中生成对所观测到的所述移动设备行为的一部分进行描述 的行为标签的单元; 用于将所生成的行为标签发送给主处理内核的单元; 用于在所述主处理内核中将从非主处理内核接收的两个或更多个行为标签进行组合 以生成全局行为向量的单元;以及 用于将所述全局行为向量提供给分析器模块以进行处理的单元。
12. 根据权利要求11所述的移动计算设备,还包括: 用于由所述分析器模块对所述全局行为向量进行处理,以基于所述全局行为向量来确 定软件应用是良性的还是非良性的单元。
13. 根据权利要求11所述的移动计算设备,还包括: 用于在所述主处理内核中生成任务图的单元,其中,用于在所述主处理内核中将两个 或更多个行为标签进行组合以生成所述全局行为向量的单元包括用于基于所生成的任务 图将所述两个或更多个行为标签进行组合的单元。
14. 根据权利要求11所述的移动计算设备,还包括: 用于在所述主处理内核中监测单个应用的子任务到一个或多个非主处理内核的分配 的单元。
15. 根据权利要求14所述的移动计算设备,其中,用于监测子任务的所述分配的单元 包括用于监测对所述移动计算设备的传输层的调用的单元。
16. -种非暂时性计算机可读存储介质,其具有存储在其上的处理器可执行软件指令, 所述处理器可执行软件指令配置成使多处理器计算系统执行以下操作: 在非主处理器中观测移动设备行为中与所述非主处理器有关的一部分; 在所述非主处理器中生成对所观测到的所述移动设备行为的一部分进行描述的行为 标签; 将所生成的行为标签发送给主处理器; 在所述主处理器中将从两个或更多个非主处理器接收的两个或更多个行为标签进行 组合以生成全局行为向量;以及 将所述全局行为向量提供给分析器模块以进行处理。
17. 根据权利要求16所述的非暂时性计算机可读存储介质,其中,所存储的处理器可 执行软件指令配置成使所述多处理器计算系统执行的操作还包括: 由所述分析器模块对所述全局行为向量进行处理,以基于所述全局行为向量来确定软 件应用是良性的还是非良性的。
18. 根据权利要求16所述的非暂时性计算机可读存储介质,其中: 所存储的处理器可执行软件指令配置成使所述多处理器计算系统执行的操作还包括: 在所述主处理器中生成任务图,并且 所存储的处理器可执行软件指令配置成使所述多处理器计算系统执行操作,以使得在 所述主处理器中将两个或更多个行为标签进行组合以生成所述全局行为向量包括基于所 生成的任务图来将所述两个或更多个行为标签进行组合。
19. 根据权利要求16所述的非暂时性计算机可读存储介质,其中,所存储的处理器可 执行软件指令配置成使所述多处理器计算系统执行的操作还包括: 在所述主处理器中监测单个应用的子任务到一个或多个非主处理内核的分配。
20. 根据权利要求19所述的非暂时性计算机可读存储介质,其中,所存储的处理器可 执行软件指令配置成使所述多处理器计算系统执行操作,以使得监测子任务的所述分配包 括监测对移动设备的传输层的调用。
【文档编号】G06F11/30GK104303156SQ201380024849
【公开日】2015年1月21日 申请日期:2013年4月10日 优先权日:2012年5月14日
【发明者】A·加塔拉, R·古普塔 申请人:高通股份有限公司