CN113168315A - 基于来自多个源的分析的升级 - Google Patents

基于来自多个源的分析的升级 Download PDF

Info

Publication number
CN113168315A
CN113168315A CN201980081482.9A CN201980081482A CN113168315A CN 113168315 A CN113168315 A CN 113168315A CN 201980081482 A CN201980081482 A CN 201980081482A CN 113168315 A CN113168315 A CN 113168315A
Authority
CN
China
Prior art keywords
client device
upgrade
source
engine
data
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
CN201980081482.9A
Other languages
English (en)
Inventor
R·G·布卢尔
A·K·辛格
A·谢莱夫
M·黑
P·蒂瓦里
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN113168315A publication Critical patent/CN113168315A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种装置的示例包括存储器存储单元,用于存储从多个源收集的遥测数据,其中多个源中的每个源维护机密性。该装置进一步包括匿名化引擎,用于从遥测数据移除标识信息以生成匿名化数据。该装置还包括通信接口,用于从客户端设备接收升级的请求。该请求包括客户端设备的请求设备配置。该装置还包括选择引擎,用于基于请求设备配置来选择匿名化数据的子集。另外,该装置包括比较引擎,用于分析匿名化数据的子集以确定在客户端设备处升级故障的概率。此外,该装置包括升级引擎,用于基于概率在客户端设备处实现升级。

Description

