CN103365683A - 用于端到端补丁自动化和集成的方法和系统 - Google Patents

用于端到端补丁自动化和集成的方法和系统 Download PDF

Info

Publication number
CN103365683A
CN103365683A CN2013101024140A CN201310102414A CN103365683A CN 103365683 A CN103365683 A CN 103365683A CN 2013101024140 A CN2013101024140 A CN 2013101024140A CN 201310102414 A CN201310102414 A CN 201310102414A CN 103365683 A CN103365683 A CN 103365683A
Authority
CN
China
Prior art keywords
patch
client
computing machine
server
computer system
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.)
Granted
Application number
CN2013101024140A
Other languages
English (en)
Other versions
CN103365683B (zh
Inventor
S·A·巴赛特
R·加格
A·格普塔尔
黄海
M·F·M·费罗兹
S·拉维尚德朗
M·K·尼恩盖亚
唐春强
M·维斯瓦纳坦
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN103365683A publication Critical patent/CN103365683A/zh
Application granted granted Critical
Publication of CN103365683B publication Critical patent/CN103365683B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明为用于端到端补丁自动化和集成的方法和系统,涉及一种自动修补计算机系统的方法包括判定计算机补丁是否可用于客户的计算机系统,判定客户的补丁管理策略,根据判定的补丁管理策略判定客户的补丁窗口,以及在判定的补丁窗口上引导将计算机补丁应用到计算机系统。

Description

用于端到端补丁自动化和集成的方法和系统
技术领域
本发明一般地涉及修补(patching)计算机系统。更具体地说,本发明涉及自动化计算机系统修补。
背景技术
计算机软件补丁是被设计为修复计算机程序的问题的软件。例如,补丁可用于更正安全漏洞,更正编程隐错(错误),改进现有功能,或改变计算机程序的软件行为。补丁可应用于管理程序、操作系统、中间件和各种其他计算机软件应用。
发明内容
根据本发明的一个示例性实施例,一种自动修补计算机系统的方法包括判定计算机补丁是否可用于客户的计算机系统,判定所述客户的补丁管理策略,根据所述判定的补丁管理策略判定所述客户的补丁窗口,以及在所述判定的补丁窗口上引导将所述计算机补丁应用到所述计算机系统。
根据本发明的一个示例性实施例,一种提供自动修补的计算机系统包括处理器和存储器。所述存储器存储接口应用编程接口、自动修补程序、以及至少一个客户修补策略。所述接口应用编程接口包括与外部补丁通知服务器通信的第一接口例程以及与外部修补服务器通信的第二接口例程。所述自动修补程序使用所述第一接口例程判定补丁是否可用于客户的计算机,以及使用所述第二接口例程根据所述客户的客户修补策略将所述补丁应用于所述计算机。
根据本发明的一个示例性实施例,一种将补丁应用于多个虚拟机(VM)之一的方法包括判定计算机补丁是否可用于供应给客户的所述虚拟机之一,从所述一个虚拟机中检索包括类别的数字水印,根据所述计算机补丁的补丁严重性判定初始补丁窗口,根据所述类别判定偏移时间,以及在基于所述初始补丁窗口和所述偏移时间的补丁窗口上将所述补丁应用于所述虚拟机。
根据本发明的一个示例性实施例,一种将补丁应用于多个虚拟机之一的方法包括判定计算机补丁是否可用于供应给客户的所述虚拟机之一,从所述一个虚拟机中检索包括类别的数字水印,根据所述计算机补丁的补丁严重性判定初始补丁窗口,根据所述类别判定偏移时间,以及在基于所述初始补丁窗口和所述偏移时间的补丁窗口上将所述补丁应用于所述虚拟机。
附图说明
通过结合附图阅读下面的描述,可以更详细地理解本发明的示例性实施例,在所述附图中:
图1A示出根据本发明的一个示例性实施例的端到端补丁管理系统的生命周期。
图1B示出根据本发明的另一示例性实施例的端到端补丁管理系统。
图2示出可用于形成客户补丁管理策略的示例性表。
图3A示出根据本发明的一个示例性实施例应用补丁的方法。
图3B和3C示出根据本发明的示例性实施例判定用于补丁的补丁策略的补丁窗口的方法。
图4是示出根据本发明的一个示例性实施例的系统的补丁自动化引擎与其他模块之间交互的示例性流程图。
图5是示出根据本发明的一个示例性实施例的补丁自动化引擎与其他模块之间的交互的另一示例性流程图。
图6示出根据本发明的一个示例性实施例的补丁自动化引擎的各部分。
图7示出根据本发明的一个示例性实施例的补丁自动化引擎的各部分之一的示例性过程流。
图8示出根据本发明的一个示例性实施例的补丁自动化引擎的各部分之二的示例性过程流。
图9示出根据本发明的一个示例性实施例的补丁自动化引擎的各部分之三的示例性过程流。
图10示出补丁自动化引擎的各部分之四的示例性过程流。
图11示出能够实现根据本发明的实施例的方法和系统的计算机系统示例。
具体实施方式
本发明的至少一个实施例是为了改进和自动化补丁管理。补丁管理可以包括通知、调度(schedule)、部署和部署后等阶段。
在通知阶段,当厂商发布新补丁时,可通过订阅到厂商通知系统或定期手动检查补丁通告来检测其可用性。针对每个新补丁,补丁通告系统负责通知所管理资产受影响的系统管理小组,以便于可以通过侵扰最少的方式和期限调度、应用和测试补丁。补丁通告系统还用于跟踪补丁的生命周期。例如,该系统可指示补丁成功还是失败,在哪个端点(endpoint)上应用补丁,谁执行了此项工作,执行此项工作的时间,以及如果未及时应用补丁是否通知了客户。
在调度阶段,将新补丁通知系统管理员、支持小组、应用所有者和客户等各方。变更管理系统用于使各小组协商将修补哪个系统,何时应用补丁,以及协商应该做出的例外等。多个小组之间的信息交换和协商可导致不可避免的等待时间。例如,有些小组成员可能位于具有不同时区的不同地理位置上。因此,小组成员之间的往返交换可导致例程变更延迟。
在部署和部署后阶段,交付小组将执行前面阶段中商定的操作以协调工作。例如,当应用操作系统补丁时,应用小组通常需要关闭正在运行的应用和中间件,以避免数据损坏和其他潜在的不一致问题。当修补完成时,执行各种运行状况检查任务和回归测试以确认所应用的变更不会对任何方面产生负面影响。
通常,人类用户会以某种方式参与上述每个阶段。因此,可通过取消人类参与至少一个阶段,并且只让人类操作员参与处理难以自动化的复杂问题和例外来改进补丁管理。
在本发明的至少一个实施例中,以多个标准化补丁调度策略之一配置补丁自动化引擎,从而它能够将客户同意的一个策略应用于(例如,在合同时间)给定补丁。策略语义的通用性足以捕获很多不同的业务需求,但是它仍具有足够的弹性,从而允许客户依需要请求例外。这允许自动化解决方案根据策略执行任务,并且在客户需要变更时相应地调整其操作。
客户可使用以定义补丁调度策略的参数示例包括补丁严重性和虚拟机类别。修补会导致停机,且客户可使用补丁严重性来平衡修补导致的停机时间与应用补丁的益处。修补策略的示例包括每三个月应用“低”和“中”严重性补丁,以及每月应用“高”严重性补丁的策略。与补丁严重性不相关地,客户还可以将虚拟机归入不同类别(例如,测试、开发和生产)。通过此方式,可以分阶段的(staged)方式将补丁调度到不同类别的VM,从而最小化有问题的补丁被传播到生产机器的几率。
图1A示出根据本发明的一个示例性实施例,可以如何使用标准化补丁策略产生端到端补丁管理系统。例如,客户机管理员150或其他方可为每个客户选择一个标准化补丁策略151。然后可为每个客户导出补丁变更窗口152。
现在参考图1A,补丁通知系统/服务器101将新补丁通知给补丁自动化系统120。补丁自动化系统120可以根据来自资产管理系统106的信息判定补丁是否适用于客户。系统120可在云计算环境中运行。如果补丁适用于特定客户,用于该客户的计算机或虚拟机的补丁变更窗口152可通过该客户的补丁策略151以及可能从资产管理系统106或供应管理器106收集的信息导出。
补丁自动化系统120然后可以在变更管理系统/服务器102上打开指示将在导出的补丁窗口152上应用补丁的变更请求。补丁自动化系统120可以与将在给定窗口上应用补丁的补丁工具或修补服务器103进行接口,以便调度在补丁窗口152上应用补丁。
一旦已应用补丁,补丁自动化系统120可以执行部署后测试来判定补丁是否成功安装。补丁自动化系统120然后可以通知合规管理系统或质量服务器105补丁成功安装或未正确安装。
图1B示出根据本发明的另一示例性实施例的端到端补丁管理系统。所述系统包括补丁通知服务器101、变更管理服务器102、修补服务器103、至少一个虚拟机104、质量服务器105、供应管理器106、服务请求管理器107和补丁自动化系统120。
补丁自动化系统120包括用于与补丁通知服务器101接口的第一应用编程接口121、与变更管理服务器102接口的第二应用编程接口122、与修补服务器103接口的第三应用编程接口123、补丁自动化引擎(PAE)124、补丁自动化引擎(PAE)数据库125、以及补丁自动化引擎(PAE)用户界面(UI)126。
在一个示例性实施例中,补丁通知服务器101为来自IBM公司的合规性、问题、风险和授权程序分析报告(APAR)跟踪系统(CIRATS)服务器。在一个示例性实施例中,变更管理服务器102是运行集成服务管理ISM程序的服务器,修补服务器103是Tivoli Endpoint Manger(TEM),供应管理器106是Tivoli Provisioning Manger,服务请求管理器107是Tivoli Service Request Manger(TSRM),这些全是IBM公司创建的计算机程序。但是,本发明的实施例并不限于此。例如,补丁通知服务器101、变更管理服务器102、修补服务器103、质量服务器105、供应管理器106或服务器请求管理器107中的任一项都可被来自其他制造商的程序替代。进一步地,尽管图1B示出各种不同的服务器或管理器,但是所列服务器或管理器的功能可合并到较少数量的服务器或管理器中。
PAE124被配置为使用由各种工具(例如,101-103)实现或与这些工具兼容的各种接口(例如,121-123)与各种工具进行通信,以允许PAE124跨不同的管理工具从始至终安排(orchestrate)补丁管理工作流。例如,PAE124可以使用修补服务器103实现的Platform API和SOAP API(例如,123)与修补服务器103进行通信,并使用变更管理服务器102实现的SOAP API(例如,122)与变更管理服务器102进行通信。
第一接口API121允许PAE124与补丁通知服务器101接口以判定应将补丁应用于每个虚拟机104。补丁自动化系统120可以包括用于所支持的每种不同类型的补丁通知服务器101的其他接口API。一旦已将特定补丁应用于特定VM,PAE124可使用第一接口API121通知补丁通知服务器101已用相应的补丁更新相应的VM104。但是,如果数据库125中的修补策略指示不应应用补丁,PAE124可使用第一接口API121通知补丁通知服务器101将不应用补丁,或者将不把补丁应用于特定VM。补丁通知服务器101然后可以更新自己的数据库(例如,将补丁标记为已关闭、已更新或不适用)。
第二接口API122允许PAE124与变更管理服务器102接口以打开对补丁的变更请求(CR),更新变更请求,或打开或关闭用于补丁的即时记录(IR)。打开的IR指示补丁安装失败。如果补丁此后再次安装成功,PAE124可关闭打开的IR。PAE124可以包括用于支持不同类型的变更管理服务器的其它第二接口API122。
第三接口API123允许PAE124与修补服务器103接口以根据数据库125中存储的修补策略引导特定补丁应用于特定VM104。修补服务器103可以具有自己的专有脚本或消息(例如,fixlet),本地用户可使用其测试补丁应用或在特定时间将补丁应用引导到一个或多个计算机或VM。PAE124被配置为生成这些专有脚本或消息以使用第三接口API123将其发送到修补服务器103。PAE124可以包括用于所支持的不同类型的修补服务器的其他第三界面API123。
上面介绍的API可以包括Platform API和简单对象访问协议SOAPAPI。在一个实施例中,修补服务器103使用中央管理基础设施管理补丁、端点、订阅以及调度和执行操作。补丁分发到分层广播网络中的端点,其中缓存服务器(中继器)放置在战略位置上以减少网络流量。这些中继器还可用于复制从端点发送回中央服务器的数据以最小化反向流量。
当修补服务器104为TEM时,它使用fixlet,这是一种描述各种应用补丁的操作(例如,检查补丁与端点的相关性,从URL下载补丁,执行已下载补丁的校验和,应用补丁等)的脚本语言。fixlet可以判定计算机或VM是否需要补丁。单个fixlet可用于处理一个以上补丁,通常大小为几千字节。
修补服务器103(TEM)可以针对每种不同的操作系统(例如,Windows、Linuz、Red Hat、AIX)具有一个站点,其中VM可根据OS类型被订阅到这些站点。当厂商发布补丁时,可为该补丁创建修补脚本(例如,fixlet)并将其放到修补服务器(例如,fixlet服务器)上的站点中。修补服务器103可被配置为将修补脚本推送到所有订阅到此站点的端点(例如,VM),这些端点会评估修补脚本并将结果报告给修补服务器103。
修补服务器103提供Platform API和SOAP API。SOAP API主要用于从修补服务器103读取数据,但要执行任何操作(例如,将修补脚本调度到端点),则使用Platform API。Platform API可通过Windows平台上的客户端DLL库提供。
图2示出用于特定客户(例如,“customerX”)的补丁管理策略示例。作为示例,补丁管理策略由表201、202和203表示,这些表可存储在数据库125内。尽管图2示出存储在三个单独表内的信息,但这只是为了阐述和以下讨论的方便,因为此信息可以存储在单个或更少数量的表内。
第一表201针对每种不同的补丁严重性级别为客户列出不同的补丁窗口。例如,列出“低”、“中”、“高”的补丁严重性级别。本发明的实施例不限于此,因为可以具有其他级别,例如“重要”、“紧急”等。补丁窗口指示何时应该应用补丁以及应用的频率。例如,如表201所示,“低”严重性补丁在每季度的最后一个周日(例如,三月、六月、九月和十二月的最后一个周日)的晚上9点应用。但是,补丁窗口的格式并不限于任何特定的时间/日期格式或应用频率。
在本发明的进一步示例性实施例中,一个或多个虚拟机104包括对如何使用VM进行分类的水印。例如,VM104之一可用于开发销售机票的程序(例如,开发系统),另一VM104可用于测试销售机票的程序(例如,测试系统),第三VM104可由客户用于运行实际销售机票的程序(例如,生产系统)。在一个实施例中,水印是存储在每个VM上特定目录内的计算机文件,其包括指示VM类别或用途的标志符(designator)。例如,该标志符可以是文字字段,例如“test”指示VM将用于测试,“dev”指示VM将用于开发,以及“prod”指示VM将在生产环境中使用。但是,本发明的实施例并不限于任何特定数量的标志符或标志符类型。例如,可存在更多的标志符,并且可使用不同的文本或其他符号指示相同的类别或用途。进一步地,水印可以是二进制文件,其中标志符为二进制数据。在另一实施例中,水印存储在VM的关系数据库内。
水印允许PAE124使用与特定VM关联的预定义偏移调整用于该VM的特定客户的补丁窗口。图2中的第二表202示出存储偏移的表的示例。例如,针对客户(例如,“customerX”)的每种不同的标志(例如,test、dev、prod),列出不同的时间偏移(例如,+0日、+1周、+2周)。但是,本发明的实施例并不限于任何特定的偏移时间,且两个或更多标志可以具有相同的偏移。例如,参考图2,如果高级别补丁可用于被标志为生产系统的VM,则该补丁将在每月最后一个周六之后2周的晚上11点应用,因为第二表202列出偏移为+2周。
图3A、图3B和图3C示出根据本发明的示例性实施例将补丁应用于计算机系统或VM的方法。
参考图3A,所述方法包括判定补丁是否可用于客户的机器(S301)。PAE124通过以下方式执行此判定:使用第一接口API121查询补丁通知服务器101以判定补丁是否可用于将供应给客户的VM。所述方法进一步包括判定客户的补丁管理策略(S302)。图2列出单个客户customerX的补丁管理策略。但是,PAE124可存储大量客户的补丁管理策略。因此,图2示出的表将针对每个不同的受管理客户包括更多项。客户的补丁管理策略可通过查询与客户关联的补丁管理策略记录来判定。所述方法进一步包括根据判定的修补策略判定补丁窗口(S303)。然后,PAE124可引导修补服务器103在判定的补丁窗口上应用补丁(S304)。
图3B示出根据本发明的一个示例性实施例可用于判定补丁窗口的方法。参考图3B,所述方法包括在与客户关联的列出补丁严重性级别和相应的补丁窗口的表中搜索项(S311),判定计算机补丁的补丁严重性(S312),以及将客户的补丁窗口设为与判定的补丁级别匹配的所列补丁严重性级别的补丁窗口(S313)。例如,该表可以对应于图2中的第一表201,其中补丁严重性级别为“低”、“中”、“高”,并且所列补丁窗口在第一表201的最后一列中示出。
图3C示出图3B的一个变形,其中除了补丁严重性之外,另外还使用计算机或VM的类别判定修补窗口。例如,图3C的方法中的前两个步骤与图3B的方法中的前两个步骤相同。进一步地,图3C的方法包括从计算机系统或VM检索数字水印(S323)。PAE124可以使用与修补服务器103接口的第三接口API123从VM检索水印。例如,修补服务器103可以依需要从VM中请求水印。在另一实施例中,PAE124直接从VM104读取水印,而不涉及修补服务器103。所述方法进一步包括根据检索到的数字水印内的类别判定补丁偏移时间(S324)。例如,如图2所示,可通过在用于特定客户的第二表202中查找与水印中的类别匹配的类别,并提取其相应的偏移来检索用于特定客户的补丁偏移时间。所述方法进一步包括根据补丁严重性级别判定初始补丁窗口(S325)。例如,可通过在用于客户的第一表201中查找与补丁严重性级别匹配的严重性级别,并提取其相应的补丁窗口来判定初始补丁窗口。所述方法进一步包括将补丁偏移时间添加到初始补丁窗口以产生用于客户的补丁窗口(S326)。
由于可针对每个客户存储独特的补丁策略,因此PAE124可能需要供应信息,例如每个VM被供应给或将被供应给哪个客户。然后可使用客户标识作为到相应修补策略的索引。PAE124可具有预定义的供应信息,或者它可使用其他应用编程接口(未示出)查询供应管理器(106)来获取此信息。
PAE用户界面126可用于输入用于每个客户的修补策略数据。例如,用户界面126可以是允许用户输入用于每个补丁严重性级别的补丁窗口、用于每个类别的补丁偏移、以及为排除特定补丁而做出的例外的图形用户界面。
例如,第三表203是将不会应用于特定客户的计算机或VM的补丁列表的示例。例如,图2示出其中客户“customerX”指示不应应用补丁“MS10-081”的示例。因此,当PAE124检查补丁通知服务器101并判定补丁“MS10-081”可用时,它不会将补丁应用于供应给客户“customerX”的计算机或VM。进一步地,PAE124可以通知补丁通知服务器101不会应用该补丁,这样,补丁通知服务器101便可关闭其具有的关于相应补丁的任何打开的记录。
由于PAE124与各种管理工具集成,因此PAE124能够使端到端补丁管理过程流程化(streamline),模仿人类操作员如何使用这些工具执行各种任务。补丁自动化系统120包括各种接口功能/库(请参考例如,121-123)来集成PAE124与这些工具。接口功能被定义为当工具(例如,补丁通知服务器101、变更管理服务器102等)变更(例如,被类似的工具或另一制造商的工具替换)时,只需替换接口功能(例如,121-123)。这种即插即用能力允许PAE124在有限更改之后在其他环境中重新使用。
图4是示出模块与PAE124之间交互的示例性流程图。参考图4,该流程图从起点(S401)开始,继续到入口选择服务目录映像(S402),然后到入口在请求编写中选择类别(S403),接着由入口提交服务请求(S404)。
接下来,该流程图包括供应管理器106从入口接收请求和类别(S405),创建虚拟服务器(S406),创建包括类别值的属性文件(S407),以及使用属性文件安装和配置代理(S408)。
接下来,该流程图包括代理通过端点中的中继服务器与修补服务器103交互(S409),修补服务器103激活新节点(S410)以及根据类别值对将VM分组(S411)。
接下来,该流程图继续到PAE124扫描查找新补丁的激活(S412),并将任何全局基准作业应用于修补服务器103(S413)。接下来,该流程图继续到修补服务器103运行相关性表达式以对PAE做出响应(S414)。
接下来,该流程图继续到PAE124判定补丁是否可用和缺失(S415)。如果补丁未缺失,该流程继续到修补服务器103更新类别值对(S416)。
如果补丁缺失,该流程继续到PAE124部署缺失的补丁(S417),然后PAE124判定补丁部署是否成功(S418)。
如果补丁部署成功,则修补服务器103更新类别值对。如果补丁部署未成功,该流程图继续到变更管理服务器102打开相应的事故单(S419)。
供应管理器(106)可以定期执行对质量服务器105的轮询操作来判定补丁是否已正确应用(S420)。轮询导致质量服务器105对补丁应用执行质量测试(S421),当测试完成(S422)时,质量服务器105会通知供应管理器106。
响应于该通知,供应管理器106登记变更事故(S423),然后通知入口(S424)。响应于该通知,入口将经过修补的VM交付给相应的客户(S425),然后流程可结束(S426)或重新开始(S401)。
图5是示出模块与PAE124之间交互的示例性流程图。参考图5,该流程图从起点(S501)开始,继续到第一程序(例如,标准软件安装程序)执行监视并为特定补丁指定严重性级别(例如,“低”、“中”等),并提供关于此操作的通知(S502)。
接下来,该流程图继续到第二程序(例如,电子软件分发程序)接收该通知(S503),第二程序下载补丁(S504),第二程序产生带有用于该补丁和客户的补丁严重性级别的元数据文件(S505),第二程序将补丁上传到将应用其的VM或计算机(S506),以及第二程序通知补丁通知服务器101补丁可用(S507)。
进一步地,该流程图继续到补丁通知服务器101接收该通知(S508),创建主补丁通告(S509),以及从主补丁通告产生客户特定补丁通告(S510)以应用到PAE124。
进一步地,该流程图继续到PAE124接收客户特定补丁通告(S511),判定与补丁通告匹配并适合于修补服务器的修补脚本(例如,fixlet)(S512)。如果PAE124判定修补脚本不可用,它会将指示修补脚本不可用的消息发送给变更管理服务器102。该流程图进一步包括变更管理服务器102响应于收到此消息,打开事故单(S514)。变更管理服务器102可以通知另一方(例如,系统管理员)该事故(例如,通过电子邮件),然后该方可以手动创建修补脚本(S515)。
如果修补脚本可用,该流程图继续到PAE124判定补丁的适用性(S517)。如果补丁适用,PAE124可以通知变更管理服务器102此情况(例如,通过消息),然后变更管理服务器102可以针对每个客户的每个补丁类别打开变更请求(S518),然后自动批准每个变更请求(S519)。
如果补丁不适用,PAE124可以通知补丁通知服务器101此情况(例如,通过消息),然后补丁通知服务器101可以关闭补丁记录(S532)。
如果判定变更请求被PAE124批准(S520),PAE124启动根据商定的调度(例如,根据客户的补丁策略)在修补服务器103上创建用于补丁的部署作业(S521)。
修补服务器103然后创建作业(S522),所创建的作业将关于补丁的知识推送到端点(S523),然后端点安装所需补丁(S524)并将安装结果发布到(例如,通过消息)PAE124(S525)。
PAE124根据发布的结果评估部署作业状态(S526),然后判定作业是否成功(S527)。PAE124响应于此判定,向变更管理服务器102报告作业是否成功。
如果作业未成功,变更管理服务器102关闭变更请求作为已失败(S528)并打开相应的事故单(S529),另一方(例如,系统管理员)然后可对该事故单进行诊断和修复(S530)。例如,系统管理员将可手动应用补丁并通过用户界面126通知PAE124补丁已成功应用。
PAE124然后可以判定所有补丁类别是否完成(S531),然后相应地引导补丁通知服务器101。如果所有类别完成,补丁通知服务器101可以关闭其与补丁关联的记录(S532)。如果所有类别未全部完成,补丁通知服务器101可相应地更新记录(S533)。如果作业成功,变更管理服务器102响应于收到成功的报告,关闭变更请求作为已成功(S534)。
在一个实施例中,PAE124被配置为检测虚拟机(104)之一是否已暂停,然后自动将暂停的虚拟机更新为最新补丁级别。进一步地,PAE124被配置为将虚拟机恢复回到先前的快照。在将补丁应用于机器之前,PAE124可以判定机器上所有现有补丁的补丁级别。因此,如果将补丁应用于特定组件导致问题,PAE124可引导重新安装用于该组件的先前补丁。
图6示出根据本发明的一个示例性实施例的PAE124的组件。参考图6,PAE124包括PAE调度器601、PAE基准器(baseliner)602、PAE检查器603、PAE激活/停用模块604、以及PAE故障修复模块605。
调度器601、基准器602和检查器603执行稳态操作。例如,当VM保持更新到最新补丁级别时,它们需要在不产生合规问题的情况下保持最新状态。
激活/停用模块604执行一次性操作。例如,当供应VM时,可能不会将修补到最新补丁级别。因此,可能需要在将这些VM提交给客户之前执行一次性调整。
图10示出故障恢复模块605的示例性过程流,该模块执行容错支持。例如,外部服务器和PAE124可能崩溃和出现故障。因此,故障恢复模块605允许PAE124继续正确操作,而不管瞬间行为。故障恢复模块605在执行补丁管理流程中的各个步骤时保留关于每个补丁的状态信息。如果发生故障,故障恢复模块(605)可清除状态并从发生故障时重新开始。
一次性操作的示例包括VM供应和解除供应。当供应VM时,需要在将VM交付给客户之前应用最新补丁,否则,VM可能从一开始就是脆弱的。
图9示出PAE激活/停用模块604的过程流的示例。激活/停用模块604负责检测新供应的VM并对其应用最新基准。
为了稳态操作将VM始终保持在合规状态,调度器603检测新发布的补丁(例如,通过与补丁通知服务器101的接口),打开必要的变更单(例如,通过变更管理服务器102),且一旦变更单获得批准,它便调度在可接受的窗口期间将补丁应用于相关VM(例如,通过与修复服务器103的接口)。
但是,在大的被管理环境中,情况可能动态地变化。例如,如图7所示,客户可以将VM的类别从开发变更为生产。如果已存在针对该VM开打的变更记录并且调度了补丁,需要在不影响现有操作的情况下,回滚这些操作并相应地重新调度。PAE124可定期调用基准器602来处理这些动态方面。
图8示出检查器603的过程流示例。当补丁在变更窗口上应用时,检查器603检测补丁是否被成功应用。如果成功,关闭变更记录并收集用于审核(audit)目的的证据。但是,如果补丁失败,检查器603打开事故单以警告系统管理员,以便可在允许的期限内解决问题。检查器603在变更窗口结束时报告补丁状态。但是,在替代实施例中,检查器603仅使用总变更窗口的一部分(例如,6小时中的3小时)来报告补丁状态。
根据本发明的一个示例性实施例,自动补丁管理系统包括补丁严重性判定过程和客户特定实现过程。补丁严重性判定过程将所提供的一个或多个补丁进行分类。客户特定实现过程根据各补丁严重性和一个或多个客户规范(例如,补丁策略)判定何时实现补丁之一。
补丁严重性判定过程通过将补丁标记或指定为诸如“安全补丁”、“功能补丁”和“性能补丁”等中的一类,来对补丁进行分类。可通过创建指示类型的元数据,然后将该元数据与补丁进行关联来执行标记操作。例如,可以在数据库125中添加包括补丁名称、类型和客户标识符的项。客户规范可以包括在特定时间/日期中应用补丁的时机。
在进一步的实施例中,自动补丁管理系统可以进一步包括VM分类过程,该过程判定一组VM中的一个或多个VM的功能分类。功能分类具有一个或多个工作流特性。客户特定实现过程可以进一步被配置为判定在哪个VM上实现相应补丁。
功能分类可以是生产分类、开发分类和测试分类之一。VM分类过程可以根据上面描述的检查数字水印来执行其判定。
自动补丁管理系统将补丁应用于VM之一的时间可通过一个或多个客户规范(例如,合同规范)或系统规范(例如,客户使用的计算机和操作系统列表)来判定。相应补丁的实现可以根据其分类跨VM分阶段进行。
补丁自动化系统可以进一步包括判定延迟或阻止实现一个或多个补丁的一个或多个理由的例外过程。客户实现过程可以延迟或阻止实现例外过程所确定的一个或多个补丁。
补丁自动化系统可以包括用于从外部服务器或过程收集信息、创建补丁调度、以及引导补丁应用的API,上述信息诸如补丁通知、打开变更请求、以及补丁状态。
补丁自动化系统被配置为以全自动方式执行操作。例如,补丁自动化系统可以自动化诸如补丁通知、变更/事故管理、修补和修补后运行状况检查之类的操作,无需用户介入或反馈。但是,在替代实施例中,补丁自动化系统在半自动模式下操作,或者可以从自动模式切换到半自动模式。例如,补丁自动化系统可被配置为仅自动化特定模块组的任务,不自动化其他任务。例如,补丁自动化系统可被配置为自动化补丁通知服务器101和变更管理服务器102的任务,不自动化修补服务器103的任务。进一步地,补丁自动化系统可与手动控制器协同工作。例如,如果用户手动打开变更管理服务器102上的变更记录以通过人工安装者安装补丁,补丁自动化系统可从其自动更新中忽略该补丁。补丁自动化系统的用户界面可允许用户选择自动化哪些模块或功能以及不自动化哪些模块或功能。
图11示出可以执行根据本发明的示例性实施例的上述任何方法的计算机系统示例。例如,图3A-3C的方法和图4和图5的流程图可通过在计算机系统上运行的软件应用的形式实现。例如,计算机系统可以承载补丁自动化系统120、补丁通知服务器101、变更管理服务器102、修补服务器103、质量服务器105、供应管理器106或服务请求管理器107。进一步地,虚拟机104可以运行在计算机系统上。计算机系统的示例包括大型机、个人计算机(PC)、手持式计算机、服务器等。软件应用可以存储在计算机可读介质(例如,硬盘驱动器存储器1008)上,该计算机可读介质可由计算机系统本地访问或者通过与网络(例如,局域网或因特网)的硬连线或无线连接访问。
一般被称为系统1000的计算机系统例如可以包括中央处理单元(CPU)1001、随机存取存储器(RAM)1004、打印机接口1010、显示单元1011、局域网(LAN)数据传输控制器1005、LAN接口1006、网络控制器1003、内部总线1002和一个或多个输入设备1009,例如键盘、鼠标等。显示单元1011可用于显示PAE(124)的用户界面(126)。如图所示,系统1000可以通过链路1007连接到数据存储设备,例如硬盘1008。CPU1001可以是执行上述方法的计算机处理器。
所属技术领域的技术人员知道,本发明的各方面可以实现为系统、方法或计算机程序产品。因此,本发明的各方面可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,本发明的各方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的各方面操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其他可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机、其他可编程数据处理装置、或其他设备以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令的制造品(manufacture)。
也可以把计算机程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

Claims (26)

1.一种自动修补计算机系统的方法,所述方法包括:
判定计算机补丁是否可用于客户的计算机系统;
判定所述客户的补丁管理策略;
根据所述判定的补丁管理策略判定所述客户的补丁窗口;以及
在所述判定的补丁窗口上引导将所述计算机补丁应用到所述计算机系统。
2.根据权利要求1的方法,其中判定所述补丁窗口包括:
在与所述客户关联的列出补丁严重性级别和相应的补丁窗口的表中搜索项;
判定所述计算机补丁的补丁严重性级别;以及
将所述客户的所述补丁窗口设为与所述判定的补丁级别匹配的所述列出的补丁严重性级别的补丁窗口。
3.根据权利要求1的方法,其中判定所述补丁窗口包括:
在与所述客户关联的列出补丁严重性级别和相应的补丁窗口的表中搜索项;
判定所述计算机补丁的补丁严重性级别;以及
从所述计算机系统检索数字水印;
根据所述检索的数字水印内的类别判定补丁偏移时间;以及
将所述补丁偏移时间添加到初始补丁窗口以产生用于所述客户的补丁窗口。
4.根据权利要求3的方法,其中判定所述补丁偏移时间包括:
在与所述客户关联的列出类别和相应的补丁偏移时间的第二表中搜索项;以及
将所述补丁偏移时间设为其类别与水印中的所述类别匹配的所述列出的补丁偏移时间。
5.根据权利要求4的方法,其中所述类别包括开发类别、测试类别,以及生产类别。
6.根据权利要求1的方法,其中判定所述计算机补丁是否可用包括使用本地接口应用编程接口查询外部补丁通知服务器,以判定所述计算机补丁是否可用于所述客户。
7.根据权利要求1的方法,其中引导应用所述补丁包括:
指示外部变更管理系统针对所述客户打开变更请求以便应用所述计算机补丁;以及
通知所述变更管理系统所述请求已被批准。
8.根据权利要求1的方法,进一步包括使用本地接口应用编程接口通知外部变更管理系统所述计算机补丁已成功应用或在应用所述计算机补丁时出现故障。
9.根据权利要求1的方法,其中引导应用所述计算机补丁包括:
根据所述计算机补丁产生与外部补丁服务器兼容的补丁脚本;以及
使用与所述补丁服务器兼容的本地接口应用编程接口将所述补丁脚本发送到所述补丁服务器。
10.根据权利要求1的方法,其中判定所述计算机补丁是否可用于所述计算机系统包括:
在与所述客户关联的列出要忽略的补丁的表中搜索项;
判定可用于应用的计算机补丁的名称;以及
如果所述名称与所列补丁的名称不匹配,则判定所述计算机补丁可用于所述计算机系统。
11.根据权利要求1的方法,其中所述计算机系统为虚拟机。
12.一种用于自动修补的系统,所述系统包括被配置为执行根据权利要求1至11中任一项的方法步骤的装置。
13.一种提供自动修补的计算机系统,所述系统包括:
处理器;
存储器;其中所述存储器存储接口应用编程接口、自动修补程序、以及至少一个客户修补策略,
其中所述接口应用编程接口包括与外部补丁通知服务器通信的第一接口例程以及与外部修补服务器通信的第二接口例程,以及
其中所述自动修补程序使用所述第一接口例程判定补丁是否可用于客户的计算机,以及使用所述第二接口例程根据所述客户的所述客户修补策略将所述补丁应用于所述计算机。
14.根据权利要求13的计算机系统,其中所述系统被配置为在自动模式下执行补丁通知、变更管理、修补和修补后运行状况检查的功能中的至少一项,以及在半自动模式下执行操作以排除在所述自动模式期间执行的功能之一。
15.根据权利要求13的计算机系统,其中所述客户修补策略指示将根据补丁的严重性级别在不同的补丁窗口上将补丁应用于所述客户的计算机。
16.根据权利要求15的计算机系统,其中所述补丁窗口以与正在修补的所述计算机系统的类别关联的偏移时间被偏移。
17.根据权利要求13的计算机系统,其中所述接口应用编程接口包括与外部变更管理服务器通信的第三接口例程。
18.根据权利要求16的计算机系统,进一步包括被配置为使用户能够在多个计算机系统之一上存储数字水印的供应管理器,其中所述数字水印包括所述类别。
19.根据权利要求18的计算机系统,其中所述供应管理器被配置为使所述用户能够设置所述类别以指示所述相应的计算机系统将被用于测试、开发和生产中的一项。
20.根据权利要求13的计算机系统,其中所述存储器存储关系数据库并且用于客户的补丁修补策略由所述数据库的至少一个表表示,所述表被格式化为至少包括具有所述客户的客户标识符、第一补丁类别和第一补丁窗口的第一项,以及具有所述客户标识符、第二其他补丁类别和第二其他补丁窗口的第二项。
21.根据权利要求20的计算机系统,其中所述补丁类别表示不同的补丁严重性级别。
22.一种将补丁应用于多个虚拟机之一的方法,所述方法包括:
判定计算机补丁是否可用于供应给客户的所述虚拟机之一;
从所述一个虚拟机中检索包括类别的数字水印;
根据所述计算机补丁的补丁严重性判定初始补丁窗口;
根据所述类别判定偏移时间;以及
在基于所述初始补丁窗口和所述偏移时间的补丁窗口上将所述补丁应用于所述虚拟机。
23.根据权利要求22的方法,其中判定所述计算机补丁是否可用包括使用本地接口应用编程接口查询外部补丁通知服务器,以判定所述计算机补丁是否可用于所述虚拟机。
24.根据权利要求22的方法,其中应用所述补丁进一步包括:
指示外部变更管理系统针对所述客户打开变更请求以便应用所述计算机补丁;以及
通知所述变更管理系统所述请求已被批准。
25.根据权利要求22的方法,其中应用所述计算机补丁包括:
根据所述计算机补丁产生与外部补丁服务器兼容的补丁脚本;以及
使用与所述补丁服务器兼容的本地接口应用编程接口将所述补丁脚本发送到外部补丁服务器。
26.一种用于将补丁应用于多个虚拟机之一的系统,所述系统包括被配置为执行根据权利要求22至25中任一项的方法步骤的装置。
CN201310102414.0A 2012-03-28 2013-03-27 用于端到端补丁自动化和集成的方法和系统 Active CN103365683B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/432,889 US8972963B2 (en) 2012-03-28 2012-03-28 End-to-end patch automation and integration
US13/432,889 2012-03-28

Publications (2)

Publication Number Publication Date
CN103365683A true CN103365683A (zh) 2013-10-23
CN103365683B CN103365683B (zh) 2016-06-01

Family

ID=49236834

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310102414.0A Active CN103365683B (zh) 2012-03-28 2013-03-27 用于端到端补丁自动化和集成的方法和系统

Country Status (2)

Country Link
US (1) US8972963B2 (zh)
CN (1) CN103365683B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106406921A (zh) * 2015-07-29 2017-02-15 深圳市腾讯计算机系统有限公司 一种安装补丁的方法及装置
CN106716360A (zh) * 2014-09-24 2017-05-24 甲骨文国际公司 支持多租户应用服务器环境中的补丁修补的系统和方法
CN107463428A (zh) * 2017-06-29 2017-12-12 北京北信源软件股份有限公司 一种用于虚拟化环境下的补丁管理方法和装置
CN109828768A (zh) * 2018-12-21 2019-05-31 福建新大陆支付技术有限公司 一种软件补丁的管理方法及系统
US10742568B2 (en) 2014-01-21 2020-08-11 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
US10853055B2 (en) 2014-09-24 2020-12-01 Oracle International Corporation System and method for supporting patching in a multitenant application server environment
US11237814B2 (en) 2017-08-17 2022-02-01 Oracle International Corporation System and method for supporting custom hooks during patching in an application server environment

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8972963B2 (en) * 2012-03-28 2015-03-03 International Business Machines Corporation End-to-end patch automation and integration
US20140068040A1 (en) * 2012-09-04 2014-03-06 Bank Of America Corporation System for Enabling Server Maintenance Using Snapshots
US9569193B2 (en) * 2012-09-07 2017-02-14 Oracle International Corporation System and method for patching java cloud services for use with a cloud computing environment
US9843624B1 (en) * 2013-06-13 2017-12-12 Pouya Taaghol Distributed software defined networking
CN104253791B (zh) * 2013-06-27 2017-12-15 华为终端(东莞)有限公司 一种网页应用程序的安全访问方法、服务器和客户端
US20160139949A1 (en) * 2013-07-19 2016-05-19 Hewlett-Packard Development Company, L.P. Virtual machine resource management system and method thereof
US9250889B2 (en) * 2013-10-18 2016-02-02 International Business Machines Corporation Assigning severity to a software update
US9401954B2 (en) 2013-11-06 2016-07-26 International Business Machines Corporation Scaling a trusted computing model in a globally distributed cloud environment
US9317278B1 (en) * 2014-04-25 2016-04-19 Duran Walker Group, LLC Updating shared access machine-readable code
US9483248B2 (en) * 2014-07-15 2016-11-01 Oracle International Corporation Automatic generation and execution of server update processes
US9785427B2 (en) 2014-09-05 2017-10-10 Oracle International Corporation Orchestration of software applications upgrade using checkpoints
US9740474B2 (en) 2014-10-29 2017-08-22 Oracle International Corporation Orchestration of software applications upgrade using automatic hang detection
US9753717B2 (en) 2014-11-06 2017-09-05 Oracle International Corporation Timing report framework for distributed software upgrades
US9880828B2 (en) 2014-11-07 2018-01-30 Oracle International Corporation Notifications framework for distributed software upgrades
CN111404992B (zh) * 2015-06-12 2023-06-27 微软技术许可有限责任公司 承租人控制的云更新
US10073689B2 (en) * 2015-07-31 2018-09-11 Cisco Technology, Inc. Managing application lifecycles within a federation of distributed software applications
US9792110B2 (en) * 2015-12-21 2017-10-17 International Business Machines Corporation Automatic online system upgrade
US9696985B1 (en) * 2016-01-06 2017-07-04 International Business Machines Corporation Patching of virtual machines within sequential time windows
US11243755B1 (en) 2016-06-22 2022-02-08 Amazon Technologies, Inc. Resource aware patching service
KR101893518B1 (ko) * 2016-10-28 2018-10-04 한국전자통신연구원 제어 시스템의 업데이트 관리 장치, 업데이트 검증 장치 및 그 방법
US10333987B2 (en) * 2017-05-18 2019-06-25 Bank Of America Corporation Security enhancement tool for a target computer system operating within a complex web of interconnected systems
US10579357B2 (en) 2017-07-20 2020-03-03 International Business Machines Corporation Cognitive expected program code installation result assessment
US10592343B2 (en) 2017-10-03 2020-03-17 International Business Machines Corporation Cognitive analysis and resolution of erroneous software patches
US10599544B2 (en) 2017-11-22 2020-03-24 International Business Machines Corporation Determining reboot times of computing nodes
US10552140B2 (en) * 2018-01-31 2020-02-04 Oracle International Corporation Automated identification of deployment data for distributing discrete software deliverables
US10289403B1 (en) 2018-03-29 2019-05-14 Microsoft Technology Licensing, Llc Enhanced server farm patching system for enabling developers to override off-peak patching schedules
US10585659B2 (en) 2018-03-29 2020-03-10 Microsoft Technology Licensing, Llc Enabling tenant administrators to initiate request driven peak-hour builds to override off-peak patching schedules
US20210318861A1 (en) * 2018-11-30 2021-10-14 Hewlett-Packard Development Company, L.P. Software patch analytics devices and systems
CN113056740A (zh) 2018-11-30 2021-06-29 惠普发展公司,有限责任合伙企业 软件补丁差异设备
US11449332B2 (en) 2018-11-30 2022-09-20 Hewlett-Packard Development Company, L.P. Polling computing devices
CN110058874B (zh) * 2019-03-14 2022-03-15 广东九联科技股份有限公司 一种代码补丁检查系统与方法
US11244058B2 (en) 2019-09-18 2022-02-08 Bank Of America Corporation Security tool
US11669621B2 (en) 2020-06-16 2023-06-06 Bank Of America Corporation Custom patching automation with machine learning integration
US11403092B2 (en) 2020-07-09 2022-08-02 Microsoft Technology Licensing, Llc System compliance based on a mix of hotpatches and coldpatches
US11176024B1 (en) 2020-09-23 2021-11-16 International Business Machines Corporation Software patch application and testing optimization
US11947973B1 (en) * 2020-09-29 2024-04-02 United Services Automobile Association (Usaa) Systems and methods for auditing data processing operations
CN113419758A (zh) * 2021-06-23 2021-09-21 未鲲(上海)科技服务有限公司 服务器基线的升级方法、装置与存储介质
US11726766B2 (en) 2021-11-29 2023-08-15 Trane International Inc. Method and apparatus for maintaining software of a control unit for an industrial control system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060080656A1 (en) * 2004-10-12 2006-04-13 Microsoft Corporation Methods and instructions for patch management
US20070033586A1 (en) * 2005-08-02 2007-02-08 International Business Machines Corporation Method for blocking the installation of a patch
CN101211312A (zh) * 2006-12-29 2008-07-02 国际商业机器公司 用于监控和管理客户端上的补丁的设备和方法
CN102262549A (zh) * 2011-03-02 2011-11-30 奇智软件(北京)有限公司 补丁安装方法与系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7051319B1 (en) * 2001-03-27 2006-05-23 Siebel Systems, Inc. Method, system, and product for upgrading software objects using inherency
US20070033635A1 (en) * 2005-08-02 2007-02-08 Hirsave Praveen P K Method, apparatus, and program product for autonomic patch deployment based on autonomic patch risk assessment and policies
US8782201B2 (en) * 2005-10-28 2014-07-15 Bank Of America Corporation System and method for managing the configuration of resources in an enterprise
US20070169089A1 (en) * 2006-01-17 2007-07-19 International Business Machines Corporation Methods and apparatus for patching software in accordance with instituted patching policies
US7748000B2 (en) * 2006-07-27 2010-06-29 International Business Machines Corporation Filtering a list of available install items for an install program based on a consumer's install policy
KR101596510B1 (ko) * 2009-09-04 2016-02-22 엘지전자 주식회사 네트워크 tv의 펌웨어 분할 업데이트 방법
US8972963B2 (en) * 2012-03-28 2015-03-03 International Business Machines Corporation End-to-end patch automation and integration

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060080656A1 (en) * 2004-10-12 2006-04-13 Microsoft Corporation Methods and instructions for patch management
US20070033586A1 (en) * 2005-08-02 2007-02-08 International Business Machines Corporation Method for blocking the installation of a patch
CN101211312A (zh) * 2006-12-29 2008-07-02 国际商业机器公司 用于监控和管理客户端上的补丁的设备和方法
CN102262549A (zh) * 2011-03-02 2011-11-30 奇智软件(北京)有限公司 补丁安装方法与系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ALTIRIS&TRADE: "《Patch Management Solution 7.0 from Symantec for Windows Release Notes》", 5 March 2009, article "Altiris™ Patch Management Solution 7.0 from Symantec for Windows", pages: 5 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11683274B2 (en) 2014-01-21 2023-06-20 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
US10742568B2 (en) 2014-01-21 2020-08-11 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
US11343200B2 (en) 2014-01-21 2022-05-24 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
CN106716360A (zh) * 2014-09-24 2017-05-24 甲骨文国际公司 支持多租户应用服务器环境中的补丁修补的系统和方法
US11880679B2 (en) 2014-09-24 2024-01-23 Oracle International Corporation System and method for supporting patching in a multitenant application server environment
CN106716360B (zh) * 2014-09-24 2020-03-03 甲骨文国际公司 支持多租户应用服务器环境中的补丁修补的系统和方法
US10853055B2 (en) 2014-09-24 2020-12-01 Oracle International Corporation System and method for supporting patching in a multitenant application server environment
US11449330B2 (en) 2014-09-24 2022-09-20 Oracle International Corporation System and method for supporting patching in a multitenant application server environment
CN106406921B (zh) * 2015-07-29 2020-02-28 深圳市腾讯计算机系统有限公司 一种安装补丁的方法及装置
CN106406921A (zh) * 2015-07-29 2017-02-15 深圳市腾讯计算机系统有限公司 一种安装补丁的方法及装置
CN107463428A (zh) * 2017-06-29 2017-12-12 北京北信源软件股份有限公司 一种用于虚拟化环境下的补丁管理方法和装置
CN107463428B (zh) * 2017-06-29 2020-06-02 北京北信源软件股份有限公司 一种用于虚拟化环境下的补丁管理方法和装置
US11237814B2 (en) 2017-08-17 2022-02-01 Oracle International Corporation System and method for supporting custom hooks during patching in an application server environment
CN109828768A (zh) * 2018-12-21 2019-05-31 福建新大陆支付技术有限公司 一种软件补丁的管理方法及系统

Also Published As

Publication number Publication date
US20130263104A1 (en) 2013-10-03
US8972963B2 (en) 2015-03-03
CN103365683B (zh) 2016-06-01

Similar Documents

Publication Publication Date Title
CN103365683A (zh) 用于端到端补丁自动化和集成的方法和系统
EP3811201B1 (en) Reducing overhead of software deployment based on existing deployment occurrences
Doerr et al. Non-functional requirements in industry-three case studies adopting an experience-based NFR method
CN1791871B (zh) 企业控制台
US9383993B2 (en) Enterprise wide software version recommendation
KR101201008B1 (ko) 컴퓨터 시스템 및 분산 애플리케이션의 모델 기반 관리
CN1133928C (zh) 计算机系统的变化监视系统
CN1716884B (zh) 用于监察网络的系统和方法
US8346931B2 (en) Conditional computer runtime control of an information technology environment based on pairing constructs
US9146965B2 (en) Information processor, privilege management method, program, and recording medium
US20120102543A1 (en) Audit Management System
US12008114B2 (en) Custom patching automation with machine learning integration
JP2013050969A (ja) Itリスクマネジメントシステム及び該システムを使用したitリスクマネジメント方法
CN101411123A (zh) 用于分布式数据处理系统端点上的集中式系统管理的方法、系统和计算机程序
JP2008117009A (ja) リモートアクセス制御装置
JP4501436B2 (ja) 情報収集システム、情報収集方法、及び情報収集プログラム
CA3187583A1 (en) Providing triggers based on one-to-many or many-to-one relationships in a system of record
JP5569052B2 (ja) 機器管理システム、情報処理装置、及び情報処理方法
JP2004145715A (ja) コンピュータの保守システムおよび保守方法
US10324821B2 (en) Oracle cemli analysis tool
CN111523808B (zh) 模型集中化管理方法及系统、设备、存储介质
JP2017220107A (ja) 機器設定装置、機器設定方法、及びプログラム
JP5742582B2 (ja) 情報処理装置、人事情報管理システム
US20230418582A1 (en) Information Technology Management System
JP2017220863A (ja) 機器設定装置、機器設定方法、及びプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant