CN108027634A - 用户设备功耗监测和分析 - Google Patents

用户设备功耗监测和分析 Download PDF

Info

Publication number
CN108027634A
CN108027634A CN201680049231.9A CN201680049231A CN108027634A CN 108027634 A CN108027634 A CN 108027634A CN 201680049231 A CN201680049231 A CN 201680049231A CN 108027634 A CN108027634 A CN 108027634A
Authority
CN
China
Prior art keywords
user equipment
power consumption
data
power
action
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201680049231.9A
Other languages
English (en)
Inventor
Z·麦克弗森
K·松缇娜尼
惠捷
S·邝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
T Mobile USA Inc
Original Assignee
T Mobile USA Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by T Mobile USA Inc filed Critical T Mobile USA Inc
Priority claimed from PCT/US2016/042615 external-priority patent/WO2017011794A1/en
Publication of CN108027634A publication Critical patent/CN108027634A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/24Marginal checking or other specified testing methods not covered by G06F11/26, e.g. race tests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3414Workload generation, e.g. scripts, playback
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Telephone Function (AREA)

Abstract

当用户设备上的应用执行一个或更多个动作时,可以监测所述用户设备的功耗。可以基于脚本生成用于所述用户设备的设备命令和用于功率监测器的监测命令。创建所述脚本以触发用户设备上的应用以执行一个或更多个动作,同时监测所述用户设备的功耗。所述设备命令被发送到所述用户设备上的所述应用以触发所述应用执行所述一个或更多个动作。当所述应用执行一个或更多个动作时,所述监测命令被发送到所述功率监测器以命令所述功率监测器跟踪所述使用设备的所述功耗。随后,从所述功率监测器接收所述用户设备的功耗数据,并且从所述用户设备接收设备事件数据以用于分析。

Description