基于来自多个源的分析的升级
背景技术
客户端设备(诸如计算设备)通常运行使用各种资源(诸如存储器)的软件程序。随着时间的推移,客户端设备上运行的软件应用可能变得应该升级,以提供附加的现代化特征以及改进安全性。软件升级一般增加对设备资源的需求,因为软件的新特征可能使用附加的处理器容量和/或存储器容量。
附图说明
现在将仅通过示例的方式参考附图,其中:
图1是用于管理客户端设备和在客户端设备处实现升级的示例装置的框图;
图2是用于收集遥测数据以转发给装置并请求升级的示例客户端设备的框图;
图3是用于管理客户端设备和在客户端设备处实现升级的示例系统的表示;
图4是用于管理客户端设备和在客户端设备处实现升级的另一个示例装置的框图;
图5是管理客户端设备和在客户端设备处实现升级的示例方法的流程图;以及
图6是管理客户端设备和在客户端设备处实现升级的另一个示例方法的流程图。
具体实施方式
连接到网络的设备可能被广泛接受,并且通常可以更方便使用。特别地,已经开发了新的服务来提供设备作为服务,其中消费者简单地使用设备,而服务提供商维护设备并确保其性能维护在某个级别。此外,服务提供商要维护使用服务的客户端之间的机密性。例如,如果所提供的服务要管理实体(诸如公司A)的多个客户端设备以及另一个实体(诸如公司B)的另多个客户端设备,则要维护机密性,使得公司A的数据不落入公司B的手中。特别地,由公司A使用的客户端设备的数量和类型——包括关于每个客户端设备的硬件和软件的信息——可以被认为是机密信息,并且对公司B保密。
施行的维护的部分包括对安装在客户端设备上的软件实行升级,诸如升级操作系统。完成升级客户端设备上的软件以维护设备的安全性并修复之前版本中可能已经存在的缺陷。由于每个客户端设备可能包括不同的硬件和软件配置,因此升级客户端设备上的软件的效果可能是不可预测的。尽管制造商一般提供指导方针以及推荐的硬件和软件配置,但是部署在现场中的客户端设备通常可能安装了可以使用客户端设备资源的其它组件。因此,升级客户端设备可能导致非意图的后果,诸如设备性能的降低,这可能使客户端设备的用户沮丧。此外,软件升级可能导致膨胀,因为新版本可能使用附加的资源(诸如更多的存储器)以提供更好的用户体验。
每个客户端设备的硬件配置可以在设备引入服务中时基于各种因素(诸如预期的使用)来选取。为了高效利用设备上的资源,将要领会,资源的使用要接近于最大可用资源。然而,对客户端设备的需求可能在一段时间内变化。例如,如果客户端设备是个人计算设备(诸如膝上型计算机或平板),则随着用户在组织中的角色演变,对资源(诸如存储器)的需求可能取决于由客户端设备的用户所实行的功能而变化。
预测软件升级的效果可能有助于决定是否要继续进行软件升级。例如,如果软件升级可能导致故障——诸如客户端设备上显著降低的性能或引入不兼容性问题——则软件升级可能被推迟,等待客户端设备上硬件的升级或软件的重新配置。另一方面,如果软件升级不可能导致故障,则软件升级要在客户端设备上实现。一般而言,可以由顾问来施行确定是否要实行软件升级,该顾问可以评估升级到特定客户端设备或客户端设备类别的效果。这可能将做出主观决策的元素引入到过程中。通过用将规则应用于所有设备的装置来施行分析,提供了客观的度量来确定软件升级之后故障的概率。因此,该装置增加了分析的准确性和客观性。另外,该装置提供了用于处置来自多个源的数据的过程,在所述多个源之间要维护机密性。通过匿名化数据使得不呈现标识特征,该装置具有更大得多数量的客户端设备,可以从所述客户端设备收集遥测数据以在比较中使用。
参考图1,在10处一般地示出了用于管理客户端设备和在客户端设备处实现升级的装置的示例。在本示例中,装置10包括存储器存储单元15、匿名化引擎20、通信接口25、选择引擎30、比较引擎35和升级引擎40。尽管本示例将匿名化引擎20、选择引擎30、比较引擎35和升级引擎40示出为单独的组件,但是在其它示例中,匿名化引擎20、选择引擎30、比较引擎35和升级引擎40作为单独组件的任何组合可以是相同物理组件——诸如被配置为实行多个功能的微处理器——的部分。装置10还可以包括附加的组件,诸如附加的存储器存储单元、与其它设备通信的接口、以及与能够访问装置10的管理员交互的进一步输入和输出设备。
在本示例中,存储器存储单元15可以包括非暂时性机器可读存储介质,该非暂时性机器可读存储介质可以是任何电子、磁性、光学或其它物理存储设备。存储器存储单元15还可以维护数据库,以存储从多个源——诸如使用设备作为服务系统来管理其客户端设备的公司——收集的遥测数据。将要领会,使用该设备作为服务系统的公司可以操作若干不同的客户端设备,并且客户端设备可以不相同。例如,随着公司的成长,公司可能添加要管理的设备。随着技术和客户端设备的演变,后续添加的设备可能与更早的设备不同。另外,客户端设备的数量以及由公司使用的客户端设备的配置可能是与公司的操作相关的商业秘密。因此,遥测数据的每个源可以是使用该设备作为服务系统的单独的公司,并且不同源之间的机密性要被维护。
从每个源接收的遥测数据不受特别限制。在本示例中,遥测数据可以从与源相关联的每个客户端设备(本文中称为“源设备”)接收。因此,遥测数据可以包括诸如设备标识符、型号、客户端标识符、硬件规范和安装在每个源设备上的软件列表之类的信息。特别地,从源设备收集的遥测数据可以描述源设备的配置。例如,遥测数据可以提供关于可能影响成功升级的可能性的资源容量的信息。
特定资源容量不受特别限制,并且可以包括存储器容量,诸如随机存取存储器。在其它示例中,资源容量可以是处理器容量,诸如客户端设备中处理器的数量和速度。在另一个示例中,资源容量可以是非易失性存储器容量,诸如硬驱动器容量。遥测数据还可以包括硬件信息,诸如智能驱动器信息、固件修订、盘物理信息(比如型号、制造商、自测结果)、以及电池信息。
由于遥测数据是从多个源收集的,因此遥测数据可能包括足够的信息来标识源,以及提供与源相关联的实体如何已经建立其网络的清晰指示。这可能为该实体的竞争者提供研究该实体的操作的机会,其可能给予竞争者可能被视为与公司的操作相关的商业秘密的想法。因此,尽管遥测数据被集中存储在存储器存储单元15上,但是与存储器存储单元15中的遥测数据相关联的记录的机密性要被维护,使得遥测数据的一个源不能查看从另一个源接收的遥测数据。
匿名化引擎20与存储器存储单元15通信。在本示例中,匿名化引擎20要从遥测数据移除标识信息以生成匿名化数据。匿名化引擎20可以从遥测数据移除机密信息,但是维护遥测数据的所有其它信息,诸如客户端设备的一般硬件配置。例如,客户端设备的机密信息可以包括可以是某些应用的部分的个人信息,以及可以将客户端设备与特定源相关联的标识信息,诸如设备标识符、网络信息、以及名称和设备历史。在该示例中,硬件配置可以包括诸如客户端设备的类型或型号、存储器的量、处理器的型号或类型以及速度、图形卡、和客户端设备的其它安装组件之类的信息。
在一些示例中,匿名化引擎20可以使用索引键以用索引值或另一个匿名标识符(诸如通用标识符或顺序序列号)来替换机密遥测数据。因此,由匿名化引擎20生成的匿名化数据可以用适当的解密密钥或查找表去匿名化。通过具有从匿名化数据恢复原始遥测数据的能力,如果请求验证遥测数据是正确的,则可以后续施行审计。
通信接口25一般要通过网络来通信,以发送和接收来自其它设备的消息。在本示例中,通信接口25可能要从客户端设备接收升级的请求。可以从针对新升级运行自动检查的客户端设备接收该请求。替代地,可以基于来自客户端设备的用户的输入而在客户端设备处生成请求。由通信接口25接收的请求还可以包括关于客户端设备的配置的信息。该信息不受特别限制,并且可以与从上面讨论的其它源的其它设备接收的遥测数据相似。
在其它示例中,升级的请求可能不包括设备配置数据。例如,如果从其接收请求的客户端设备是作为服务系统的设备中的受管理设备,则存储器存储单元15可能已经包括客户端设备的设备配置。因此,在该示例中,可以在不经由通信接口25接收设备配置的情况下获得设备配置。在另一个示例中,通信接口25可能要向系统中的客户端设备传输升级命令,其中升级是由策略授权的。在该示例中,该命令可以由升级引擎40在考虑升级故障的概率之后发出,如下面更详细讨论的。
通信接口25从客户端设备接收请求的方式不受特别限制。在本示例中,装置10可以是位于远离客户端设备的位置的云服务器,该客户端设备可以广泛分布在大的地理区域上。因此,通信接口25可以是通过互联网通信的网络接口。在其它示例中,通信接口25可以经由对等连接(诸如通过有线或专用网络)连接到客户端设备。
选择引擎30与存储器存储单元15和通信接口25通信。在本示例中,选择引擎30要从通信接口25接收请求升级的客户端设备的设备配置。此外,选择引擎30要基于设备配置来选择存储器存储单元15中的匿名化数据的子集。特别地,选择引擎30从已经试图实行由客户端设备所请求的升级的设备选择匿名化数据的子集。
选择引擎30选择匿名化数据的子集的方式不受限制。在本示例中,选择引擎30从跨多个源的设备搜索匿名化数据,所述设备已经试图实行所请求的升级。例如,如果由通信接口25接收的请求是用于将操作系统从第一版本升级到第二版本,则选择引擎30可以从已经试图实行将操作系统从第一版本升级到第二版本的设备选择所有匿名化数据。
在其它示例中,选择引擎30可以更有选择性,并且从已经试图实行将操作系统从第一版本升级到第二版本的匿名化数据过滤设备。过滤匿名化数据的方式不受特别限制。例如,选择引擎可以基于提供遥测数据的源设备的设备配置和请求设备的设备配置之间的相似性来过滤匿名化数据。源设备和请求设备之间的相似性程度也不受特别限制,并且可以基于预确定阈值。例如,选择引擎30可以选择具有大体上相同的存储器容量的匿名化数据的子集。作为另一个示例,选择引擎30可以选择具有大体上相同的处理器配置(诸如相同数量和型号的处理核心)的匿名化数据的子集。作为另一个示例,选择引擎30可以选择具有大体上相同的图形处理能力的匿名化数据的子集。选择引擎30还可以基于源设备的特性的任何组合来选择匿名化数据。
在其它示例中,代替过滤具有大体上相同组件的源设备,选择引擎30可以选择具有落在预确定阈值内的容量的设备。例如,选择引擎30可以选择匿名化数据的子集,该匿名化数据的子集具有在资源容量的指定百分比或范围内的资源容量。继续该示例,如果请求设备是具有16GB的随机存取存储器的客户端设备,则选择引擎可以选择具有16GB或更少随机存取存储器的源设备。
在一些示例中,选择引擎30还可以基于源设备与请求设备的相似性来将加权因子应用于匿名化数据。选择引擎30应用加权因子的方式不受限制。例如,如果匿名化数据要被用于计算升级故障的概率,则源设备贡献于概率的确定的量可以被加权。作为示例,与如果源设备具有比请求设备更低的资源容量经历了升级故障相比,如果源设备具有比请求设备更大的资源容量经历了升级故障可能对概率的确定有更大的影响。在该示例中,请求设备的附加资源容量可能足以克服由源设备经历的升级故障。
比较引擎35要分析匿名化数据的子集,以确定在请求升级的客户端设备处升级故障的概率。比较引擎35做出确定的方式不受限制。例如,比较引擎35可以在其中未成功实行升级的匿名化数据的子集中采取所有源设备的简单百分比。不成功升级的定义不受限制,并且可能取决于由通信接口最初接收到的请求。例如,不成功的升级可以被定义为其中使设备变得不可操作的升级,通常被称为砌砖。在其它示例中,不成功的升级可能在设备上生成错误屏幕,使得升级被回滚。在另一个示例中,不成功的升级可能导致设备以显著的滞后操作,并提供低于某个级别的用户体验,该级别可以是对用户主观的、或是客观测量的。
升级故障的概率的确定还可能涉及对匿名化数据的子集中每次试图升级的结果加权。如上面所讨论的,所应用的加权因子可以取决于源设备与请求设备的相似性。
升级引擎40要基于由比较引擎35确定的升级故障的概率在请求客户端设备处实现升级。例如,如果由比较引擎35计算的升级故障的概率在预确定阈值之下,则客户端设备可以被认为是要实现的所请求升级的良好候选。替代地,如果升级故障的概率高于阈值概率,则由于在试图升级客户端设备时客户端设备故障的风险,升级将不在客户端设备处实现。在客户端设备没有升级的情况下,错误消息可以由升级引擎40生成并被提供给客户端设备。
升级引擎40实现升级的方式不受限制。例如,升级引擎40可以基于升级故障的概率来提示客户端设备的用户在批准时下载并安装升级。在其它示例中,升级引擎40可以将升级推送到客户端设备而无需来自用户的进一步输入,诸如在受管理的客户端设备中。
参考图2,在100处一般地示出了客户端设备的示例,该客户端设备可以提供要存储在装置10的存储器存储单元15中的遥测数据,或者可以请求升级。客户端设备100不受特别限制,并且可以是由装置10管理的任何其它设备,诸如共享设备(比如台式计算机、平板或智能电话)。客户端设备100可以包括附加的组件,诸如各种存储器存储单元、与其它设备通信的接口,并且可以包括与用户交互的外围输入和输出设备。在本示例中,客户端设备100包括通信接口110、用于存储数据的存储器存储单元115以及操作系统150、以及多个组件120-1、120-2、120-3(一般地,这些组件在本文中被称为“组件120”并且它们被统称为“组件120”,这个命名法在本说明书中的其它地方使用)。
通信接口110要通过网络与装置10通信。在本示例中,客户端设备100可以连接到云中要由装置10管理的云。因此,通信接口110可能要向装置10传输遥测数据,以存储在存储器存储单元15上。通信接口110传输遥测数据或升级的请求的方式不受特别限制。在本示例中,客户端设备100可以通过网络(诸如互联网)在远程位置处与装置10连接。在其它示例中,通信接口110可以经由对等连接(诸如通过有线或专用网络)连接到装置10。在本示例中,装置10是中央服务器。然而,在其它示例中,装置10可以是云中存在的虚拟服务器,其中功能可以跨若干物理机器分布。
存储器存储单元115耦合到数据收集引擎125,并且可以包括非暂时性机器可读存储介质,该非暂时性机器可读存储介质可以是任何电子、磁性、光学或其它物理存储设备。在本示例中,存储器存储单元115还可以维护操作系统150,在客户端设备100是请求设备的示例中,该操作系统150可能应该升级。在其中客户端设备100是源设备的其它示例中,操作系统150可以是经升级的操作系统。
组件120可以是具有资源容量的客户端设备的资源。组件120不受特别限制,并且可以是由客户端设备100使用的任何资源。例如,组件120-1可以是具有已知存储器容量的存储器模块。组件120-2可以是处理器,并且组件120-3可以是图形卡。每个组件均可能具有特定的特性,诸如可以以大小或速度来测量的容量。在一些示例中,还可以获得组件标识符,诸如来自制造商的特定处理器型号。
数据收集引擎125要从客户端设备100内的存储器存储单元115和组件120收集遥测数据。收集的信息不受限制,并且可以包括存储在存储器存储单元115中的信息,诸如系统信息或操作系统150的版本。该信息也可以直接从每个组件120收集。
参考图4,在200处一般地示出了用于管理客户端设备和在客户端设备处实现升级的系统的示例。在本示例中,装置10经由网络210、220、230与多个客户端设备通信。在该示例中,网络210、网络220和网络230中的每一个可以表示不同的源,其中所述源每个彼此隔离。特别地,连接到网络210的客户端设备不能看到网络220或网络230上的任何客户端设备。将要领会,客户端设备不受限制,并且可以存在由装置10经由网络210、220、230管理的各种客户端设备。
参考图5,在10a处一般地示出了用于管理客户端设备和在客户端设备处实现升级的装置的另一个示例。装置10a的类似组件除了随后是后缀“a”之外,与它们在装置10中的对应部件有类似的标记。装置10a包括存储器存储单元15a、匿名化引擎20a、通信接口25a、选择引擎30a、比较引擎35a、升级引擎40a和推荐引擎42a。在本示例中,选择引擎30a、比较引擎35a、升级引擎40a和推荐引擎42a由处理器45a实现。在其它示例中,匿名化引擎20a也可以由处理器45a实现。
处理器45a可以包括中央处理单元(CPU)、图形处理单元(GPU)、微控制器、微处理器、处理核心、现场可编程门阵列(FPGA)、专用集成电路(ASIC)等。处理器45a和存储器存储单元15a可以协作来执行各种指令。在本示例中,处理器45a可以执行存储在存储器存储单元15a上的指令,以实现选择引擎30a、比较引擎35a、升级引擎40a和推荐引擎42a。在其它示例中,选择引擎30a、比较引擎35a、升级引擎40a和推荐引擎42a可以每个在单独的处理器上执行。在进一步的示例中,选择引擎30a、比较引擎35a、升级引擎40a和推荐引擎42a可以在单独的机器上操作,诸如从作为服务提供商的软件或在虚拟云服务器中操作。
存储器存储单元15a要存储装置10a上的各种数据和信息。存储器存储单元15a的组件不受特别限制。例如,存储器存储单元15a可以包括非暂时性机器可读存储介质,该非暂时性机器可读存储介质可以是例如电子、磁性、光学或其它物理存储设备。此外,存储器存储单元15a可以存储可由处理器45a执行的操作系统500a,以向装置10a提供一般功能。例如,操作系统可以向附加的应用提供功能。操作系统的示例包括WindowsTM、macOSTM、iOSTM、AndroidTM、LinuxTM和UnixTM。存储器存储单元15a可以附加地存储在驱动器级别以及其它硬件驱动器处操作的指令,以与装置10a的其它组件和外围设备通信。
在本示例中,存储器存储单元15a可以包括用于存储来自不同源的遥测数据的源数据库510a-1、510a-2、510a-3。例如,假设系统200的装置10用装置10a代替,源数据库510a-1、510a-2、510a-3可以分别包括来自与网络210、220和230相关联的源的遥测数据。因此,在经由通信接口25a接收到遥测数据时,装置10a可以将遥测数据存储在数据库510a中,用于当接收到升级的请求时的后续搜索。
此外,存储器存储单元15a还可以包括匿名化数据库520a,用于存储由匿名化引擎20a生成的匿名化数据。在本示例中,匿名化数据库520a可以被细分成数据子集525a-1、525a-2、525a-3、525a-4。匿名化数据库520a的划分不受限制,并且可以由选择引擎30a来施行。例如,每次选择引擎实行子集的选择时,如果具有相同配置的相似客户端设备要做出请求,则该子集可以被存储在匿名化数据库520a中用于后续检索。在另一个示例中,数据子集525a可以用作粗略过滤器来分离数据。例如,数据子集525a-1可以包括来自平板设备的匿名化数据。另外,数据子集525a-2可以包括来自台式计算机的匿名化数据。数据子集525a-3可以包括来自智能电话的匿名化数据,并且数据子集525a-4可以包括来自所有剩余设备的匿名化数据。
在本示例中,推荐引擎42a可以用于提供推荐以降低升级故障的概率。因此,当升级引擎40a处理具有高于预确定阈值的升级故障的概率的设备时,可以使用推荐引擎42a。由推荐引擎42a提供的推荐可以包括通过升级硬件来增加客户端设备处的资源容量(诸如存储器或处理能力)的建议。该推荐可以作为提示提供给客户端设备的用户,或者作为服务提供商提供给设备的管理员。
参考图5,在400处一般地示出了生成适合性度量以确定升级是否适合于客户端设备的示例方法的流程图。为了协助解释方法400,将假设方法400可以用系统200来施行。实际上,方法400可以是其中可以配置系统200连同装置10和客户端设备100的一种方式。另外,方法400的以下讨论可能导致对系统200以及装置10和客户端设备100的进一步理解。此外,将要强调,方法400可以不以所示出的精确顺序施行,并且各种框可以并行施行而不是顺序施行,或者完全以不同的顺序施行。
参考图5,在400处一般地示出了管理客户端设备和在客户端设备处实现升级的示例方法的流程图。为了协助解释方法400,将假设方法400可以用系统200来施行。实际上,方法400可以是其中可以配置系统200连同装置10和客户端设备100的一种方式。另外,方法400的以下讨论可能导致对系统200以及装置10和客户端设备100的进一步理解。此外,将要强调,方法400可以不以所示出的精确顺序施行,并且各种框可以并行施行而不是顺序施行,或者完全以不同的顺序施行。
在框410处开始,从属于不同源的客户端设备接收遥测数据。在本示例中,源彼此隔离,使得没有信息可以被引导或间接与另一个源共享。
框420包括对在框410处接收的遥测数据匿名化以生成匿名化数据。在本示例中,对遥测数据匿名化涉及从遥测数据移除标识信息以生成匿名化数据。匿名化引擎20可以从遥测数据移除机密信息,但是维护遥测数据的所有其它信息,诸如客户端设备的一般硬件配置,这可能贡献于由于客户端设备上的不兼容资源而导致的升级故障的概率。例如,客户端设备的机密信息可以包括可以是某些应用的部分的个人信息,以及可以将客户端设备与特定源相关联的标识信息,诸如设备标识符、网络信息、以及名称和设备历史。在该示例中,硬件配置可以包括诸如客户端设备的类型或型号、存储器容量、处理器的型号或类型以及处理器的速度、图形卡、和客户端设备的其它安装组件之类的信息。
框430包括从客户端设备接收升级的请求。在本示例中,客户端设备还提供客户端设备的设备配置。
在框440处,使用从框430接收的设备配置来标识在框420处生成的匿名化数据的子集。匿名化数据的子集的标识不受限制,并且可以被实行以标识来自跨多个源的客户端设备的数据,所述跨多个源的客户端设备具有与在框430处接收的请求设备的设备配置相似的设备配置。在框410处提供遥测数据的源设备和在框430处提供请求的请求设备之间的相似性程度也不受特别限制,并且可以基于预确定阈值。例如,如果源设备具有与请求设备大体上相同的存储器容量,则可以标识源客户端设备。
框450包括分析在框440处标识的匿名化数据的子集,以确定在客户端设备处升级故障的概率。确定升级故障的概率的方式不受限制。例如,可以计算在其中未成功实行升级的框440处标识的匿名化数据的子集中的简单百分比。不成功升级的定义不受限制,并且可能取决于由通信接口最初接收到的请求。例如,不成功的升级可以被定义为其中设备变得不可操作的升级,通常被称为砌砖。在其它示例中,不成功的升级可能在设备上生成错误屏幕,使得升级被回滚。在另一个示例中,不成功的升级可能导致设备以显著的滞后操作,并提供低于某个级别的用户体验,该级别可以是对用户主观的、或是客观测量的。
框460涉及基于概率在客户端设备处实现升级。例如,升级引擎40可以基于升级故障的概率来提示客户端设备的用户在批准时下载并安装升级。在其它示例中,可以将升级推送到客户端设备而无需来自用户的进一步输入,诸如在受管理的客户端设备中。
参考图6,在500处一般地示出了管理客户端设备和在客户端设备处实现升级的另一个示例方法的流程图。为了协助解释方法500,将假设方法500可以用装置10a来施行。实际上,方法500可以是其中可以完全配置装置10a的一种方式。此外,方法500还与方法400共享公共框。
在框510处开始,与框410的执行相似,从属于不同源的客户端设备接收遥测数据。
与框420的执行相似,框520包括对在框510处接收的遥测数据匿名化以生成匿名化数据。
框530包括从客户端设备接收升级的请求。在本示例中,客户端设备还提供客户端设备的设备配置。
框540标识在框520处生成的匿名化数据的子集。在本示例中,框540在操作上与框440相似。
与框450的执行相似,框550包括分析在框540处标识的匿名化数据的子集以确定在客户端设备处升级故障的概率。
框555涉及确定在框550处确定的升级故障的概率是否低于阈值。阈值的确定不受特别限制,并且可以基于经验数据来确定。如果升级故障的概率低于阈值,则该方法将继续进行到框560,其与框460相似地操作。
如果升级故障的概率高于阈值,则该方法将继续进行到框570。框570涉及提供推荐以降低升级故障的概率。所提供的推荐可以包括通过升级硬件来增加客户端设备处的资源容量(诸如存储器或处理能力)的建议。该推荐可以作为提示提供给客户端设备的用户,或者作为服务提供商提供给设备的管理员。
对于本领域技术人员来说,各种优点现在将变得显而易见。例如,系统200提供了一种方式,通过该方式可以基于从大量设备收集的经验数据来预测主要升级的效果。通过从跨多个源收集数据并对数据匿名化,数据集进一步增加以改进准确性。
应该认识到,上面提供的各种示例的特征和方面可以组合成也落入本公开范围内的进一步示例。

