CN109347681A - 分布式系统中的自更新功能 - Google Patents

分布式系统中的自更新功能 Download PDF

Info

Publication number
CN109347681A
CN109347681A CN201811329278.8A CN201811329278A CN109347681A CN 109347681 A CN109347681 A CN 109347681A CN 201811329278 A CN201811329278 A CN 201811329278A CN 109347681 A CN109347681 A CN 109347681A
Authority
CN
China
Prior art keywords
node
computer
self refresh
computer node
distributed 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
CN201811329278.8A
Other languages
English (en)
Other versions
CN109347681B (zh
Inventor
D·J·汤普森
A·E·图尔科格鲁
G·O·德斯潘德
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN109347681A publication Critical patent/CN109347681A/zh
Application granted granted Critical
Publication of CN109347681B publication Critical patent/CN109347681B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

描述的是提供服务的计算机节点的分布式系统经由分布式系统的组件进行自更新的技术。这样的自更新运行向分布式系统中的成员计算机节点中的每一个应用一个或多个更新,同时维持由分布式系统提供的服务。该更新运行可包括将工作负载从要被更新的每个计算机节点移开、更新那个节点、并在更新后恢复工作负载。执行更新运行可包括将更新相关责任(其可以是工作负载)从一个计算机节点移到另一个计算机节点。

Description

分布式系统中的自更新功能
本发明专利申请是国际申请号为PCT/US2013/023524,国际申请日为2013年1月29日,进入中国国家阶段的申请号为201380007760.9,名称为“分布式系统中的自更新功能”的发明专利申请的分案申请。
技术领域
本发明涉及分布式系统,更具体地,涉及分布式系统中的自更新功能。
背景技术
分布式系统通过节点/服务器的集合(诸如安排为群集)向客户机提供各种计算机服务(包括应用)。当计算机软件被部署在分布式系统上的产品中时,企业等很难以最新调整和软件改善来保持软件最新,而不干扰由该分布式系统提供的服务。结果,为了更新分布式系统,管理员执行相对详尽的计划,以旨在更新分布式系统的集合中的节点/服务上的软件清单而不影响由该集合提供的服务,有时被称为在更新方面“是服务知晓的”。
典型的管理步骤包括将这些服务从这样的分布式系统集合中的每个服务器/节点迁移,以及将这些服务重新主存到这样的分布式系统集合中的每个服务器/节点,使得节点可被更新,而确保,例如,全部集合的容错“临界量”(例如群集法定数量)在更新过程中保持,并使用以节点为中心的更新软件来更新每个节点。一些管理员手动执行这些任务,而其他管理员使用自组织脚本来试图自动化该过程的部分。在一些情况下,可能有用于与特定类型的软件更新管理软件耦合的特定类型的聚类服务的端到端工具。在任何情况下,这样的信息技术(IT)方法是费力的、易出错的,需要IT专家来管理,并且在正在进行的基础上维护是昂贵的。
随着分布式系统的数量增加,这些手动过程/脚本的操作花费以及需要运行/维护它们的IT管理员对于IT组织来说变成相当可观的操作成本负担。这对于中小型的企业以及倾向于具有无本地IT专家可用的多个分支机构的组织来说尤其如此。
发明内容
提供本概述以便以简化形式介绍将在以下的具体实施方式中进一步描述的一些代表性概念。本概述不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在以限制所要求保护的主题的范围的任何方式来使用。
简言之,在此描述的主题的各个方面涉及提供服务的诸计算机节点的分布式系统经由该分布式系统的组件进行自更新的技术。诸计算机节点的成员资格被确定,并且该组件执行将一个或多个更新应用到有成员资格的多个计算机节点的每一个,同时维持由分布式系统提供的服务的更新运行。执行更新运行可包括潜在地多次重新引导和/或重启有成员资格的多个计算机节点中的每一个。
在一个方面,执行更新运行包括将任何工作负载从每个要更新的计算机节点移开,并在那个计算机节点的更新完成后恢复那个计算机节点上的至少一个工作负载。执行更新运行可包括将协调器(orchestrator)责任从一个计算机节点移到另一个计算机节点。可在将协调器责任从一个计算机节点移到另一个计算机节点之前持久保存更新相关的状态信息,并在将协调器责任从一个计算机节点移到另一个计算机节点之后在第二节点处读取该更新相关的状态信息。
结合附图阅读以下具体实施方式,本发明的其他优点会变得显而易见。
附图说明
作为示例而非限制,在附图中示出了本发明,附图中相同的附图标记指示相同或相似的元素,附图中:
图1A是示出通过分布式系统的软件组件执行自更新的分布式系统的示例组件的框图。
图1B是示出通过分布式系统的硬件/固件执行自更新的替换分布式系统的示例组件的框图。
图2-6包括示出在自更新运行期间处于各种不同状态的示例自更新分布式系统的诸计算机节点和组件的示例表示的框图。
图7是表示在自更新运行期间处于各种不同状态的示例自更新分布式系统中可采取的示例步骤的流程图。
图8是表示示例性非限制联网环境的框图,其中可实现本文所描述的各种实施例。
图9是表示示例性非限制计算系统或运行环境的框图,其中可实现本文所描述各种实施例的一个或多个方面。
具体实施方式
此处所描述的技术的各方面一般针对允许分布式系统以服务知晓方式将其诸节点自更新到当前所需软件级别。一般来说,这提供了一种不要求本地IT专家在场来更新分布式系统软件的端到端分布式系统更新方案。
如将会理解的,自更新分布式系统可在无需外部帮助或监控的情况下运行。分布式系统中的各计算机节点可继续用对IT组织适用的更新(补丁)适用性规则和策略来管控,同时足够智能以自更新它们自己而将分布式系统的全局服务可用性考虑作为整体来考虑。
在此使用分布式系统的各种不同的示例,诸如故障转移群集,应当理解,此处的任何示例均是非限制性的。因此,本发明不限制于在此描述的任何具体的实施例、方面、概念、结构、功能或示例。相反,此处所描述的实施例、方面、概念、结构、功能或示例中的任一个都是非限制性的,并且本发明一般能够以在计算和分布式系统方面提供好处和优点的各种方式来使用。
一般而言且如在此所描述的,自更新群集软件(例如,进程/线程)在所有者节点上运行、确定分布式系统的成员资格、并更新每个成员;(注意,在允许诸如新的、未连接的或非正在运行的机器的非成员成为分布式系统的成员之前或作为其一部分,更新可在那些非成员上执行)。为此,自更新群集软件可更新除了自己之外的每个其它节点,并可操作以更新它在其上运行的节点。在一个情形中,自更新群集软件从所有者节点“移”到新所有者节点,新所有者节点随后运行自更新群集软件的实例来更新先前的所有者节点,包括执行任何那个节点所需的重新引导。与更新相关的状态信息可被持久保存并经由“共享存储设备”发送到新所有者节点。注意在“无共享”分布式系统的特定实施例中,共享存储设备可被分布式存储服务取代,其中该服务可从分布式系统中作为持久存储的的诸节点处访问,即使当不需要到全部节点的真实共享存储连接性时也是如此。此外,注意在替换情形中,自更新群集软件不需要在另一个节点上运行以将更新安装到其自己的节点上。例如,如果不需要重新引导,自更新群集软件只需要安装更新。可替换地,如果需要重新引导且所有者节点能够将其工作负载移到能够继续分布式系统的服务的其它节点,所有者节点的自更新软件能够重新引导其自身以完成该更新;所有者节点可写入任何可访问持久存储以跨一次或多次重新引导持久保存状态信息。
图1A示出了包含包括多个计算机节点1041-104N的自更新分布式系统102的一个示例实现的框图。例如,计算机节点可以是虚拟机或物理机器。分布式系统可具有少到两个节点多到符合实际的任何数量的节点。事实上,在此描述的自更新技术对于小到两个刀片的服务器群集也是有益的,因为除了其它益处,小的自更新服务器群集可被配置为需要很少或不需要手动维护的器具型设备。
节点的每一个包含一个或多个相应的工作负载(示为1061-106J和1071-107K),其包括可在系统102的诸节点之间分布的服务(可能包括应用)。这样的分布式系统的一个示例是故障转移群集,其中在一个节点发生故障或暂停(其可由非预计的(例如,崩溃相关的)或故意的(例如,维护相关的)事件导致)时,该一个节点的工作负载实际上自动“移动”(“故障转移”)到一个或多个其它节点。为此,一旦需要将工作负载从一个节点移开,对应的工作负载的实例被加载到一个或多个其它节点上并因此继续对节点客户机透明地运行。其它类型的分布式系统出于其它理由(例如为了执行自动负载平衡或作为手动维护的一部分)而移动工作负载。耦合到分布式系统通信机制1101-110N的共享联网基础架构108促进工作负载的这样的移动所需要的通信。
一般而言,分布式系统的诸节点时常需要用对诸节点的相应节点本地软件清单1121-112N的更新来更新。许多这些更新涉及重新引导节点和/或停止节点的服务,并且至今为止管理员为这样的更新作计划。
如在此所描述的,分布式系统102被配置来通过向分布式系统102添加自更新相关软件作为其软件的部分来进行自更新。例如,涉及自更新工作负载的.dll文件可被安装为每个节点的节点本地软件清单1121-112N的部分。如将会理解的,自更新相关软件,在作为协调器的本地代理120运行时,将一个或多个更新应用到有成员资格的多个计算机节点的每一个,同时维持由分布式系统提供的服务。
在图1B的节点1301和1302的分布式系统中表示的替换实现中,可基于使用专用自更新机制132来进行更新,专用自更新机制132经由将节点1301和1302耦合到嵌入式硬件和/或固件组件134的接口来实例化并协调更新运行,嵌入式硬件和/或固件组件134永久地耦合到每个节点(其中“永久”旨在意味着不打算容易地解耦合,不像远程计算机)。尽管在图1B的示例中仅示出两个节点1301和1302,可以理解这样的实现可包括任何实际数量的节点。此外,应注意,图1B的分布式系统可方便地结合到器具型设备中(图1A例示的实现也是如此)。
一般而言,自更新相关软件发起包括一个通过分布式系统的自更新循环的“更新运行”,该自更新循环在一个实现中顺序地(或以其它方式,诸如在大型分布式系统的各小组中)以受控方式更新分布式系统节点中的每个。在一个实现中,自更新相关软件包括工作负载。除了其它益处,这使得更新相关软件跨分布式系统高度可用,包括对于分布式系统102中的计算机节点故障有复原力。
在一个实现中,实例化并协调更新允许的那部分软件(例如,进程/线程)被称为服务知晓更新协调器,或简称为“协调器”。协调器顺序地(或以其它方式,诸如在大型分布式系统的各小组中)以受控方式更新分布式系统节点的每个。在此处描述的自更新模式中,协调器可在当前更新运行期间也要被更新的分布式系统节点上运行,这可通过在对协调器先前在其上运行的节点进行更新前将协调器移到另一个节点而发生。
如图1A所表示的,服务知晓更新协调器1141-114N(例如,包括一个或多个进程和/或线程)协调更新分布式系统102的端到端操作。一般而言,在分布式系统中一次仅运行协调器的一个实例(例如1141),并且该协调器的一个实例可在更新运行过程期间按需跨分布式系统内的各计算机节点移动(如至虚线框114N的虚线箭头所指示)。
在图1A的示例实现中,每个节点包含一个或多个节点软件更新工具1161-116N,这些工具自动从一个或多个合适的软件更新源118下载更新。用于软件更新的例如来自企业本地分布点、来自公共互联网(例如,更新)、来自公共云(例如,Windows AzureTM)、来自私有云(例如,Windows Azure私有应用)等等的各种不同源可被支持。
在图1A所表示的示例中,本地协调器代理(例如,管理工具,或基于WMI的组件)被安装在每个分布式系统节点上,如代理1201-120N所表示的。每个代理在更新运行期间并在更新运行之后促进协调器到节点的交互并提供分布式状态管理。代理1201-120N也和其相应的节点本地软件更新工具1161-116N进行交互,以使软件更新影响到在计算机节点本地的其相应的软件清单1121-112N
图2-6示出自更新可如何针对示例三节点(由节点2201-2203表示)分布式系统执行的各种示例状态上的示例。如图2所表示的,这些节点之一成为运行自更新相关工作负载222的实例的所有者节点2201。自更新相关工作负载222可由调度器组件、通过经由合适接口的手动交互,和/或响应于另一事件(诸如在重新引导后自动)而启动。
在一个实现中,自更新相关负载222可包含操作以执行更新的协调器代码223。在替换实现中,自更新相关工作负载222可操作来启动操作以执行更新的协调器代码223(例如,如在节点的节点本地软件清单中所维护的)的本地实例。在任何事件中,在此示例中,如在此所描述的,工作负载/协调器代码222和223能够在更新运行过程期间跨节点2201-2203移动。
每个计算机节点2201-2203主存多个分布式系统服务工作负载2241-2243。一般而言,由这些工作负载2241-2243提供的服务需要在用希望的软件更新来更新分布式系统时维持可用。
一般而言,如图3所表示的,协调器代码222操作以移动正在被更新的节点(在该示例中是节点2202)的工作负载。这由随着移动的系统服务工作负载3242被移动到节点2203的系统服务工作负载2242表示(也以虚线节点/工作负载2242上虚线叉掉的“X”表示)。例如,在故障转移群集中,这可以已知方式通过请求群集系统软件CSS暂停节点2202来自动发生。注意,群集系统软件CSS代替将工作负载移动到节点2203或除了将工作负载移动到节点2203之外,还基于它自己的机制将工作负载2242或其某个子集移动到节点2201是切实可行的,然而为了简化起见这没有在图3中示出。
一旦被移动,协调器代码222接着操作以更新节点2202,节点2202为了效率可能已经下载了这些更新中的一些或全部,并或者采取一或多步来准备这些更新。不再运行系统服务工作负载的节点2202可被重新引导达使得节点软件(且可能甚至固件)进入希望的更新状态所需的次数。
如上面描述的,共享存储226(例如,高可靠性和可用性)可被诸节点访问,包括读和写与自更新相关的状态信息。协调器代码可在任何合适的时间将信息写到共享存储以反映更新运行的状态,使得例如更新状态已知,而不管协调器代码222的任何故障,包括因所有者节点2201的故障。例如,一旦对节点2202的更新完成,状态信息就被更新以指示更新完成,从而如果另一个节点必须接管更新运行的话,这个状态信息是已知的。
此时,节点2202被更新并且可以恢复运行一个或多个工作负载。在图4的示例中,来自节点2203的工作负载2243和3242是出于该目的而被移动到节点2202的。再一次,节点2203的一些或全部工作负载可被移到2201是切实可行的,然而为简化起见,在此示例中,它们被示为被移动到节点2202,并被表示为经移动系统服务工作负载444。一旦被移动,节点2203准备好更新。一旦被更新,包括任何重新引导操作,节点2203可恢复运行一个或多个工作负载。在图4的示例之后,仅所有者节点2201还需要被更新。如上面描述的,取决于分布式系统的容量和配置,协调器代码223可以移动其工作负载、更新其自己的节点软件,并在重新引导后自动重启,并且因此更新该节点而无需移动到另一个节点。然而,在图2-6的示例中,协调器代码223需要移动到另一个节点来允许它当前正在其上运行的节点2201被更新。
协调器代码223可移动到另一个节点的一种方式是通过向群集系统软件CSS请求。另一个方式是如果群集系统软件CSS允许则请求节点2201暂停自己,如果是这样,工作负载被移动,并且因为自更新相关工作负载222也是工作负载,移动使用现有群集技术自动发生。
在图5的示例中,为了更新节点2201,节点2201的自更新相关工作负载222(以及如果其中结合有的话,协调器代码223)以及系统服务工作负载2241通过如群集系统软件CSS所指导的在其它节点2202和2203上启动其实例而被移动到那些节点。尽管可以理解,群集系统软件CSS可根据其自己的机制将工作负载移到其它节点2202和2203,在图5的示例中,自更新相关工作负载222被移到节点2202成为自更新相关工作负载522的另一个实例,且系统服务工作负载2241移到节点2203成为系统服务工作负载555。如果协调器代码523没有被结合到自更新相关工作负载522中,则一旦启动自更新相关工作负载522,就操作以启动协调器代码523。此时,节点2202变成拥有自更新相关工作负载520/协调器代码523的新所有者。
协调器代码523,在被启动时,读取共享存储228并从持久保存的状态信息确定节点2201需要更新。这可包括将任何其它工作负载从节点2201移开,(尽管如上面所描述的这样的其它工作负载已经连同移动自更新相关工作负载222而被移开)。随后更新节点2201,包括按需更新任何重新引导操作。
图6示出了在对节点2201-2203完成更新运行之后,这3个节点的示例分布式系统。注意此时,自更新相关工作负载可将状态信息写入共享存储226,(或清除该信息)以指示更新运行完成。自更新相关工作负载522(和/或协调器代码523)可随后休眠和/或整体或部分终止,直到下一次更新事件或调度,如图6中虚线框所示)。还注意如系统服务工作负载6601-6603所表示,群集系统软件CSS可按需到处移动工作负载,诸如以便平衡工作负载。这可包括使从已更新机器移开的至少一个工作负载在更新后又更新回到那个机器之前或作为更新回到那个机器的部分来恢复。
尽管并非必要,用户接口可被提供以允许用户与更新过程交互,诸如耦合到图1A的本地代理1201-120N或作为其部分。交互的部分可以是初始化(例如,为系统设置一次,除非且直到被改变)。例如,更新相关软件的任何选项可以是用户可配置的,例如,相对于默认值。用户还可以查看,例如,记录在共享存储或另一个可访问位置的关于更新状态的信息,以监控进展。使用合适的接口,用户可将非成员设备耦合到分布式系统以和更新进行一定程度的交互。
例如,如果用户希望,自更新模式可诸如通过用户接口或命令行(例如,PowerShell cmdlet)来临时挂起。当用户例如通过类似交互重新启用自更新相关负载时,下一个更新运行的发生通过在分布式工作负载选项中定义的调度来确定。
在一个实现中,诸如为了检查分布式系统更新基础结构中经改变的设置或确保更新不必须等待调度,更新运行可按需开始,即使当分布式系统整体上继续处在自更新模式。用户接口或命令行选项(例如“UpdateNow(现在更新)”选项)这一次超控所定义的自更新调度,并启动更新运行。
图7是概述实现的示例步骤的流程图,其中协调器过程运行在分布式系统所有者节点上,如在用户定义调度处,并且用任何用户定义的运行选项开始更新运行。如在此示例中将看到的,当所有者节点要被更新时,协调器被移到不同的计算机节点,通常是在这个更新运行中已经被更新的一个节点。亦如在此示例中将看到的,新(经移动的)协调器过程继续相同更新运行,并确保更新运行通过更新留下的尚未更新的任何节点来正确完成。
步骤700涉及协调器确定包括要被更新的那些节点的成员资格。通常,分布式系统想要让其所有的节点在彼此的更新方面处于一致的状态,(除了更新运行期间临时地),然而替换实现可允许更新到不同成员设置。步骤700还表示协调器或其它更新相关软件确保(例如通过群集系统软件)更新能够被以维持分布式系统提供的服务的可用性的方式来应用。例如,如果当前仅仅一个节点在操作,更新运行不能被允许暂停或关闭那一个节点。此外,如果工作负载在被移动到一个或多个其他节点的情况下不能够被这一个或多个其他节点充分地处理,诸如如果分布式系统那时正高负载,更新可被延迟到较不繁忙的时间。因此,更新可能需要等待直到足够节点/资源可用于允许更新而不干扰所提供的系统服务。
步骤702表示协调器检查共享存储以获取这个更新运行的任何现存状态。注意在这个示例中,协调器在启动时不知道它是否开始了新的运行或完成另一个运行,并因此访问状态信息(尽管参数等被用于区分新更新运行是切实可行的)。
步骤704表示暂停要被更新的下一个节点。这可从状态信息确定,例如,因为节点有系统唯一身份,并且哪个或哪些节点已经被更新(如果有)是记录在状态信息中的数据。如上面描述的,(例如,对群集系统软件作出的)暂停请求将暂停节点的工作负载移到一个或多个其它节点。
步骤706在准备好时,例如,在其工作负载被移开之后,更新被暂停的节点。注意,例如,取决于正被更新的代码,一些更新进程在工作负载正被移开时开始也是可行的。
步骤708表示更新共享存储中的状态信息以反映在步骤706更新的节点的更新。更新通常包括重新引导一次或多次,如上面所描述的。注意状态信息可在其它时间被更新,(图7未示出),诸如以便偶尔提供一些状态/进展数据或在故障时有准备,然而相当多的时间是当节点更新完成时,因为另一个节点可在此时恢复更新运行。
步骤710将暂停的节点添加回去作为分布式系统的成员。这可以通过对群集系统软件的请求来完成,并允许当前更新的节点如群集系统软件所指导的开始处理分布式系统服务工作负载。工作负载的一个可以是自更新相关工作负载,如在双节点系统的情况下。
步骤712评估要被更新的所有的其它成员节点(不包括运行协调器的节点)是否已经被更新。如果否,步骤712分支回到步骤704来继续更新运行。
一旦要被更新全部其它节点已经被更新,步骤712分支到步骤714。步骤714评估更新运行是否完成,即包括运行协调器的节点在内的所有成员节点已经更新。如果否,步骤716表示移动协调器,这可通过移动包含协调器的自更新相关工作负载,或通过在自更新相关工作负载启动协调器时移动自更新相关工作负载来实现。在任何事件中,协调器被移动到新节点并在步骤718启动。
步骤718回到步骤702来重复该过程。在没有故障的通常情形中,在步骤704,唯一没有被更新的节点是最初运行协调器的那个节点,然而由于故障有一个或多个节点要更新是可能的。在任何情况下,该过程重复,直到是成员的或保留为成员的全部的节点被更新。
在某个时刻,在步骤714,正在运行协调器的节点已经如步骤712所评估的对全部其它节点上完成该更新运行,并且它本身如步骤714所评估的已经被更新。这时,更新运行完成,且在步骤720,共享存储中的状态信息被更新以反映更新完成。取决于该实现,例如,状态信息可被清除,使得下一个更新运行意识到整个新的更新运行要被执行,尽管其它信息(诸如节点已经被更新到的版本数据)可被保留。
示例性联网以及分布式环境
本领域技术人员可以理解,此处描述的各实施例和方法可结合任何计算机或其它客户机或服务器设备来实现,其可被部署为计算机网络的部分或在分布式计算环境中,并且可以被连接到任何类型一个或多个数据存储。在这一点上,此处描述的各实施例可在具有任何数量的存储器或存储单元的、并且任何数量的应用和进程跨任何数量的存储单元发生的任何计算机系统或环境中实现。这包括但不限于具有部署在具有远程或本地存储的网络环境或分布式计算环境中的服务器计算机和客户计算机的环境。
分布式计算通过计算设备和系统之间的通信交换来提供计算机资源和服务的共享。这些资源和服务包括信息的交换、对于诸如文件之类的对象的高速缓存存储和盘存储。这些资源和服务还包括多个处理单元之间的处理能力共享以便进行负载平衡、资源扩展、处理专门化等等。分布式计算利用网络连接,从而允许客户机利用其集体力量来使整个企业受益。就此,各种设备可具有可如参考本发明的各实施例描述地参与资源管理机制的应用、对象或资源。
图8提供了示例性的联网或分布式计算环境的示意图。该分布式计算环境包括计算对象810、812等以及计算对象或设备820、822、824、826、828等,这些计算对象或设备可包括如由示例应用830、832、834、836、838表示的程序、方法、数据存储、可编程逻辑等。可以理解,计算对象810、812等以及计算对象或设备820、822、824、826、828等可包括不同的设备,诸如个人数字助理(PDA)、音频/视频设备、移动电话、MP3播放器、个人计算机、膝上型计算机等。
每个计算对象810、812等以及计算对象或设备820、822、824、826、828等可经由通信网络840直接或间接地与一个或多个其他计算对象810、812等以及计算对象或设备820、822、824、826、828等通信。尽管在图8中被示为单个元件,但通信网络840可包括向图8的系统提供服务的其他计算对象和计算设备和/或可表示未示出的多个互连网络。每个计算对象810、812等或计算对象或设备820、822、824、826、828等还可以包含应用,诸如可以利用API或其他对象、软件、固件和/或硬件的、适于根据本发明的各实施例所提供的应用实现与其进行通信的应用830、832、834、836、838。
存在支持分布式计算环境的各种系统、组件和网络配置。例如,计算系统可由有线或无线系统、本地网络或广泛分布的网络连接在一起。当前,许多网络被耦合至因特网,后者为广泛分布的计算提供了基础结构并包含许多不同的网络,但任何网络基础结构都可用于便于与如各实施例中所描述的系统的示例性通信。
由此,可使用诸如客户机/服务器、对等、或混合体系结构之类的网络拓扑结构和网络基础结构的主机。“客户机”是使用与其无关的另一类或组的服务的一类或组中的成员。客户机可以是进程,例如,大致上是请求另一程序或进程所提供的服务的一组指令或任务。客户机进程使用所请求的服务,而无需“知道”关于其他程序或服务本身的任何工作细节。
在客户机/服务器体系结构中,尤其在联网系统中,客户机通常是访问另一计算机(例如,服务器)所提供的共享网络资源的计算机。在图8的图示中,作为非限制性示例,计算对象或设备820、822、824、826、828等可被认为是客户机而计算对象810、812等可被认为是服务器,其中计算对象810、812等作为提供数据服务的服务器,诸如从客户机计算对象或设备820、822、824、826、828等接收数据、存储数据、处理数据、向客户机计算对象或设备820、822、824、826、828等发送数据,但任何计算机都可取决于环境而被认为是客户机、服务器、或两者。
服务器通常是可通过诸如因特网或无线网络基础架构之类的远程网络或本地网络访问的远程计算机系统。客户机进程可在第一计算机系统中活动,而服务器进程可在第二计算机系统中活动,它们通过通信介质相互通信,由此提供分布式功能并允许多个客户机利用服务器的信息收集能力。
在通信网络840或总线是因特网的网络环境中,例如,计算对象810、812等可以是其他计算对象或设备820、822、824、826、828等经由诸如超文本传输协议(HTTP)之类的多种已知协议中的任一种与其通信的Web服务器。计算对象810、812等作为服务器还可用作例如计算对象或设备820、822、824、826、828等的客户机,这可以是如分布式计算环境的特性。
示例计算设备
如上所述,有利地,本文所描述的技术可应用于任何设备。因此,应当理解,构想了结合各实施例使用的所有种类的手持式、便携式和其它计算设备和计算对象。因此,以下在图9中所述的通用远程计算机只是计算设备的一个示例。
各实施例可部分地经由操作系统来实现,以供设备或对象的服务开发者使用和/或被包括在用于执行此处所述的各实施例的一个或多个功能方面的应用软件内。软件可以在由诸如客户机工作站、服务器或其它设备等一个或多个计算机执行的诸如程序模块等计算机可执行指令的通用上下文中描述。本领域的技术人员可以理解,计算机系统具有可用于传递数据的各种配置和协议,并且由此没有特定配置或协议应当被认为是限制性的。
图9由此示出了其中可实现本文所述的各实施例的一个或多个方面的合适的计算系统环境900的一个示例,尽管如上所述,计算系统环境900仅为合适的计算环境的一个示例,并非对使用范围或功能提出任何限制。此外,也不应当将计算系统环境900解释为对在示例性计算系统环境900中所示的组件中的任何一个或其组合有任何依赖。
参考图9,用于实现一个或多个实施例的示例性远程设备包括计算机910形式的通用计算设备。计算机910的组件可包括,但不限于,处理单元920、系统存储器930、以及将包括系统存储器的各种系统组件耦合到处理单元920的系统总线922。
计算机910通常包括各种计算机可读介质,并且可以是可由计算机910访问的任何可用介质。系统存储器930可包括诸如只读存储器(ROM)和/或随机存取存储器(RAM)之类的易失性和/或非易失性存储器形式的计算机存储介质。作为示例而非限制,系统存储器930还可包括操作系统、应用程序、其他程序模块、以及程序数据。
用户可通过输入设备940向计算机910输入命令和信息。监视器或其他类型的显示设备也经由诸如输出接口950之类的接口连接到系统总线922。除监视器以外,计算机还可包括诸如扬声器和打印机之类的其他外围输出设备,它们可通过输出接口950连接。
计算机910可使用到一个或多个其他远程计算机(诸如远程计算机970)的逻辑连接在联网或分布式环境中操作。远程计算机970可以是个人计算机、服务器、路由器、网络PC、对等设备或其他常见网络节点、或者任何其他远程媒体消费或传输设备,并且可包括以上关于计算机910所述的任何或全部元件。图9所示的逻辑连接包括诸如局域网(LAN)或广域网(WAN)之类的网络960和接口972,但也可包括其他网络/总线。这些联网环境在家庭、办公室、企业范围的计算机网络、内联网和因特网中是常见的。
如上所述,尽管结合各种计算设备和网络体系结构描述了各示例性实施例,但基本概念可被应用于其中期望改进资源使用的效率的任何网络系统和任何计算设备或系统。
而且,存在实现相同或相似功能的多种方法,例如适当的API、工具箱、驱动程序代码、操作系统、控件、独立或可下载软件对象等,它们使得应用和服务能够使用此处提供的技术。由此,此处的各实施例从API(或其他软件对象)的观点以及从实现如此处描述的一个或多个实施例的软件或硬件对象构想。由此,此处所述的各实施例可具有完全采用硬件、部分采用硬件并且部分采用软件、以及采用软件的方面。
为避免疑惑,本文所公开的主题不限于这些示例。另外,在此所述的被描述为“示例”的任意方面或设计并不一定要被解释为相比其它方面或设计更优选或有利。此外,在使用术语“包括”、“具有”、“包含”和其他类似词语的程度上,为避免疑惑,这些术语旨在当用于权利要求中时以类似于术语“包括”作为开放的过渡词的方式是包含性的而不排除任何附加或其他元素。
如所述的,此处所述的各种技术可结合硬件或软件或,在适当时,以两者的组合来实现。如此处所使用的,术语“组件”、“模块”、“系统”等同样旨在指计算机相关实体,或者是硬件、硬件和软件的组合、软件或者是执行中的软件。例如,组件可以是但不限于在处理器上运行的进程、处理器、对象、可执行件、执行的线程、程序、和/或计算机。作为说明,在计算机上运行的应用和计算机都可以是组件。一个或多个组件可驻留在进程和/或执行的线程内,并且组件可位于一个计算机上和/或分布在两个或更多的计算机之间。
如前所述的系统已经参考若干组件之间的交互来描述。可以理解,这些系统和组件可包括组件或指定的子组件、某些指定的组件或子组件和/或附加的组件,并且根据上述内容的各种置换和组合。子组件还可作为通信地耦合到其他组件的组件来实现,而不是被包括在父组件内(层次性)。另外,应注意到一个或多个组件可被组合成提供聚集功能的单个组件,或被分成若干单独的子组件,且诸如管理层等任何一个或多个中间层可被设置成通信耦合到这样的子组件以便提供集成功能。此处所述的任何组件也可与一个或多个此处未专门描述的但本领域技术人员一般已知的其他组件进行交互。
鉴于本文所述的示例系统,可根据参考各附图的流程图还可理解根据所述的主题来实现方法。尽管为了说明简洁起见,作为一系列框示出和描述的方法,但是应当理解,各实施例不仅仅限于框的次序,因为一些框可以与此处所描绘和描述的框不同的次序发生和/或与其他框并发地发生。尽管经由流程图示出了非顺序或分支的流程,但可以理解,可实现达到相同或类似结果的各种其他分支、流程路径和框的次序。此外,某些示出的框在实现下文所述的方法中是可选的。
结语
尽管本发明易于作出各种修改和替换构造,但其某些说明性实施例在附图中示出并在上面被详细地描述。然而应当了解,这不旨在将本发明限于所公开的具体形式,而是相反地,旨在覆盖落入本发明的精神和范围之内的所有修改、替换构造和等效方案。
除此处所述的各实施例以外,应当理解,可使用其他类似实施例,或者可对所述实施例作出修改和添加以便执行对应实施例的相同或等效功能而不背离这些实施例。此外,多个处理芯片或多个设备可共享此处所述的一个或多个功能的性能,并且类似地,存储可跨多个设备实现。因此,本发明不应限于任何单个实施例,而是应当根据所附权利要求书的广度、精神和范围来解释。