用户设备功耗监测和分析
相关专利申请的交叉引用
本申请要求于2015年7月16日递交的、标题为“用户设备电池消耗监测和分析”的、序列号为62/193,463的美国临时专利申请的优先权,其全部内容通过引用全部并入本文。
背景技术
无线通信设备对大多数用户的日常生活是不可或缺的。无线通信设备用于进行语音通话、检查电子邮件和文本消息、更新社交媒体页面、流媒体、浏览网站等等。由于无线通信设备由电池供电,电池寿命可能是为这些无线通信设备开发应用(application)的应用设计者所关心的问题。精心设计的应用可以帮助延长无线通信设备的电池寿命,从而为用户提供移动生产力,同时减少与在必须携带额外电池组的固定电源处对无线通信设备再充电相关联的不便。然而,设计不当的应用可能会导致过度的电池消耗,并且缩短无线通信设备可能保持不受固定电源的束缚的时间。
对在无线通信设备上执行的应用的常规测试可以依靠人类测试者来执行测试,其中每个测试可以是应用的一系列模拟使用。人类测试者可以与无线通信设备交互以模拟打开和关闭应用功能,并且根据一组指定的测试标准在预定时间使用应用的特征。应用的功耗可以在这些测试期间被监测,以评估应用的能源效率。然而,实施特定测试的不同人类测试者的性能变化以及单个人类测试者进行同一测试的多个会话的方式的变化可能导致不可靠或不可重复的功耗结果。
附图说明
参照附图来描述详细描述,其中附图标记最左边的数字标识附图标记首先出现的图。在不同的图中使用相同的附图标记表示相似或相同的条目。
图1示出了用于用户设备功耗监测和分析的示例体系架构。
图2是示出监测和分析用户设备的功耗的说明性用户设备的各种组件的框图。
图3示出了由用于初始化用户设备的功耗测试的功耗分析器提供的示例用户界面。
图4示出了由功耗分析器生成的示例分析报告。
图5是用于功率消耗分析器在用户设备的模拟使用期间监测用户设备的功耗的示例过程的流程图。
图6是用于在执行测试序列或测试序列中的动作期间获得用户设备的平均功耗的示例过程的流程图。
图7是用于将用户设备的功耗与其他功耗和性能数据进行比较的示例过程的流程图。
图8是用于评估由于一个或更多个动作而导致的用户设备上的后台应用的功耗的示例过程的流程图。
图9是用于计算由于网络错误事件而导致的用户设备的额外功耗的示例过程的流程图。
具体实施方式
本公开涉及用于使用功耗分析应用来监测和分析用户设备的功耗的技术。功耗分析应用可以使用动作命令来触发用户设备以执行影响用户设备上的一个或更多个应用的动作测试序列或单独动作。此外,功耗分析应用可以使用监测命令来激活功率监测器,以当执行动作测试序列或单独动作时跟踪用户设备的功耗。
在执行测试序列之后,用户设备可以将设备事件数据返回到功耗分析应用。设备事件数据可以包括关于响应于动作而执行的功能的信息、由动作触发的应用事件的信息、响应于动作而由应用接收或传输的数据的信息、响应于动作而发生的应用功能错误的信息等。如在此所使用的,应用可以指安装在操作系统上用于执行的应用、操作系统本身、和/或安装在用户设备上的任何其他软件组件。此外,功率监测器可以将功耗数据返回给功耗分析应用。功耗数据可以示出当执行测试序列或单独动作时,用户设备在一段时间内消耗的功率量的波动。功耗分析应用可以分析设备事件数据和功耗数据以确定针对特定测试序列或特定动作消耗的功率量。消耗的功率量可以与存储在用户设备的电池中的预期功率量进行比较,以确定功耗如何影响电池寿命。
其他分析可以提供用户设备对于重复的测试序列或者单独动作的平均功耗,示出用于相同的功耗测试的基线设备和用户设备之间的功耗差异等。分析可以进一步将执行测试序列或测试序列中的动作期间的功耗与其他事件(诸如,后台应用的执行、数据上载或下载失败或重试、由于软件缺陷而发生的应用功能错误等)相关联。
在至少一个实施例中,用于用户设备的设备命令和用于功率监测器的监测命令可以基于脚本来生成。脚本被创建以触发用户设备上的至少一个应用以执行一个或更多个动作同时监测用户设备的功耗。设备命令被发送到用户设备以触发用户设备执行一个或更多个动作。这些动作可以由用户设备上的一个或更多个应用来执行。当用户设备执行一个或更多个动作时,监测命令被发送到功率监测器以命令功率监测器跟踪用户设备的功耗。随后,从功率监测器接收用户设备的功耗数据,并且从用户设备接收设备事件数据用于分析。
由于与设备事件相关的测试序列或单独动作的结果,用户设备的功耗随时间的分析可以提供洞察对用户设备的电池寿命造成不利或不成比例地影响的设备因素。例如,写得不好的应用的应用组件可能导致应用在执行期间冻结,从而由于应用组件重复执行相同的错误功能而导致过度的功耗。在另一个示例中,过于复杂的网页可能导致用户设备上的网页浏览器应用下载过量的数据,其中这样的数据下载导致不希望的电池消耗。在另外的示例中,应用可以被配置为在用户设备上发生特定应用事件时在后台自动地执行。然而,后台应用的执行可能导致不可预见的功耗,这缩短了用户设备的电池寿命。在进一步的示例中,由于缺乏足够的电信网络信号或信号干扰而导致的大量数据分组丢失或大量数据分组下载可能与用户设备的高功耗相关。
因此,用于执行用户设备的功耗的详细分析的技术可以使得应用设计者、网页开发者、网络工程师或服务提供商能够识别用户设备的短电池寿命的根本原因。结果,应用、网页、电信网络基础设施以及其他组件可以被修改或改进以为用户设备提供最佳的电池寿命。本文描述的技术可以多种方式来实现。下面参考以下的附图提供示例实现方式。
示例体系架构
图1示出了用于实施基于路径的数据中断检测的示例体系架构100。体系架构100可以包括功率监测器102和功耗分析器104。功率监测器102和功耗分析器104可以在设备经历功耗测试序列时监测用户设备106的功耗。功率监测器102可以是部署为将由电源108供应的电力传送给用户设备106的独立设备。在各种实施例中,提供的功率可以是经由直接连接到用户设备106的电池端子的一组电力引线(有时被配置为虚电池(dummy battery))提供给用户设备106的直流电(DC)。例如,功率监测器102可以经由一组导电线110被连接到电源108。反过来,功率监测器102可以经由导电引线112向用户设备106提供电力。在一些情况下,电源108可以配备有功率调制或转换电路,以将电力转换为由用户设备106可用的形式。该转换可以包括基于用户设备106的功率规范执行的电压转换、电流转换、整流等。另外,功率监测器102可以配备有硬件和软件组件,其监测用户设备106在一段时间内消耗的电力量。在各种实施例中,功率监测器102可以在一段时间内捕获电力消耗作为电流消耗,其中电流消耗可以毫安小时(mAh)来测量。
功耗分析器104可以是在一个或更多个计算设备114上执行的应用。每个计算设备114可以是通用计算机,诸如台式计算机、平板电脑、膝上型计算机、服务器等。然而,在其他实施例中,计算设备114可以是智能手机、游戏机或任何其他电子设备。在操作中,功耗分析器104可以初始执行测试配置116。在测试配置116中,功耗分析器104可以准备脚本118,其提示用户设备106执行一个或更多个动作的测试序列并且提示功率监测器102在测试序列期间监测用户设备106的功耗。在一些情况下,脚本118可以被导入到功耗分析器104中以供执行。在其他情况下,功耗分析器104可以提供使用户能够创建脚本118或修改脚本118的脚本编辑器界面。
在设备测试120期间,功耗分析器104可以将用户设备106的测试序列转换成动作命令122。动作命令122可以经由计算设备114与功率监测器102之间的通信连接124被传输至用户设备106。在各种实施例中,通信连接124可以是串行接口、通用串行总线(USB)接口或另一通信接口。动作命令122可以使用户设备106执行动作。该动作可以包括将数据输入到应用中,激活或停用用户设备上应用的应用特征、发起和终止来自网络的数据的上载或下载、经由应用打开或关闭用户设备106的硬件组件等。在各种实现方式中,测试序列的动作命令122可以使动作连续地或者不连续地与其他动作一起重复执行,以便模拟用户对用户设备106的正常使用。此外,为了验证测试程序或测试结果,可以在用户设备106上重复执行测试序列。用户设备106可以在执行每个测试序列之后发送设备事件数据128。
设备事件数据128可以包括由用户设备106的事件记录器、调试器应用以及各种网络堆栈层中的组件所捕获的事件数据。设备事件数据128可以在用户设备106响应于设备命令执行一个或更多个动作时被捕获。例如,如果特定动作是关闭用户设备的Wi-Fi,则设备事件数据可以指示用户设备的Wi-Fi收发器被关闭。这些应用和组件中的每一个可以默认捕获事件数据,或者可以已经预先在用户设备106上被安装和被配置以捕获事件数据。网络堆栈层可以包括应用层、传输层、网络层、数据链路层和物理层。链路层可以包括无线电资源控制(RRC)层和/或无线电链路控制(RLC)层。因此,设备事件数据128可以包括系统事件报告、错误报告、数据流量日志,数据分组跟踪等。例如,事件数据可以包括由Android操作系统产生的LogCat数据、PCAP数据和错误报告。设备事件数据128可以由本地构建在用户设备106中的一个或更多个设备监测应用和/或预先安装在用户设备106上的附加(add-on)应用来捕获并传输至功耗分析器104。设备事件数据128可以经由通信连接124被传输至功耗分析器104。
作为设备测试120的另一部分,功耗分析器104可以将脚本118中的监测命令126发送给功率监测器102。可以经由功率监测器102与计算设备114之间的通信连接130发送监测命令126。在各种实施例中,通信连接130可以是串行接口、通用串行总线(USB)接口或另一通信接口。监测命令126可以提示功率监测器102捕获功耗数据132。功耗数据132可以在与测试序列一致的时间段上指示功率消耗,例如安培消耗(amperage drain)。功率监测器102可以经由通信连接130将功耗数据132传输至功耗分析器104。
一旦功耗分析器104已经接收到设备事件数据128和功耗数据132,功耗分析器104可以执行测试结果分析134。在测试结果分析134中,功耗分析器104可以使用设备事件数据128和功耗数据132来确定测试序列中的特定测试序列或特定动作所消耗的能量。消耗的功率量可以与存储在用户设备的电池中的预期功率量进行比较,以确定功耗如何影响电池寿命。
在另外的实施例中,功耗分析器104还可以使用设备事件数据128和功耗数据132来提供由用户设备用于重复测试序列或动作的平均功耗。该分析还可以显示对于相同测试序列或动作的不同设备的功耗差异,对于相同测试序列或动作的不同版本应用的功耗差异等。在一些场景中,功耗数据132可以与经历相同功耗测试的另一个基线设备的功耗数据进行比较。这样的比较可以显示由于设备之间的硬件和/或软件差异所导致的基线设备和用户设备106之间的功耗差异。在进一步的示例中,功耗数据132中反映的用户设备132的功耗可以与其他事件相关。这些事件可能包括执行后台应用、数据上载或下载失败或重试、由于软件错误而发生应用功能错误。这些数据的相关性可能揭示或证实设备设置、应用设置、复数个应用之间的交互、诸如网络拥塞或错误或网页配置的外部因素等的不可预见的影响。
在结果报告136期间,功耗分析器104可以基于使用测试结果分析134所获得的分析数据来编译分析结果138。分析结果138可以各种形式呈现。在某些情况下,该结果可以以报告形式呈现。例如,由于在测试序列中执行单独动作所引起的功率消耗量可以被数字化地呈现。可选地或同时地,分析结果138可以以图形形式呈现。例如,由于测试序列中的单独动作而导致的功率消耗量可以与每个动作图形地相关。在各种实施例中,功耗分析器104可以经由显示设备、印刷文档等呈现分析结果138。因此,体系架构100提供测试用户设备106的功耗的灵活性,用于在用户设备106上执行动作测试序列或单独动作。
相比于通过使用用户设备106以执行脚本118所执行的功耗,在计算设备114上使用功耗分析器104执行脚本118可以提供复数个优点。例如,由于测试是使用与用户设备106分离的处理器来执行的,所以计算设备114的使用相对于测试本身的执行隔离了功率使用。这可以消除在用户设备106上的代码、用户界面和多线程之间的睡眠定时器的使用,这为用户设备106产生更一致的功耗测试结果。
例如,当在用户设备106上使用批处理脚本时,睡眠定时器可以使用户设备106在一段时间内不响应。此外,当用户设备106正在尝试多线程时,脚本可能会尝试同时注入复数个命令。类似地,当经由用户设备106上的单独线程执行脚本时,可能难以量化用于运行与脚本本身无关的所有其他内容的功率使用。然而,通过使用计算设备114上的功耗分析器104,可以执行功耗测试脚本,而不会给用户设备106增加额外的处理负担或功耗。此外,因为脚本被设计为一次向用户设备106发送单个动作命令,所以功耗分析器104的使用可以使脚本执行对用户设备106的功耗的整体影响最小化。
示例设备组件
图2是示出用户设备106以及监测和分析用户设备106的功耗的计算设备114的各种组件的框图。用户设备106可以包括通信接口202、一个或更多个传感器204、用户界面206、一个或更多个处理器208和存储器210。
通信接口202可以包括使电子设备能够经由无线载波网络以及其他电信和/或数据通信网络传输或接收语音或数据通信的无线和/或有线通信组件。传感器204可以包括近距离传感器、罗盘、加速度计和/或全球定位系统(GPS)传感器。近距离传感器可以检测接近用户设备106的物体的移动。罗盘、加速度计和GPS传感器可以检测用户设备106的方向、移动和地理位置。
用户界面206可以使用户能够提供输入和从用户设备106接收输出。用户界面206可以包括数据输出设备(例如,可视显示器、音频扬声器)以及一个或更多个数据输入设备。数据输入设备可以包括但不限于小键盘、键盘、鼠标设备、触摸屏、麦克风、语音识别包,以及任何其他合适的设备或其他电子/软件选择方法中的一个或更多个的组合。
存储器210可以使用计算机可读介质(诸如计算机存储介质)来实现。计算机可读介质至少包括两种类型的计算机可读介质,即计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储技术、CD-ROM、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储器或其它磁存储设备或可以用来存储供计算设备访问的信息的任何其他非传输介质。相反,通信介质可以在诸如载波的已调制数据信号或其他传输机制中体现计算机可读指令、数据结构、程序模块或其它数据。
设备硬件212可以包括通常位于用户设备上的其他硬件。例如,设备硬件212可以包括使得用户设备106能够执行应用并且提供电信和数据通信功能的信号转换器、天线、调制解调器、硬件解码器和编码器、图形处理器、订户身份模块(SIM)卡槽等等。SIM卡可以被插入到用户设备106的SIM卡槽中。因此,SIM卡可以使用户设备106能够从电信运营商获得电信和/或数据通信服务。
用户设备106的一个或更多个处理器208和存储器210可以实现操作系统214、设备软件216以及一个或更多个应用218。操作系统214可以包括使用户设备106能够经由各种接口(例如,用户控件、通信接口202、和/或存储器输入/输出设备)接收和传输数据的组件。操作系统214还可以使用一个或更多个处理器208处理数据,以基于经由用户界面206接收的输入来生成输出。例如,操作系统214可以提供用于执行应用218的执行环境。操作系统214可以包括呈现输出(例如,在电子显示器上显示数据、将数据存储在存储器中、将数据传输至另一电子设备等)的呈现组件。
操作系统214可以包括使得应用能够与用户设备106的调制解调器交互的接口层。另外,操作系统214可以包括应用程序接口(API)、命令行接口(CLI)和/或提供对操作系统214和应用218的功能进行访问的操作系统外壳。因此,功耗分析器104可以经由动作命令122指示操作系统214和/或应用218执行特定任务。例如,对于Android操作系统,动作命令122可以是经由Android外壳程序(shell)注入用户设备106的Android调试桥(AndroidDebug Bridge,ADB)命令。在用户设备106经由USB接口与计算设备114交互的情况下,操作系统214可以被修改,使得对用户设备106的充电被禁用,以便功耗分析器104正常工作。否则,当设备连接到计算设备114时,USB接口可能自动尝试对用户设备106进行充电。这样的自动充电可能导致针对用户设备106的不准确的功耗测量。例如,可以通过修改某些Android设备上的子文件夹“/sys/class/power supply/device/”中的文件来禁用USB充电。
设备软件216可以包括执行功能和控制用户设备106的硬件组件的软件组件。在一些实施例中,设备软件可以包括设备监测软件、调试器软件、数据收集软件和/或数据传送软件,其收集和/或传输设备事件数据128到功耗分析器104。例如,设备软件216可以包括向功耗分析器104提供数据分组下载和上载状态的分组分析器(例如,TCP截获(TCPDump))。
应用218可以包括向用户设备106的用户提供实用程序、娱乐和/或生产力功能的应用。例如,应用218可以包括电话应用、电子邮件应用、远程桌面应用、网页浏览器应用、导航应用、办公生产力应用、流媒体应用、客户服务应用、数据收集应用等。因此,用户设备106的功耗测试可以涉及使用动作命令122来模拟这种应用的使用。
计算设备114可以包括通信接口220、一个或更多个处理器222、存储器226以及服务器硬件224。通信接口220可以包括使得服务器能够传输数据和接收数据的无线和/或有线通信组件。服务器硬件224可以包括执行用户界面、数据显示、数据通信、数据存储和/或其它服务器功能的额外硬件。
存储器226可以使用计算机可读介质(诸如计算机存储介质)来实现。计算机可读介质至少包括两种类型的计算机可读介质,即计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储技术、CD-ROM、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储器或其它磁存储设备或可以用来存储供计算设备访问的信息的任何其他非传输介质。相反,通信介质可以在诸如载波的已调制数据信号或其他传输机制中体现计算机可读指令、数据结构、程序模块或其它数据。
计算设备114的处理器222和存储器226可以实现操作系统228和功耗分析器104。操作系统228可以包括使计算设备114能够经由各种接口(例如,用户控件、通信接口、和/或存储器输入/输出设备)来接收和传输数据的组件,并且使用处理器222处理数据以生成输出。操作系统228可以包括呈现输出(例如,在电子显示器上显示数据、将数据存储在存储器中、将数据传输至另一电子设备等)的呈现组件。另外,操作系统228可以包括执行通常与操作系统相关联的各种额外功能的其他组件。
功耗分析器104可以包括测试配置模块230、测试控制器模块232、数据分析模块234和数据报告模块236。这些模块可以包括例程、程序指令、对象和/或数据结构,其执行特定任务或实现特定的抽象数据类型。
测试配置模块230可以用于执行测试配置116。在测试配置116期间,测试配置模块230可以准备脚本,其提示用户设备106执行测试序列并且提示功率监测器102监测在测试序列期间用户设备106的功耗。因此,测试配置模块230可以提供使用户能够创建脚本或修改脚本的脚本编辑器界面。可选地或同时地,测试配置模块230还可以提供用户界面,其使脚本能够被导入用于执行。在一个示例中,脚本可以包含以下动作,其中“|数值|”指定每个动作的持续时间:
进行呼叫|30|
结束呼叫|20|
打开计算器|30|
关闭计算器|20|
关闭屏幕|750|
打开屏幕|30|
打开蓝牙|30|
关闭蓝牙|20|
此外,测试配置模块230可以提供配置接口,其使得用户能够定义脚本中的动作可以被执行的顺序。在一些实施例中,由测试配置模块230提供的配置接口还可以使得在测试序列中进行一个或更多个单独动作的选择以用于执行。通过这种方式,可以针对测试序列中的单独动作而不是整个测试序列进行功耗监测。另外,所选择的测试序列或者一个或更多个选择的动作可以被配置为运行任何持续时间或者重复任意数量的时间,即测试通过。
测试控制器模块232可以通过将测试序列的每个动作转换成由用户设备106上的应用执行的对应的动作命令来执行设备测试120。此外,测试控制器模块232还可为每个动作命令生成对应的监测命令。动作命令被发送到用户设备106,并且监测命令被发送到功率监测器102。例如,测试控制器模块232可以生成以下命令:
功率监测器开始捕获
捕获btwn_Seconds秒
打开WiFi 30秒
停止功率监测器捕获
功率监测器开始捕获
捕获btwn_Seconds秒
关闭WiFi 20秒
停止功率监测器捕获
功率监测器开始捕获
捕获btwn_Seconds秒
打开计算器30秒
停止功率监测器捕获
功率监测器开始捕获
捕获btwn_Seconds秒
关闭计算器20秒
停止功率监测器捕获
在这个示例中,“Btwn_Seconds”可以是“30秒”。本示例中的动作命令指示用户设备打开其Wi-Fi收发器30秒,然后关闭Wi-Fi收发器20秒。随后,由动作命令指示用户设备上的计算器应用打开30秒,然后关闭20秒。另外,在这个示例中的监测命令指示功率监测器102捕获执行每个动作的用户设备的功耗。
测试控制器模块232可以发送用于动作、测试序列或通过的动作命令和监测命令,直到用户设备的期望功耗测试完成。测试控制器模块232可以接收用于每个测试通过(pass)的设备事件数据,在每个测试通过中由用户设备106上的单个或复数个应用执行测试序列或一个或更多个动作。因此,取决于经由测试配置模块230所配置的功耗测试的性质,设备事件数据128可以包括对于每个动作、对于每个测试序列、或对于动作或测试序列的复数个通过而记录的事件数据文件。因此,测试控制器模块232可以对于每个设备事件数据文件从功率监测器102接收对应的功耗数据文件。
在各种实施例中,测试序列或一个或更多个动作的执行可以触发用户设备以不同方式执行消耗功率的功能。在某些情况下,动作或测试序列可能会直接触发应用执行功能。例如,这样的功能可以包括使得应用下载或上载数据、向应用提供输入、使得应用处理数据、打开和关闭应用特征或设备组件等。在其他情况下,动作或测试序列可能间接触发应用以执行功能。例如,应用可以是在后台执行的后台应用,以监测用户设备的使用情况、健康状况、性能等。相应地,当动作或测试序列使得用户设备执行任务时,可以触发后台应用来执行监测、数据收集和/或数据上载功能。因此,虽然动作或测试序列可能不直接命令后台应用以执行功能,但净效果是后台应用将执行作为动作或测试序列的结果的功能。
在一个特定场景中,用户设备(其为移动电话)可以配备有后台应用,该后台应用监测在LTE语音(VoLTE)呼叫期间的数据分组丢失。因此,测试序列可以触发移动电话在来自无线通信网络的具有较差网络覆盖的地理区域中发起VoLTE呼叫。结果,可以触发后台应用以向无线通信网络发送数据。该数据可以包含指示分组丢失的地理位置、分组丢失量、分组丢失的持续时间、分组丢失时的网络小区的信号强度等的信息。然而,其他后台应用可以对由动作和测试序列触发的其他类型的数据通信活动执行这种监测、数据收集和数据报告功能,其他类型的数据通信活动诸如,LTE视频(ViLTE)呼叫、网页浏览、消息收发、电子邮件等。
数据分析模块234可以使用每个功耗测试的设备事件数据和功耗数据来执行测试结果分析134。在一些实施例中,功耗分析器104可以使用设备事件数据和能量消耗数据来确定特定测试序列或测试序列中的特定动作所消耗的功率量。消耗的功率量可以与存储在用户设备的电池中的预期功率量进行比较,以确定功耗如何影响电池寿命。例如,分析可能表明,执行一系列动作预计将消耗电池中存储的总功率的10%,或者执行特定动作(例如进行电话呼叫)预计将消耗电池中存储的总功率的2%。
在另外的实施例中,功耗分析器104还可以使用来自特定测试序列或特定动作的复数个测试通过的设备事件数据和功耗数据来提供特定测试序列或特定动作的平均功耗。以这种方式,可以增强对于特定测试序列或特定动作的功耗结果的准确度。
在其他实施例中,可以获得对于使用用户设备上的第一应用执行的特定测试序列或者特定动作的功耗结果。可以由功耗分析器104将这种功耗结果与针对使用第二应用执行的用户设备上的特定测试序列或者特定动作所获得的功耗结果进行比较。第一应用和第二应用可以是版本号不同的应用,或者它们可以是用于相同目的但是由不同软件开发者(例如,Internet Explorer对Chrome)产生的应用。其中一个应用可以是控制应用,而另一个应用可以是测试应用。相应地,功耗结果的比较可以显示在执行相同测试序列或一个或更多个动作期间不同应用的功率效率。在一些情况下,可以由数据分析模块234进一步使测试应用在一段时间内的功耗结果与相同时间段的错误报告数据相关。这样,相关性可以显示应用错误对用户设备功耗的影响。
数据分析模块234还可以对在不同用户设备上执行的相同测试序列或一个或更多个相同动作来分析消耗结果。用户设备可以是相同设备的不同版本。或者,用户设备可以是由不同制造商生产的设备。功耗结果的比较可以显示在执行相同测试序列或一个或更多个动作期间不同设备的功率效率。
数据分析模块234还可以分析用户设备在一段时间内的功耗结果和设备组件在该时间段内的功耗结果。在各种实施例中,驻留在用户设备上的链路层分析器应用可以在该时间段内获得用于用户设备的RRC/RLC层的RRC状态改变信息。RRC状态改变信息可以从由用户设备生成的诊断监测日志(诸如,高通可扩展诊断监测器(QxDM)日志)获得。因此,链路层分析器应用可以获得针对每个RRC状态的功率水平,并且因此计算由用户设备的无线电收发器所消耗的功率。因此,随着测试序列或一个或更多个动作被在用户设备上执行,数据分析模块234可以提供设备组件的功耗相对于用户设备的总体功耗的比较。
在其他实现方式中,数据分析模块234可以在时间间隔内,分析安装有后台应用的第一用户设备的功耗与没有安装后台应用的第二用户设备的功耗。第一用户设备和第二用户设备除了后台应用的存在和不存在以外,可以在各种方面是相同的。此外,第一和第二用户设备可以相同或类似的条件执行一个或更多个动作。例如,相同或类似的条件可以包括一天中的时间、地理位置、物理地址、无线通信网络信号强度等。以这种方式,数据分析模块234可以在执行测试序列或一个或更多个动作期间评估后台应用对用户设备的功耗的影响。在至少一个实施例中,第一用户设备和第二用户设备在相似或相同条件下执行一个或更多个动作时的功耗差异可以是在该时间间隔中后台应用的功耗。
在一种场景下,后台应用可以在VoLTE呼叫期间监测数据分组丢失。测试序列或一个或更多个动作可以触发两个设备在恶劣的网络接收区域中进行相同的VoLTE呼出呼叫。在具有后台应用的用户设备上,后台应用可以检测到分组丢失,并且自动向无线通信网络发送关于分组丢失的数据。使用测试序列或一个或更多个动作来测试两个用户设备可以为每个用户设备生成功耗结果。数据分析模块234可以比较功耗结果以确定功耗差异。以这种方式,如果具有后台应用的用户设备比没有后台应用的用户设备消耗更多的功率,则差异可归因于后台应用消耗的额外功率。因此,虽然后台应用向网络报告VoLTE分组丢失的能力提供了整体益处,但是用户设备上的后台应用的额外功耗负担(如果重大)可能是有害的。数据分析模块234可以对后台应用的功耗负担进行额外的分析,诸如在时间间隔内绘制功耗负担曲线以识别复数个功耗特征。
数据分析模块234还可以将用户设备的功耗结果与从网络下载数据或将数据上载到网络相关。数据可以被下载或上载用于各种数据和语音通信,诸如VoLTE、LTE视频(ViLTE)、电子邮件、文本消息、网页等。可以由数据分析模块234比较在一段时间内执行的下载或上载数据的动作的功耗结果和数据流量日志。例如,数据流量日志可以是Android操作系统生成的PCAP。该比较可以显示每个数据下载或上载动作所消耗的功率量。在一些情况下,该比较可以显示经由网络浏览器被下载到用户设备的复数个网页中的每个网页所消耗的功率量。在一些情况下,复数个网页可以包括原始网页和原始网页的精简版(streamlined version)。精简版可以被配置为使用最少量的上载数据请求和/或下载数据分组来呈现原始网页中的信息。例如,可以从精简版中省略跟踪信息记录程序(cookie)、多媒体内容、交互式内容等。相应地,该比较可以显示当用户设备下载原始网页和网页的精简版本时的功耗差异。在一些情况下,网页的功耗也可以与网页的页面加载时间和/或用户感知的加载延迟进行比较。网页的页面加载时间和用户感知的加载延迟可以是用户体验质量(QoE)的方面。因此,数据分析模块234可以确定在功耗与QoE测量之间是否存在正相关还是负相关,诸如在功耗与页面加载时间之间、或者在功耗与用户感知的延迟之间。因此,数据分析模块234可以确定在功耗与QoE测量之间是否存在正相关或负相关。
另外,数据分析模块234可以分析在特定时间段内相对于用户设备所经历的网络错误事件的用户设备的功耗结果。当用户设备正在使用特定的无线通信网络时,网络错误事件可能已经发生。这样,数据分析模块234可以确定由于网络错误事件而由用户设备消耗的额外功率量。在至少一个实施例中,数据分析模块234可以接收标识诸如传输控制协议(TCP)流的复数个数据流的数据流量日志。例如,数据流量日志可以是Android操作系统生成的PCAP。随后,数据分析模块234可以根据任务将复数个数据流组合成组(group)。该任务可以是下载或上载特定数据以执行功能,诸如下载网页、传输文本消息、发送电子邮件、上载社交帖子等。例如,当数据流的分组跟踪上的域名系统(DNS)查找指示该组数据流共享公共目的地通用资源定位器(URL)时,复数个数据流可以被组合在一起以完成特定任务。在其他情况下,可以根据公共目的地互联网协议(IP)地址或公共目的地媒体访问控制(MAC)地址将复数个数据流组合在一起。
在对数据流进行分组之后,数据分析模块234可以分析对于每组数据流在数据流量日志中捕获的网络错误事件。这种分析可以提供由于每个网络错误事件而传输或接收的数据额外数据分组量。在各种实施例中,网络错误事件可能导致数据分组的重传。每个数据流的数据分组的重传可以被记录在数据流量日志中。因此,该分析可以提供由于网络错误事件而用于完成相应任务的额外数据分组的量。网络错误事件可以包括传输重试、丢失的数据分组、重复的数据分组、连接超时等。可以在数据流量日志中捕获一段时间内发生的每个网络错误事件的时间。数据分析模块234可以使用网络错误事件的时间来将每个事件与在该时间段的功耗数据中捕获的功耗峰值相关联。
结果,数据分析模块234可以基于功耗峰值的幅度来计算由于额外数据分组的传输而由用户设备消耗的额外的功率量。可以基于功耗峰值的电流值和该峰值的持续时间来执行计算。例如,如果特定时间的100个数据分组的传输在0.2秒的持续时间内与600毫安(mA)的功耗峰值重合,则数据分析模块234可以计算传输100个数据分组所消耗的额外功率的量,如mAh。这样,数据分析模块234可以计算在特定时间段内在数据流量日志中捕获的每组数据流由于网络错误事件而消耗的额外功率的量。此外,由于特定网络配置设置或特定无线通信网络的特定网络配置错误,数据分析模块234可以确定针对用户设备或一组类似用户设备的功耗成本。在另一个实现方式中,数据分析模块234可以使用功耗结果和数据流量日志来计算完成每个任务所消耗的功率量,而不是分析网络错误事件。数据分析模块234可以通过使用功耗结果和数据流量日志中捕获的时间信息来执行这样的计算,以确定与任务相关联的每个数据流消耗的功率,并且将与任务相关联的数据流消耗的总功率相加。
数据报告模块236可以生成提供分析结果138的报告。数据报告模块236可以基于管理员的指示将报告路由到复数个接收者。这些报告可以使网络工程师能够纠正网络问题。这些报告还可以作为客户服务人员以便利的方式解决或补救由用户设备的用户所经历的数据中断的基础。在一些情况下,可以将报告路由到第三方服务提供商,以帮助这些提供商解决其网络或系统可能导致由电信运营商所服务的用户设备的数据中断的问题。报告可以各种形式(诸如图形和/或数字形式)呈现不同类型的设备事件数据、功耗数据和/或网络数据的各种相关性。显示分析结果的样本图形报告如图4所示。
数据存储238可以存储由功耗分析器104的各个模块使用或生成的数据。数据存储238可以包括一个或更多个数据库,诸如关系数据库、对象数据库、对象-关系数据库和/或键-值数据库。在至少一些实施例中,数据存储238可以存储用户设备的功耗测试和分析的脚本240、设备事件数据242、功耗数据244以及分析结果246。
示例用户界面以及分析报告
图3示出了由功耗分析器提供的用于初始化用户设备的功耗测试的示例用户界面。示例用户界面300和302可以由功耗分析器104呈现以配置功耗测试的执行。用户界面300可以包括设备按钮304,其可以由用户激活以搜索连接到计算设备114的用户设备。选择控件306可以是下拉菜单,其使用户能够选择连接的用户设备进行测试。可以激活分组分析器按钮308以在用户设备上安装和执行分组分析器,其中分组分析器将生成用于动作或测试通过的相应的数据流量日志。用户界面300还可以包括输出按钮310、脚本按钮312和临时按钮314。可以激活输出按钮310以指导用户浏览到存储分析结果138的输出文件夹。类似地,脚本按钮312可以被激活以将用户引导到脚本所在的默认位置。此外,可以激活临时按钮314以将用户引导至存储由功耗分析器104获得的原始数据的临时文件夹。
用户界面300可以包括主标签316和脚本创建者标签318。如在用户界面300中所示,主标签316可以包括导入脚本按钮320和USB控制按钮322。导入脚本按钮320可以由用户激活以将脚本导入到测试环境中。此外,可以激活USB控制按钮322以自动禁用用户设备的USB充电。用户界面300的名称字段324可以显示所选脚本的名称,而估计时间字段326可以显示用于完成脚本的一次通过的估计时间。测试名称输入字段328可以被用来设置将包含测试结果的输出文件夹的名称。此外,测试通过输入字段330可以被用来设置所选测试脚本的测试通过的数目。
用户界面300可以进一步包括功率监测器控件332、PCAP控件334、LogCat控件336和错误报告控件338。功率监测器控件332可以是用于打开或关闭功率监测器的选择框。功率监测器控件332可以进一步配备有子选择框,其向用户提供选择执行整个测试序列、单独通过或单独动作的能力。因此,通过选择运行功率监测器而不选择“单独动作”或“单独通过”,功耗分析器104可以记录涵盖所有动作和所有测试通过的单个功耗数据文件。本质上,该选择可以在测试开始时启动功耗分析器104,并且在针对最后一个测试通过的最后动作已经执行时终止。结果,功耗分析器104记录一个功耗数据文件,而不管所执行的动作或通过的次数如何。然而,如果选择“单独通过”选项,则功耗分析器104可以在每次测试通过开始时开始记录功耗数据文件。例如,如果用户选择五个测试通过,则功耗分析器104将生成五个单独的文件。此外,如果选择“单独动作”选项,则功耗分析器104将为测试脚本中列出的每个动作记录新的功耗数据文件。
PCAP控件334可以是用于打开或关闭来自用户设备的PCAP文件记录的选择框。PCAP控件334可以进一步配备有子选择框,其向用户提供选择用于整个测试序列、单独通过或单独动作的数据流量日志记录的能力。因此,通过选择“使用PCAP”而不选择“单独动作”或“单独通过”,功耗分析器104将记录用于所有动作和测试通过的单个PCAP文件。换句话说,功耗分析器104可以在测试开始时启动分组分析器,并且当针对最后的测试通过的最后动作已经被执行时终止分组分析器。结果,功耗分析器104可以记录一个PCAP文件,而不管所执行的动作或通过的数量如何。然而,如果选择“单独通过”选项,则功耗分析器104可以在每次测试通过开始时开始记录PCAP文件。例如,如果用户选择五个测试通过,则功耗分析器104将生成五个单独的PCAP文件。此外,如果选择“单独动作”选项,则功耗分析器104将对于测试脚本中列出的每个动作记录新的PCAP文件。
LogCat控件336可以是用于打开或关闭来自用户设备的LogCat文件记录的选择框。这个选择框和对应的用于“单独动作”和“单独通过”的子选择框可以与PCAP控件334的行为相同。错误报告控件338可以用于选择框,该选择框用于打开或关闭来自用户设备的错误报告记录。用户界面300的开始测试控件340可以用于开始功耗测试。
用户界面302可以提供使得用户能够配置要执行的功耗测试的脚本编辑器。动作选择控件342可以是下拉菜单,其使得用户能够选择要被添加到脚本的动作。时间输入字段344可以使能在执行动作之后输入等待时间,而估计时间字段346可以显示脚本的估计总执行时间。添加动作控件348可以被激活以将经由动作选择控件342选择的动作添加到脚本。可以激活导入控件350以访问用户界面,其使得能够将脚本从存储位置(例如,脚本文件夹)输入脚本编辑器。上/下控件352可以用于将在脚本显示窗口354中显示的动作在脚本序列中上移或下移。用户界面302还可以包括删除控件356和导出控件358。删除控件356可以被激活以从脚本显示窗口354中示出的脚本中删除动作。导出控件358可以被激活以访问用户界面,其使得将脚本保存到存储位置,诸如脚本文件夹。
图4示出了由功耗分析器104生成的示例分析报告400。示例分析报告400可以是图表,该图表示出安装有测试应用的第一用户设备和没有安装测试应用的第二用户设备的功耗之间的差异。该图表显示了当两个设备随时间经历动作的测试序列时,两个用户设备之间的功耗差异。例如,用户设备的功耗可以区分的动作包括关闭用户设备的Wi-Fi收发器402、使用网页浏览器404导航到特定网站、切换到不同网站406、终止网页浏览器408的执行、关闭用户设备的屏幕410、以及重新打开用户设备的屏幕412。
这些动作可以进一步包括发起电话呼叫414、结束电话呼叫416、以及重新打开用户设备的Wi-Fi收发器418、打开用户设备的照相机420、关闭用户设备的照相机422、和关闭用户设备的Wi-Fi收发器424。为了绘制图表的目的,时间可以秒为单位表示,并且两个设备之间的功耗差异可以毫安(mA)表示。
示例过程
图5-9呈现用于实现用户设备功耗监测和分析的说明性过程500-900。过程500-900中的每一个被示出为逻辑流程图中的框集合,其表示可以用硬件、软件或其组合来实现的操作序列。在软件的上下文中,框表示计算机可执行指令,当由一个或更多个处理器执行时执行所述操作。通常,计算机可执行指令可以包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序并不意图被解释为限制,并且任何数量的所描述的框可以任何顺序和/或并行地组合以实现该过程。为了讨论的目的,参考图1的体系架构100来描述过程500-900。
图5是在用户设备的模拟使用期间用于监测用户设备的功耗的功耗分析器的示例过程500的流程图。在框502处,功耗分析器104可以接收脚本,用于触发用户设备106上的至少一个应用执行一个或更多个动作,同时监测用户设备的功耗。所述一个或更多个动作可以包括下载或上传数据、在应用处接收输入、使用应用处理数据以生成输出数据、打开和关闭应用特征或设备组件等。用户设备106的功耗可以由功率监测器102来监测。
在框504处,功耗分析器104可基于脚本生成一个或更多个设备命令和一个或更多个监测命令。一个或更多个设备命令可以使得用户设备106执行一个或更多个动作,而当执行一个或更多个动作时,一个或更多个监测命令可以使得功率监测器102监测用户设备106的功耗。
在框506处,功耗分析器104可经由一个或更多个设备命令触发用户设备106上的至少一个应用执行一个或更多个动作。在一些实施例中,一个或更多个设备命令可以通过直接命令该应用执行动作来触发应用。在其他实施例中,一个或更多个设备命令可以通过命令正由该应用监测或使用的一个或更多个其他应用执行至少一个动作,来间接地触发该应用执行动作。在框508处,当至少一个应用执行一个或更多个动作时,功耗分析器104可以经由一个或更多个监测命令来命令功率监测器监测用户设备的功耗。
在框510处,功耗分析器104可以在用户设备执行一个或更多个动作的时间间隔内接收用户设备的功耗数据132。功耗数据132可以指示在与性能一致的时间段上的功率消耗,例如安培消耗。在框512处,功耗分析器104可以接收在用户设备执行一个或更多个动作的时间间隔内的设备事件数据128。在各种实施例中,设备事件数据128可以包括系统事件报告、错误报告、数据流量日志、数据分组跟踪等。
图6是用于在执行测试序列或测试序列中的动作期间获得用户设备的平均功耗的示例过程600的流程图。在框602处,当用户设备执行一个或更多个动作的通过时,功耗分析器104可以获得用户设备的功耗数据和设备事件数据。一个或更多个动作可以模拟在一段时间内用户设备的使用。例如,所述一个或更多个动作可以包括关于网络的下载或上载数据、在应用处接收输入、使用应用处理数据以生成输出数据、打开和关闭应用特征或设备组件等。
在框604处,功耗分析器104可以分析关于设备事件数据的功耗数据,以识别对每个动作由用户设备所消耗的功率量。例如,如果动作是网页或网页组件的下载,则功耗分析器104可以识别下载网页或网页组件所消耗的功率量。在另一个示例中,如果动作是VoLTE呼叫的发出,则功耗分析器104可以识别为VoLTE呼叫所消耗的功率量。在另一个示例中,功耗分析器104可以进一步识别特定数据分组的下载或上载、用户设备组件(例如,相机、Wi-Fi收发器等)的激活所消耗的功率量。在一些情况下,设备事件数据可以包括网页加载时间或感知的用户延迟数据。
在框606处,功耗分析器104可以将对于复数个动作通过的功耗结果与对于一个或更多个其他通过的功耗结果进行平均,以获得复数个动作的平均功耗。通过的功耗结果可以指示执行动作所消耗的功率量。如同经由复数次通过所获得的,复数个动作的功耗结果的平均值可以针对复数个动作提供标准化的功耗量。
在框608处,功耗分析器104可以将动作的功耗结果与在一个或更多个其他通过中的动作的功耗结果进行平均,以获得该动作的平均功耗。如同经由复数次通过所获得的,该动作的功耗结果的平均值可以针对动作提供标准化的功耗量。
在框610处,功耗分析器104可以提供分析结果以供呈现。在各种实施例中,分析结果可以经由显示设备或经由印刷文档以数字和/或图形形式被显示。
图7是用于将用户设备的功耗与其他功耗和性能数据进行比较的示例过程700的流程图。在框702处,当用户设备上的应用执行一个或更多个动作时,功耗分析器104可以获得用户设备的功耗数据和设备事件数据。例如,一个或更多个动作可以包括关于网络下载或上传数据、在应用处接收输入、使用应用处理数据以生成输出数据、打开和关闭应用特征或设备组件等。
在框704处,当用户设备上的应用执行一个或更多个动作时,功耗分析器104可以获得用户设备的设备组件的功耗。例如,设备组件可以是用户设备的无线电收发器、处理器、设备的显示屏幕、设备的照相机等。在框706处,功耗分析器104可将用户设备的功耗与用户设备的设备组件的功耗进行比较。
在框706处,功耗分析器104可以比较用户设备和设备组件用于一个或更多个动作的功耗。比较可以显示用户设备的功耗与设备组件的功耗之间正相关或负相关。例如,比较可以显示特定设备组件的功耗可能随着执行特定动作或一组动作而激增。在另一个示例中,当执行一个或更多个动作时,比较可以示出设备组件的功耗作为用户设备的功耗的百分比而波动。
在框708处,当额外用户设备上的应用执行一个或更多个动作时,功耗分析器104可以获得额外用户设备的功耗数据和设备事件数据。在各种实施例中,用户设备可以是测试设备,并且额外用户设备可以是控制设备。例如,测试设备可以是新的用户设备或者测试设备的更新版本。
在框710处,功耗分析器104可将用户设备的功耗与额外用户设备的功耗进行比较。在各种实施例中,比较可以对于每个动作示出用户设备的功率效率与额外用户设备的功率效率。这样的比较可以揭示用户设备的功率效率的改善或缺点,用于识别执行特定动作时功率使用的潜在问题。
在框712处,当相同用户设备上的不同版本的应用执行一个或更多个动作时,功耗分析器104可以获得相同用户设备的功耗数据和设备事件数据。应用的不同版本可以是应用的更新版本、旧版本或修改版本,并且应用可以用作控制版本。
在框714处,功耗分析器104可以比较用户设备和相同用户设备针对一个或更多个动作的功耗。在各种实施例中,比较可以显示对于每个动作的具有应用的用户设备的功率效率与具有额外应用的相同用户设备的功率效率。这样的比较可以揭示关于某个动作的不同版本的功率效率的改进或缺点。在框716处,功耗分析器104可以提供功耗比较结果以供呈现。在各种实施例中,结果可以经由显示设备或经由印刷文档以数字和/或图形形式被显示。
图8是用于评估由于一个或更多个动作而在用户设备上的后台应用的功耗的示例过程800的流程图。在框802处,当一个或更多个动作由第一用户设备执行时,功耗分析器104可以获得配备有后台应用的第一用户设备的功耗结果。在各种实施例中,当用户设备上的一个或更多个其他应用执行一个或更多个动作时,后台应用可以在后台执行以监测用户设备的使用情况、健康状况、性能等。例如,用户设备(其为移动电话)可以配备有后台应用,该后台应用监测VoLTE呼叫期间的数据分组丢失。在其他示例中,后台应用可以收集客户服务和应用使用情况以及错误报告数据。
在框804处,当一个或更多个动作被执行时,功耗分析器104可以获得不具有后台应用的第二用户设备的功耗结果。当第二用户设备在与第一用户设备相同或相似的条件下操作时,可以获得功耗结果。例如,相同或类似的条件可以包括一天中的时间、地理位置、物理地址、无线通信网络信号强度等。
在框806处,功耗分析器104可比较第一用户设备和第二用户设备的功耗,以确定后台应用针对一个或更多个动作所消耗的功率量。在至少一个实施例中,第一用户设备和第二用户设备在相似或相同条件下执行一个或更多个动作时的功耗差异可以是后台应用所消耗的功率量。
在框808处,功耗分析器104可以呈现后台应用针对一个或更多个动作所消耗的功率量。在各种实施例中,用于一个或更多个动作的后台应用的功耗量可以经由显示设备或者经由印刷文档以数字和/或图形形式被显示。在一些实施例中,过程800可以可选地应用于非后台应用以确定该非后台应用消耗的功率量。例如,该非后台应用可能负责执行一个或更多个动作。
图9是用于计算由于网络错误事件而导致的用户设备的额外功耗的示例过程900的流程图。在框902处,功耗分析器104可以接收标识多个数据流的数据流量日志。在至少一个实施例中,数据流可以是TCP流,而数据流量日志可以是由Android操作系统生成的PCAP。
在框904处,功耗分析器104可以根据任务将数据流组合成组。在一些情况下,当数据流的分组跟踪上的域名系统(DNS)查找指示该组数据流共享公共目的地通用资源定位器(URL)时,可以将多个数据流组合在一起以完成特定的任务。在其他情况下,可以根据公共目的地互联网协议(IP)地址或公共目的地媒体访问控制(MAC)地址将复数个数据流组合在一起。
在框906处,功耗分析器104可以分析一组数据流的网络错误事件,以确定用于完成相应任务的额外数据分组的量。在各种实施例中,网络错误事件可以包括数据分组传输重试、丢失的数据分组、重复的数据分组、连接超时等。这种网络错误事件可能导致数据分组的重传。每个数据流的数据分组的重传可以被记录在数据流量日志中。因此,分析可以提供由于网络错误事件而用于完成相应任务的额外数据分组的量。
在框908处,功耗分析器104可以将网络错误事件与用户设备经历的功耗峰值相关联。在各种实施例中,可以在数据流量日志中捕获在一段时间内每个网络错误事件发生的时间。功耗分析器104可以使用网络错误事件的次数来将每个事件与在该时间段的功耗数据中捕获的功耗峰值相关联。
在框910处,功耗分析器104可以基于功耗峰值来计算由于额外数据分组的传输而导致的用户设备消耗的额外的功率量。在各种实施例中,可以基于功耗峰值的电流值和峰值的持续时间来执行计算。例如,如果特定时间的100个数据分组的传输在0.2秒的持续时间内与600毫安(mA)的功耗峰值重合,则数据分析模块234可以计算传输100个数据分组所消耗的额外功率的量,如mAh。用户设备使用该消耗的额外功率量来完成由该组数据流执行的任务。
在判定框912处,功耗分析器104可以确定是否存在与另一个任务相关联的另一组数据流以进行分析。因此,如果功耗分析器104确定不存在要分析的其他数据流组(在判断框912处为“否”),则过程900可前进至框914。在框914处,功耗分析器104可以提供由用户设备消耗的额外的功率量以完成用于呈现的一个或更多个任务,其中所消耗的额外功率用于重传数据分组。然而,如果功耗分析器104确定存在要分析的另一组数据流(在判断框912处为“是”),则该过程可以循环回到框906。
用于执行用户设备的功耗的详细分析的技术可以使得应用设计者、网页开发者、网络工程师或其他服务提供商能够识别用户设备的短电池寿命的根本原因。结果,应用、网页、电信网络基础设施以及其他组件可以被修改或改进以为用户设备提供最佳的电池寿命。
结论
尽管已经用特定于结构特征和/或方法行为的语言描述了主题,但是应当理解,所附权利要求中限定的主题不一定限于所描述的具体特征或行为。相反,具体的特征和行为被公开为实施权利要求的示例性形式。

