在软件可操作性服务的实施例中,可以监视软件的活动以采集软件活动数据。然后可以从该软件活动数据生成供软件用的软件可操作性签名,并且软件可操作性签名表示软件的可操作性。然后可以将该软件可操作性签名和关联的上下文数据传送至对该软件可操作性签名进行解析的网络服务。在实施例中,网络服务将软件可操作性签名与基线可操作性签名作比较,以确定软件是与基线可操作性签名一致还是不一致地工作。
【技术实现步骤摘要】
【国外来华专利技术】【专利摘要】在软件可操作性服务的实施例中,可以监视软件的活动以采集软件活动数据。然后可以从该软件活动数据生成供软件用的软件可操作性签名,并且软件可操作性签名表示软件的可操作性。然后可以将该软件可操作性签名和关联的上下文数据传送至对该软件可操作性签名进行解析的网络服务。在实施例中,网络服务将软件可操作性签名与基线可操作性签名作比较,以确定软件是与基线可操作性签名一致还是不一致地工作。【专利说明】软件可操作性服务
技术介绍
软件应用对于由操作系统更新和/或服务包更新所造成的操作失败或操作退化很脆弱。例如,操作系统和/或服务包更新会引入对计算系统的改变,该改变打破了硬件设备和对应的设备驱动程序之间的兼容性,这会导致设备性能的下降。
技术实现思路
提供本
技术实现思路
以介绍软件可操作性服务的简化构思,并且下面将进一步在详细说明中说明和/或在附图中示出该构思。本
技术实现思路
既不应被认为是说明所要求保护的主题的必要特征,也不被用来确定或限制所要求保护的主题的范围。说明了一种软件可操作性服务。在实施例中,可以监视软件的活动以采集软件活动数据。然后可以从该软件活动数据生成供软件用的软件可操作性签名,并且软件可操作性签名表示软件的可操作性。然后可以将该软件可操作性签名和关联的上下文数据传送至对该软件可操作性签名进行解析的网络服务。在其它实施例中,网络服务可以从计算设备接收软件可操作性签名和关联的上下文数据。软件可操作性签名表示在计算设备上工作的软件的可操作性。可以将从附加的计算设备接收到的附加的软件可操作性签名聚合在一起。每一个附加的软件可操作性签名表示在附加的计算设备上工作的软件的可操作性,并且与上下文数据关联,该上下文数据相同于或类似于与软件关联的上下文数据。然后可以从附加的软件可操作性签名生成基线可操作性签名,并且该基线可操作性签名表示正常软件操作。然后可以将软件可操作性签名与软件的基线可操作性签名作比较,以确定软件是与基线可操作性签名一致地工作、还是与基线可操作性签名不一致地工作。在实施例中,表示正常软件操作的基线可操作性签名可以是在其中生成软件可操作性签名的上下文的函数。在其它实施例中,可以基于软件可操作性签名来确定该软件与基线可操作性签名不一致地工作。然后网络服务可以确定与基线可操作性签名不一致地工作对应于正常软件操作。因而,然后基于软件可操作性签名可以生成软件的新的基线可操作性签名。替代地,网络服务可以对软件可操作性签名进行解析,以便当基于软件签名确定软件与基线可操作性签名不一致地工作时,确定软件的操作失败或操作退化。网络服务还可以确定操作失败或退化的原因,并且启动缓解软件的操作失败或退化的解决方案。【专利附图】【附图说明】参照下列附图来说明软件可操作性服务的实施例。可以在全文使用相同的附图标记来标注附图所示的相同特征和组件: 图1示出了可以实施软件可操作性服务的实施例的示例系统。图2示出了根据一个或更多实施例的实施软件可操作性服务的网络服务。图3示出了根据一个或更多实施例的软件可操作性服务的示例方法。图4示出了根据一个或更多实施例的软件可操作性服务的另外的示例方法。图5示出了根据一个或更多实施例的软件可操作性服务的另外的示例方法。图6示出了可以实施软件可操作性服务的实施例的示例设备的各种组件。【具体实施方式】说明了一种软件可操作性服务。在实施例中,可以实施软件可操作性模块以监视软件的活动,从而例如从任何类型的软件、应用、设备驱动程序、固件(例如设备固件或系统固件)、微代码、硬件组件或其任何组合来采集软件活动数据。然后软件可操作性模块可以从所述软件活动数据生成供软件用的软件可操作性签名。软件可操作性签名表示软件的可操作性,或一般地,表示软件、应用、设备驱动程序、固件、硬件等的“健康”。然后软件可操作性模块可以将软件可操作性签名以及表示操作上下文的关联的上下文数据传送至对软件可操作性签名进行解析的网络服务。在其它实施例中,网络服务可以从计算设备接收软件可操作性签名和关联的上下文数据。软件可操作性签名表示在计算设备上工作的软件的可操作性。在一种实施例中,网络服务可以从附加的软件可操作性签名生成基线可操作性签名。网络服务可以将从附加的计算设备接收到的附加的软件可操作性签名聚合在一起。每一个附加的软件可操作性签名表示在附加的计算设备上工作的软件的可操作性,并且与上下文数据关联,该上下文数据相同于或类似于与软件关联的上下文数据。然后,网络服务可以从附加的软件可操作性签名生成基线可操作性签名,并且该基线可操作性签名表示正常软件操作。然后网络服务可以将软件可操作性签名与软件的基线可操作性签名作比较,以确定软件是与基线可操作性签名一致地工作、还是与基线可操作性签名不一致地工作。在实施例中,表示正常软件操作的基线可操作性签名可以是在其中生成软件可操作性签名的上下文的函数。例如,可以基于上下文生成基线可操作性签名,该上下文可以包括计算设备的架构(例如X64或ARM)、性能(例如高性能或低性能)、(例如基于0EM、PC型号、位置、CPU速度等的)分析下的市场分区等。仅基于设备驱动程序和操作系统内建版本的两个变量生成的基线可操作性签名可能会具有每驱动程序和每操作系统的基线上下文。另外,可以将更多维度添加至基线上下文。例如,可以添加基线上下文的维度,以当供电力管理功能用的驱动程序运行在带有IGB以下的存储器的平板计算机上的特定位置时,标识该驱动程序的基线可操作性签名。在其它实施例中,可以基于软件可操作性签名来确定该软件与基线可操作性签名不一致地工作。然后网络服务可以确定与基线可操作性签名不一致地工作对应于正常软件操作。因而,然后基于软件可操作性签名可以生成软件的新的基线可操作性签名。替代地,网络服务可以对软件可操作性签名进行解析,以便当基于软件签名确定软件与基线可操作性签名不一致地工作时,确定软件的操作失败或操作退化。网络服务还可以确定操作失败或退化的原因,并且启动缓解软件的操作失败或退化的解决方案。例如,考虑计算设备上的打印机和相应的打印机驱动程序。在对计算设备进行应用服务包更新后,打印机可能会不同地工作,例如花费更长时间来完成打印作业。通常,难以确定打印机驱动程序不同地工作,并且同样难以确定是服务包更新造成打印机的速度变慢。一段时间后打印机的使用者可能注意到打印机似乎花费更长时间来完成打印作业,但是使用者可能难以精准定位是什么造成了性能的降低。此外,如果打印机驱动程序并未变得完全无法操作,则许多使用者甚至不会注意到打印机的性能的降低。然而,根据各种实施例,可以实施软件可操作性模块以监视打印机驱动程序,从而采集打印机驱动程序活动数据。然后可以生成供打印机驱动程序用的软件可操作性签名并将它传送至网络服务。然后网络服务可以将供打印机驱动程序用的软件可操作性签名与打印机驱动程序的基线可操作性签名作比较,以确定打印机驱动程序是与基线可操作性签名一致还是不一致地工作。在这种情况下,因为打印机驱动程序在服务包更新后不正确地工作,所以网络服务可以确定打印机驱动程序与基线可操作性签名不一致地工作。响应于打印机驱动程序与基线可操作性签名不一致工作的确定,网络服务可以对供打印机驱动程序用的软件可操作性签名进行解析,以确定打印机驱动程序的本文档来自技高网...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:SC卡利诺瓦乌,CE马蒂楚克,CG佩特鲁塔,
申请(专利权)人:微软公司,
类型:
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。