Claims (20)

1.一种在计算环境中的、至少部分地在至少一个处理器上执行的方法,包括:
由分布式系统的协调器模块确定所述分布式系统的多个计算机节点中的提供服务的节点成员资格,并且
执行所述分布式系统的自更新运行,包括
将一个或多个更新应用到所述成员资格中的多个计算机节点的节点本地软件清单,同时维持由所述分布式系统提供的服务,包括:对于多个计算机节点中的要被更新的计算机节点,在将任何服务工作负载从该计算机节点移到另一个计算机节点之前获取所述一个或多个更新的至少一部分,将所述服务工作负载从该计算机节点移到另一个计算机节点,以及在完成对该计算机节点的更新之后恢复该计算机节点上的至少一个服务工作负载。
2.如权利要求1所述的方法,其特征在于,执行所述自更新运行包括重新引导或重启或重新引导并重启所述成员资格中的所述多个计算机节点至少一次。
3.如权利要求1所述的方法,其特征在于,移动所述服务工作负载包括暂停该计算机节点。
4.如权利要求1所述的方法,其特征在于,还包括:
确定所述分布式系统的多个计算机节点的运行状态,包括所述服务工作负载;以及
响应于确定由所述分布式系统提供的服务不能在所述服务工作负载被移动的情况下被维持,将所述自更新运行推迟到下一次。
5.如权利要求1所述的方法,其特征在于,执行所述自更新运行包括将所述协调器模块从将要被更新的计算机节点移动到所述多个计算机节点中的另一个计算机节点。
6.如权利要求1所述的方法,其特征在于,执行所述自更新运行包括在完成所述自更新之前恢复经更新的计算机节点上的一个或多个服务工作负载。
7.如权利要求1所述的方法,其特征在于,所述协调器模块与自更新相关工作负载相关联,并且其中执行所述自更新运行包括将所述自更新相关工作负载从一个计算机节点移动到所述多个计算机节点中的另一个计算机节点。
8.如权利要求1所述的方法,其特征在于,所述分布式系统包括故障转移群集,其中所述协调器模块与自更新相关工作负载相关联,并且其中执行所述自更新运行包括将所述自更新相关工作负载从一个计算机节点故障转移到所述多个计算机节点中的另一个计算机节点。
9.如权利要求1所述的方法,其特征在于,还包括:
将更新相关状态信息持久保存到所述多个计算机节点的共享存储;
在所述自更新运行期间将所述协调器模块从一个计算机节点移动到所述多个计算机节点中的另一个计算机节点;以及
在将所述协调器模块从所述一个计算机节点移动到所述另一个计算机节点之后,在所述另一个节点处读取所述更新相关状态信息。
10.一种系统,包括:
被安排为分布式系统的多个计算机节点;
所述分布式系统内的多个计算机节点中的第一计算机节点上的处理器,所述处理器执行自更新协调器模块,所述自更新协调器模块被配置成:
在所述多个计算机节点中的所述第一计算机节点上运行以通过更新运行中的节点本地软件更新来更新所述多个计算机节点中的其它计算机节点;
协调所述节点本地软件更新以便在所述更新运行期间维持由所述分布式系统提供的服务,所述更新运行包括所述分布式系统的任意节点的重新引导或重启或两者;以及
移动到所述多个计算机节点中的第二节点以通过所述更新运行中的节点本地软件更新来更新所述第一计算机节点,以便在所述更新运行期间维持由所述分布式系统提供的服务。
11.如权利要求10所述的系统,其特征在于,所述分布式系统包括共享存储或分布式存储服务,并且其中所述自更新协调器模块包括软件工作负载,所述软件工作负载被配置以在所述更新运行期间随着所述自更新协调器模块在所述多个计算机节点中的两个或更多个计算机节点之间移动来将所述更新运行状态信息写入所述共享存储或所述分布式存储服务。
12.如权利要求10所述的系统,其特征在于,所述自更新协调器模块包括至少部分实现在永久耦合到所述多个计算机节点的硬件或固件上的机制,其中所述机制包括所述自更新协调器模块的实例,并且其中所述自更新协调器模块通过运行实现在所述多个计算机节点的第二节点上的自更新协调器模块的实例来移动到所述第二节点。
13.如权利要求10所述的系统,其特征在于,所述分布式系统被结合到器具型设备中。
14.如权利要求10所述的系统,其特征在于,所述分布式系统包括故障转移群集。
15.如权利要求10所述的系统,其特征在于,所述自更新协调器模块包括至少部分由所述第一计算机节点上运行的线程实施的机制。
16.一个或多个具有计算机可执行指令的计算机可读介质,所述计算机可执行指令在被执行时执行以下步骤,包括:
由自更新协调器模块在包括多个计算机节点的分布式系统上运行自更新运行,包括:
在所述多个计算机节点中的第一计算机节点上启动所述自更新运行;
通过一组一个或多个节点本地软件更新来更新所述多个计算机节点中的其它计算机节点;
在所述自更新运行期间将工作负载从所述第一计算机节点移到尚未被更新的第二计算机节点;
在所述第二计算机节点上实例化所述自更新运行;以及
用所述一组一个或多个节点本地软件更新来更新所述第一计算机节点。
17.如权利要求16所述的一个或多个计算机可读介质,其特征在于,更新所述其它计算机节点包括重新引导或重启所述节点至少一次。
18.如权利要求16所述的一个或多个计算机可读介质,其特征在于,所述自更新协调器模块包括自更新工作负载,并且其中将所述工作负载从所述第一计算机节点移动到所述第二计算机节点包括移动所述自更新工作负载。
19.权利要求16所述的一个或多个计算机可读介质,其特征在于,移动所述工作负载包括暂停所述第一计算机节点。
20.权利要求16所述的一个或多个计算机可读介质,其特征在于,还包括包含以下的计算机可执行指令:将指示所述自更新运行的状态的状态信息写入共享存储或分布式存储服务。
CN201811329278.8A 2012-02-02 2013-01-29 分布式系统中的自更新功能 Active CN109347681B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/364,714 US9170852B2 (en) 2012-02-02 2012-02-02 Self-updating functionality in a distributed system
US13/364,714 2012-02-02
CN201380007760.9A CN104094248A (zh) 2012-02-02 2013-01-29 分布式系统中的自更新功能

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201380007760.9A Division CN104094248A (zh) 2012-02-02 2013-01-29 分布式系统中的自更新功能

