使用性能分析来优化硬件替换的制作方法

文档序号:27611942发布日期:2021-11-29 11:05阅读:108来源:国知局
使用性能分析来优化硬件替换的制作方法
使用性能分析来优化硬件替换


背景技术:

1.通常,管理计算资产库存的企业按照固定时间表来替换计算机硬件以符合预算需求(例如,如果客户处于三年的购买周期,则每年替换三分之一的计算机硬件)。这对于信息技术部门和最终用户两者都是低效的,因为一些计算机硬件在替换时可能操作良好,可能会损失更多年的令人满意的服务,而其他计算机硬件早在计划的替换之前可能已经过度负担和过时(对于其预期用途来说)。此外,仅基于资产使用年限的计算机硬件替换程序,以及针对整个组的标准化装备,会产生次优的硬件选择,这可能会浪费一些用户的资源,而为其他用户提供不足的计算能力。当用户均选择最佳可用选项(而不考虑企业预算限制和优先级)时,允许用户从预先批准的选项中选择他们自己的计算机硬件有浪费资源的风险。


技术实现要素:

2.下面,参考下面所列出的附图来详细描述所公开的示例。以下发明内容被提供以说明本文所公开的一些示例。然而,这并不意味着将所有示例限制为任何特定配置或操作序列。
3.本文公开的一些方面指向一种使用性能分析来优化计算机硬件替换的解决方案,其基于实际用户需求和企业优先级来选择替换计算机硬件。工具收集关键性能数据,以与各种基线进行比较,从而标识表现低于可接受水平的硬件。示例性操作包括:接收企业数据和来自第一计算设备上的仪表化操作系统的收集的数据,收集的数据包括引导性能、应用性能和硬件性能;至少基于收集的数据来确定可用性得分,其中确定可用性得分包括对收集的数据执行加权计算;至少基于企业数据来确定得分改进选择;以及报告得分改进选择。
附图说明
4.下面,参考下面列出的附图来详细描述所公开的示例:
5.图1图示了可以有利地采用工具以用于使用性能分析来优化硬件替换的环境;
6.图2图示了在图1的环境中使用的示例性选择引擎;
7.图3示出了由图2的选择引擎执行的计算的示例性伪代码;
8.图4示出了由图2的选择引擎生成的示例性报告;
9.图5示出了由图2的选择引擎生成的另一示例性报告;
10.图6是说明在使用性能分析来优化硬件替换所涉及的示例性操作的流程图;
11.图6a是图示针对图6的流程图的附加细节的流程图;以及
12.图7是适于实现本文公开的各种示例中的一些示例的示例计算环境的框图。
13.贯穿附图,对应的附图标记指示对应的部分。
具体实施方式
14.将参考附图对各个示例进行详细描述。贯穿附图,在可能的情况下,相同的附图标记将用于指代相同或相似的部件。贯穿本公开,仅出于说明性目的,提供了与具体示例和实
现有关的参考,但是除非相反指出,否则并不旨在限制所有示例。
15.本公开使用性能分析,以基于实际用户需求和企业优先级来选择替换计算机硬件,来优化计算机硬件替换。工具收集关键性能数据以与各种基线进行比较,从而标识表现低于可接受水平的硬件。示例性操作包括:接收企业数据和来自第一计算设备上的仪表化操作系统(os)的收集的数据,收集的数据包括引导性能、应用性能和硬件性能;至少基于收集的数据来确定可用性得分,其中确定可用性得分包括对收集的数据执行加权计算;至少基于可用性得分和企业数据,确定是否需要得分改进;以及至少基于企业数据并且确定需要得分改进,来报告得分改进选择。
16.针对企业中计算设备(例如,图7的各种版本的计算设备700)的工具捕获关键性能指标数据的示例,包括但不限于:核引导时间、其他引导时间、应用启动时间、登录时间、处理器(例如,cpu)利用率、存储器利用率、电池寿命、电池警告历史、存储输入/输出(i/o)性能和网络i/o性能。数据被发送到服务(例如,云服务),其中企业特定数据与来自其他来源的匿名数据结合,并且自适应算法被用以标识以下中的一个或多个:(1)优先的要替换的设备集,(2)个性化的替换硬件选择,(3)匿名操作(例如,在企业和/或全局规范之外),并且因此可能存在硬件或软件配置问题的设备集,以及(4)针对信息技术(it)管理员的所定制报告,其示出了聚合视图以及下至计算机硬件在企业环境中的表现如何的详细视图。自适应算法的其他输出被预期,并且在本公开的范围内。
17.图1图示了可以有利地采用工具以用于使用性能分析来优化硬件替换的环境100。工具包括分析服务102和性能监控器代理130的组合。分析服务102包括选择引擎200,为了清晰,在图2中更详细地图示了选择引擎200。
18.分析服务102接收和处理由在用户设备122上本地运行的性能监控器代理130从在客户环境120中操作的用户设备122所收集的数据,以收集关于用户设备122的性能的数据。分析服务102还接收和处理从在客户环境120中操作的其他用户设备122a、122b和122c以及另外从在其他客户环境120d和120e中操作的其他用户设备122d和122e收集的数据。其他用户设备122a至122e具有它们自己的性能监控器代理130a至130e的本地副本。以该方式,分析服务102从多个其他性能监控器代理130a至130e接收收集的数据。分析服务102的一些示例作为云服务运行,例如在图7的云资源728上运行。(对于更多细节参见图7的描述。)
19.在一些示例中,管理员门户104使分析服务102能够配置和维护性能监控器代理130和130a至130e,例如以指定收集标准、更新逻辑和推送安装。性能监控器代理130从仪表化os和应用来收集数据,特别是来自事件日志124、注册表126和用户设备122上的其他事件监控器128的数据。性能监控器代理130a至130e与性能监控器代理130类似地操作。收集的数据的示例包括但不限于以下内容:
20.‑
分阶段的系统引导时间(包括核引导时间);
21.‑
分阶段的登录时间;
22.‑
应用启动时间(例如,从应用启动到用户能够与应用交互的时间);
23.‑
处理器利用率超过阈值的总持续时间和次数;
24.‑
存储器利用率超过阈值的总持续时间和次数;
25.‑
存储器i/o操作超过阈值的总持续时间和次数;
26.‑
网络i/o操作超过阈值的总持续时间和次数;
27.‑
存储利用率;
28.‑
用户设备利用率(例如,用户设备开启并且用户与设备交互的小时次数);
29.‑
电池利用率;
30.‑
健康状况指示符:意外重新引导的频率和计数、预期电池寿命、预期硬盘寿命、驱动器和/或应用崩溃频率和计数。
31.可用性得分被确定为包括所标识的因素中的一个或多个因素的收集的数据的加权计算(例如,加权组合)。关于可用性得分的计算的更多细节关于图3被提供。
32.例如,为了测量引导时间,引导跟踪被使能并且一旦os可以这样做就开始记录事件。各个阶段被日志记录,并且这些日志在事件日志124中可用,以测量用户设备122从上电到登录屏幕出现的引导性能。核引导时间作为相对一致的性能指示符被测量。核引导时间包括提出os和加载服务。此外,登录和执行第一应用之间的时间也被测量和收集。事件日志124被解析,以确定特定于硬件的引导时间,因此不包括由用户交互引入的延迟。通常,核引导时间不受其他设备定制(诸如,已安装的应用和企业it策略执行)的影响。但是,后期引导阶段通常受设备定制的影响。获取策略(例如,在允许用户访问用户设备122之前,显示用户同意屏幕时)可能涉及网络延时,并且因此通常不是用户设备122固有性能的良好度量。另外,os和应用更新也驱动了广泛变化的延迟时间,并且因此可能不是设备表征的准确指标。因此,通过执行日志解析,可以从可用性得分省略一些硬件控制之外的因素。登录时间,即从用户输入密码到用户可以启动应用的时间也被收集。
33.还对应用进行仪表化以确定启动时间,该启动时间是从用户选择图标(例如,通过用指点设备轻敲或点击)到应用准备好使用的时间。在一些示例中,这通过检测新应用窗口已经打开并且然后确定引起(spawn)新应用窗口的进程在多长时间前已经开始,来有效地被实现。由于用户通常只注意到用户与其交互的前台应用,因此在一些示例中,不针对后台进程中的一些或所有后台进程测量应用启动时间。收集的电池数据可以包括显示低电池警告的计数次数(电池警告历史),其指示电池容量对于用户来说是否足够。通过一些示例所收集的其他电池数据包括用户在充电之间可以使用用户设备122的时间。高于阈值的cpu和存储器尖峰也被收集,因为用户可能会注意到这种事件。在一些示例中,针对处理器利用率和存储器利用率使用75%或80%的阈值。在一些示例中,存储i/o性能和网络i/o性能(诸如,滞后时间)被收集。该收集的数据指示特定的硬件性能,但是当与企业数据结合或比较时,收集的数据可以用以确定性能是否可接受,或者相反是否建议和/或需要改进。因此,性能监控器代理130可操作以从计算设备(例如,用户设备122)上的仪表化os来收集数据。
34.数据由性能监控器代理130发送到分析服务102,例如通过网络703(关于图7更详细地被描述)。分析服务102内或与分析服务102相关联的数据收集器106从性能监控器代理130和其他性能监控器代理130a至130e接收数据。数据处理器108将所收集的数据的副本匿名化。在一些示例中,数据处理器108在客户环境120内操作,以允许客户最大程度地控制潜在敏感数据。在一些示例中,数据处理器108作为基于云的服务操作。然后,数据处理器108具有来自性能监控器代理130的所收集的数据230的副本,并且具有来自性能监控器代理130和其他性能监控器代理130a至130e的匿名收集的数据232的副本。数据处理器108还具有来自其他性能监控器代理130a