Claims (10)

1.一种计算机实现的方法,包括:
在一个或更多个计算设备处,基于脚本生成用于用户设备的一个或更多个设备命令和用于功率监测器的一个或更多个监测命令,所述脚本用于触发所述用户设备上的至少一个应用以执行一个或更多个动作同时监测所述用户设备的功耗;
经由所述一个或更多个计算设备,向所述用户设备发送一个或更多个设备命令以触发所述用户设备上的所述至少一个应用执行所述一个或更多个动作;
当所述至少一个应用执行所述一个或更多个动作的通过时,经由所述一个或更多个计算设备向所述功率监测器发送一个或更多个监测命令,以命令所述功率监测器监测所述使用设备的功耗;
在所述一个或更多个计算设备处,从所述功率监测器接收所述用户设备的时间间隔内的功耗数据,其中在所述时间间隔内所述用户设备上的所述至少一个应用执行所述一个或更多个动作的所述通过;以及
在所述一个或更多个计算设备处,从所述用户设备接收所述时间间隔内的设备事件数据,其中在所述时间间隔内所述至少一个应用执行所述一个或更多个动作的所述通过。
2.如权利要求1所述的计算机实现的方法,还包括:
当额外用户设备上的应用执行所述一个或更多个动作时,获得所述额外用户设备的额外功耗数据及额外设备事件数据,所述额外用户设备不同于所述用户设备;以及
比较所述用户设备和所述额外用户设备的功耗,以评估所述额外用户设备的功率效率相对于所述用户设备的功率效率。
3.如权利要求1所述的计算机实现的方法,还包括:
当相同用户设备上的不同版本的应用执行所述一个或更多个动作时,获得所述相同用户设备的功耗数据及设备事件数据;以及
比较所述用户设备和所述相同用户设备的功耗,以评估所述应用的功率效率相对于所述不同版本的应用的功率效率。
4.如权利要求1所述的计算机实现的方法,其中所述设备事件数据包括标识复数个数据流的网络流量日志,所述方法还包括:
将复数个数据流组合成组,所述复数个数据流共享公共通用资源定位器(URL)、公共互联网协议(IP)地址或公共媒体访问控制(MAC)地址;
分析数据流的所述组的网络错误事件以确定用于完成相应任务的额外数据分组的量,所述网络错误事件包括丢失数据分组事件、数据分组传输重试事件、重复的数据分组事件或连接超时事件中的至少一个;
将所述网络错误事件与所述用户设备经历的功耗峰值相关联;
基于所述功耗峰值的电流消耗和持续时间来计算由于所述额外数据分组的传输而导致的所述用户设备消耗的额外功率的量;以及
呈现由于所述额外数据分组的传输而导致的所述用户设备消耗的额外功率的量。
5.如权利要求1所述的计算机实现的方法,其中所述一个或更多个动作包括:将数据输入到应用中、激活或停用在所述用户设备上的所述应用的应用特征、发起和终止从网络上载或下载数据、经由所述应用打开或关闭所述用户设备的硬件组件,其中所述设备事件数据包括由所述用户设备生成的系统事件报告、错误报告、数据流量日志、数据分组跟踪。
6.一种系统,包括:
一个或更多个处理器;以及
其中存储有指令的存储器,当所述指令由所述一个或更多个处理器执行时,使所述一个或更多个处理器执行行为,所述行为包括:
接收用于触发用户设备上的至少一个应用的脚本,以执行一个或更多个动作同时监测所述用户设备的功耗;
基于所述脚本生成用于所述用户设备的一个或更多个设备命令和用于功率监测器的一个或更多个监测命令;
向所述用户设备发送一个或更多个设备命令,以命令所述用户设备上的所述至少一个应用执行所述一个或更多个动作;
当所述至少一个应用执行所述一个或更多个动作的通过时,向所述功率监测器发送一个或更多个监测命令以命令所述功率监测器监测所述使用设备的所述功耗;
从所述功率监测器接收所述用户设备的时间间隔内的功耗数据,其中在所述时间间隔内所述用户设备上的所述至少一个应用执行所述一个或更多个动作的所述通过;以及
从所述用户设备接收所述时间间隔内的设备事件数据,其中在所述时间间隔内所述至少一个应用执行所述一个或更多个动作的所述通过,其中当所述用户设备上的所述至少一个应用执行所述一个或更多个动作时,所述功率监测器通过跟踪所述用户设备的电流消耗生成所述设备事件数据。
7.如权利要求6所述的系统,其中一个或更多个动作下载网页,并且其中所述行为进一步确定所述用户设备的功耗与所述网页的页面加载时间或用户感知的加载延迟之间的相关性。
8.如权利要求6所述的系统,其中所述行为还包括:
执行分析以生成分析结果,所述分析包括以下中的至少一个:
分析所述功耗数据和所述设备事件数据以确定所述用户设备针对至少一个动作所消耗的功率量;
将在所述用户设备上的复数个动作在所述通过中的功耗结果与在所述用户设备上的所述复数个动作的一个或更多个其他通过的功率消耗结果进行平均,以获得所述用户设备针对所述复数个动作的平均功耗;或者
将所述动作在所述通过中的额外功耗结果与所述动作在所述动作的一个或更多个其他通过中的额外功耗结果进行平均,以获得所述动作的平均功耗;以及
提供所述分析结果以供呈现。
9.如权利要求6所述的系统,其中所述行为还包括:
当相同用户设备在与所述用户设备相似或相同的条件下执行所述一个或更多个动作时,获得所述相同用户设备的额外功耗数据,除了所述至少一个应用之外,所述相同用户设备配备有后台应用;
将所述相同用户设备的所述额外功耗数据与所述用户设备的所述功耗数据进行比较,以确定所述用户设备与所述相同用户设备之间的功耗差异,所述功耗差异为所述后台应用消耗的功率量;以及
提供用于所述一个或更多个动作的所述后台应用所消耗的功率量以供呈现。
10.一个或更多个存储计算机可执行指令的计算机可读介质,在所述计算机可执行指令被执行时使一个或更多个处理器执行行为,所述行为包括:
在一个或更多个计算设备处,基于脚本生成用于用户设备的一个或更多个设备命令和用于功率监测器的一个或更多个监测命令,所述脚本用于触发所述用户设备上的至少一个应用以执行一个或更多个动作,同时监测所述用户设备的功耗;
经由所述一个或更多个计算设备向所述用户设备发送一个或更多个设备命令以触发所述用户设备上的所述至少一个应用以执行所述一个或更多个动作;
当所述至少一个应用执行所述一个或更多个动作时,经由所述一个或更多个计算设备向所述功率监测器发送一个或更多个监测命令,以命令所述功率监测器监测所述使用设备的所述功耗;
在所述一个或更多个计算设备处,从所述功率监测器接收所述用户设备的时间间隔内的功耗数据,其中在所述时间间隔内所述用户设备上的所述至少一个应用执行所述一个或更多个动作;
在所述一个或更多个计算设备处,从所述用户设备接收所述时间间隔内的设备事件数据,其中在所述时间间隔内所述至少一个应用执行所述一个或更多个动作;
分析所述功耗数据和所述设备事件数据以确定所述用户设备针对至少一个动作所消耗的功率量;以及
提供所述用户设备针对所述至少一个动作所消耗的功率量以供呈现。
CN201680049231.9A 2015-07-16 2016-07-15 用户设备功耗监测和分析 Pending CN108027634A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562193463P 2015-07-16 2015-07-16
US62/193,463 2015-07-16
PCT/US2016/042615 WO2017011794A1 (en) 2015-07-16 2016-07-15 User device power consumption monitoring and analysis