Claims (15)

1.一种装置,包括:
存储器存储单元,用于存储从多个源收集的遥测数据,其中所述多个源中的每个源维护机密性;
匿名化引擎,用于从遥测数据移除标识信息以生成匿名化数据;
通信接口,用于从客户端设备接收升级的请求,其中所述请求包括客户端设备的请求设备配置;
选择引擎,用于基于请求设备配置来选择匿名化数据的子集;
比较引擎,用于分析匿名化数据的子集以确定在客户端设备处升级故障的概率;以及
升级引擎,用于基于概率在客户端设备处实现升级。
2.根据权利要求1所述的装置,进一步包括推荐引擎,用于提供推荐以降低升级故障的概率。
3.根据权利要求2所述的装置,其中所述推荐要增加客户端设备的资源。
4.根据权利要求3所述的装置,其中资源是存储器。
5.根据权利要求1所述的装置,其中所述遥测数据是从多个源设备收集的。
6.根据权利要求5所述的装置,其中每个源设备具有源设备配置。
7.根据权利要求6所述的装置,其中所述源设备配置包括存储器容量和处理器速度。
8.根据权利要求7所述的装置,其中所述选择引擎基于源设备配置和请求设备配置之间的相似性来选择子集。
9.根据权利要求8所述的装置,其中所述选择引擎基于相似性来将加权因子应用于匿名化数据。
10.一种方法,包括:
从第一源和第二源接收遥测数据,其中所述第一源和所述第二源彼此隔离;
匿名化遥测数据以生成匿名化数据;
从客户端设备接收升级的请求,其中所述请求包括客户端设备的请求设备配置;
标识匿名化数据的子集,其中所述子集包括来自源设备的匿名化数据,所述源设备具有与请求设备配置相似的源设备配置;
分析匿名化数据的子集以确定在客户端设备处升级故障的概率;以及
基于概率在客户端设备处实现升级。
11.根据权利要求10所述的方法,进一步包括提供推荐以降低升级故障的概率。
12.根据权利要求11所述的方法,其中如果概率高于预确定阈值,则提供推荐。
13.根据权利要求10所述的方法,其中所述源设备配置包括存储器容量和处理器速度。
14.一种用可由处理器执行的指令编码的非暂时性机器可读存储介质,所述非暂时性机器可读存储介质包括:
从多个源接收遥测数据的指令,其中所述多个源中的每个源维护机密性;
对遥测数据匿名化以生成匿名化数据的指令;
从客户端设备接收升级的请求的指令,其中所述请求包括客户端设备的请求设备配置;
标识匿名化数据的子集的指令,其中所述子集包括来自源设备的匿名化数据,所述源设备具有与请求设备配置相似的源设备配置;
分析匿名化数据的子集以确定在客户端设备处升级故障的概率的指令;以及
如果概率低于预确定阈值,则在客户端设备处实现升级的指令。
15.根据权利要求14所述的非暂时性机器可读存储介质,其中所述非暂时性机器可读存储介质包括
如果概率高于预确定阈值,则提供推荐以降低升级故障的概率的指令。
CN201980081482.9A 2019-02-01 2019-02-01 基于来自多个源的分析的升级 Pending CN113168315A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2019/016401 WO2020159548A1 (en) 2019-02-01 2019-02-01 Upgrades based on analytics from multiple sources