Publications (2)

Publication Number Publication Date
CN109347681A true CN109347681A (zh) 2019-02-15
CN109347681B CN109347681B (zh) 2021-11-30

Family

ID=48903968

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201811329278.8A Active CN109347681B (zh) 2012-02-02 2013-01-29 分布式系统中的自更新功能
CN201380007760.9A Pending CN104094248A (zh) 2012-02-02 2013-01-29 分布式系统中的自更新功能

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201380007760.9A Pending CN104094248A (zh) 2012-02-02 2013-01-29 分布式系统中的自更新功能

Country Status (6)

Country Link
US (1) US9170852B2 (zh)
EP (1) EP2810178A4 (zh)
JP (1) JP6358958B2 (zh)
KR (1) KR102056503B1 (zh)
CN (2) CN109347681B (zh)
WO (1) WO2013116173A1 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9400642B2 (en) * 2013-08-29 2016-07-26 Mckesson Financial Holdings Self-updating application agent
CN105005487B (zh) * 2015-06-29 2018-06-22 清华大学 一种持续服务的高性能集群操作系统在线升级方法
US9906559B2 (en) * 2015-10-09 2018-02-27 International Business Machines Corporation Server workload assignment based on known update/security vulnerabilities
KR102181640B1 (ko) * 2016-05-17 2020-11-23 아브 이니티오 테크놀로지 엘엘시 재구성가능한 분산 처리
US10122647B2 (en) * 2016-06-20 2018-11-06 Microsoft Technology Licensing, Llc Low-redistribution load balancing
US10432450B2 (en) 2016-06-30 2019-10-01 Microsoft Technology Licensing, Llc. Data plane API in a distributed computing network
CN106302700B (zh) * 2016-08-11 2019-09-24 浪潮(北京)电子信息产业有限公司 基于paxos算法的分布式系统一致性更新方法及系统
CN106354531B (zh) * 2016-08-25 2020-03-27 杭州华为数字技术有限公司 物理节点升级方法及装置
CN108667641A (zh) * 2017-03-30 2018-10-16 杭州海康威视数字技术股份有限公司 分布式系统升级方法、分布式系统及升级管理设备
CN107360018A (zh) * 2017-06-05 2017-11-17 小草数语(北京)科技有限公司 配置更新方法及装置
CN107391156B (zh) * 2017-07-31 2021-01-08 成都华为技术有限公司 用于分布式系统传输业务的方法、管理节点和服务节点
CN109525410B (zh) * 2017-09-20 2021-05-18 华为技术有限公司 分布式存储系统升级管理的方法、装置及分布式存储系统
US10852946B1 (en) * 2018-01-31 2020-12-01 EMC IP Holding Company LLC Non-disruptive upgrade of storage appliance nodes using host initiator login information to avoid data unavailability
US10261775B1 (en) 2018-04-17 2019-04-16 Hewlett Packard Enterprise Development Lp Upgrade orchestrator
US10949190B2 (en) 2018-04-17 2021-03-16 Hewlett Packard Enterprise Development Lp Upgradeable component detection and validation
US10824413B2 (en) * 2018-07-23 2020-11-03 International Business Machines Corporation Maintenance of computing nodes concurrently in a number updated dynamically
US10860306B2 (en) * 2018-08-03 2020-12-08 Dell Products L.P. Reducing downtime when applying a patch to multiple databases
US10897497B2 (en) * 2018-11-13 2021-01-19 International Business Machines Corporation Automated infrastructure updates in a cluster environment that includes containers
CN110806927A (zh) * 2019-10-15 2020-02-18 中国航空无线电电子研究所 分布式系统下的软件运行控制方法
US11216270B2 (en) * 2019-10-24 2022-01-04 Dell Products L.P. Metadata driven workflow semantics for management operations
CN111654532B (zh) * 2020-05-08 2023-08-01 国云科技股份有限公司 一种配置文件集中管理系统、方法及装置
CN111787113B (zh) * 2020-07-03 2021-09-03 北京大道云行科技有限公司 一种节点故障的处理方法、装置、存储介质和电子设备
US11915122B2 (en) * 2020-07-29 2024-02-27 Micron Technology, Inc. Gateway for distributing an artificial neural network among multiple processing nodes
US11218378B1 (en) 2020-09-14 2022-01-04 Dell Products L.P. Cluser-aware networking fabric update system
FR3116682B1 (fr) * 2020-11-24 2023-10-27 Thales Sa Procédé de communication de l’état d’un réseau de calculateur(s), programme d’ordinateur, nœud de calcul et réseau associés

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060294413A1 (en) * 2005-06-28 2006-12-28 Filz Frank S Fault tolerant rolling software upgrade in a cluster
CN101536568A (zh) * 2006-09-06 2009-09-16 诺基亚西门子通信有限责任两合公司 用于在无线电通信系统中出现故障的情况下恢复连通性的方法及其控制节点
US20100058318A1 (en) * 2008-08-28 2010-03-04 Microsoft Corporation Rolling upgrades in distributed applications

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8502066D0 (en) * 1985-01-28 1985-02-27 Du Pont Canada Deactivation of catalyst
KR930010739A (ko) 1991-11-26 1993-06-23 정용문 노드간에 분산된 데이타 베이스의 변경방법
JPH09114722A (ja) 1995-10-20 1997-05-02 Nippon Telegr & Teleph Corp <Ntt> 分散システムにおける共有情報管理方法
US6754848B1 (en) * 1999-09-30 2004-06-22 International Business Machines Corporation Method, system and program products for operationally migrating a cluster through emulation
US7000230B1 (en) 2000-06-21 2006-02-14 Microsoft Corporation Network-based software extensions
US20020091819A1 (en) 2001-01-05 2002-07-11 Daniel Melchione System and method for configuring computer applications and devices using inheritance
CN1320483C (zh) 2001-09-21 2007-06-06 泛伺服公司 用于在多节点环境中实施日志处理的系统和方法
US7043732B2 (en) 2002-04-29 2006-05-09 Sun Microsystems, Inc. Method and apparatus for managing remote data replication using CIM providers in a distributed computer system
US7424717B2 (en) 2002-05-01 2008-09-09 Bea Systems, Inc. Systems and methods for business process plug-in development
US20040003007A1 (en) 2002-06-28 2004-01-01 Prall John M. Windows management instrument synchronized repository provider
CN1261889C (zh) * 2002-07-30 2006-06-28 英业达股份有限公司 自远端自动更新电脑基本输入/输出系统的方法
US7043580B1 (en) 2003-01-17 2006-05-09 Unisys Corporation Cluster lock server: ability to support multiple standard and proprietary locking protocols
US7149923B1 (en) 2003-01-17 2006-12-12 Unisys Corporation Software control using the controller as a component to achieve resiliency in a computer system utilizing separate servers for redundancy
US7155638B1 (en) 2003-01-17 2006-12-26 Unisys Corporation Clustered computer system utilizing separate servers for redundancy in which the host computers are unaware of the usage of separate servers
US7178057B1 (en) 2003-01-17 2007-02-13 Unisys Corporation Method for allowing a clustered computer systems manager to use disparate hardware on each of the separate servers utilized for redundancy
US7000046B1 (en) 2003-01-17 2006-02-14 Unisys Corporation Standard channel I/O processor (SCIOP)
US7181642B1 (en) 2003-01-17 2007-02-20 Unisys Corporation Method for distributing the processing among multiple synchronization paths in a computer system utilizing separate servers for redundancy
US20040148370A1 (en) 2003-01-23 2004-07-29 Electronic Data Systems Corporation System and method for composing, configuring, deploying, and managing services using a graphical user interface
US20050086384A1 (en) 2003-09-04 2005-04-21 Johannes Ernst System and method for replicating, integrating and synchronizing distributed information
US7571227B1 (en) 2003-09-11 2009-08-04 Sun Microsystems, Inc. Self-updating grid mechanism
US7464378B1 (en) * 2003-12-04 2008-12-09 Symantec Operating Corporation System and method for allowing multiple sub-clusters to survive a cluster partition
JP4870915B2 (ja) * 2004-07-15 2012-02-08 株式会社日立製作所 ストレージ装置
JP2006252437A (ja) * 2005-03-14 2006-09-21 Nec Corp パッチ適用方式及びパッチ適用方法
US7484048B2 (en) 2005-04-27 2009-01-27 Red Hat, Inc. Conditional message delivery to holder of locks relating to a distributed locking manager
US7523461B2 (en) 2005-07-01 2009-04-21 Microsoft Corporation Modification of logic in an application
JP2007213494A (ja) 2006-02-13 2007-08-23 Ntt Docomo Inc 更新起動装置及び更新起動制御方法
US7971202B2 (en) 2006-03-14 2011-06-28 International Business Machines Corporation Method for advanced management of software distribution tasks
US7890646B2 (en) 2006-04-27 2011-02-15 Microsoft Corporation Synchronization orchestration
US8301589B2 (en) 2006-05-10 2012-10-30 Sybase, Inc. System and method for assignment of unique identifiers in a distributed environment
WO2008126221A1 (ja) * 2007-03-29 2008-10-23 Fujitsu Limited ソフトウェア修正管理プログラム、ソフトウェア修正管理装置、およびソフトウェア修正管理方法
JP4467623B2 (ja) * 2008-03-19 2010-05-26 富士通株式会社 アップデート管理プログラム、管理ノード、アップデート管理方法、およびクラスタシステム
US8375387B2 (en) 2008-05-30 2013-02-12 Red Hat, Inc. Product independent orchestration tool
US8260742B2 (en) 2009-04-03 2012-09-04 International Business Machines Corporation Data synchronization and consistency across distributed repositories
US8103643B2 (en) 2009-12-21 2012-01-24 Oracle America, Inc. System and method for performing distributed transactions using global epochs
US20120124193A1 (en) * 2010-11-12 2012-05-17 International Business Machines Corporation Identification of Critical Web Services and their Dynamic Optimal Relocation
US10678602B2 (en) 2011-02-09 2020-06-09 Cisco Technology, Inc. Apparatus, systems and methods for dynamic adaptive metrics based application deployment on distributed infrastructures
US8560662B2 (en) 2011-09-12 2013-10-15 Microsoft Corporation Locking system for cluster updates
US9262148B2 (en) 2011-09-12 2016-02-16 Microsoft Technology Licensing, Llc Modular architecture for distributed system management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060294413A1 (en) * 2005-06-28 2006-12-28 Filz Frank S Fault tolerant rolling software upgrade in a cluster
CN101536568A (zh) * 2006-09-06 2009-09-16 诺基亚西门子通信有限责任两合公司 用于在无线电通信系统中出现故障的情况下恢复连通性的方法及其控制节点
US20100058318A1 (en) * 2008-08-28 2010-03-04 Microsoft Corporation Rolling upgrades in distributed applications