130e的非匿名收集的数据的副本,其等同于收集的数据230。数据处理器108将收集的数据230和匿名收集的数据232提供给选择引擎200。在一些示
例中,数据处理器108将收集的数据230提供给企业数据存储110,并且将匿名收集的数据232提供给全局数据存储112。
35.企业数据存储110将收集的数据230连同来自其他用户设备122a至122c的收集的数据230的等同合并到企业数据中,特别是合并在硬件基线234中。全局数据存储112将匿名收集的数据232合并到全局硬件基线240中作为聚合性能指标。在一些示例中,匿名收集的数据232被数据处理器108转换为聚合性能指标。诸如企业的特定操作实体,需要知道其自己的特定计算设备相对于其他计算设备(诸如,由他人拥有和操作的其他计算设备)如何操作。然而,虽然一个特定的操作实体可能受益于具有针对其他人拥有和操作的计算设备的比较数据,但是没有必要共享某些细节。因此,只有匿名数据被共享并且被用于全局性能指标比较。这允许以多种方式使用收集数据230:与企业数据的特定比较,以及与全局平均的比较。
36.选择引擎200使用收集的数据230、硬件基线234、企业策略236、策划替换列表238(硬件基线234、企业策略236和策划替换列表238一起形成企业数据)和全局硬件基线240以生成报告140,其关于图4和图5更详细地被描述。报告140的一些示例包括要替换的计算设备的排名列表,或其他补救操作(诸如,更新软件或改变引导过程或启动过程)。硬件基线234的一些示例包括诸如硬件和软件库存、计算设备硬件制造商和型号、计算设备年龄、存储器、cpu标识、硬盘驱动器标识、网络能力和接口标识、附接外围设备、os版本、所安装的应用列表和引导配置的信息。企业策略236的一些示例包括关于硬件替换的特定策略(例如,硬件在使用的第一年内不得替换或无论当前使用如何,必须在5年后被替换),某些工作职位得到性能更好的计算机,并且某些工作职位得到笔记本计算机,而其他职位得到台式计算机。例如,工程师通常需要更高的速度和更多的存储器来运行复杂的软件。
37.策划的替换列表238包括硬件基线,选择引擎200从中选择新的(或回收的)硬件配置来替换需要替换的计算设备。在一些示例中,it管理员可以通过制造方或某些其他标准(诸如,价格)来限制替换硬件解决方案集。在一些示例中,不是仅仅替换硬件,软件或其他改变也可以被选择作为辐射操作。在一些示例中,替换计算设备或另一补救操作的选择至少是基于可用性得分。可用性得分指示计算设备对于当前用户是否足够。这允许通过将他们的使用特性与针对策划的替换列表238所生成的简档匹配,来标识具有较差体验的用户并且针对他们选择新硬件。为了创建优先的要替换的计算设备集,可用性得分被排名并且企业策略236在操作中被应用以移除或添加计算设备(例如,一些计算设备太新或太旧)。从企业策略236确定补救阈值,以标识建议和/或需要补救解决方案的那些计算设备。
38.根据企业策略236,选择引擎200确定更新软件或改变引导过程或启动过程是否足以将可用性得分带入可接受范围,或者是否确实需要替换。企业策略236被再次应用,来针对那些实际需要替换的计算设备来选择特定的硬件配置(例如,一些工作职能得到笔记本计算机,而其他工作职能得到台式计算机)。预期可用性得分被确定和测试,并且如果不可接受,则尝试和测试另一解决方案。为了实现这一点,从全局硬件基线240引用与当前设备的使用简档(例如,具有相似的应用使用和配置)匹配的设备集。例如,如果用户运行两个主要应用,并且预期的可用性得分被针对策划的替换列表238上的特定设备需要,则通过针对具有相似应用使用简档的其他用户的所有全局硬件基线240中的其他类似配置硬件设备的可用性得分求平均值,来计算预期可用性得分。
39.为了执行这些操作,选择引擎200使用应用逻辑和数据202。收集的数据230被转换成指标数据204。权重206被应用于指标数据204(例如,所处理的收集的数据230)来产生可用性得分208。在一些示例中,机器学习(ml)组件214基于训练数据216中的实际反馈(例如,关键输入和反馈)来确定权重206,诸如通过匹配可用性得分集是否匹配所报告的人类关于某些计算设备是否以可接受的性能水平操作的感知。在一些示例中,规则的集,而不是ml被使用。补救操作列表和生成组件212导入策划的替换列表238,并且被用以利用得分改进选择来填充结果210。在一些示例中,ml组件214(使用ml模型218)被用以确定是否需要得分改进。训练数据216的一些示例包括可用性得分,并且包括关于it管理员是否认可由选择引擎200选择的补救操作的反馈。其他逻辑和数据220提供实施本文针对选择引擎200所描述的功能所必需的附加功能和信息。
40.因此,选择引擎200可操作以:接收收集的数据230和企业数据(硬件基线234和企业策略236);至少基于收集的数据230来确定可用性得分208,其中确定可用性得分208包括对收集的数据执行加权计算(使用权重206);至少基于可用性得分208和企业数据,来确定是否需要得分改进;至少基于企业数据来确定得分改进选择;至少基于企业数据并且确定需要得分改进,报告(经由报告140)得分改进选择。在一些示例中,收集的数据230包括引导性能、应用性能和硬件性能,其中引导性能数据包括核引导时间。在一些示例中,应用性能数据包括应用启动时间,应用启动时间针对至少一个后台进程不进行测量,和/或应用启动时间通过检测新应用窗口已经打开而被测量。至少基于检测到新应用窗口已经打开,确定引起新应用窗口的进程的开始时间。
41.在一些示例中,硬件性能数据包括从列表所选择的至少一个数据项,该列表包括:超过阈值的处理器利用率和超过阈值的存储器利用率。其他硬件性能数据也被预期。收集数据230还可以包括从列表所选择的至少一个数据项,该列表包括:登录时间、电池警告历史、存储i/o性能和网络i/o性能。其他收集的数据也被预期。在一些示例中,得分改进选择包括从列表所选择的至少一个补救操作,该列表包括:对用于替换第一计算设备的新硬件配置的标识、更新软件以及改变引导过程或启动过程。其他补救操作被考虑。ml组件214(使用ml模型218)可以被用以确定可用性得分208或确定是否需要得分改进。在一些示例中,从性能监控器代理130接收针对计算设备(用户设备122)的匿名收集数据(匿名收集数据232的部分),并且从多个其他性能监控器代理130a至130e接收针对多个其他计算设备的匿名收集数据(也是匿名收集数据232的部分)。从接收的匿名收集的数据232生成聚合性能指标(全局硬件基线240)。在一些示例中,至少基于聚合性能指标,来检测计算设备(用户设备122)的异常行为。
42.图3示出了用于计算(例如,确定)图2的可用性得分208的示例性伪代码300。可用性得分表示用户在特定设备上的体验。在一些示例中,可用性得分在从0到100的范围,其中100是最佳体验,0是最差体验。例如,如果启动时间高于平均水平,用户将会感知到糟糕的体验,而比平均速度快的启动时间将为用户提供更好的体验。伪代码300依赖于归一化的指标数据204(例如,当收集的数据230被转换成指标数据204时,“更好的”值被转换成较低的指标数字)。在一些示例中,指标数据204包含:针对特定设备的实例数据(例如,核引导时间是5秒);全局平均值(例如,平均核引导时间是10秒);以及全局标准偏差(例如,针对所有设备的引导时间的标准偏差是2.1秒)。被应用于指标数据204的权重206指示指标对于用户对
计算设备体验的感知的重要性。在一些示例计算中,权重206总和为1.0。例如,对于三个指标,权重可以是引导时间=0.1,应用开始时间=0.4,以及电池寿命=0.5。
43.具体计算在伪代码300中被示出,并且被重复在下面。ue_score是可用性得分,其被存储在结果210(图2)中。
44.ue_score=0;
45.for each metric
46.{
47.z_score=min(5,max(

5,(instance

mean)/standard deviation));
48.metric_value=(

1*<z_score>+5/10);
49.ue_score+=metric_value*metric_weight;
50.}
51.next metric;
52.return ue_score;
53.一些示例使用可用性得分的备选计算。例如,与z

score和用户体验(ue_score)之间的线性关联相反,指数关系被使用(例如,慢两倍会使可用性得分恶化四倍)。另一示例使用时间的预期(引导时间或应用启动时间),而不是所计算的平均值。对于执行任务花费超过用户预期时间的计算设备,这会降低可用性得分,即使特定计算设备以高于平均的速度执行。其他变化也是可能的。
54.图4示出了由(图1和图2的)选择引擎200生成的示例性报告400。即,报告400是使用指标数据204和结果210所生成的多个可能版本的报告140中的一个报告。报告400示出了针对多个计算设备的聚合结果,并且具有引导时间报告窗口402和被分割成各种引导阶段的条形图404。在一些示例中,引导时间报告窗口402和条形图404报告针对特定计算设备的引导时间结果,而对于其他示例,引导时间报告窗口402和条形图404报告针对多个计算设备的平均值、中值或模式引导时间结果。报告400还具有引导时间结果的直方图406,使得可以观察到通常的用户体验以及异常值。直方图406示出了在所指示的区间中的每个区间内的、具有以秒为单位测量的系统引导时间的设备的数目。比较条形图408图示了按计算设备型号分组的引导时间结果,但是也可以示出其他分组。绘图410示出了计算设备制造方的引导时间的差异,但也可以使用其他分组。比较条形图408和绘图410可以用于购买决策,例如通过标识哪些制造方的设备以及哪些计算设备型号倾向于表现更好或更差。应当理解,其他性能指标(例如,处理器利用率和存储器利用率)可以与报告400的其他示例进行比较。推荐列表412标识补救操作选择;具体地,推荐列表412将补救操作选择标识为更新软件和固件,以及将引导或启动过程改变为异步。
55.图5示出了由选择引擎200所生成的备选示例性报告500。即,报告500是使用指标数据204和结果210所生成的多个可能版本的报告140的另一报告。报告500是示出排序和优先化的补救操作选择的表格。在报告条目502中,建议将标识为“desktop_007”的计算设备替换为已经从替换选项的策划列表中选择的另一设备。即,报告条目502标识新硬件配置以替换“desktop_007”计算设备,并且还提供针对选择的原因。报告条目504和506示出了针对其他计算设备的其他排名和优先化的补救操作选择,以及其他报告条目。其他示例中使用了其他报告内容和版本。回收报告标识了哪些被计划用于替换的计算设备可以被回收给其
他具有更弱机器的用户。例如,项目经理的计算设备被选择用于刷新,并且供应给销售代表。性能不佳的硬件报告列出了性能不佳的硬件,这些硬件可能可以通过擦除存储并且重新安装os和软件而提升到更好的性能水平。在一些示例中,其他备选报告也被使用。
56.图6是说明在使用性能分析来优化硬件替换中所涉及的示例性操作的流程图600。在一些示例中,针对流程图600所描述的操作由图7的计算设备700执行。流程图600开始于操作602,其中客户环境中的it管理员针对it管理员权限内的计算设备设置it策略。在操作604中部署性能监控器代理,例如通过将它们安装在多个计算设备上。在操作606中,用户的计算设备(例如,图1的用户设备122)上的性能监控器代理将os和选择应用仪表化。在操作608中设置性能指标阈值,诸如处理器利用率、存储器利用率、存储利用率、电池寿命等。
57.计算设备利用性能监控器代理在操作610中开始,例如,通过计算设备上电或重新引导。性能监控器代理在操作612中开始收集数据。收集的数据包括引导性能、应用性能、硬件性能和企业数据。在一些示例中,引导性能数据包括核引导时间。与操作612并行地,用户在操作614期间登录,在操作616中启动应用,并且在操作618中操作计算设备。在此期间,性能监控器代理在操作612中继续收集数据。在一些示例中,收集的应用性能数据包括应用启动时间。在一些示例中,使用操作620至624来测量应用启动时间。操作620包括检测新应用窗口已经打开。操作622包括:至少基于检测到新应用窗口已经打开,确定引起新应用窗口的进程的开始时间。操作624包括:至少基于开始时间和针对应用进程的窗口打开之间的时间差,来确定应用启动时间。
58.在一些示例中,操作624排除了一些后台进程,使得应用启动时间不对至少一个后台进程进行测量。在一些示例中,硬件性能数据包括从列表所选择的至少一个数据项,该列表包括:超过阈值的处理器利用率和超过阈值的存储器利用率。在一些示例中,收集的数据还包括从列表所选择的至少一个数据项,该列表包括:登录时间、电池警告历史、存储输入/输出(i/o)性能和网络i/o性能。当用户持续操作计算设备时(例如,在用户被it管理员分配了计算设备的时间期间执行工作职责时),操作626继续从计算设备收集数据。
59.转向分析服务(例如,图1的分析服务102),操作628包括接收企业数据和来自计算设备上的仪表化os的收集的数据,收集的数据包括引导性能、应用性能和硬件性能。操作630包括从性能监控器代理接收针对计算设备的匿名收集的数据,并且还包括从多个其他性能监控器代理接收针对多个其他计算设备的匿名收集的数据。在一些示例中,数据以匿名状态被接收,并且在其他示例中,所接收的数据被分析服务的第一功能(例如,图1的数据处理器108)匿名,并且被分析服务的第二功能(例如,图1和图2的选择引擎200)匿名接收。操作632包括从所接收的匿名收集的数据来生成聚合性能指标,并且操作634包括:至少基于聚合性能指标,来检测计算设备的异常行为。如果在判定操作636中检测到异常行为,则操作638包括报告计算设备的异常行为。
60.操作640包括:至少基于收集的数据,来确定可用性得分,其中确定可用性得分包括对收集的数据执行加权计算。一些示例使用ml组件以确定可用性得分。操作642包括:至少基于可用性得分和企业数据,来确定是否需要得分改进。一些示例使用ml组件以确定是否需要得分改进。如果在决策操作644中需要得分改进,则操作646包括至少基于企业数据来确定得分改进选择。在一些示例中,得分改进选择包括从列表所选择的至少一个补救操作,该列表包括:对用于替换第一计算设备的新硬件配置的标识、更新软件以及改变引导过
程或启动过程。其他补救操作考虑。
61.参考图6a,为了创建优先的要替换的计算设备集,在操作650中对可用性得分进行排名,并且在操作652中应用企业策略,以移除或添加计算设备(例如,一些计算设备太新或太旧)。在操作654中确定补救阈值,以标识需要补救解决方案的那些计算设备。操作656确定更新软件或改变引导过程或启动过程是否就足够,或者是否确实需要替换。在操作658中再次应用企业策略,以在操作660中针对那些实际需要替换的计算设备选择特定的硬件配置(例如,一些工作职能得到笔记本计算机,而其他工作职能得到台式计算机)。在操作662中确定和测试所预期的可用性得分,并且如果不可接受,则根据判定操作664,在返回到操作662之前,在操作660中尝试另一种解决方案。返回图6,操作648然后包括:至少基于企业数据并且确定需要得分改进,来报告得分改进选择。
62.附加示例
63.本文公开的一些方面和示例指向一种用于优化硬件替换的系统,包括:第一性能监控器代理,其可操作以:从第一计算设备上的仪表化os收集数据,收集的数据包括引导性能、应用性能、和硬件性能;以及选择引擎,其可操作以:接收收集的数据和企业数据;至少基于收集的数据来确定可用性得分,其中确定可用性得分包括对收集的数据执行加权计算;至少基于可用性得分和企业数据,确定是否需要得分改进;至少基于企业数据来确定得分改进选择;以及至少基于确定需要得分改进,来报告得分改进选择。
64.本文公开的附加方面和示例指向一种优化硬件替换的方法,包括:接收企业数据和来自第一计算设备上的仪表化os的收集的数据,收集的数据包括引导性能、应用性能和硬件性能;至少基于收集的数据确定可用性得分,其中确定可用性得分包括对收集的数据执行加权计算;至少基于可用性得分和企业数据,来确定是否需要得分改进;至少基于企业数据来确定得分改进选择;以及至少基于确定需要得分改进来报告得分改进选择。
65.本文公开的附加方面和示例指向一个或多个计算机存储设备,其上存储有用于优化硬件替换的计算机可执行指令,该指令在由计算机执行时,使计算机执行操作,包括:接收企业数据和来自第一计算设备上的仪表化os的收集的数据,收集的数据包括引导性能、应用性能和硬件性能,其中引导性能数据包括核引导时间,其中应用性能数据包括应用启动时间,其中应用启动时间不对至少一个后台进程进行测量;其中应用启动时间通过以下方式被测量:检测新应用窗口已经打开;并且至少基于检测到新应用窗口已经打开,确定引起新应用窗口的进程的开始时间;并且其中硬件性能数据包括从列表所选择的至少一个数据项,该列表包括:超过阈值的处理器利用率和超过阈值的存储器利用率;至少基于收集的数据来确定可用性得分,其中确定可用性得分包括对收集的数据执行加权计算;至少基于可用性得分和企业数据,来确定是否需要得分改进;至少基于企业数据来确定得分改进选择;以及至少基于确定需要得分改进来报告得分改进选择,其中得分改进选择包括从列表所选择的至少一个补救操作,该列表:对用于替换第一计算设备的新硬件配置的标识、更新软件,以及改变引导过程或启动过程。
66.备选地,或作为本文描述的其他示例的补充,示例包括以下的任何组合:
67.‑
引导性能数据包括核引导时间;
68.‑
应用性能数据包括应用启动时间;
69.‑
应用启动时间针对至少一个后台进程不进行测量;
70.‑
应用启动时间通过以下方式测量:检测新应用窗口已经打开;以及至少基于检测到新应用窗口已经打开,确定引起新应用窗口的进程的开始时间;
71.‑
硬件性能数据包括从列表所选择的至少一个数据项,该列表包括:超过阈值的处理器利用率和超过阈值的存储器利用率;
72.‑
收集的数据还包括从列表所选择的至少一个数据项,该列表包括:登录时间、电池警告历史、存储i/o性能和网络i/o性能;
73.‑
得分改进选择包括从列表所选择的至少一个补救操作,该列表包括:对用于替换第一计算设备的新硬件配置的标识、更新软件以及改变引导过程或启动过程;
74.‑
使用ml组件来确定可用性得分或确定是否需要得分改进;
75.‑
选择引擎进一步可操作,以使用ml组件来确定可用性得分或确定是否需要得分改进;
76.‑
从第一性能监控器代理接收针对第一计算设备的匿名收集的数据;
77.‑
从多个其他性能监控器代理接收针对多个其他计算设备的匿名收集的数据;
78.‑
从接收的匿名收集的数据生成聚合性能指标;
79.‑
选择引擎进一步可操作,以:从第一性能监控器代理接收针对第一计算设备的匿名收集的数据;从多个其他性能监控器代理接收针对多个其他计算设备的匿名收集数据;以及从接收的匿名收集的数据生成聚合性能指标;
80.‑
至少基于聚合性能指标,来检测第一计算设备的异常行为;
81.‑
至少基于检测到第一计算设备的异常行为,报告第一计算设备的异常行为;以及
82.‑
选择引擎进一步可操作,以至少基于聚合性能指标,来检测第一计算设备的异常行为。
83.虽然已经根据各种示例及其相关联操作对本公开的方面进行了描述,但是本领域技术人员应当理解,来自任何数目的不同示例的操作的组合也在本公开的各方面的范围内。
84.示例操作环境
85.图7是用于实现本文所公开的方面的示例计算设备700的框图,并且被一般地指定为计算设备700。计算设备700只是适当计算环境的一个示例,并且不旨在暗示对本文所公开的示例的用途或功能的范围的任何限制。计算设备700也不应当被解释为对所说明的任何一个组件/模块或组件/模块的组合具有任何依赖性或要求。可以在计算机代码或机器可用指令的一般上下文中描述本文公开的示例,包括由计算机或其他机器(诸如,个人数据助理或其他手持设备)执行的计算机可执行指令,诸如程序组件。通常,程序组件(包括例程、程序、对象、组件、数据结构等)是指执行特定任务或实现特定抽象数据类型的代码。所公开的示例可以在各种系统配置中被实践,包括个人计算机、膝上型计算机、智能电话、移动平板、手持设备、消费电子、专业计算设备等。当任务由通过通信网络链接的远程处理设备执行时,所公开的示例也可以在分布式计算环境中被实践。
86.计算设备700包括直接或间接耦合以下设备的总线710:计算机存储存储器712、一个或多个处理器714、一个或多个呈现组件716、i/o端口718、i/o组件720、电源722和网络组件724。虽然计算机设备700被描绘为看似单一的设备,但是多个计算设备700可以一起工作并且共享所描绘的设备资源。例如,存储器712可以跨多个设备分布,并且处理器714可以与
不同的设备一起被容纳。
87.总线710表示什么可以是一个或多个总线(诸如,地址总线、数据总线或其组合)。虽然为了清楚起见,利用线示出了图7的各个框,描绘各种组件可以利用备选的表示来完成。例如,在一些示例中,诸如显示设备的呈现组件是i/o组件,并且处理器的一些示例具有它们自己的存储器。在诸如“工作站”、“服务器”、“膝上型计算机”、“手持设备”等类别之间不做区分,因为所有这些都被考虑在图7以及本文对“计算设备”的引用的范围内。存储器712可以采用下面引用的计算机存储介质的形式,并且可操作地针对计算设备700提供计算机可读指令、数据结构、程序模块和其他数据的存储。在一些示例中,存储器712存储以下中的一个或多个:操作系统、通用应用平台或其他程序模块和程序数据。因此,存储器712能够存储和访问被配置成实现本文公开的各种操作的指令。
88.在一些示例中,存储器712包括易失性和/或非易失性存储器、可移动或不可移动存储器、虚拟环境中的数据盘或其组合的形式的计算机存储介质。存储器712可以包括与计算设备700相关联或可由计算设备700访问的任何数量的存储器。存储器712可以在计算设备700内部(如图7中所示)、在计算设备700外部(未示出),或者两者(未示出)。存储器712的示例包括但不限于随机存取存储器(ram);只读存储器(rom);电子可擦可编程只读存储器(eeprom);闪存或其他存储器技术;cd

