CN114616549A - 选择性地节制企业中的配置更改的实施 - Google Patents
选择性地节制企业中的配置更改的实施 Download PDFInfo
- Publication number
- CN114616549A CN114616549A CN202080076698.9A CN202080076698A CN114616549A CN 114616549 A CN114616549 A CN 114616549A CN 202080076698 A CN202080076698 A CN 202080076698A CN 114616549 A CN114616549 A CN 114616549A
- Authority
- CN
- China
- Prior art keywords
- implementation
- score
- client devices
- enterprise
- subset
- 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
Links
- 230000008859 change Effects 0.000 claims abstract description 114
- 238000000034 method Methods 0.000 claims abstract description 105
- 230000015654 memory Effects 0.000 claims description 29
- 230000009471 action Effects 0.000 claims description 24
- 230000004044 response Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 11
- 238000007726 management method Methods 0.000 description 86
- 238000004458 analytical method Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 230000003287 optical effect Effects 0.000 description 10
- 238000012544 monitoring process Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 4
- 238000006731 degradation reaction Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013024 troubleshooting Methods 0.000 description 3
- 230000002155 anti-virotic effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000007943 implant Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000012466 permeate Substances 0.000 description 1
- 230000003334 potential effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000003826 tablet Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0709—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3409—Recording 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
- G06F11/3495—Performance evaluation by tracing or monitoring for systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/0816—Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
本文描述了能够选择性地节制企业中的配置更改的实施的技术。例如,通过在配置更改的实施的相应下一阶段之前的相应阶段期间对每个子集执行操作,来在相应的时间段期间选择性地节制在相应客户端子集上的实施的增量阶段。这些操作包括从子集中的客户端搜集有关该阶段的信息;至少部分地基于该信息来生成得分,该得分指示在该阶段期间与实施相关联的度量被满足的程度;将该得分与该子集的参考得分进行比较以确定该得分是否在与该参考得分相关联的容限内;并且至少部分地基于得分是否在容限内来选择性地节制实施的下一阶段。
Description
背景技术
企业的信息技术(IT)管理员经常全部一次性管理对企业的配置更改(例如,软件部署),并且不会注意到与配置更改相关联的故障或倒退直到最终用户向管理员报告此类故障或倒退。以这种方式管理配置更改对于管理员来说效率相对较低,并且由于与故障或倒退相关联的生产力损失,对于企业所属的企业来说可能代价高昂。
在管理配置更改时,管理员常常考虑以下目标:保持低停机时间;保持低成本;并且提高企业最终用户的用户体验。但是,在配置更改的实施完成之后,在不对配置更改进行A/B测试的情况下,管理员可能无法确定为管理配置更改而执行的操作是否有效。由于每个企业的层次结构可能与其他企业完全不同,因此很难知道采取哪些动作能将成本最小化同时将管理效率最大化。这种模糊性可能导致配置更改的管理效率低下。
传统上,如果关于配置更改的实施发生倒退,则最终用户会有倒退的体验。在许多情况下,执行错误的配置更改提供的结果比什么都不做更不理想。
发明内容
本文描述了各种方法,尤其是用于选择性地节制企业中的配置更改的实施。例如,企业中的客户端设备可以被划分成群组。可以基于各种因素中的任何一种来选择每个群组中的客户端设备(例如,提供企业中的客户端设备整体的统计代表性样本)。可以一次在客户端设备的一个群组上实施配置更改。在每个群组中,可以在群组中的客户端设备的相应子集上分阶段实施配置更改。有关实施的该阶段的信息可以被用来确定(例如,自动确定)实施的下一阶段是否要被节制。例如,如果实施的该阶段对与子集中的客户端设备相关联的最终用户的用户体验产生负面影响,则实施的下一阶段可能会受到节制(例如,自动纠正引起用户体验下降的问题或使得管理员能够手动执行动作以尝试纠正问题)。
***管理通常是指分布式***(例如,计算机***)的企业范围管理。可以经由***管理来执行的一些示例任务包括但不限于反操纵管理、反病毒和反恶意软件管理、安全管理、存储管理、容量监控、服务器可用性监控和度量、用户活动的监控、网络容量和利用率监控、硬件清单以及软件清单和安装。***管理常常包括各种功能组件,包括但不限于数据中心基础设施管理、帮助台管理、网络管理、安全信息和事件管理以及配置管理。配置管理通常***地处理***中的更改以维持***的完整性。可以出于有益目的实施此类更改,包括但不限于:修改***的能力;提高***的性能、可靠性和/或可维护性;延长***的寿命;降低***的成本、风险和/或责任;并纠正***的(多个)缺陷。
在示例方法中,通过在配置更改的实施的相应下一阶段之前的相应阶段期间对每个子集执行操作,来在相应的连续时间段期间选择性地节制(例如,自动选择性地节制)企业中的多个客户端设备的相应子集上的配置更改的实施的增量阶段。操作包括从子集中的客户端设备搜集有关实施的该阶段的信息。操作还包括至少部分地基于所述信息来生成得分,该得分指示在该阶段期间与实施相关联的度量被满足的程度。操作还包括将得分与针对子集的参考得分进行比较以确定得分是否在与参考得分相关联的指定容限内。操作还包括至少部分地基于得分是否在与参考得分相关联的指定容限内来选择性地节制实施的下一阶段。
本发明内容被提供来以简化的形式介绍将在下面的详细描述中进一步描述的一系列概念。本发明内容并不旨在识别所要求保护的主题的关键特征或必要特征,也不旨在被用来限制所要求保护的主题的范围。此外,应注意,本发明不限于在详细描述和/或本文档的其他部分中描述的特定实施例。这些实施例在本文中仅出于说明性目的而被呈现。基于本文中所包含的教导,另外的实施例对于(多个)相关领域的技术人员将是显而易见的。
附图说明
被并入本文中并形成说明书一部分的附图图示了本发明的实施例,并且与说明书一起进一步用于解释所涉及的原理并使得(多个)相关领域的技术人员能够制造和使用所公开的技术。
图1是根据实施例的示例选择性节制***的框图。
图2描绘了根据实施例的用于选择性地节制在企业中的多个客户端设备的相应子集上的配置更改的实施的增量阶段的示例方法的流程图。
图3是根据实施例的示例性计算***的框图。
图4是图示了根据实施例的用于实施配置更改的相应增量阶段的客户端设备子集的示例选择的图。
图5和图6是图示了根据实施例的关于被包括在公共群组中并且对应于实施配置更改的相应阶段的客户端设备的子集的示例自动倒退分析技术的执行的图。
图7示出了根据实施例的用于计算针对一个或多个设备的得分的示例伪代码。
图8描绘了可以在其中实施实施例的示例计算机。
所公开技术的特征和优点将在结合附图时从下文阐述的详细描述中变得更加明显,其中相同的附图标记自始至终标识对应的元件。在附图中,相似的附图标记通常指示相同的、功能相似的和/或结构相似的元件。元件首次出现的附图由对应的附图标记中最左边的(多个)数字来指示。
具体实施方式
一、简介
以下详细描述参考了图示本发明的示例性实施例的附图。然而,本发明的范围不限于这些实施例,而是由所附权利要求来限定。因此,附图中所示出的实施例之外的实施例,诸如所图示的实施例的修改版本,仍然可以被本发明所涵盖。
在说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用指示所描述的实施例可以包括特定的特征、结构或特性,但是每个实施例可以不一定包括特定的特征、结构或特性。此外,这些短语不一定指的是相同的实施例。此外,当结合实施例描述特定的特征、结构或特性时,无论是否明确描述,相关领域的技术人员都知道结合其他实施例来实现这样的特征、结构或特性。
诸如“第一”、“第二”、“第三”等等之类的描述符被用来引用本文讨论的一些元件。这样的描述符被用来促进对示例实施例的讨论并且不指示所引用的元件的所需顺序,除非在本文中做出了肯定的声明,即需要这样的顺序。
二、示例实施例
本文描述的示例实施例能够选择性地节制企业中的配置更改的实施。例如,企业中的客户端设备可以被划分成群组。可以基于各种因素中的任何一种来选择每个群组中的客户端设备(例如,提供企业中的客户端设备整体的统计代表性样本)。可以一次在客户端设备的一个群组上实施配置更改。在每个群组中,可以在群组中的客户端设备的相应子集上分阶段实施配置更改。有关实施的该阶段的信息可以被用来确定实施的下一阶段是否要被节制。例如,如果实施的该阶段对与子集中的客户端设备相关联的最终用户的用户体验产生负面影响,则实施的下一阶段可能会受到限制(例如,自动纠正引起用户体验下降的问题或使得管理员能够手动执行操作以尝试纠正问题)。
***管理通常是指分布式***(例如,计算机***)的企业范围管理。可以经由***管理来执行的一些示例任务包括但不限于反操纵管理、反病毒和反恶意软件管理、安全管理、存储管理、容量监控、服务器可用性监控和度量、用户活动的监控、网络容量和利用率监控、硬件清单以及软件清单和安装。***管理通常包括各种功能组件,包括但不限于数据中心基础设施管理、帮助台管理、网络管理、安全信息和事件管理以及配置管理。配置管理通常***地处理***中的更改以维持***的完整性。可以出于有益目的实施此类更改,包括但不限于:修改***的能力;提高***的性能、可靠性和/或可维护性;延长***的寿命;降低***的成本、风险和/或责任;并纠正***的(多个)缺陷。
与用于在企业中实施配置更改的常规技术相比,本文描述的示例技术具有多种益处。例如,示例技术可以能够选择性地节制实施以控制实施渗透通过企业中的客户端设备群组的速率。示例技术可以能够在实施配置更改之前预测配置更改的实施将对(多个)得分产生的影响(例如,负面影响)。示例技术可以确定关于配置更改的实施的问题的来源、预测由实施导致的企业中的客户端设备的性能下降、以及解决该问题的解决方案。示例技术可以基于预测来确定是否实施配置更改和/或是否通知企业的信息技术(IT)管理员关于实施的可能问题和/或其解决方案。
示例技术可以减少在企业中实施配置更改所消耗的时间和/或资源(例如,处理器周期、存储器、网络带宽)的量。例如,通过采用本文描述的技术,可以减少达到合规性阈值所消耗的时间量。合规性阈值可以被定义为在指定时间段内将在其上实施配置更改的企业中的客户端设备的指定比例。
示例技术可以提高企业的IT管理员的效率。例如,示例技术可以增加提供给IT管理员的关于配置更改的实施的数据驱动的信息量,这可以增加IT管理员对实施结果的信心。例如,可以向IT管理员提供反应性反馈,以提醒IT管理员在其上发生配置更改的实施的客户端设备的得分在统计上的显著降低。通过增加提供给IT管理员的数据驱动的信息量和/或执行动作(例如,随着实施的进度实时地)以解决与实施相关联的问题,示例技术可以减少由IT管理员执行的许多步骤、IT管理员花费的工作量和/或IT管理员监督企业中的配置更改的实施所花费的时间量。示例技术可以降低与在企业中实施配置更改相关联的成本。例如,通过增加提供给IT管理员的数据驱动的信息量和/或执行动作以解决与实施相关联的问题,IT管理员不必花时间审查实施的进度以确定问题的潜在来源和/或为解决问题而执行的潜在动作。减少IT管理员为了检查实施的进度所花费的时间导致与IT管理员相关联的成本降低。
示例技术可以提高企业中的最终用户的效率。示例技术可以减轻(例如,消除)与最终用户的配置更改的实施相关联的生产力损失。通过减轻最终用户的生产力损失,示例技术可以降低实施配置更改的成本。
示例技术可以提高IT管理员用来执行***管理操作的计算***的效率。例如,示例技术可以比传统技术更快地检测到配置更改的实施期间的故障或倒退(regression)。根据该示例,可以自动检测故障或倒退(例如,无需来自IT管理员的输入)。示例技术可以自动解决检测到的问题,自动将问题和/或关于问题的解决方案通知IT管理员等。示例技术可以能够随着配置更改的实施进展从实施的一个阶段到下一个阶段而实时地解决此类问题。
倒退分析可以被用来对企业中的配置更改的实施进行操作化,并确定有更改和没有更改的客户端设备的得分在统计上的显著降低,并据此采取动作或提供洞察力,以使得IT管理员可以采取最适当的向前推进的动作。
示例技术可以向IT管理员提供反应性反馈,以提醒IT管理员对于有更改或没有更改的设备的得分在统计上的显著降低,而不是等待配置更改(例如,软件部署)的整个实施以完成检测倒退。通过使用自动部署规则(ADR)为配置更改的实施创建群组,示例技术可以驱动客户端设备子集中的实施,并在问题升级之前监控实施的影响。示例技术可以确定针对所述实施最佳客户端设备是什么,并且创建实施被推送到的各种尺寸的子集。
为了促进示例技术的有效性,可能期望的是具有关于什么是倒退的良好度量并且具有良好的信噪比。示例技术可以使用各种倒退度量,这些倒退度量在客户端设备接收其配置更改的实施时被验证,并且基于来自客户端设备的响应,确定向前推进的高效和有效的动作。在每个客户端设备上实施配置更改之后,测量各种度量并且可以将它们编译在一起以形成得分。如果部署在统计上显著降低了客户端设备的得分,那么可能会停止自动实施。通过将这些度量与第三方所分析的度量(例如,与客户端设备的快照相关)联系起来,示例技术可以直接从客户端设备实时拉取度量,以监控客户端设备上的实施的影响。停止后,IT管理员(如果IT管理员选择这样做)可以恢复配置更改的实施——尽管提供了分析,或者可以被提供故障排除信息,其允许IT管理员可以对环境进行更改以改进计算设备的后续子集的实施。
由于该模型扩展并从其客户端设备选择中学习并考虑配置更改的实施对企业中的客户端设备产生的影响,所以示例技术可以在实施配置更改之前做出预测以确定管理员是否应该向前推进。
示例技术提供了各种自动化洞察力和益处,以帮助减轻在配置更改的实施期间出现的问题。当管理员着手实施配置更改时,ADR被用来创建统计上最理想的客户端机器群组,以尝试配置更改的实施。使用这些客户端设备群组,示例技术然后可以通过分阶段实施来驱动每个群组中的客户端设备的子集,密切监控在每个阶段的实施的影响。通过使用通过专有得分的分析和倒退分析,示例技术可以确定(a)配置更改的实施是否应该在不断增加的阶段向前推进并部署到更多的客户端设备,或者(b)是否停止实施并通知管理员在统计上最理想的动作向前推进。在对提供实施的反馈采取动作之后,示例技术可以继续一个新阶段,并且增加受影响设备的得分,从对先前动作的响应中学习,并在未来的实施中利用这些学习。通过从过去的动作中进行学习来提供相对较高的信噪比,与传统技术相比,示例技术可以提供更改善的用户体验,以满足在实施期间出现的需求和问题,同时最小化最终用户影响。
测量倒退的数据输入的示例包括但不限于启动时间、应用崩溃、中央处理器(CPU)使用、随机存取存储器(RAM)使用、磁盘使用、网络使用、错误消息、第三方数据(例如,Desktop AnalyticsTM数据)、计算机硬件数据和软件数据。Desktop AnalyticsTM软件由微软公司开发并发布。
得分可以是倒退测量、第三方度量和环境缩放的加权平均,用于指示配置更改的实施如何影响客户端设备。通过利用配置更改实施对过去客户端设备的影响,该模型可以为其他子集中的其他客户端设备以及类似类型的未来客户端设备提供对实施的预测。通过对配置更改的实施、影响的区域和客户端设备的类型进行分类,可以创建得分以指示IT管理员是否应该向前推进实施。通过跟踪哪些环境、软件和/或硬件因素影响配置更改的实施以导致净正得分,示例技术可以提供对相对可能改进实施的动作的洞察力(例如,通过减少由此产生的问题的数量和/或严重性),并在需要时对环境进行更改以对环境产生统计上最理想的影响。
为了成功地执行倒退分析,确定客户端设备群组,该群组可以促进准确确定配置更改的实施是导致净正得分还是负得分。为了减轻由此产生的噪音,包括测量倒退的输入在内的度量被读取。从第三方搜集的先前的实施成功、错误消息、客户端运行状况、设备版本和度量可以被用来为群组选择客户端设备。通过从过去的实施和后续子集中进行学习,该群组可能会不断演变,分析可以轮换该群组中的客户端设备以用于未来的实施。实施的每个阶段都可能影响不同的客户端设备,目的是提供反映环境中的所有客户端设备的健壮测试环境。为了实现这一目标,考虑准确反映环境构成的各种各样的客户端设备类型,以使得该群组是环境的准确表示,这可以随着实施进展通过各个阶段而提供准确的反馈循环。
图1是根据实施例的示例选择性节制***100的框图。一般而言,选择性节制***100操作来执行关于用户设备(又名客户端设备)102A-102M的***配置操作。如图1中所示,选择性节制***100包括企业108和(多个)***管理服务器110。企业108包括用户设备102A-102M、网络104和管理***106。用户设备102A-102M、管理***106和(多个)***管理服务器110之间的通信使用众所周知的网络通信协议在网络104上执行。网络104可以是广域网(例如,互联网)、局域网(LAN)、另一种类型的网络或它们的组合。
用户设备102A-102M是能够与管理***106通信的处理***。处理***的示例是包括能够根据指令集来操纵数据的至少一个处理器的***。例如,处理***可以是计算机、个人数字助理等。用户设备102A-102M被配置为向服务器(未示出)提供请求以用于请求存储在服务器上(或以其他方式可经由服务器访问)的信息。例如,用户可以使用部署在用户拥有或以其他方式可访问的用户设备上的客户端(例如,Web浏览器或其他类型的客户端)发起用于执行计算机程序(例如,应用)的请求。根据一些示例实施例,用户设备102A-102M能够访问由服务器托管的域(例如,网站),使得用户设备102A-102M可以访问经由域可用的信息。例如,这样的域可以包括网页,网页可以作为超文本标记语言(HTML)文档和链接在其中的对象(例如文件)而被提供。
用户设备102A-102M中的每一个可以包括任何启用客户端的***或设备,包括但不限于台式计算机、膝上型计算机、平板计算机、诸如智能手表或头戴式计算机之类的可穿戴计算机、个人数字助理、蜂窝电话、物联网(IoT)设备等。将认识到,任何一个或多个用户设备102A-102M可以与任何一个或多个服务器通信。
用户设备102A-102M还被配置为自动地或响应于来自管理***106的查询而向管理***106提供信息。例如,这样的信息可以与用户设备102A-102M的硬件和/或软件配置(例如,其更新)、用户设备102A-102M的工作负载、用户设备上的资源利用等有关。
管理***106是能够与用户设备102A-102M通信的处理***。管理***106被配置为响应于从企业108的IT管理员接收到的指令而执行促进企业108的***管理的操作。例如,管理***106可以向(多个)***管理服务器110提供命令,指示将由(多个)***管理服务器110执行的动作,以用于执行企业108的***管理。在另一个示例中,管理***106可以向用户设备102A-102M提供对信息的请求。IT管理员可以至少部分地基于从用户设备102A-102M接收到的信息来做出关于用户设备102A-102M和/或网络104的***管理的决定。将认识到,至少一些(例如,全部)信息可以由(多个)***管理服务器110而不是由管理***106搜集。
(多个)***管理服务器110是能够与企业108通信的处理***。例如,(多个)***管理服务器110可以能够与企业108中的管理***106和/或用户设备102A-102M通信。(多个)***管理服务器110包括选择性节制逻辑112。选择性节制逻辑112被配置为向管理服务器106和/或用户设备102A-102M提供信息和/或从管理服务器106和/或用户设备102A-102M搜集信息以用于执行企业108的***管理。例如,选择性节制逻辑112可以将信息推送到用户设备102A-102M或响应于从用户设备102A-102M接收到的请求而提供信息。请求可以是用户生成的或在没有用户干预的情况下生成的。例如,应用于用户设备的策略无需明确的用户请求即可完成。根据该示例,即使用户未登录到用户设备,策略也会在后台被应用。还根据该示例,用户设备(例如,在其上的代理)可以基于时间表(例如,每小时一次)或基于事件(例如,设备唤醒、用户解锁等)为策略而对服务器进行轮询。还根据该示例,服务器可以经由开放的HTTP端点而将策略推送到用户设备(例如,在其上的代理)。
出于非限制性说明性目的,(多个)***管理服务器110被示为在企业108的外部。例如,***管理服务提供者可以拥有或控制(多个)***管理服务器110并托管***管理服务,该***管理服务由选择性节制逻辑112提供给拥有和/或控制管理***106的实体。根据该示例,实体可以订阅***管理服务。将认识到,(多个)***管理服务器110可以被包括在企业108中。例如,(多个)***管理服务器110可以位于拥有和/或控制管理***106的实体的环境中。
根据本文描述的示例实施例,选择性节制逻辑112通过在配置更改的实施的相应下一阶段之前的相应阶段期间对每个子集执行操作,来在相应的连续时间段期间选择性地节制用户设备102A-102M的相应子集上的配置更改的实施的增量阶段。该操作包括从子集中的用户设备搜集有关实施的该阶段的信息。该操作还包括至少部分地基于该信息来生成得分,该得分指示在该阶段期间与实施相关联的度量被满足的程度。该操作还包括将得分与针对该子集的参考得分进行比较以确定得分是否在与参考得分相关联的指定容限内。该操作还包括至少部分地基于得分是否在与参考得分相关联的指定容限内来选择性地节制实施的下一阶段。
将认识到,上述功能中的至少一些可以由管理***106实现,而不是由选择性节制逻辑112实现。例如,如果管理员不想向(多个)***管理服务器110提供信息并且相反希望仅从(多个)***管理服务器110接收信息,则管理***106可以从子集中的用户设备搜集有关实施的该阶段的信息。管理***106可以至少部分地基于该信息来生成得分。管理***106可以将得分与针对该子集的参考得分进行比较以确定得分是否在指定容限内,或者管理***106可以将得分提供给(多个)***管理服务器110以与针对该子集的参考得分进行比较。如果管理***106将得分与针对该子集的参考得分进行比较,则管理***106可以向(多个)***管理服务器110提供容限指示符,指示得分是否在指定容限内。
选择性节制逻辑112可以以各种方式来实现以提供企业中的动作的推荐,包括以硬件、软件、固件或其任何组合来实现。例如,选择性节制逻辑112的至少一部分可以被实现为被配置为在一个或多个处理器中执行的计算机程序代码。在另一示例中,选择性节制逻辑112的至少一部分可以被实现为硬件逻辑/电路。例如,选择性节制逻辑112的至少一部分可以被实现在现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、***片上***(SoC)、复杂可编程逻辑器件(CPLD)等中。每个SoC可以包括集成电路芯片,该集成电路芯片包括以下中的一个或多个:处理器(例如,微控制器、微处理器、数字信号处理器(DSP)等)、存储器、一个或多个通信接口和/或用于执行其功能的其他电路和/或嵌入式固件。
出于说明性目的并且不旨在进行限制,选择性节制逻辑112被示出为被合并在(多个)***管理服务器110中。将认识到,选择性节制逻辑112(或其任何部分)可以被合并在用户设备102A-102M中的任何一个或多个和/或管理***106中。例如,选择性节制逻辑112的客户端方面可以被合并在用户设备102A-102M中的任何一个或多个和/或管理***106中,并且选择性节制逻辑112的服务器端方面可以被合并在(多个)***管理服务器110中。
图2描绘了根据实施例的用于选择性地节制在企业中的多个客户端设备(例如,最终用户设备)的相应子集上的配置更改的实施的增量阶段的示例方法的流程图200。配置更改的实施示例包括但不限于软件的部署和磁盘加密的启用。例如,流程图200可以由(多个)***管理服务器110、管理***106或它们的组合来执行,如图1中所示。出于说明性目的,流程图200是关于图3中所示的计算***300来描述的,其可以是(多个)***管理服务器110、管理***106或它们的组合的示例实现。如图3中所示,计算***300包括选择性节制逻辑302。选择性节制逻辑302包括客户端选择逻辑304、评分逻辑306、比较逻辑308、阶段节制逻辑310和问题逻辑312。基于关于流程图200的讨论,另外的结构和操作实施例对于相关领域的技术人员将是显而易见的。
如图2中所示,流程图200的方法开始于步骤202。在步骤202中,执行实施的指定阶段。在示例实现中,阶段节制逻辑310执行实施的指定阶段。
在步骤204处,从子集中的客户端设备搜集有关实施的指定阶段的信息。信息示例包括但不限于:
-***启动时间(包括核心启动时间);
-登录时间;
-应用启动时间(例如,从应用启动时到用户能够与应用交互时的时间);
-处理器利用率超过阈值的总持续时间和/或次数;
-存储器利用率超过阈值的总持续时间和/或次数;
-存储器I/O操作超过阈值的总持续时间和/或次数;
-网络I/O操作超过阈值的总持续时间和/或次数;
-存储利用率;
-用户设备利用率(例如,用户设备开启和用户与设备交互的小时数);
-电池利用率和电池警告历史;
-健康指示符:意外重启的频率和数量、预期的电池寿命、预期的硬盘寿命、驱动程序崩溃的频率和数量、应用崩溃的频率和数量。
上面提及的任何示例值可以是平均值和/或可以按阶段(即,每阶段)来计算。例如,可以基于(例如,仅)在实施的指定阶段期间执行的测量来计算上面提及的任何示例值。信息的任何部分都可以匿名或非匿名。匿名的信息(即匿名信息)不能识别从中搜集匿名信息的客户端设备。因此,匿名信息可能无法被追溯到从中搜集匿名信息的客户端设备。非匿名的信息(即非匿名信息)识别从中搜集非匿名信息的客户端设备。因此,非匿名信息可以能够被追溯到从中搜集非匿名信息的客户端设备。在示例实现中,评分逻辑306搜集信息318,其包括关于实施的指定阶段的信息。
为了测量客户端设备的启动时间,可以启用启动跟踪并且一旦客户端设备的操作***(OS)可以这样做就开始对事件进行日志记录。对各个阶段进行日志记录,并且这些日志可用于测量客户端设备从开机到出现登录屏幕的启动性能。核心启动时间作为一个相对一致的性能指示符而被测量。核心启动时间包括启动操作***并加载服务。此外,测量并收集登录和执行要在客户端设备上执行的第一应用之间的时间。解析事件日志以确定特定于客户端设备的硬件的启动时间,并且因此不包括由用户交互引入的延迟。一般来说,核心启动时间不受其他设备自定义的影响,诸如已安装的应用和企业IT策略强制实行。但是,稍后的启动阶段通常会受到设备自定义的影响。提取策略(例如,在允许用户访问客户端设备之前显示用户同意屏幕时)可能涉及网络延迟,并且因此通常不是衡量客户端设备的固有性能的良好测量。此外,操作***和应用更新可能会驱动延迟时间变化很大,并且因此可能不是设备表征的准确指示符。因此,通过执行日志解析,在如下文参考步骤206所述生成得分时可以从考虑中忽略硬件控制之外的一些因素。登录时间(即,从用户输入密码直到用户可以启动应用为止的时间)也被搜集。
应用还被检测以确定启动时间。应用的启动时间是从用户选择发起应用的执行的图标(例如,通过用定点设备轻敲或点击)到应用准备好使用的时间。在一些示例中,这通过检测新应用窗口已经打开然后确定引发新应用窗口的进程在多长时间前开始来有效地完成。由于用户通常只注意到与用户交互的前台应用,因此在一些示例中,没有针对一些或所有后台进程测量应用启动时间。与客户端设备的电池有关的信息可以指示(例如,指定)显示低电池电量警告的次数(电池警告历史),这指示电池容量对于用户是否足够。与电池有关的信息可以指示用户可以在充电之间使用客户端设备多长时间。有关CPU和存储器峰值超过阈值的信息也被搜集,因为用户可能会注意到此类事件。在一些示例中,75%或80%的阈值被用于处理器利用率和存储器利用率。在一些示例中,存储I/O性能和网络I/O性能(诸如滞后时间)被收集。收集的该数据指示特定的硬件性能,但是当与企业数据结合或比较时,所搜集的数据可以被用来确定性能是否是可接受的,或者是否建议和/或需要改进。
在步骤206处,至少部分地基于该信息来生成得分(也被称为用户得分或用户体验得分),该得分指示在指定阶段期间与实施相关联的度量被满足的程度。在示例实现中,评分逻辑306至少部分地基于信息318来生成得分326,其指示在指定阶段期间与实施相关联的度量被满足的程度。
在示例实施例中,可以通过对关于实施的指定阶段的信息执行加权计算(例如,加权组合)来生成得分。例如,得分可以是与相应度量相关联的测量的加权平均。可以执行机器学***上的人类感知相匹配。在一些示例中,使用了规则集合,而不是ML。
度量是与客户端设备的性能相关的阈值。度量的示例包括但不限于最大启动时间;最大登录时间;最大应用启动时间;处理器或存储器利用率超过阈值的最大持续时间;处理器或存储器利用率超过阈值的最大次数;存储器或网络I/O操作超过阈值的最大持续时间;存储器或网络I/O操作超过阈值的最大次数;最大存储利用率;最大用户设备利用率;最大电池利用率;由客户端设备提供电池警告的最大次数;意外重启的最大频率或数量;最低预期电池寿命或硬盘寿命;驱动程序崩溃的最大频率或数量;以及应用崩溃的最大频率或数量。在一些示例中,处理器利用率、存储器利用率、存储装置利用率、用户设备利用率和/或电池利用率的阈值可以是70%、75%、80%或85%。
在步骤208处,将得分与针对该子集的参考得分进行比较以确定得分是否在与参考得分相关联的指定容限内。例如,指定容限可以是第一值和第二值之间的范围。根据该示例,第一值等于参考得分减去指定值,并且第二值等于参考得分加上指定值。
在示例实现中,比较逻辑308将得分326与参考得分320进行比较以确定得分326是否在与参考得分326相关联的指定容限内。得分320在指定容限内指示实施的下一阶段不被节制。得分不在指定容限内指示实施的下一阶段将被限制。比较逻辑308可以生成容限指示符328以指示得分326是否在与参考得分320相关联的指定容限内。例如,容限指示符328可以指示得分326大于参考得分的程度320、得分326小于参考得分320的程度、得分326在指定容限内的程度、得分326超出指定容限的程度等。
在步骤210处,至少部分地基于得分是否在与参考得分相关联的指定容限内来选择性地节制实施的下一阶段。在示例实现中,阶段节制逻辑310至少部分地基于得分326是否在与参考得分320相关联的指定容限内来选择性地节制实施的下一阶段。例如,阶段节制逻辑310可以响应于(至少部分地基于)容限指示符328的接收来选择性地节制实施的下一阶段。例如,阶段节制逻辑310可以通过执行选择性节制动作336来选择性地节制实施的下一阶段。选择性节制动作336可以是节制实施或者不节制实施。根据该示例,阶段节制逻辑310可以通过如下方式来执行选择性节制动作336:至少部分地基于容限指示符328指示得分326不在与参考得分320相关联的指定容限内来节制实施的下一阶段。例如,阶段节制逻辑310可以通过延迟下一阶段或其一部分的发起来节制实施的下一阶段。根据该示例,节制下一阶段可以降低执行配置更改的实施的速率。还根据该示例,阶段节制逻辑310可以通过如下方式来执行选择性节制动作336:至少部分地基于容限指示符328指示得分326在与参考得分320相关联的指定容限内而不节制实施的下一阶段。
在步骤212处,“下一阶段”被识别为“指定阶段”。在示例实现中,评分逻辑306将“下一阶段”识别为“指定阶段”,从而可以关于实施的下一阶段执行步骤204、206、208和210。
在步骤214处,确定是否要选择性地节制(多个)附加阶段。如果要选择性地节制(多个)附加阶段,则流程返回到步骤204。否则,流程图200结束。在示例实现中,评分逻辑306确定是否要选择性地节制(多个)附加阶段。例如,评分逻辑306可以至少部分地基于信息318来做出确定。根据该示例,信息318可以指示已经在哪些客户端设备上实施配置更改。还根据该示例,如果信息318指示在所有多个客户端设备上尚未实施配置更改,则评分逻辑306可以确定至少一个附加阶段将被选择性地节制。还根据该示例,如果信息318指示在所有多个客户端设备上已经实施配置更改,则评分逻辑306可以确定没有附加阶段将被选择性地节制。
在示例实施例中,得分指示第一最终用户的用户体验,该用户体验是由于在子集中的客户端设备上实施配置更改而产生的。根据该实施例,第一最终用户与子集中的客户端设备相关联。还根据本实施例,参考得分指示第二最终用户的用户体验。还根据该实施例,第二最终用户与配置更改的实施在其上尚未发生的客户端设备相关联。例如,参考得分可以指示在子集中的客户端设备上实施配置更改之前的第一最终用户的用户体验。
在另一个示例实施例中,在步骤210处,至少部分地基于得分不在与参考得分相关联的指定容限内,来节制实施的下一阶段。
在又一示例实施例中,得分指示子集中的客户端设备的性能。例如,子集中的客户端设备的性能可以包括由子集中的客户端设备所消耗的资源(例如,处理器周期或处理能力、存储器、网络带宽)的量或比例。根据该实施例,参考得分指示配置更改的实施在其上尚未发生的客户端设备的性能。例如,配置更改的实施在其上尚未发生的客户端设备的性能可以包括由那些客户端设备所消耗的资源的量或比例。
在又一示例实施例中,得分指示子集中的客户端设备的安全态势(也被称为安全状态)。客户端设备的安全态势指示包括在客户端设备中的硬件、部署在客户端设备上的软件、客户端设备连接到的网络和/或存储在客户端设备上的信息的安全程度。客户端设备的安全态势可以指示客户端设备抵御网络安全威胁的能力。例如,上述安全态势可以指示客户端设备可以预测、预防和/或对网络威胁做出响应的程度。客户端设备的安全态势可以指示客户端设备对企业的网络安全构成风险的程度。根据本实施例,参考得分指示配置更改的实施在其上尚未发生的客户端设备的安全态势。
在一些示例实施例中,可以不执行流程图200的一个或多个步骤202、204、206、208、210、212和/或214。此外,可以执行除了步骤202、204、206、208、210、212和/或214之外的步骤或代替步骤202、204、206、208、210、212和/或214的步骤。例如,在示例实施例中,流程图200的方法还包括:至少部分地基于每个群组是企业中的客户端设备整体的统计代表性样本,来自动选择企业中的客户端设备群组,其中在该客户端设备群组上要实施配置更改的企业范围实施的相应增量部分。将认识到,除了作为企业中的客户端设备整体的统计代表性样本的每个群组之外或作为代理,可以基于(多个)其他因素来自动选择群组。在示例实现中,客户端选择逻辑304自动选择客户端设备群组。例如,客户端选择逻辑304可以分析客户端设备信息314,其包括关于企业中的客户端设备的信息以确定客户端设备的哪些组合构成企业中的客户端设备整体的统计代表性样本。客户端选择逻辑304可以基于(例如,至少部分地基于)客户端设备信息314的分析来自动选择群组。根据该实施例,每个统计代表性样本的属性与企业中的客户端设备整体的属性之间的差异在指定统计容限内。还根据该实施例,第一群组包括多个客户端设备。还根据该实施例,配置更改的企业范围实施的第一部分包括在多个客户端设备的相应子集上的配置更改的实施的增量阶段。
在另一示例实施例中,流程图200的方法还包括至少部分地基于每个群组中的客户端设备具有共同属性,来自动选择企业中的客户端设备群组,其中在该客户端设备群组上要实施配置更改的企业范围实施的相应增量部分。例如,每个群组中的客户端设备可能位于相同的地理区域(例如,相同的城市、州或建筑物);来自同一制造商;具有相同的型号;具有相同的软件配置;具有相同的硬件配置,等等。在示例实现中,客户端选择逻辑304自动选择客户端设备群组。例如,客户端选择逻辑304可以分析客户端设备信息314,其包括关于企业中的客户端设备的信息以确定客户端设备的哪些组合具有至少一个共同属性。客户端选择逻辑304可以基于对客户端设备信息314的分析来自动选择群组。根据该实施例,第一群组包括多个客户端设备。还根据该实施例,配置更改的企业范围实施的第一部分包括在多个客户端设备的相应子集上的配置更改的实施的增量阶段。
在又一个示例实施例中,流程图200的方法还包括分析历史数据以确定最终用户在历史上响应于接收到授权实施的请求而授权在其客户端设备上实施配置更改所花费的时间量。在示例实现中,客户端选择逻辑304分析历史数据316以确定最终用户在历史上授权在其客户端设备上实施配置更改所花费的时间量。例如,客户端选择逻辑304可以监控向每个客户端设备提供每个请求的时间实例与相应客户端设备授权被请求的实施的时间实例之间的时间段。客户端选择逻辑304可以将这些时间段的日志存储在历史数据316中。根据这个实施例,流程图200的方法还包括:至少部分地基于最终用户在历史上响应于接收到授权实施的请求而授权在其客户端设备上实施配置更改所花费的时间量,来自动选择企业中的客户端设备群组,其中在该客户端设备群组上要实施配置更改的企业范围实施的相应增量部分。在该实施例的一个方面,历史上花费了相对较少时间量来授权实施的最终用户的客户端设备可以被自动选择以被包括在(多个)初始群组中,其中与(多个)初始群组相对应的企业范围实施的(多个)增量部分将在企业范围实施的其他增量部分之前被执行。
出于说明性目的并且不旨在进行限制,客户端设备群组在上面被描述为被自动选择。将认识到,企业的管理员可以手动选择企业中的一个或多个(例如,所有)客户端设备群组,在该客户端设备群组上要实施企业范围实施的相应增量部分。
在又一示例实施例中,流程图200的方法还包括确定不是实施配置更改的结果的外部因素对得分产生负面影响。在示例实现中,评分逻辑306确定外部因素对得分产生负面影响。例如,评分逻辑306可以对包括外部因素在内的多种因素执行统计分析,以确定每个因素对得分的贡献程度。评分逻辑306可以基于统计分析来确定外部因素对得分产生负面影响。根据该实施例,在步骤208处将得分与参考得分进行比较包括确定得分不在与参考得分相关联的指定容限内。还根据该实施例,在步骤210处选择性地节制实施的下一阶段包括:至少部分地基于外部因素对得分产生负面影响,即使得分不在与参考得分相关联的指定容限内,也不节制实施的下一阶段。
在该实施例的一个方面,确定外部因素对得分产生负面影响包括确定外部因素对得分产生负面影响的程度。根据该方面,确定得分不在与参考得分相关联的指定容限内包括确定得分超过指定容限的程度。还根据该实施例,不节制实施的下一阶段包括:至少部分地基于外部因素对得分的负面影响大于或等于得分超过指定容限的程度而不节制实施的下一阶段。
在另一示例实施例中,对于企业中的每个客户端设备,确定客户端设备将受到恶意软件攻击的可能性。例如,客户端选择逻辑304可以针对企业中的每个客户端设备确定客户端设备将受到恶意软件攻击的可能性。根据该示例,客户端选择逻辑304可以通过分析客户端设备信息314来确定每个客户端设备的可能性,该信息可以指示客户端设备对恶意软件攻击的脆弱性、部署在客户端设备上的安全软件等。客户端选择逻辑304可以生成攻击指示符332以指示企业中的每个设备将受到恶意软件攻击的可能性。还根据该实施例,在步骤210处选择性地节制实施的下一阶段包括另外至少部分地基于子集中的相应客户端设备将受到恶意软件攻击的可能性来选择性地节制实施的下一阶段。例如,客户端设备将受到恶意软件攻击的相对较高可能性有利于节制实施的下一阶段;然而,客户端设备将受到恶意软件攻击的相对较小可能性不利于节制实施的下一阶段。在另一个示例中,配置更改的实施可以是安全软件(例如,由微软公司开发和发布的)的部署或更新。将认识到,可以基于任何因素的组合(即,不仅是所描述的那些)而选择性地节制实施的下一阶段。
在又一示例实施例中,在步骤208将得分与参考得分进行比较包括确定得分不在与参考得分相关联的指定容限内。根据该实施例,流程图200的方法还包括识别导致得分不在与参考得分相关联的指定容限内的问题的来源。在示例实现中,评分逻辑306识别问题的来源。例如,用户逻辑306可以通过分析信息318来识别问题的来源。根据该实现,评分逻辑306可以生成问题信息322以指示问题的来源。还根据该实施例,流程图200的方法还包括响应于识别问题的来源而解决问题。在示例实现中,问题逻辑312解决问题。例如,问题逻辑312可以响应于问题信息322的接收而解决问题(例如,至少部分地基于指示问题的来源的问题信息322。在另一个示例中,问题逻辑312可以通过修改配置更改以使得问题不再发生而解决问题。还根据该实施例,在步骤210处选择性地节制实施的下一阶段包括响应于问题被解决而执行实施的下一阶段。
在该实施例的一个方面,流程图200的方法还包括向企业的管理员提供故障排除信息。故障排除信息指示为解决问题要执行的(多个)步骤。根据该方面,解决问题包括通过至少部分地基于从管理员接收的指令执行(多个)步骤来解决问题。指令触发(多个)步骤的执行。
在又一示例实施例中,在步骤208将得分与参考得分进行比较包括确定得分不在与参考得分相关联的指定容限内。根据该实施例,流程图200的方法还包括通知企业的管理员:至少部分地基于得分不在与参考得分相关联的指定容限内,配置更改的实施的下一阶段可能对计算设备的相应子集的用户的用户体验产生负面影响。在示例实现中,阶段节制逻辑310通知企业的管理员:至少部分地基于容限指示符328指示得分不在与参考得分320相关联的指定容限内,配置更改的实施的下一阶段可能对计算设备的相应子集的用户的用户体验产生负面影响。应该注意,尽管被通知配置更改的实施的下一阶段可能会对计算设备的相应子集的用户的用户体验产生负面影响,管理员还是可以发起配置更改的执行。
将认识到,计算***300可以不包括选择性节制逻辑302、客户端选择逻辑304、评分逻辑306、比较逻辑308、阶段节制逻辑310和/或问题逻辑312中的一个或多个。此外,计算***300可以包括除了选择性节制逻辑302、客户端选择逻辑304、评分逻辑306、比较逻辑308、阶段节制逻辑310和/或问题逻辑312之外的组件或代替它们的组件。
图4是图示根据实施例的用于配置更改的实施的相应增量阶段的客户端设备子集的示例选择的图400。当管理员开始软件部署时,如箭头408所图示,选择性节制逻辑412自动确定配置更改的实施可以在各个阶段中推送到的客户端设备群组402。选择性节制逻辑412为实施的相应阶段确定客户端设备410的子集。可以通过在适用的情况下考虑与客户端设备402相关联的预测性用户得分来创建子集。例如,如果基于初始实施发生倒退,则选择性节制逻辑412可以在未来的迭代中重复选择该群组中的客户端设备的子集。该子集可以包括用于实施的统计上最理想的客户端设备和配置。例如,选择性节制逻辑412可以分析来自客户端设备402和/或第三方数据406的倒退分析度量和历史趋势404,以识别用于实施的最理想的客户端设备和配置。如果存在可预见的问题,则选择性节制逻辑412可以向管理员提供一个或多个子集的指示。
图5和图6是图示了根据实施例的关于被包括在公共群组中并且对应于实施配置更改的相应阶段的客户端设备的子集(环)的示例自动倒退分析技术的执行的图。参考图5,如果从倒退分析中创建了净负得分,不是继续部署,而是可以检测问题的来源,确定预测的降级,并且可以将来源和预测的降级报告给管理员,以使得管理员可以采取措施解决问题。备选地,自动化***可以改进配置更改的实施(例如,通过减少与实施相关联的问题的数量和/或严重性),基于第一次实施的结果进行迭代,并用客户端设备的新子集系列来尝试实施的修改。这可能会为最终用户和管理员带来统计上最理想的体验。
参考图6,可以执行配置更改的实施的阶段,并且可以确定该阶段是否经历了受影响设备的得分的倒退。例如,可以在部署更新的软件之前计算604用户得分,可以部署更新的软件606,并且可以在完成软件更新的部署之后重新计算608用户得分以确定该阶段是否经历了用户得分的倒退。如果不存在倒退,则植入可以向前进展到客户端设备的下一个子集。否则,可能会发生对实施的节制,以使得可以修改该实施,并且该实施可以利用优化后的更改来取消节制以获得正得分。例如,当将软件更新部署610到客户端设备602时,可以搜集与相应客户端设备602相关联的用户得分以确定614所有目标客户端设备之间的汇总加权平均用户得分。例如,可以对与相应客户端设备602相关联的用户得分进行加权和平均以确定汇总加权平均用户得分。如果没有发生倒退并且返回了正的用户得分,则可以为下一个客户端设备环继续616部署。如果发生倒退,则可以停止618部署,并且可以修改部署或者可以在适用的情况下通知管理员。
图7示出了根据实施例的用于计算(例如,确定)一个或多个设备(例如,一个或多个用户设备)的得分的示例伪代码700。例如,得分可以表示特定设备上的用户体验。在一些示例中,得分范围从0到100,其中100是最好的体验,而0是最差的体验。例如,如果启动时间高于平均水平(例如,比特定设备上的平均启动时间长),则用户可能会感觉体验不佳,而快于平均水平的启动时间将为用户提供更好的体验。伪代码700可以依赖于标准化的度量数据(例如,当所收集的信息被转换为度量数据时,“更好”的值被转换为较低的度量数)。在一些示例中,度量数据包括针对特定设备的实例数据(例如,核心启动时间为5秒);全局均值(例如,平均核心启动时间为10秒);和全局标准偏差(例如,所有设备的启动时间的标准偏差为2.1秒)。应用于度量数据的权重指示度量对于用户对设备体验的感知的重要性。在一些示例计算中,权重总和为1.0。例如,对于三个度量,权重可以是启动时间=0.1、应用启动时间=0.4以及电池寿命=0.5。
具体计算在伪代码700中被示出并且在下面重复。ue_score是用户得分或用户体验得分。
ue_score=0;
对于每个度量
{
z_score=min(5,max(-5,(实例-均值)/标准偏差));
metric_value=(-1*<z_score>+5/10);
ue_score+=metric_value*metric_weight;
}
下一个度量;
返回ue_score;
一些示例使用得分的替代计算。例如,代替z-score和用户体验(ue_score)之间的线性关联,可以使用指数关系(例如,两倍慢会使得分恶化四倍)。在另一个示例中,可以使用对时间(启动时间或应用启动时间)的预期,而不是计算出的均值。使用对时间的预期会降低执行任务所花费的时间长于用户预期的计算设备的得分,即使特定计算设备的执行速度高于平均速度。其他变型也是可能的。
尽管为了方便呈现而以特定的序列顺序描述了一些公开方法的操作,但是应当理解,除非在本文中阐述的特定语言需要特定的顺序,否则这种描述方式包括重新排列。例如,顺序描述的操作在一些情况下可以被重新布置或同时执行。此外,为了简单起见,附图可能没有示出所公开的方法可以与其他方法结合使用的各种方式。
选择性节制逻辑112、选择性节制逻辑302、客户端选择逻辑304、评分逻辑306、比较逻辑308、阶段节制逻辑310、问题逻辑312、选择性节制逻辑412和/或流程图200中的任何一个或多个可以在硬件、软件、固件或其任何组合中实现。
例如,选择性节制逻辑112、选择性节制逻辑302、客户端选择逻辑304、评分逻辑306、比较逻辑308、阶段节制逻辑310、问题逻辑312、选择性节制逻辑412和/或流程图200中的任何一个或多个可以至少部分地被实现为被配置为在一个或多个处理器中执行的计算机程序代码。
在另一示例中,选择性节制逻辑112、选择性节制逻辑302、客户端选择逻辑304、评分逻辑306、比较逻辑308、阶段节制逻辑310、问题逻辑312、选择性节制逻辑412和/或流程图200中的任何一个或多个例如可以至少部分地被实现为硬件逻辑/电路。这种硬件逻辑/电路可以包括一个或多个硬件逻辑组件。硬件逻辑组件的示例包括但不限于现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、***片上***(SoC)、复杂可编程逻辑器件(CPLD)等。例如,SoC可以包括集成电路芯片,该集成电路芯片包括以下中的一个或多个:处理器(例如,微控制器、微处理器、数字信号处理器(DSP)等)、存储器、一个或多个通信接口和/或用于执行其功能的其他电路和/或嵌入式固件。
三、一些示例实施例的进一步讨论
示例***包括存储器和耦合到存储器的一个或多个处理器。一个或多个处理器被配置为:通过在配置更改的实施的相应下一阶段之前的相应阶段期间对每个子集执行操作,来在相应的连续时间段期间选择性地节制企业中的多个客户端设备的相应子集上的配置更改的实施的增量阶段。该操作包括从子集中的客户端设备搜集有关实施的该阶段的信息。该操作还包括至少部分地基于该信息来生成得分,该得分指示在该阶段期间与实施相关联的度量被满足的程度。该操作还包括将得分与针对该子集的参考得分进行比较以确定得分是否在与参考得分相关联的指定容限内。该操作还包括至少部分地基于得分是否在与参考得分相关联的指定容限内来选择性地节制实施的下一阶段。
在示例***的第一方面,一个或多个处理器被配置为执行进一步包括如下的操作:至少部分地基于每个群组是企业中的客户端设备整体的统计代表性样本,来自动选择企业中的多个客户端设备群组,其中在该多个客户端设备群组上要实施配置更改的企业范围实施的多个相应增量部分。每个统计代表性样本的属性与企业中的客户端设备整体的属性之间的差异在指定统计容限内。根据第一方面,多个群组中的第一群组包括多个客户端设备。还根据第一方面,配置更改的企业范围实施的第一部分包括在多个客户端设备的相应子集上的配置更改的实施的增量阶段。
在示例***的第二方面,一个或多个处理器被配置为执行进一步包括如下的操作:至少部分地基于每个群组中的客户端设备具有共同属性,来自动选择企业中的多个客户端设备群组,其中在该多个客户端设备群组上要实施配置更改的企业范围实施的多个相应增量部分。根据第二方面,多个群组中的第一群组包括多个客户端设备。还根据第二方面,配置更改的企业范围实施的第一部分包括在多个客户端设备的相应子集上的配置更改的实施的增量阶段。示例***的第二方面可以结合示例***的第一方面来实现,但是示例实施例在这方面不受限制。
在示例***的第三方面,一个或多个处理器被配置为执行进一步包括如下的操作:分析历史数据以确定最终用户在历史上为响应于接收到授权实施的请求而授权在其客户端设备上实施配置更改所花费的时间量。根据第三方面,一个或多个处理器被配置为执行进一步包括如下的操作:至少部分地基于最终用户在历史上响应于接收到授权实施的请求而授权在其客户端设备上实施配置更改所花费的时间量,来自动选择企业中的多个客户端设备群组,其中在该多个客户端设备群组上要实施配置更改的企业范围实施的多个相应增量部分。示例***的第三方面可以结合示例***的第一和/或第二方面来实现,但是示例实施例在这方面不受限制。
在示例***的第四方面,得分指示第一多个最终用户的用户体验,该用户体验是由于在子集中的客户端设备上实施配置更改而产生的。根据第四方面,第一多个最终用户与子集中的客户端设备相关联。进一步根据第四方面,参考得分指示第二多个最终用户的用户体验。进一步根据第三方面,第二多个最终用户与配置更改的实施在其上尚未发生的客户端设备相关联。示例***的第四方面可以结合示例***的第一、第二和/或第三方面来实现,但是示例实施例在这方面不受限制。
在示例***的第四方面的实现中,参考得分指示在子集中的客户端设备上实施配置更改之前的第一多个最终用户的用户体验。
在示例***的第五方面,得分指示子集中的客户端设备的性能。根据第五方面,参考得分指示配置更改的实施在其上尚未发生的客户端设备的性能。示例***的第五方面可以结合示例***的第一、第二、第三和/或第四方面来实现,但是示例实施例在这方面不受限制。
在示例***的第六方面,得分指示子集中的客户端设备的安全态势。根据第六方面,参考得分指示配置更改的实施在其上尚未发生的客户端设备的安全态势。示例***的第六方面可以结合示例***的第一、第二、第三、第四和/或第五方面来实现,但是示例实施例在这方面不受限制。
在示例***的第七方面,一个或多个处理器被配置为执行包括如下的操作:至少部分地基于得分不在与参考得分相关联的指定容限内来节制实施的下一阶段。示例***的第七方面可以结合示例***的第一、第二、第三、第四、第五和/或第六方面来实现,但是示例实施例在这方面不受限制。
在示例***的第八方面,一个或多个处理器被配置为执行包括如下的操作:确定不是实施配置更改的结果的外部因素对得分产生负面影响。根据第八方面,一个或多个处理器被配置为执行包括如下的操作:确定得分不在与参考得分相关联的指定容限内。进一步根据第八方面,一个或多个处理器被配置为执行包括如下的操作:至少部分地基于外部因素对得分产生负面影响,即使得分不在与参考得分相关联的指定容限内,也不节制实施的下一阶段。示例***的第八方面可以结合示例***的第一、第二、第三、第四、第五、第六和/或第七方面来实现,但是示例实施例在这方面不受限制。
在示例***的第九方面,一个或多个处理器被配置为执行包括如下的操作:选择性地节制在客户端设备的相应子集上部署软件的增量阶段。示例***的第九方面可以结合示例***的第一、第二、第三、第四、第五、第六、第七和/或第八方面来实现,但是示例实施例在这方面不受限制。
在示例***的第十方面,一个或多个处理器被配置为执行包括如下的操作:选择性地节制在客户端设备的相应子集上启用磁盘加密的增量阶段。示例***的第十方面可以结合示例***的第一、第二、第三、第四、第五、第六、第七、第八和/或第九方面来实现,但是示例实施例在这方面不受限制。
在示例***的第十一方面,一个或多个处理器被配置为执行包括如下的操作:对于企业中的每个客户端设备,确定客户端设备将受到恶意软件攻击的可能性。根据第十一方面,一个或多个处理器被配置为执行包括如下的操作:进一步至少部分地基于子集中的相应客户端设备将受到恶意软件攻击的可能性来选择性地节制实施的下一阶段。示例***的第十一方面可以结合示例***的第一、第二、第三、第四、第五、第六、第七、第八、第九和/或第十方面来实现,但示例实施例在这方面不受限制。
在示例***的第十二方面,一个或多个处理器被配置为执行包括如下的操作:确定得分不在与参考得分相关联的指定容限内;识别导致得分不在与参考得分相关联的指定容限内的问题的来源;响应于识别问题的来源而解决问题;并且响应于问题被解决而执行实施的下一阶段。示例***的第十二方面可以结合示例***的第一、第二、第三、第四、第五、第六、第七、第八、第九、第十和/或第十一方面来实现,但是示例实施例在这方面不受限制。
在示例***的第十三方面,一个或多个处理器被配置为执行进一步包括如下的操作:确定得分不在与参考得分相关联的指定容限内。根据第十三方面,一个或多个处理器被配置为执行进一步包括如下的操作:通知企业的管理员:至少部分地基于得分不在与参考得分相关联的指定容限内,配置更改的实施的下一阶段可能对计算设备的相应子集的用户的用户体验产生负面影响。示例***的第十三方面可以结合示例***的第一、第二、第三、第四、第五、第六、第七、第八、第九、第十、第十一和/或第十二方面来实现,但是示例实施例在这方面不受限制。
在示例方法中,通过在配置更改的实施的相应下一阶段之前的相应阶段期间对每个子集执行操作,来在相应的连续时间段期间选择性地节制企业中的多个客户端设备的相应子集上的配置更改的实施的增量阶段。该操作包括从子集中的客户端设备搜集有关实施的该阶段的信息。该操作还包括至少部分地基于该信息来生成得分,该得分指示在该阶段期间与实施相关联的度量被满足的程度。该操作还包括将得分与针对该子集的参考得分进行比较以确定得分是否在与参考得分相关联的指定容限内。该操作还包括至少部分地基于得分是否在与参考得分相关联的指定容限内来选择性地节制实施的下一阶段。
在示例方法的第一方面,示例方法还包括:至少部分地基于每个群组是企业中的客户端设备整体的统计代表性样本,来自动选择企业中的多个客户端设备群组,其中在该多个客户端设备群组上要实施配置更改的企业范围实施的多个相应增量部分。每个统计代表性样本的属性与企业中的客户端设备整体的属性之间的差异在指定统计容限内。根据第一方面,多个群组中的第一群组包括多个客户端设备。还根据第一方面,配置更改的企业范围实施的第一部分包括在多个客户端设备的相应子集上的配置更改的实施的增量阶段。
在示例方法的第二方面,示例方法还包括:至少部分地基于每个群组中的客户端设备具有共同属性,来自动选择企业中的多个客户端设备群组,其中在该多个客户端设备群组上要实施配置更改的企业范围实施的多个相应增量部分。根据第二方面,多个群组中的第一群组包括多个客户端设备。还根据第二方面,配置更改的企业范围实施的第一部分包括在多个客户端设备的相应子集上的配置更改的实施的增量阶段。示例方法的第二方面可以结合示例方法的第一方面来实现,但是示例实施例在这方面不受限制。
在示例方法的第三方面,示例方法还包括:分析历史数据以确定最终用户在历史上响应于接收到授权实施的请求而授权在其客户端设备上实施配置更改所花费的时间量。根据第三方面,示例方法还包括:至少部分地基于最终用户在历史上响应于接收到授权实施的请求而授权在其客户端设备上实施配置更改所花费的时间量,来自动选择企业中的多个客户端设备群组,其中在该多个客户端设备群组上要实施配置更改的企业范围实施的多个相应增量部分。示例方法的第三方面可以结合示例方法的第一和/或第二方面来实现,但是示例实施例在这方面不受限制。
在示例方法的第四方面,得分指示第一多个最终用户的用户体验,该用户体验是由于在子集中的客户端设备上实施配置更改而产生的。根据第四方面,第一多个最终用户与子集中的客户端设备相关联。还根据第四方面,参考得分指示第二多个最终用户的用户体验。还根据第四方面,第二多个最终用户与配置更改的实施在其上尚未发生的客户端设备相关联。示例方法的第四方面可以结合示例方法的第一、第二和/或第三方面来实现,但是示例实施例在这方面不受限制。
在示例方法的第四方面的实现中,参考得分指示在子集中的客户端设备上实施配置更改之前的第一多个最终用户的用户体验。
在示例方法的第五方面,得分指示子集中的客户端设备的性能。根据第五方面,参考得分指示配置更改的实施在其上尚未发生的客户端设备的性能。示例方法的第五方面可以结合示例方法的第一、第二、第三和/或第四方面来实现,但是示例实施例在这方面不受限制。
在示例方法的第六方面,得分指示子集中的客户端设备的安全态势。根据第六方面,参考得分指示配置更改的实施在其上尚未发生的客户端设备的安全态势。示例方法的第六方面可以结合示例方法的第一、第二、第三、第四和/或第五方面来实现,但是示例实施例在这方面不受限制。
在示例方法的第七方面,选择性地节制在客户端设备的相应子集上的配置更改的实施的增量阶段包括:至少部分地基于得分不在与参考得分相关联的指定容限内来节制实施的下一阶段。示例方法的第七方面可以结合示例方法的第一、第二、第三、第四、第五和/或第六方面来实现,但是示例实施例在这方面不受限制。
在示例方法的第八方面,示例方法还包括:确定不是实施配置更改的结果的外部因素对得分产生负面影响。根据第八方面,将得分与针对该子集的参考得分进行比较包括:确定得分不在与参考得分相关联的指定容限内。还根据第八方面,选择性地节制实施的下一阶段包括:至少部分地基于外部因素对得分产生负面影响,即使得分不在与参考得分相关联的指定容限内,也不节制实施的下一阶段。示例方法的第八方面可以结合示例方法的第一、第二、第三、第四、第五、第六和/或第七方面来实现,但是示例实施例在这方面不受限制。
在示例方法的第九方面,选择性地节制在客户端设备的相应子集上的配置更改的实施的增量阶段包括:选择性地节制在客户端设备的相应子集上部署软件的增量阶段。示例方法的第九方面可以结合示例方法的第一、第二、第三、第四、第五、第六、第七和/或第八方面结合来实现,但是示例实施例在这方面不受限制。
在示例方法的第十方面,选择性地节制在客户端设备的相应子集上的配置更改的实施的增量阶段包括:选择性地节制在客户端设备的相应子集上启用磁盘加密的增量阶段。示例方法的第十方面可以结合示例方法的第一、第二、第三、第四、第五、第六、第七、第八和/或第九方面来实现,但是示例实施例在这方面不受限制。
在示例方法的第十一方面,示例方法还包括,针对企业中的每个客户端设备,确定客户端设备将受到恶意软件攻击的可能性。根据第十一方面,选择性地节制实施的下一阶段包括:另外至少部分地基于子集中的相应客户端设备将受到恶意软件攻击的可能性来选择性地节制实施的下一阶段。示例方法的第十一方面可以结合示例方法的第一、第二、第三、第四、第五、第六、第七、第八、第九和/或第十方面来实现,但是示例实施例在这方面不受限制。
在示例方法的第十二方面,将得分与针对该子集的参考得分进行比较包括:确定得分不在与参考得分相关联的指定容限内。根据第十二方面,示例方法还包括:识别导致得分不在与参考得分相关联的指定容限内的问题的来源;并且响应于识别问题的来源而解决问题。还根据第十二方面,选择性地节制实施的下一阶段包括:响应于问题被解决而执行实施的下一阶段。示例方法的第十二方面可以结合示例方法的第一、第二、第三、第四、第五、第六、第七、第八、第九、第十和/或第十一方面来实现,但是示例实施例在这方面不受限制。
在示例方法的第十三方面,将得分与针对该子集的参考得分进行比较包括:确定得分不在与参考得分相关联的指定容限内。根据第十三方面,示例方法还包括:通知企业的管理员:至少部分地基于得分不在与参考得分相关联的指定容限内,配置更改的实施的下一阶段可能对计算设备的相应子集的用户的用户体验产生负面影响。示例方法的第十三方面可以结合示例方法的第一、第二、第三、第四、第五、第六、第七、第八、第九、第十、第十一和/或第十二方面来实现,但是示例实施例在这方面不受限制。
示例计算机程序产品包括计算机可读存储介质,在其上记录有用于使得基于处理器的***能够执行操作的指令。该操作包括:通过在配置更改的实施的相应下一阶段之前的相应阶段期间对每个子集执行动作,来在相应的连续时间段期间选择性地节制企业中的多个客户端设备的相应子集上的配置更改的实施的增量阶段。该动作包括:从子集中的客户端设备搜集有关实施的该阶段的信息;至少部分地基于该信息来生成得分,该得分指示在该阶段期间与实施相关联的度量被满足的程度;将得分与针对该子集的参考得分进行比较,以确定得分是否在与参考得分相关联的指定容限内;并且至少部分地基于得分是否在与参考得分相关联的指定容限内来选择性地节制实施的下一阶段。
四、示例计算机***
图8描绘了可以在其中实施实施例的示例计算机800。图1中所示的任何一个或多个用户设备102A-102M、管理***106、和/或任何一个或多个***管理服务器110;和/或图3中所示的计算***300可以使用计算机800来实现,包括计算机800的一个或多个特征和/或替代特征。例如,计算机800可以是常规个人计算机、移动计算机或工作站形式的通用计算设备,或者计算机800可以是专用计算设备。本文提供的计算机800的描述是为了说明的目的而提供的,而非旨在是限制性的。如(多个)相关领域的技术人员所知晓的,实施例可以在其他类型的计算机***中被实现。
如图8中所示,计算机800包括处理单元802、***存储器804和将包括***存储器804在内的各种***组件耦合到处理单元802的总线806。总线806表示若干类型的总线结构中的一种或多种,包括存储器总线或存储器控制器、***总线、加速图形端口以及使用各种总线架构中的任何一种的处理器或本地总线。***存储器804包括只读存储器(ROM)808和随机存取存储器(RAM)810。基本输入/输出***812(BIOS)被存储在ROM 808中。
计算机800还具有以下驱动器中的一个或多个:用于从硬盘读取和写入到硬盘的硬盘驱动器814,用于从可移动磁盘818读取或写入到可移动磁盘818的磁盘驱动器816,以及用于从可移动光盘822(诸如CDROM、DVDROM或其他光学介质)读取或写入到可移动光盘822的光学磁盘驱动器820。硬盘驱动器814、磁盘驱动器816和光盘驱动器820分别通过硬盘驱动器接口824、磁盘驱动器接口826和光盘驱动器接口828而连接到总线806。驱动器及其关联的计算机可读存储介质为计算机提供计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。尽管描述了硬盘、可移动磁盘和可移动光盘,但是也可以使用其他类型的计算机可读存储介质来存储数据,诸如闪存卡、数字视频磁盘、随机存取存储器(RAM)、只读存储器(ROM)等。
多个程序模块可以被存储在硬盘、磁盘、光盘、ROM或RAM上。这些程序包括操作***830、一个或多个应用程序832、其他程序模块834和程序数据836。应用程序832或程序模块834可以包括例如用于实现(例如至少一部分)选择性节制逻辑112、选择性节制逻辑302、客户端选择逻辑304、得分逻辑306、比较逻辑308、阶段节制逻辑310、问题逻辑312和/或流程图200(包括流程图200的任何步骤)中的任何一个或多个,如本文所述。
用户可以通过诸如键盘838和定点设备840之类的输入设备将命令和信息输入到计算机800中。其他输入设备(未示出)可以包括麦克风、操纵杆、游戏手柄、碟形卫星天线、扫描仪、触摸屏、相机、加速度计、陀螺仪等。这些和其他输入设备常常通过耦合到总线806的串行端口接口842而连接到处理单元802,但是也可以通过其他接口来连接,诸如并行端口、游戏端口或通用串行总线(USB)。
显示设备844(例如,监控器)也经由诸如视频适配器846之类的接口而连接到总线806。除了显示设备844,计算机800还可以包括其他***输出设备(未示出),诸如扬声器和打印机。
计算机800通过网络接口或适配器850、调制解调器852或用于在网络上建立通信的其他部件而连接到网络848(例如,互联网)。调制解调器852可以是内部的或外部的,经由串行端口接口842而连接到总线806。
如本文中所使用的,术语“计算机程序介质”和“计算机可读存储介质”通常被用来指代介质(例如,非暂态介质),诸如与硬盘驱动器814相关联的硬盘,可移动磁盘818、可移动光盘822,以及诸如闪存卡、数字视频盘、随机存取存储器(RAM)、只读存储器(ROM)等的其他介质。计算机可读存储介质不是诸如载波信号或传播信号之类的信号。例如,计算机可读存储介质可以不包括信号。因此,计算机可读存储介质本身并不构成信号。计算机可读存储介质与通信介质有区别且不重叠(不包括通信介质)。通信介质将计算机可读指令、数据结构、程序模块或其他数据体现在诸如载波之类的调制数据信号中。术语“调制数据信号”意指这种信号,其使其一个或多个特性以在信号中编码信息的这样一种方式来进行设置或改变。作为示例而非限制,通信介质包括无线介质,诸如声学、RF、红外线和其他无线介质,以及有线介质。示例实施例也涉及这种通信介质。
如上面所指出的,计算机程序和模块(包括应用程序832和其他程序模块834)可以被存储在硬盘、磁盘、光盘、ROM或RAM上。这样的计算机程序也可以经由网络接口850或串行端口接口842而被接收。这样的计算机程序在由应用执行或加载时,使得计算机800能够实现本文所讨论的实施例的特征。因此,这样的计算机程序表示计算机800的控制器。
示例实施例还涉及包括存储在任何计算机可用介质上的软件(例如,计算机可读指令)的计算机程序产品。这样的软件当在一个或多个数据处理设备中被执行时,导致(多个)数据处理设备如本文所述那样操作。实施例可以采用现在或将来已知的任何计算机可用或计算机可读介质。计算机可读介质的示例包括但不限于存储设备,诸如RAM、硬盘驱动器、软盘、CD ROM、DVD ROM、zip磁盘、磁带、磁存储设备、光存储设备、基于MEMS的存储设备、基于纳米技术的存储设备等。
将认识到,所公开的技术不限于任何特定的计算机或硬件类型。合适的计算机和硬件的某些细节是众所周知的并且不需要在本公开中详细阐述。
五、结论
尽管已经以特定于结构特征和/或动作的语言描述了主题,但是应当理解,在所附权利要求中限定的主题不一定限于上述特定特征或动作。相反,以上描述的特定特征和动作作为实现权利要求的示例而被公开,并且其他等效特征和动作旨在落入权利要求的范围内。
Claims (15)
1.一种***,包括:
存储器;和
一个或多个处理器,被耦合到所述存储器,所述一个或多个处理器被配置为:通过在配置更改的实施的相应下一阶段之前的相应阶段期间对每个子集执行操作,来在相应的连续时间段期间选择性地节制企业中的多个客户端设备的相应子集上的配置更改的实施的增量阶段,所述操作包括:
从所述子集中的所述客户端设备搜集有关所述实施的所述阶段的信息;
至少部分地基于所述信息来生成得分,所述得分指示在所述阶段期间与所述实施相关联的度量被满足的程度;
将所述得分与针对所述子集的参考得分进行比较,以确定所述得分是否在与所述参考得分相关联的指定容限内;以及
至少部分地基于所述得分是否在与所述参考得分相关联的所述指定容限内,来选择性地节制所述实施的所述下一阶段。
2.根据权利要求1所述的***,其中所述一个或多个处理器被配置为执行还包括以下项的操作:
至少部分地基于每个群组是所述企业中的客户端设备整体的统计代表性样本,来自动选择所述企业中的多个客户端设备群组,其中在所述多个客户端设备群组上要实施所述配置更改的企业范围实施的多个相应增量部分,其中每个统计代表性样本的属性与所述企业中的所述客户端设备整体的属性之间的差异在指定统计容限内;
其中所述多个群组中的第一群组包括所述多个客户端设备;以及
其中所述配置更改的所述企业范围实施的第一部分包括:在所述多个客户端设备的所述相应子集上的所述配置更改的所述实施的所述增量阶段。
3.根据权利要求1所述的***,其中所述一个或多个处理器被配置为执行还包括以下项的操作:
至少部分地基于每个群组中的所述客户端设备具有共同属性,来自动选择所述企业中的多个客户端设备群组,其中在所述多个客户端设备群组上要实施所述配置更改的企业范围实施的多个相应增量部分;
其中所述多个群组中的第一群组包括所述多个客户端设备;以及
其中所述配置更改的所述企业范围实施的第一部分包括:在所述多个客户端设备的所述相应子集上的所述配置更改的所述实施的所述增量阶段。
4.根据权利要求1所述的***,其中所述一个或多个处理器被配置为执行还包括以下项的操作:
分析历史数据以确定最终用户在历史上为响应于接收到授权所述实施的请求而授权在其客户端设备上实施配置更改所花费的时间量;和
至少部分地基于最终用户在历史上响应于接收到授权所述实施的请求而授权在其客户端设备上实施配置更改所花费的时间量,来自动选择所述企业中的多个客户端设备群组,其中在所述多个客户端设备群组上要实施所述配置更改的企业范围实施的多个相应增量部分。
5.根据权利要求1所述的***,其中所述得分指示第一多个最终用户的用户体验,所述用户体验是由于在所述子集中的所述客户端设备上实施所述配置更改而产生的;
其中所述第一多个最终用户与所述子集中的所述客户端设备相关联;
其中所述参考得分指示第二多个最终用户的用户体验;以及
其中所述第二多个最终用户与所述配置更改的所述实施在其上尚未发生的所述客户端设备相关联。
6.根据权利要求5所述的***,其中所述参考得分指示在所述子集中的所述客户端设备上实施所述配置更改之前的所述第一多个最终用户的用户体验。
7.根据权利要求1所述的***,其中所述得分指示所述子集中的所述客户端设备的安全态势;以及
其中所述参考得分指示所述配置更改的所述实施在其上尚未发生的客户端设备的安全态势。
8.根据权利要求1所述的***,其中所述一个或多个处理器被配置为执行包括以下项的操作:
至少部分地基于所述得分不在与所述参考得分相关联的所述指定容限内来节制所述实施的所述下一阶段。
9.根据权利要求1所述的***,其中所述一个或多个处理器被配置为执行包括以下项的操作:
确定不是实施所述配置更改的结果的外部因素对所述得分产生负面影响;
确定所述得分不在与所述参考得分相关联的所述指定容限内;以及
至少部分地基于所述外部因素对所述得分产生负面影响,即使所述得分不在与所述参考得分相关联的所述指定容限内,也不节制所述实施的所述下一阶段。
10.根据权利要求1所述的***,其中所述一个或多个处理器被配置为执行包括以下项的操作:
针对所述企业中的每个客户端设备,确定所述客户端设备将受到恶意软件攻击的可能性;以及
还至少部分地基于所述子集中的所述相应客户端设备将受到恶意软件攻击的所述可能性,来选择性地节制所述实施的所述下一阶段。
11.一种方法,包括:
通过在配置更改的实施的相应下一阶段之前的相应阶段期间对每个子集执行操作,来在相应的连续时间段期间选择性地节制企业中的多个客户端设备的相应子集上的配置更改的实施的增量阶段,所述操作包括:
从所述子集中的所述客户端设备搜集有关所述实施的所述阶段的信息;
至少部分地基于所述信息来生成得分,所述得分指示在所述阶段期间与所述实施相关联的度量被满足的程度;
将所述得分与针对所述子集的参考得分进行比较,以确定所述得分是否在与所述参考得分相关联的指定容限内;以及
至少部分地基于所述得分是否在与所述参考得分相关联的所述指定容限内,来选择性地节制所述实施的所述下一阶段。
12.根据权利要求11所述的方法,还包括:
至少部分地基于每个群组是所述企业中的客户端设备整体的统计代表性样本,来自动选择所述企业中的多个客户端设备群组,其中在所述多个客户端设备群体上要实施所述配置更改的企业范围实施的多个相应增量部分,其中每个统计代表性样本的属性与所述企业中的所述客户端设备整体的属性之间的差异在指定统计容限内;
其中所述多个群组中的第一群组包括所述多个客户端设备;以及
其中所述配置更改的所述企业范围实施的第一部分包括:在所述多个客户端设备的所述相应子集上的所述配置更改的所述实施的所述增量阶段。
13.根据权利要求11所述的方法,还包括:
至少部分地基于每个群组中的所述客户端设备具有共同属性,来自动选择所述企业中的多个客户端设备群组,其中在所述多个客户端设备群组上要实施所述配置更改的企业范围实施的多个相应增量部分;
其中所述多个群组中的第一群组包括所述多个客户端设备;以及
其中所述配置更改的所述企业范围实施的第一部分包括:在所述多个客户端设备的所述相应子集上的所述配置更改的所述实施的所述增量阶段。
14.根据权利要求11所述的方法,其中所述得分指示所述子集中的所述客户端设备的性能;以及
其中所述参考得分指示所述配置更改的所述实施在其上尚未发生的客户端设备的性能。
15.一种包括计算机可读存储介质的计算机程序产品,所述计算机可读存储介质在其上记录有用于使得基于处理器的***能够执行操作的指令,所述操作包括:
通过在配置更改的实施的相应下一阶段之前的相应阶段期间对每个子集执行动作,来在相应的连续时间段期间选择性地节制企业中的多个客户端设备的相应子集上的配置更改的实施的增量阶段,所述动作包括:
从所述子集中的所述客户端设备搜集有关所述实施的所述阶段的信息;
至少部分地基于所述信息来生成得分,所述得分指示在所述阶段期间与所述实施相关联的度量被满足的程度;
将所述得分与针对所述子集的参考得分进行比较,以确定所述得分是否在与所述参考得分相关联的指定容限内;以及
至少部分地基于所述得分是否在与所述参考得分相关联的所述指定容限内,来选择性地节制所述实施的所述下一阶段。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962929760P | 2019-11-01 | 2019-11-01 | |
US62/929,760 | 2019-11-01 | ||
US16/917,553 | 2020-06-30 | ||
US16/917,553 US11265212B2 (en) | 2019-11-01 | 2020-06-30 | Selectively throttling implementation of configuration changes in an enterprise |
PCT/US2020/056226 WO2021086657A1 (en) | 2019-11-01 | 2020-10-19 | Selectively throttling implementation of configuration changes in an enterprise |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114616549A true CN114616549A (zh) | 2022-06-10 |
Family
ID=75688274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080076698.9A Pending CN114616549A (zh) | 2019-11-01 | 2020-10-19 | 选择性地节制企业中的配置更改的实施 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11265212B2 (zh) |
EP (1) | EP4052130A1 (zh) |
CN (1) | CN114616549A (zh) |
WO (1) | WO2021086657A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11290325B1 (en) * | 2020-12-08 | 2022-03-29 | E.S.I. Software Ltd | System and method for change reconciliation in information technology systems |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1691677A (zh) * | 2004-04-21 | 2005-11-02 | 微软公司 | 管理计算机身份的方法、***和装置 |
US9311066B1 (en) * | 2012-06-25 | 2016-04-12 | Amazon Technologies, Inc. | Managing update deployment |
CN105531736A (zh) * | 2013-09-24 | 2016-04-27 | 英特尔公司 | 在多用户计算***中发布并移除属性 |
US9379903B1 (en) * | 2012-03-16 | 2016-06-28 | Google Inc. | Distributed scheduler |
US20160226731A1 (en) * | 2015-01-30 | 2016-08-04 | Splunk Inc. | Correlating performance data |
WO2018023199A1 (en) * | 2016-08-03 | 2018-02-08 | Dejero Labs Inc. | System and method for controlling data stream modifications |
CN109828892A (zh) * | 2018-12-17 | 2019-05-31 | 深圳壹账通智能科技有限公司 | 异步接口的性能测试方法、装置、计算机设备和存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8725844B2 (en) * | 2003-11-05 | 2014-05-13 | Hewlett-Packard Development Company, L.P. | Method and system for adjusting the relative value of system configuration recommendations |
JP2006011860A (ja) * | 2004-06-25 | 2006-01-12 | Fujitsu Ltd | システム構成管理プログラム及びシステム構成管理装置 |
US8224930B2 (en) * | 2006-09-19 | 2012-07-17 | The Invention Science Fund I, Llc | Signaling partial service configuration changes in appnets |
US20130091266A1 (en) * | 2011-10-05 | 2013-04-11 | Ajit Bhave | System for organizing and fast searching of massive amounts of data |
US9002997B2 (en) * | 2013-01-22 | 2015-04-07 | Amazon Technologies, Inc. | Instance host configuration |
US9229902B1 (en) | 2013-02-14 | 2016-01-05 | Amazon Technologies, Inc. | Managing update deployment |
ES2898099T3 (es) * | 2014-12-11 | 2022-03-03 | Bitdefender Ipr Man Ltd | Sistemas y métodos para asegurar puntos extremos de red |
US20180232529A1 (en) * | 2017-02-15 | 2018-08-16 | Microsoft Technology Licensing, Llc | Client-side exposure control |
US10831466B2 (en) | 2017-03-29 | 2020-11-10 | International Business Machines Corporation | Automatic patch management |
-
2020
- 2020-06-30 US US16/917,553 patent/US11265212B2/en active Active
- 2020-10-19 CN CN202080076698.9A patent/CN114616549A/zh active Pending
- 2020-10-19 WO PCT/US2020/056226 patent/WO2021086657A1/en unknown
- 2020-10-19 EP EP20807166.2A patent/EP4052130A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1691677A (zh) * | 2004-04-21 | 2005-11-02 | 微软公司 | 管理计算机身份的方法、***和装置 |
US9379903B1 (en) * | 2012-03-16 | 2016-06-28 | Google Inc. | Distributed scheduler |
US9311066B1 (en) * | 2012-06-25 | 2016-04-12 | Amazon Technologies, Inc. | Managing update deployment |
CN105531736A (zh) * | 2013-09-24 | 2016-04-27 | 英特尔公司 | 在多用户计算***中发布并移除属性 |
US20160226731A1 (en) * | 2015-01-30 | 2016-08-04 | Splunk Inc. | Correlating performance data |
WO2018023199A1 (en) * | 2016-08-03 | 2018-02-08 | Dejero Labs Inc. | System and method for controlling data stream modifications |
CN109828892A (zh) * | 2018-12-17 | 2019-05-31 | 深圳壹账通智能科技有限公司 | 异步接口的性能测试方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20210135940A1 (en) | 2021-05-06 |
WO2021086657A1 (en) | 2021-05-06 |
US11265212B2 (en) | 2022-03-01 |
EP4052130A1 (en) | 2022-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10158541B2 (en) | Group server performance correction via actions to server subset | |
US10073753B2 (en) | System and method to assess information handling system health and resource utilization | |
US10645153B2 (en) | Modeling session states in microservices on cloud infrastructures | |
US10528450B2 (en) | Predicting defects in software systems hosted in cloud infrastructures | |
US10853111B1 (en) | Virtual machine instance migration feedback | |
US10003547B2 (en) | Monitoring computer process resource usage | |
US10769274B2 (en) | Security in microservice architectures | |
US10289468B1 (en) | Identification of virtual computing instance issues | |
US9658917B2 (en) | Server performance correction using remote server actions | |
US8041686B2 (en) | Database contention and deadlock detection and reduction within application servers | |
US11777831B2 (en) | Aggregation-based determination of cloud computing service resiliency to chaos events | |
US20210216557A1 (en) | Continuous query scheduling and splitting in a cluster-based data storage system | |
US11748086B2 (en) | Automated software upgrade download control based on device issue analysis | |
US11379777B2 (en) | Estimating a result of configuration change(s) in an enterprise | |
US11265212B2 (en) | Selectively throttling implementation of configuration changes in an enterprise | |
US12020039B2 (en) | Compute instance warmup operations | |
US20090292579A1 (en) | Technical Support Routing Among Members Of A Technical Support Group | |
US11996976B2 (en) | One click monitors in impact time detection for noise reduction in at-scale monitoring | |
US11662906B2 (en) | Method, electronic device, and computer program product for upgrading storage system | |
US12008418B2 (en) | Automated causal analysis of issues affecting workloads executing in an information technology infrastructure | |
US20230237160A1 (en) | Method and system for proactively detecting and filtering vulnerabilities of an application upgrade before performing the application upgrade | |
US20230237158A1 (en) | Method and system for detecting vulnerabilities of an installed application before a computing device gets affected | |
US20240231860A1 (en) | System and method for automatic rightsizing of cloud desktops based on historical performance data | |
US20210216362A1 (en) | Grouping systems management operations to minimize downtime | |
WO2021086656A1 (en) | Admin change recommendation in an enterprise |
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 |