Also Published As

Publication number Publication date
KR102056503B1 (ko) 2019-12-16
EP2810178A1 (en) 2014-12-10
EP2810178A4 (en) 2015-11-25
WO2013116173A1 (en) 2013-08-08
CN104094248A (zh) 2014-10-08
US20130205128A1 (en) 2013-08-08
JP2015509253A (ja) 2015-03-26
KR20140125777A (ko) 2014-10-29
CN109347681B (zh) 2021-11-30
JP6358958B2 (ja) 2018-07-18
US9170852B2 (en) 2015-10-27

Similar Documents

Publication Publication Date Title
CN109347681A (zh) 分布式系统中的自更新功能
US10042628B2 (en) Automated upgrade system for a service-based distributed computer system
US9442813B2 (en) Replaying jobs at a secondary location of a service
US10915314B2 (en) Autonomous upgrade of deployed resources in a distributed computing environment
JP6329547B2 (ja) クラウドコンピューティング環境で使用するサービス管理エンジンを提供するためのシステムおよび方法
US9535684B2 (en) Management of software updates in a virtualized environment of a datacenter using dependency relationships
EP3065055B1 (en) Healing cloud services during upgrades
CN104937546B (zh) 用于根据重启调度执行机器重启的方法和装置
US20090144720A1 (en) Cluster software upgrades
CN107924336A (zh) 用于虚拟服务器机架部署中的分散式机架体系架构的硬件管理系统
US20120102480A1 (en) High availability of machines during patching
US20120102494A1 (en) Managing networks and machines for an online service
US8751656B2 (en) Machine manager for deploying and managing machines
CN104067257A (zh) 自动化事件管理
US20220138070A1 (en) User interface and health status monitoring for a multi service domain system
US9268737B2 (en) Managing virtual computing services
CN111274002A (zh) 支撑paas平台构建方法、装置、计算机设备及存储介质
US9098334B2 (en) Special values in oracle clusterware resource profiles
US20230161643A1 (en) Lifecycle management for workloads on heterogeneous infrastructure
US9405605B1 (en) Correction of dependency issues in network-based service remedial workflows
CN115604101A (zh) 系统管理方法及相关设备

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
GR01 Patent grant
GR01 Patent grant