rom、数字多功能盘(dvd)或其他光学或全息媒体;盒式磁带、磁带、磁盘存储或其他磁性存储设备;接线到模拟计算设备的存储器;或用于对所需信息进行编码并且由计算设备700访问的任何其他介质。附加地或备选地,存储器712可以跨多个计算设备700分布,例如,在多个设备700上实施指令处理的虚拟化环境中。出于本公开的目的,“计算机存储介质”、“计算机存储存储器”、“存储器”和“存储器设备”是计算机存储存储器712的同义术语,并且这些术语均不包括载波或传播信号。
89.(多个)处理器714可以包括从各种实体(诸如,存储器712或i/o组件720)读取数据的任何数量的处理单元。具体地,(多个)处理器714被编程为执行计算机可执行指令以实现本公开的方面。指令可以由处理器、由计算设备700内的多个处理器或由客户端计算设备700外部的处理器执行。在一些示例中,(多个)处理器714被编程为执行指令,诸如在下面讨论的流程图中说明和在附图中描绘的那些指令。此外,在一些示例中,(多个)处理器714表示用于执行本文描述的操作的模拟技术的实现。例如,操作可以由模拟客户端计算设备700和/或数字客户端计算设备700执行。呈现组件716向用户或其他设备呈现数据指示。示例性呈现组件包括显示设备、扬声器、打印组件、振动组件等。本领域技术人员将理解和意识到,可以以多种方式呈现计算机数据,诸如在图形用户界面(gui)中视觉呈现、通过扬声器可听地呈现、在计算设备700之间无线地呈现、跨有线连接呈现或以其他方式呈现。i/o端口718允许计算设备700逻辑地耦合到包括i/o组件720的其他设备,其他设备中一些可以是内置的。示例i/o组件720包括,例如但不限于,麦克风、操纵杆、游戏手柄、卫星天线、扫描仪、打印机、无线设备等。
90.计算设备700可以使用到一个或多个远程计算机的逻辑连接,经由网络组件724在联网环境中操作。在一些示例中,网络组件724包括网络接口卡和/或用于操作网络接口卡的计算机可执行指令(例如,驱动器)。计算设备700与其他设备之间的通信可以通过任何有线连接或无线连接使用任何协议或机构进行。在一些示例中,网络组件724可操作以在无线使用短程通信技术(例如,近场通信(nfc)、蓝牙
tm
品牌通信等)或其组合的设备之间使用传
送协议通过公共、私有或混合(公共和私有)传输数据。网络组件724通过无线通信链路726和/或有线通信链路726a跨网络730与云资源728通信。通信链路726和726a的各种不同示例包括无线连接、有线连接和/或专用链路,并且在一些示例中,至少一部分通过因特网路由。
91.尽管结合示例计算设备700进行了描述,但是本公开的示例能够使用许多其他通用或专用计算系统环境、配置或设备来实现。可能适合与本公开的各方面一起使用的众所周知的计算系统、环境和/或配置的示例包括但不限于智能电话、移动平板、移动计算设备、个人计算机、服务器计算机、手持式设备或膝上型计算机设备、多处理器系统、游戏控制台、基于微处理器的系统、机顶盒、可编程消费者电子产品、移动电话、可穿戴式或配件形状因子(例如,手表、眼镜、耳机,或听筒)中的移动计算和/或通信设备、网络pc、小型计算机、大型计算机、包括上述系统或设备中的任一系统或设备的分布式计算环境、虚拟现实(vr)设备、增强现实(ar)设备、混合显示(mr)设备、全息设备等。这种系统或设备可以经由手势输入、接近输入(诸如,通过悬停)和/或经由话音输入以任何方式接受来自用户(包括来自诸如键盘或指向设备的输入设备)的输入。
92.本公开的示例可以在诸如由一个或多个计算机或其他设备以软件、固件、硬件或其组合执行的程序模块的计算机可执行指令的一般背景中进行描述。计算机可执行指令可以被组织成一个或多个计算机可执行组件或模块。通常,程序模块包括但不限于执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件和数据结构。本公开的方面可以利用任何数目和组织的这种组件或模块来实现。例如,本公开的方面不限于图中所示和本文描述的特定计算机可执行指令或特定组件或模块。本公开的其他示例可以包括功能性比本文所示和描述的功能性多或少的不同的计算机可执行指令或组件。在涉及通用计算机的示例中,当被配置成执行本文描述的指令时,本公开的方面将通用计算机转换为专用计算设备。
93.作为示例而非限制,计算机可读介质包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实现的易失性存储器和非易失性存储器、可移动存储器和不可移动存储器,用于存储诸如计算机可读指令、数据结构、程序模块等的信息。计算机存储介质是有形介质,并且与通信介质互斥。计算机存储介质以硬件实现,并且把载波和传播信号排除在外。出于本公开的目的,计算机存储介质本身不是信号。示例性计算机存储介质包括硬盘、闪存驱动器、固态存储器、相变随机存取存储器(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦可编程只读存储器(eeprom)、闪存或其他存储器技术、压缩盘只读存储器(cd

rom)、数字通用磁盘(dvd)或其他光学存储、盒式磁带、磁带、磁盘存储设备或其他磁性存储设备,或能够用来存储信息以供计算设备访问的任何其他非传输介质。相比之下,通信介质通常在诸如载波或其他传输机制的经调制数据信号中体现计算机可读指令、数据结构、程序模块等,并且包括任何信息递送介质。
94.本文所示和描述的本公开的示例中的操作的执行或履行的顺序不是必需的,并且在各种示例中可以以不同的顺序方式被执行。例如,预期了,在另一个操作之前、同时或之后执行或履行特定操作在本公开的各方面的范围内。当介绍本公开的各方面或其示例的元素时,冠词“一”、“一个”、“该”和“所述”旨在表示存在元素中的一个或多个元素。术语“包含”、“包括”和“具有”旨在是包括性的,并且意指可以存在除了所列元素之外的附加元素。
术语“示例性”旨在意指“...的示例”。短语“以下中的一个或多个:a、b和c”意指“a中的至少一个和/或b中的至少一个和/或c中的至少一个”。
95.已经详细描述了本公开的各方面,将明显的是,在不脱离如所附权利要求中限定的本公开的各方面的范围的情况下,修改和变化是可能的。由于在不脱离本公开的各方面的范围的情况下,可以对上述构造、产品和方法进行各种改变,所以意图在于,被包含在以上描述中以及在附图中示出的所有内容应当被解释为说明性而不是以限制性意义解释。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1