Publications (1)

Publication Number Publication Date
CN113168315A true CN113168315A (zh) 2021-07-23

Family

ID=71841007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980081482.9A Pending CN113168315A (zh) 2019-02-01 2019-02-01 基于来自多个源的分析的升级

Country Status (4)

Country Link
US (1) US11474809B2 (zh)
EP (1) EP3861433B1 (zh)
CN (1) CN113168315A (zh)
WO (1) WO2020159548A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201020236D0 (en) 2010-11-30 2011-01-12 Convatec Technologies Inc A composition for detecting biofilms on viable tissues
US11748086B2 (en) * 2021-01-22 2023-09-05 Dell Products L.P. Automated software upgrade download control based on device issue analysis
US11625232B2 (en) * 2021-06-07 2023-04-11 EMC IP Holding Company LLC Software upgrade management for host devices in a data center

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5867714A (en) 1996-10-31 1999-02-02 Ncr Corporation System and method for distributing configuration-dependent software revisions to a computer system
US6414868B1 (en) 1999-06-07 2002-07-02 Sun Microsystems, Inc. Memory expansion module including multiple memory banks and a bank control circuit
US7853983B2 (en) * 2002-07-29 2010-12-14 Bea Systems, Inc. Communicating data from a data producer to a data receiver
US8176483B2 (en) * 2005-12-30 2012-05-08 Sap Ag Software maintenance management
US7882320B2 (en) 2006-05-23 2011-02-01 Dataram, Inc. Multi-processor flash memory storage device and management system
EP2030134A4 (en) 2006-06-02 2010-06-23 Initiate Systems Inc SYSTEM AND METHOD FOR AUTOMATIC WEIGHT GENERATION FOR CHARACTERISTICITY
US8949814B2 (en) 2012-06-22 2015-02-03 International Business Machines Corporation Providing a software upgrade risk map for a deployed customer system
WO2014056075A1 (en) * 2012-10-08 2014-04-17 Maintenance Assistant Inc. System and method for providing consumer side maintenance
US20140129686A1 (en) 2012-11-08 2014-05-08 Nvidia Corporation Mobile computing device configured to filter and detect application profiles, a method of manufacturing the same and an external source for delivering hierarchical filtered application profiles to mobile computing devices
US9438648B2 (en) * 2013-05-09 2016-09-06 Rockwell Automation Technologies, Inc. Industrial data analytics in a cloud platform
US20140336791A1 (en) 2013-05-09 2014-11-13 Rockwell Automation Technologies, Inc. Predictive maintenance for industrial products using big data
US20160132420A1 (en) 2014-11-10 2016-05-12 Institute For Information Industry Backup method, pre-testing method for environment updating and system thereof
US10243879B2 (en) * 2015-03-13 2019-03-26 Microsoft Technology Licensing, Llc Intelligent placement within a data center
US10839428B2 (en) 2015-04-11 2020-11-17 International Business Machines Corporation Usage-based hardware or software upgrades
US10142204B2 (en) * 2015-07-27 2018-11-27 Datagrid Systems, Inc. Techniques for evaluating server system reliability, vulnerability and component compatibility using crowdsourced server and vulnerability data
US10228931B2 (en) 2016-11-07 2019-03-12 Microsoft Technology Licensing, Llc Peripheral device support with a digital assistant for operating system upgrades
US10235157B2 (en) * 2016-12-29 2019-03-19 Arris Enterprises Llc Method and system for analytics-based updating of networked devices
US10942760B2 (en) * 2017-02-03 2021-03-09 Microsoft Technology Licensing, Llc Predictive rightsizing for virtual machines in cloud computing systems
US20190018729A1 (en) 2017-04-14 2019-01-17 Microsoft Technology Licensing, Llc Anomaly remediation using device analytics