Publications (1)

Publication Number Publication Date
CN108027634A true CN108027634A (zh) 2018-05-11

Family

ID=61521274

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680049231.9A Pending CN108027634A (zh) 2015-07-16 2016-07-15 用户设备功耗监测和分析

Country Status (2)

Country Link
EP (1) EP3304249B1 (zh)
CN (1) CN108027634A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115391124B (zh) * 2022-10-27 2023-03-21 瀚博半导体(上海)有限公司 一种面向图形芯片功耗测试的方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030191791A1 (en) * 2002-04-04 2003-10-09 Cyran Robert J. System and method for power profiling of tasks
US20100231383A1 (en) * 2009-03-16 2010-09-16 Uri Levine Condition-based activation, shut-down and management of applications of mobile devices
US20110040996A1 (en) * 2009-08-14 2011-02-17 Google Inc. Providing a user with feedback regarding power consumption in battery-operated electronic devices
US20120011378A1 (en) * 2010-07-09 2012-01-12 Stratergia Ltd Power profiling and auditing consumption systems and methods
CN102880277A (zh) * 2012-09-05 2013-01-16 浪潮(北京)电子信息产业有限公司 一种双控磁盘阵列不间断电源冗余保护方法
US20130179973A1 (en) * 2012-01-10 2013-07-11 O2Micro, Inc. Detecting status of an application program running in a device
US20140282425A1 (en) * 2013-03-18 2014-09-18 Microsoft Corporation Application testing and analysis
US20140325481A1 (en) * 2013-04-25 2014-10-30 Centurylink Intellectual Property Llc Green Software Applications

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8086882B2 (en) * 2008-06-29 2011-12-27 Microsoft Corporation Energy measurement techniques for computing systems
US20110072378A1 (en) * 2009-09-24 2011-03-24 Nokia Corporation Method and apparatus for visualizing energy consumption of applications and actions
US8971819B2 (en) * 2011-06-16 2015-03-03 Deutsche Telekom Ag System for analyzing mobile browser energy consumption
US9176841B2 (en) * 2011-12-28 2015-11-03 Microsoft Technology Licensing, Llc Estimating application energy usage in a target device

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030191791A1 (en) * 2002-04-04 2003-10-09 Cyran Robert J. System and method for power profiling of tasks
US20100231383A1 (en) * 2009-03-16 2010-09-16 Uri Levine Condition-based activation, shut-down and management of applications of mobile devices
US20110040996A1 (en) * 2009-08-14 2011-02-17 Google Inc. Providing a user with feedback regarding power consumption in battery-operated electronic devices
US20120011378A1 (en) * 2010-07-09 2012-01-12 Stratergia Ltd Power profiling and auditing consumption systems and methods
US20130179973A1 (en) * 2012-01-10 2013-07-11 O2Micro, Inc. Detecting status of an application program running in a device
CN102880277A (zh) * 2012-09-05 2013-01-16 浪潮(北京)电子信息产业有限公司 一种双控磁盘阵列不间断电源冗余保护方法
US20140282425A1 (en) * 2013-03-18 2014-09-18 Microsoft Corporation Application testing and analysis
US20140325481A1 (en) * 2013-04-25 2014-10-30 Centurylink Intellectual Property Llc Green Software Applications