Also Published As

Publication number Publication date
EP3861433A4 (en) 2022-05-11
US20210357201A1 (en) 2021-11-18
WO2020159548A1 (en) 2020-08-06
EP3861433B1 (en) 2024-03-27
EP3861433A1 (en) 2021-08-11
US11474809B2 (en) 2022-10-18

Similar Documents

Publication Publication Date Title
JP7413255B2 (ja) インタラクティブ・ワークフローを実行するコンピュータ実施方法、システム、およびコンピュータ・プログラム製品、ならびにコンピュータ・プログラム
US10496843B2 (en) Systems and method for automatically securing sensitive data in public cloud using a serverless architecture
US10289468B1 (en) Identification of virtual computing instance issues
US9122531B2 (en) Resource configuration for a network data processing system
US10984360B2 (en) Cognitive learning workflow execution
US12032461B2 (en) Software upgrade stability recommendations
EP3842980B1 (en) System and method for automatically securing sensitive data in public cloud using a serverless architecture
US10719365B2 (en) Cognitive learning workflow execution
US10719795B2 (en) Cognitive learning workflow execution
EP3861433B1 (en) Upgrades based on analytics from multiple sources
US10713084B2 (en) Cognitive learning workflow execution
US11526501B2 (en) Materialized views assistant
US20180004968A1 (en) Protecting sensitive information when replicating data to remote systems
US11650975B2 (en) Online file system consistency check for container data on a clustered filesystem
US20230236751A1 (en) Storage context aware tiering policy advisor
EP4216094A1 (en) System and method for automatically securing sensitive data in public cloud using a serverless architecture

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40051427

Country of ref document: HK