Also Published As

Publication number Publication date
EP3304249A1 (en) 2018-04-11
EP3304249A4 (en) 2019-08-21
EP3304249B1 (en) 2022-08-31

Similar Documents

Publication Publication Date Title
US10146658B2 (en) User device power consumption monitoring and analysis
KR101052167B1 (ko) 무선 장치의 네트워크 액세스 성능을 결정하기 위한 장치 및 방법
CN100583056C (zh) 用于确定无线装置的多媒体性能方面的方法和设备
CN105376335B (zh) 一种采集数据上传方法和装置
CN106844217A (zh) 对应用的控件进行埋点的方法及装置、可读存储介质
US11366738B2 (en) System to determine performance based on entropy values
US20060205398A1 (en) Apparatus and methods for product acceptance testing on a wireless device
CN107688530A (zh) 软件测试方法及装置
CN111124919A (zh) 一种用户界面的测试方法、装置、设备及存储介质
CN104424089A (zh) 终端的测试方法及装置
CN103713989A (zh) 一种针对用户终端的测试用例生成方法和装置
CN107894889A (zh) 埋点方法、设备及计算机可读存储介质
CN108874268A (zh) 用户行为数据的采集方法及装置
CN113422794A (zh) 流量录制、回放处理方法、装置及电子设备
CN105516321A (zh) 一种数据采集方法和装置
CN104301916B (zh) 基于移动智能终端通用插件的测试优化方法、装置及系统
CN105577472A (zh) 一种数据采集测试方法和装置
CN111581067B (zh) 一种数据采集方法和装置
CN105187393B (zh) 一种移动终端恶意软件网络行为重构方法及其系统
CN110209559B (zh) 一种非侵入式监测方法、控制设备及存储介质
CN105515909A (zh) 一种数据采集测试方法和装置
US10123223B1 (en) System and method for evaluating operational integrity of a radio access network
CN109962823B (zh) 一种网络应用场景的自动化测试系统及方法
CN108027634A (zh) 用户设备功耗监测和分析
CN110505352A (zh) 通话质量测试方法、系统、计算机设备和计算机存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180511

WD01 Invention patent application deemed withdrawn after publication