CN103597463B - 恢复服务的自动配置 - Google Patents

恢复服务的自动配置 Download PDF

Info

Publication number
CN103597463B
CN103597463B CN201280027613.3A CN201280027613A CN103597463B CN 103597463 B CN103597463 B CN 103597463B CN 201280027613 A CN201280027613 A CN 201280027613A CN 103597463 B CN103597463 B CN 103597463B
Authority
CN
China
Prior art keywords
backseat
main positions
service
automatically
network
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.)
Active
Application number
CN201280027613.3A
Other languages
English (en)
Other versions
CN103597463A (zh
Inventor
V·塔拉诺弗
D·布拉德
A·霍普曼
S·R·沙哈
T·塞维尔米什
N·沃伦可夫
R·索曼荪达拉姆
A·科汉
B·杜什
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 CN103597463A publication Critical patent/CN103597463A/zh
Application granted granted Critical
Publication of CN103597463B publication Critical patent/CN103597463B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2046Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2074Asynchronous techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)
  • Supply And Distribution Of Alternating Current (AREA)

Abstract

次要位置被配置成服务的主要位置的恢复服务。次要位置被维护在温暖状态,该温暖状态被配置为在故障转移的情况下替代主要位置。在正常操作期间,次要位置被自动更新以反映活动地服务于用户负载的主要位置的当前状态。向次要位置自动地反映对主要位置的内容改变。向次要位置自动地应用应用于主要位置的系统改变。例如,移除/添加机器、更新机器/角色分配、移除添加/数据库被自动地应用于次要位置,使得次要位置基本上镜像映射主要位置。在到次要位置的故障转移以后,次要位置变成主要位置并且开始活动地服务于用户负载。

Description

恢复服务的自动配置
背景
基于web的服务包括位于web服务器上的文件以及存储在数据库中的数据。例如,存在处理被定向到服务的通信量的大量服务器。在某些情况下,服务可能灾难性地发生故障以使得丢失工作。将操作转移至新服务可能是昂贵、耗时的过程。
概述
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的选择的概念。本概述不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
次要位置被配置成服务的主要位置的恢复服务。次要位置被维护在温暖状态,该温暖状态被配置为在故障转移的情况下替代主要位置。在正常操作期间,次要位置被自动更新以反映活动地服务于用户负载的主要位置的当前状态。向次要位置自动地反映对主要位置的内容改变。向次要位置自动地应用应用于主要位置的系统改变。例如,移除/添加机器、更新机器/角色分配、移除添加/数据库被自动地应用于次要位置,使得次要位置基本上镜像映射主要位置。在到次要位置的故障转移以后,次要位置变成主要位置并且开始活动地服务于用户负载。
附图说明
图1示出了包括处于网络服务的次要位置处的恢复网络的云管理系统;
图2示出了包括处于次要位置处的用于服务的主要位置的恢复网络的系统;
图3示出了用于在次要位置处镜像映射服务的主要位置的过程;
图4示出了用于部署升级新场(比如内容场)的过程;以及
图5示出了说明性计算机体系结构。
详细描述
现将参考其中相同的标号代表相同的元件的附图来描述各实施例。
一般而言,程序模块包括执行特定作业或实现特定抽象数据类型的例程、程序、组件、数据结构和其它类型的结构。也可使用其他计算机系统配置,包括手持式设备、多处理器系统、基于微处理器或可编程消费电子产品、小型计算机、大型计算机等等。还可使用在其中作业由通过通信网络链接的远程处理设备执行的分布式计算环境。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者中。
图1示出了包括处于服务的次要位置处的恢复网络的云管理系统。系统100示出了云管理器105,该云管理器105被连接到可能分布在世界各地的不同网络并对其进行管理。网络中的每个网络被配置成为一个或多个承租人(例如客户、顾客)提供内容服务。这些网络可以被托管(host)在云服务内和/或内部部署(on-premises)数据中心内。如所示那样,每个主要网络(网络1、网络2)都包括处于次要位置处的恢复网络(次要网络1、次要网络2)。云管理器105用于对这些网络进行部署、配置和管理。云管理器被配置为通过可容忍间歇性网络故障的幂等且异步的应用web服务应用编程接口(API)150来接收请求。
次要网络(例如次要网络1和次要网络2)被建立以充当服务的主要位置(例如,网络1和网络2)的恢复网络。根据一实施例,次要位置被维护在温暖状态,该温暖状态被配置为在故障转移的情况下替代主要位置。在正常操作期间,次要位置使用部署管理器26被自动更新,以反映活动地服务于用户负载的主要位置的当前状态。向次要位置自动地反映对主要位置的内容改变。应用于主要位置的管理和拓扑改变被自动地应用于次要位置。例如,移除/添加机器、更新机器/角色分配、移除添加/数据库被自动地应用于次要位置,使得次要位置基本上为主要位置的镜像。在到次要位置的故障转移以后,次要位置变成主要位置并且开始活动地服务于用户负载。
如所示那样,云管理器105包括工作管理器110、机器管理器115、应用专用管理器120、脚本130、部署管理器26以及诸如数据存储140(例如,数据库)之类的中央储存库。未包括在所示管理器之一内的功能可以驻留在云管理器的某个其他位置。根据一个实施例,应用管理器120是SharePoint承租人管理器,该管理器包括SharePoint专用逻辑。
一般而言,云管理器105帮助为诸如在在线内容管理服务之类的在线服务部署和管理网络。云管理器系统是一种中央协调服务,其接收执行与在网络中配置、更新和执行用于提供在线服务的作业相关的操作的请求。例如,可以调用云管理器来管理所述网络中的一个或多个网络内的资产(例如服务器、场、用户属性等等)。对这些资产的管理可以包括:部署机器;更新机器;移除机器;对服务器、虚拟机(VM)执行配置改变;建立和维护恢复网络;以及执行与管理相关的其他作业。云管理器被配置为即使在该云管理器的升级期间仍然为所附连的网络提供服务。云管理器被配置为通过不能依靠可靠网络的幂等和异步应用编程接口(API)来接收请求。
如图所示,网络1和网络2是活动地服务于用户的实况主要网络。次要网络1和次要网络2是基本上为对应的实况网络的内容和配置的镜像的次要网络。次要网络在主要网络活动时并不活动地服务用户。根据一实施例,次要网络被保持“温暖”以使得来自主要网络的用户负载可以在停机/灾难/故障转移的情况下被快速切换至次要网络。
主要网络被配置成执行备份(完整、增量),包括被例行地且频繁地采用的SQL事务日志备份。根据一实施例,完整备份每周执行,增量备份每天执行,并且事务日志每五分钟(可以使用其他时间)更新一次。来自主要网络(例如,网络1和网络2)的备份在这些备份被创建以后(例如分布式文件系统复制(DFSR))被复制到次要网络(例如,次要网络1和2)。根据一实施例,次要网络在事务日志被从相应主要网络接收到时重放事务日志,以帮助维护次要网络在时间上紧密地与主要网络同步。在对应的温暖次要网络上自动重放在实况主要网络上进行的管理操作以使得主要网络和次要网络以及时地保持同步。
工作管理器110管理作业的执行,并且启用对较长时间运行的作业的调度和重试。工作管理器110启动存储在作业队列112中的作业并且跟踪运行中的作业。当已经流逝了预定的时间时,工作管理器110可以自动地取消任务并且执行与该任务相关的某些进一步的处理。根据一个实施例,作业队列112中的作业由工作管理器110通过调用一个或多个脚本130来执行。例如,可以使用诸如微软的之类的脚本语言来对由工作管理器110执行的作业进行编程。每个脚本可以作为新进程运行。尽管将每个脚本作为新进程来执行可以具有相当高的CPU开销,但是该系统是可伸缩的,并且有助于为每次脚本执行确保干净的环境,加上在脚本完成时进行完全的清理。
当要在次要位置处提交作业(例如,响应于到该次要位置的故障转移、要在次要网络中反映的对主要网络的配置改变)时,工作管理器110可用于确定要提交的作业。例如,工作管理器110可以确定被提交以在服务的主要位置处执行的作业并且将相应作业提交到次要位置。
机器管理器115被配置成管理网络(例如网络1、网络2、次要网络1、次要网络2)中的物理机器。一般而言,机器管理器115理解网络、物理机器、虚拟机(VM)、VM映像(VHD)等等。机器管理器不必牢固绑定于网络内运行的特定服务,而是按照“角色”跟踪网络中的各种组件。例如,可以通过API150请求机器管理器115在网络2上部署具有版本12.34.56.78的“Foo”型VM。响应于对云管理器105的请求,机器管理器115对位于网络2上的合适物理机器进行定位,并且根据与VM的角色相关联的VM映像来配置VM。使用具有版本12.34.56.78的类型为Foo的VHD来配置物理机器,该VHD被存储在诸如数据存储140之类的数据存储内。也对次要网络2作出相应的改变,使得次要网络保持基本上为主要网络2的镜像。在网络内使用的映像也可以存储在其他位置处,诸如用于所述网络中的一个或多个网络的本地数据共享中。可以运行脚本来执行VHD在物理机器上的安装以及用于执行任何部署后的配置。机器管理器115跟踪每个网络的机器配置。例如,机器管理器115可以跟踪VM的角色(VM的类型)、VM的状态(供应中(Provisioning)、运行中、已停止、故障)、版本以及VM是否存在于给定场中(这隐含了其网络)。
配置数据库116包含每一个网络的地图。例如,配置数据库116可包括与网络中的场、数据库、站点集合等中的每一个相关的信息。配置数据库116可包括关于每一个网络的每一个物理机器、VM、场等的行。根据一实施例,网络内的每个VHD、场和VM具有相关联的版本串。根据一实施例,为每个网络维护配置文件,所述配置文件包括该网络的硬件专用的设定(例如硬件名称、IP地址等等……)。这些配置文件可以人工/自动地修改。例如,经授权的用户可以复制主要网络的配置,并且修改该副本以为相应次要网络创建配置文件。
脚本130被配置为存储将要执行以便既本地地为云管理器105执行工作又远程地在所述网络中的一个或多个网络上执行工作的脚本。脚本130中的一个或多个还可以存储在其他位置。例如,要在网络(例如网络1、网络2)上执行的脚本可以本地地存储到该网络。这些脚本可用于许多不同的目的。例如,所述脚本可以用于执行:对所述网络中的一个或多个网络中的机器的配置,改变之前配置的机器上的设定,添加新的VM,添加新的数据库,将数据从一个机器移动到另一个机器,移动承租人,改变模式等。被配置为在主要网络上执行操作的脚本被修改以在主要网络的次要网络上产生相同作业,使得相同的改变/操作对主要网络和次要网络二者执行。例如,诸如移除/添加机器、更新机器/角色分配、移除添加/数据库之类的作业被修改为使得所述作业也在次要位置处产生。根据一个实施例,这些脚本是微软的脚本。也可以使用其他编程实施方式。例如,可以使用经编译和/或前期绑定编程语言来实现该功能。然而,脚本是一种表达要执行的作业中的许多个的相当精确的语言。用诸如C#的编程语言对其等价物进行编程将常常需要冗长得多的实施方式。脚本还被后期绑定,这意味着可以以多个版本的底层代码库为目标,而不必不断地链接到不同的接口DLL。使用PowerShell脚本将允许进程由云管理器105本地地启动,这进而可以启动远程机器(即,所附连的网络之一中的物理机器)上的进程。还可以使用其他技术来启动远程机器上的进程,诸如安全Shell(SSH)等。当脚本在主要位置(例如网络1)处运行时,该脚本也可以在次要位置(例如次要网络2)处运行,使得主要和次要位置被以相同方式配置。
云管理器105正在管理的应用专用信息由应用管理器120来执行。根据一个实施例,应用专用信息与微软有关。由此,应用管理器120被配置为了解SharePoint承租人、站点集合等。
每个网络可以被配置成用于承租人的专用网络和/或服务于一个以上客户端的多承租人网络。网络可以包括变化数目的物理机/虚拟机,物理机/虚拟机的配置在部署之后也变化。根据一实施例,服务的主要位置和次要位置是以相同方式配置的。
一般而言,只要未超过联网极限(例如,负载平衡器和网络交换机),网络就可以继续增长。例如,网络可以从十个服务器开始,并且之后扩张为一百个或更多个服务器。随着主要网络改变,相应的次要网络被自动改变以反映对主要网络作出的改变。可以向网络内的物理机器分配类或类型。例如,所述机器中的某些机器可以是计算机器(用于web前端和应用服务器),而其他机器可以是与计算机器相比配备有更多存储的存储机器。根据一实施例,云管理器105用多个版本的映像文件来配置网络内的机器。根据一实施例,场常常具有相同版本的映像文件。
根据一个实施例,在网络内由云管理器系统100通过虚拟化机器并且管理该网络内部独立地行动的“场”来管理软件限制。每个网络可以包括一个或多个场(例如,参见网络1)。根据一个实施例,网络被认为是经网络负载平衡的机器的单个群集,所述机器向外部世界展示一个或多个VIP(虚拟IP)并且可以将该通信路由到网络内的任何机器。网络中的机器通常是紧耦合的,并且具有最小等待时间(即<1ms的查验(ping)等待时间)。
场是用于对需要紧密绑定关系的应用进行协调的机器的基本分组。例如,内容场可以部署在每个网络内以用于诸如Microsoft 的内容管理应用。一般而言,每一个场中的那组机器一起提供web服务和应用服务器功能。通常,场内的机器运行相同构建(build)的应用(即SharePoint)并且共享公共配置数据库以服务于特定的承租人和站点集合。
场可以包含异构的虚拟机组。云管理器105在数据存储140内维护“场目标”,该场目标是每个场的每种角色的机器的目标数目。一些角色包括内容前端、内容中央管理、内容计时器服务、联合中央管理、联合应用服务器等。例如,内容场是处理接入消费者请求的基本SharePoint场。联合服务场包含可以跨场操作的诸如搜索和简档存储这样的SharePoint服务。场可以用于主存大容量公共因特网站点。某些场可以包含一组活动目录服务器和供应端口监控程序(Provisioning Daemon)。云管理器105自动地部署网络中的虚拟机和/或停用网络中的虚拟机,以帮助满足所定义的目标。这些场目标可以自动地和/或手动地来配置。例如,场目标可以改变以对活动和容量需求的改变作出响应。网络场——每个网络存在一个包含可以作为整个网络的资源容易地横向扩展的所有VM角色的网络场。
云管理器web服务API150被设计为在可大规模伸缩的全局服务的上下文中工作。该API假定:任何网络请求可能失败和/或在传送中挂起。对云管理器105的调用被配置为是幂等的。换言之,可以对云管理器105进行多次相同的调用(只要参数是相同的)而不改变结果。
云管理器105维护记录以跟踪对服务的当前请求。例如,云管理器105更新本地数据库中的记录,并且若需要则稍后调度“作业”以执行更长的活动。
云管理器105跟踪作为用于在网络内部署新机器的模板的映像(诸如,虚拟盘映像)。映像引用可以存储在诸如数据库140的数据库中和/或某个其他位置。映像可以存储在对其上将部署该映像的网络而言是本地的一个或多个共享的数据存储中。根据一个实施例,每个映像都包括:虚拟机(VM)角色类型,其指定该映像可以部署的VM的类型;该映像应当使用的处理器的数目;将分配给该映像的RAM的量;用于找出附近安装点的网络ID(使得它们不会通过跨数据中心链接被反复地复制);以及部署代码可以用于访问VHD的共享路径。
一般而言,由云系统100所管理的网络中的机器不是以传统方式通过下载数据并且将该数据合并到机器上的现有软件中来升级的。相反,机器是通过用更新后的VHD替换VHD来更新的。例如,当场需要新版本的软件时,部署安装了该新版本的新场。当部署新场时,将承租人从旧场移动到该新场。以此方式,由于升级造成的停机时间被最小化,并且场中的每个机器具有已被测试的相同版本。当虚拟机需要升级时,机器上的VM可以被删除并且用被配置为运行所需服务的VM代替。当升级在主要位置处执行时,次要位置也被升级。可使用不同方法来升级次要位置。例如,在主要位置处执行的相同升级步骤可以在次要位置处执行。在主要位置处进行软件升级的情况下,通过主要位置处的升级所生成的事务日志可以在次要位置处重放以升级次要位置。
尽管对现有软件的升级不是最优的,但是网络内的某些服务器使用原地升级的传统更新过程。例如,活动目录域控制器是通过更新服务器上的当前软件而不完全替换机器上的映像来升级的。在一些实例中,云管理器也可以原地升级。
根据一个实施例,云管理器包括日志系统,该日志系统被配置为为每个web服务调用记录日志条目。可以实现包括如所期望的那样少/多的特性的日志系统。
映射表114包括与主要网络相关联的参数(例如标识符和/或秘密)到次要网络的映射。例如,存在与网络服务的主要位置(例如主要网络1和2)相关联的数据库、场和网络同与网络服务的次要位置(例如次要网络1和2)相关联的相应数据库、场和网络之间的映射。
部署管理器26被配置为帮助维护网络的次要位置,所述次要位置充当用于服务的主要位置的恢复网络。部署管理器26被配置为与云管理器内的涉及部署和维护云系统内的网络的其他管理器(例如工作管理器110、机器管理器115、应用管理器120)一起工作。
图2示出了包括处于次要位置处的用于服务的主要位置的恢复网络的系统。如示出那样,系统200包括主要服务210、次要服务220、云管理器230和计算设备240。
所使用的计算设备可以是被配置成执行与计算设备的使用有关的操作的任何类型的计算设备。例如,这些计算设备中的一些可以是:移动计算设备(例如,蜂窝电话、平板计算机、智能电话、膝上型计算机等等);一些可以是台式计算设备,其他计算设备可以被配置为服务器。一些计算设备可以被安排成提供基于云的在线服务(例如服务210和服务220);一些计算设备可以被安排为提供数据存储服务的数据共享;一些计算设备可以被安排在本地网络中;一些计算设备可以被安排在可通过因特网访问的网络中等等。
计算设备通过因特网218被耦合。一般而言,网络218用于在诸如服务210、服务220、云管理器230和计算设备240之类的计算设备之间传送数据。
计算设备240包括应用242、Web浏览器244以及用户界面246。如示出的,用户使用计算设备240与诸如服务210之类的在线服务交互。根据一实施例,服务210和220是多承租服务。一般而言,多承租是指顾客间的数据(有时包括备份)、使用和管理的隔离。换言之,即使来自每个承租人的数据可以被存储在相同数据存储内的相同数据库中,来自一个顾客(承租人1)的数据也不可被另一顾客(承租人2)访问。
用户界面(UI)246用于与对于计算设备240可以是本地/非本地的各种应用交互。可以使用一种或多种类型的一个或多个用户界面来与内容进行交互。例如,UI246可以包括上下文菜单、菜单栏内的菜单、选自功能区用户界面的菜单项、图形菜单等等的使用。一般而言,UI246被配置成使得用户可以容易地与应用的功能交互。例如,用户可简单地选择UI246内的选项以向服务请求动作。
如所示那样,数据存储212和212’包括:针对不同承租人的承租人数据,其包括相应备份数据和日志;以及针对与服务相关联的不同应用的应用数据,其包括相应备份数据和日志。数据存储可以存储承租人的/应用的数据的全部/部分。例如,一些承租人/应用可以使用多于一个数据存储,而其他承租人/应用与许多其他承租人/应用共享该数据存储。尽管在同一个数据存储内示出了承租人/应用的相应的备份数据,但是该备份数据可以被存储在其他位置。例如,可以使用一个数据存储来存储承租人数据,并且可以使用一个或多个其他数据存储来存储相应的备份数据。类似地,用于一个或多个应用的备份和日志可以存储在不同的数据存储中。一般而言,数据存储212’中的数据为数据存储212中的数据的镜像。
对与主要服务210相关联的数据(即,有关管理改变的数据和承租人数据)作出的改变被镜像映射到次要服务220。例如,当场1和场2部署在服务210中时,场1’和场2’部署在次要服务220中。根据一实施例,完整备份(例如,每周)、增量备份(例如,每小时、每天)以及事务日志在维护作出的改变时被使用。根据一实施例,对主要服务作出的改变被复制至次要服务,从而使次要服务与主要服务保持基本同步(例如,五分钟内、十分钟内)。周期性地验证被复制至次要服务的数据以帮助确保该数据已经被正确地复制。可以使用不同的方法来执行该验证(例如,校验和、散列函数,等等)。数据存储236包括有关服务(例如,服务210、服务220)的操作和/或配置的数据。例如,数据存储236可包括作业队列、映射表和/或配置数据库。
根据一实施例,使用DFSR来自动地将内容从主要服务210复制到服务220。DFSR使用远程差分压缩(RDC)。一般而言,RDC检测数据在文件中的插入、移除和重新布置,从而使得DFSR能够在文件被更新时复制增量(改变)。DFSR服务使用RPC来在服务器之间通信。其复制由复制文件夹路径定义的文件夹范围。参与复制的该组计算机是由所配置的连接拓扑来定义的并且被称为复制组。多个复制文件夹可以包括在复制组中,其中成员资格选择性地启用或禁用特定复制文件夹。DFSR服务使用Windows管理工具(WMI)来配置服务范围的参数,而全局参数和某些复制文件夹专用参数是使用活动目录(Active Directory)来配置的。DFSR还使用WMI来展示关于诸如复制文件夹和连接之类的特定对象的监视信息。根据一实施例,DFSR被配置为具有分级(staging)区域,所述分级区域的大小被确定为处理大量数据并且将数据以单向方向从主要服务210移动到次要服务220。在主要位置和次要位置处的文件共享可以具有不同的名称。
根据一实施例,活动目录(AD)复制被用于在主要服务210与次要服务220之间同步目录服务数据。可以替代于DFSR和AD使用其他文件复制方法。
服务210被配置为在线服务的主要位置,该在线服务被配置成提供与显示与来自多个承租人的数据的交互相关的服务。服务210为多个承租人提供共享的基础设施。根据一个实施例,服务210是微软公司的SHAREPOINT ONLINE服务。不同的承租人可以使用服务210来主控他们的web应用/站点集合。承租人还可以使用他们专用的服务或者服务210所提供的在其他承租人间共享的服务。服务220被配置为基本作为服务210的镜像的服务的次要位置。
部署管理器26被配置为帮助建立、维护操作以及将操作转移到次要位置。例如,部署管理器26可用于管理主要服务210与次要服务220之间的同步。部署管理器26存储信息以帮助保证日志和备份被正确地传输和重放。例如,信息可以包括日志/备份被作出的时间(例如UTC时间),使得日志和备份可以根据其时间来排序和布置。该信息还可以包括其他信息,比如从中作出备份/日志的数据库名称、以及重试计数。重试计数是在备份/记录被读取以便被重放/复原时改变的值。例如,当日志被访问以便被重放时,部署管理器26递增重试计数的值。当重试计数超过预定值(例如2、3、4次尝试)时,部署管理器26可以触发提醒并且尝试解决日志/备份的问题。还可以使用时间限制来帮助保证日志被及时地重放。当日志比某个时间量(例如5、10、15分钟)更陈旧时,部署管理器26可以触发提醒并且尝试解决日志/备份的问题。此信息可以存储不同位置。例如,该信息可以存储在备份文件夹中和/或重放管理器26可访问的其他某个位置处。根据一实施例,日志的文件名可以包括所述信息中的一些/全部以帮助保证日志和备份被正确地传输和重放。例如,文件名可以采取“database_year_month_day_hour_minutes_seconds_tlog_retry count(数据库_年_月_日_小时_分钟_秒_tlog_重试计数)”的形式。
当对主要网络作出改变时,该改变也可以应用于次要位置。对主要网络的一些改变可能不能在次要位置处执行。例如,向场添加新前端可能不能在次要位置处重放。例如,大部分改变(即移除/添加机器、更新机器/角色分配、移除添加/数据库、升级)被自动地应用于次要位置,以帮助维护作为主要位置的“镜像”的次要位置。
现在参考图3和4,将描述用于维护服务的次要位置和故障转移到服务的次要位置的过程。
在阅读本文中给出的例程的讨论时,应该理解,各个实施例的逻辑操作被实现为:(1)一系列运行于计算系统上的计算机实现的动作或程序模块;和/或(2)计算系统内的互连的机器逻辑电路或电路模块。这种实现是取决于实现本发明的计算系统的性能需求的选择问题。因此,所例示并构成本文中描述的实施例的逻辑操作被不同地称为操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可以用软件、固件、专用数字逻辑,以及其任何组合来实现。
图3示出了用于在次要位置处镜像映射服务的主要位置的过程。
在开始操作之后,过程300流转到操作310,其中部署次要网络。次要网络可以响应于主要网络被部署或者在其他某个时间被自动地部署。例如,可以部署另一次要网络以替代响应于故障转移而已成为主要网络的次要网络。次要网络的部署的一些/全部可以是自动化的。根据一实施例,主要网络的配置文件的副本被人工地更新以反映次要网络的物理参数。可以使用映射方案来帮助将该过程自动化。如上面所讨论的那样,被用于部署网络的脚本被配置为在次要位置处执行主要位置的部署内的每个操作。次要网络被配置为基本上为主要网络的镜像(例如相同/大致相同数目的机器、相同配置、相同数据库等等)。
移动到操作320,在次要位置处执行在操作期间对主要网络作出的改变。例如,向主要位置移动/添加机器、更新机器/角色分配、移除添加/数据库被自动地应用于次要位置,使得次要位置基本上为主要位置的镜像(图4以及相关讨论描述了场中的升级和改变)。内容改变也向次要位置反映。
转移到操作330,在主要位置处创建备份和事务日志。根据一实施例,所述备份包括每周执行的完整备份、每天执行的增量备份,每五分钟一次(可以使用其他时间)的SQL事务日志。一些备份可以配置为不包括增量备份和/或日志。例如,由服务提供的应用/服务(例如搜索)可以包括更少的备份和/或在不同时间执行的备份/日志。关于备份/日志的信息被存储以帮助正在正确地传输和重放日志和备份。例如,信息可以包括日志/备份被作出的时间(例如UTC时间),使得日志和备份可以根据其时间来排序和布置。该信息还可以包括其他信息,比如从中作出备份/日志的数据库名称、以及重试计数。重试计数是在备份/记录被读取以便被重放/复原时改变的值。重试计数在日志被访问以被重放时被更新。
移动到操作340,备份和日志被复制到服务的次要位置,并被复原/重放。根据一实施例,一旦备份和日志被完成就使用基于DFSR和AD的算法自动复制备份和日志。在次要位置处复原备份,并且在次要位置处重放日志。根据一实施例,一旦日志被复制到次要位置它们就被重放,使得次要位置时间上紧密地与主要位置保持同步。
流转到操作350,验证所复制的内容以及对次要位置作出的改变。可以使用不同方法来验证内容已经被正确地复制到次要位置。例如,可以使用散列、散列+文件属性来确定内容是否已经被正确地复制到次要位置。当内容未被验证时,内容可以被重新创建/重新复制到次要位置。类似地,当网络改变(例如添加机器、改变机器角色)被应用于次要位置时,该改变可以被验证。
转移至操作360,更新次要网络专用的数据。例如,可以使用次要位置的站点地图来更新取决于存在于内容数据库中的数据的配置数据库。
流转到操作370,检测到故障转移。该故障转移可以响应于计划/非计划事件来检测。例如,故障转移可由主要网络处的灾难性故障导致或者可由停止使用主要网络的判定导致。故障转移事件可以人工/自动发起。例如,授权用户可触发从主要网络到次要网络的故障转移或者故障转移可基于对一个或多个条件(例如,一个或多个机器的故障)的检测来自动触发。
流转到操作380,在故障转移以后将次要位置设置成主要位置。根据一实施例,在次要位置与主要位置同步以后,次要位置接收定向到主要位置的请求。当次要位置变为主要位置时,在次要位置处建立镜像映射,并且可以为新主要位置建立另一恢复网络。
随后该过程移至结束操作并返回以处理其它动作。
图4示出了用于部署升级新场(比如内容场)的过程。
在开始操作之后,过程400流转到操作410,其中作出要在主要位置处部署场的确定。场可以因许多不同原因而部署。例如,可以部署一个或多个场以运行与现有场不同版本的软件,可以部署新的网络,设备可能发生故障等等。该确定可以通过经由诸如上述web服务API之类的API的请求来进行,和/或可以自动地确定。例如,当场的目标改变时,可以人工地和/或自动地部署新场。
移动到操作415,在主要位置和次要位置二者处部署新场。根据一实施例,异步地执行机器的供应,使得机器管理器和部署管理器可以继续执行其他动作。部署新场可以包括许多不同的步骤。例如,假设具有VHD的物理机提供场的角色、执行对安装的任意定制并且启动机器。VHD还可以移动到将要使用所述VHD的网络,使得在网络内而不是跨网络地执行复制操作。当要部署多层场时,可以以预定顺序部署每层。根据一实施例,内容场部署在联合服务场之前,而联合服务场部署在数据库(例如SQL)场之前。场的升级的排序有助于降低场的升级的复杂度。例如,存储在服务场中的代表内容场的数据对于所有承租人(tenant)来说是同时被迁移的。如果要首先升级服务场,与内容相联系的服务数据可能需要在当内容从旧内容场移动到新内容场时被不断迁移或刷新。首先升级场(例如内容场)还可以在存在比服务场更多的内容场的场合中提供更好的缩放性。
移到操作420,新部署的场可以被连接到多层部署中的其他场。例如,当部署新的内容场时,它可以被连接到旧的联合服务场。
流转到操作425,在主要位置处对来自旧场的数据(例如数据库)进行备份。根据一个实施例,该备份是完整备份。旧场处的数据库可以每次一个地备份,和/或可以并行地备份。备份可以在不同的时间执行。例如,当正在供应新场中的机器时、已经供应新场中的机器之后等等。在备份过程期间,主要位置可以继续接收读取/写入请求。
移动到操作430,在主要位置和次要位置二者处将备份从旧场复制到新场。正在升级的旧场在备份的复制期间继续接收和处理读取/写入请求。所述备份可以在不同的时间被复制。例如,可以每次一个、每次两个或全部一起地等等将备份复制到新场中的每个场。所述数据还可以以每承租人基础来被复制。例如,当承租人占有超过一个的数据库时,该承租人占有的每个数据库可以被并行复制。这些数据也可以基于内容的类型来复制。例如,服务场中的数据可以一次被全部复制,而SQL数据库和/或内容场数据库可以以特定顺序被复制。在数据库复制期间,正在复制的数据库被限制添加任何新的承租人。
转移到操作435,在新场(主要位置和次要位置)处复原备份并且将其附连到新场。
移动到操作440,获得自从备份最初被执行时起对旧场所作出的任何改变,并且将所述改变添加到已复制到新场的数据。在该操作期间,旧场上的数据被标记为只读,使得在短时间段内,不允许对正在被移动的场上的数据进行写入。由于完整备份与事务备份之间的时间段是相对短的(例如几分钟),因此数据库不可用于写入的时间段也是短的。
流转到操作445,在主要位置处对新场执行任何升级。例如,新场中的数据库可以被升级到新的方案版本以处理与旧场相比不同的操作。在该升级过程期间,新场将不接收和处理请求。在该时间期间,旧场保留在只读模式下以处理用户请求。还可以改变/修改数据库中的其他项。
转移到操作450,将由于对新场的升级而创建的事务日志复制到新场的相应次要位置。所述事务日志可以在升级过程期间和/或以后的不同时间被复制。例如,事务日志可以在它们在新场处的升级期间被创建时自动地复制到次要位置。通过这种方式,与在获得事务日志以前等待升级完成相比,新场的次要位置保持与新场的主要位置更紧密地同步。
移动到操作455,在新场的次要位置处重放事务日志。事务日志可以与对新场的主要位置的升级并行地进行。
流转到操作460,验证新场的部署和升级以帮助保证该过程是正确地进行的。如果在部署场的期间检测到问题,则可以继续使用旧场。另外,通信量也可以重新引导回旧场。
移动到操作465,当新场的供应和部署成功时,将来自旧场的通信量引导到新场。此时,新近部署的场被置于读取/写入模式并且接收和处理之前曾被引导到旧场的所有请求。
转移到操作470,对主要位置和次要位置二者处的旧场取消供应。可以立刻或在另一时间对旧场取消供应。例如,可以设置一个验证新场正确工作的时间段。可以在取消供应的同时和/或在不同的时间移除所述数据库。例如,可以在一天、7天、30天等之后移除数据库。
现在参考图5,将描述在各实施例中利用的计算机500的说明性计算机架构。图5所示的计算机体系结构可被配置为服务器、台式或移动计算机,并且包括中央处理单元5(“CPU”)、包括随机存取存储器9(“RAM”)和只读存储器(“ROM”)11的系统存储器7、以及将存储器耦合至中央处理单元(“CPU”)5的系统总线12。
在ROM11中存储基本输入/输出系统,该系统包含有助于诸如在启动期间在计算机内的各元件之间传输信息的基本例程。计算机500还包括大容量存储设备14,用于存储操作系统16、应用程序10、数据存储24、文件、以及与云系统100的执行和同云系统100的交互相关的云程序25。
大容量存储设备14通过连接至总线12的大容量存储控制器(未示出)连接至CPU5。大容量存储设备14及其相关联的计算机可读介质为计算机500提供非易失性存储。虽然本文中包含的对计算机可读介质的描述涉及诸如硬盘或CD-ROM驱动器等大容量存储设备,但是计算机可读介质可以是能够由计算机100访问的任何可用介质。
作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、可擦除可编程只读存储器(“EPROM”)、电可擦可编程只读存储器(“EEPROM”)、闪存或其他固态存储器技术、CD-ROM、数字多功能盘(“DVD”)或其他光存储、磁带盒、磁带、磁盘存储或其他磁性存储设备,或能用于存储所需信息且可以由计算机500访问的任何其他介质。
根据各实施例,计算机500可以使用通过诸如因特网的网络18至远程计算机的逻辑连接在联网环境中操作。计算机500可以通过连接至总线12的网络接口单元20来连接到网络18。网络连接可以是无线的和/或有线的。网络接口单元20也可用于连接到其他类型的网络和远程计算机系统。计算机500还可以包括用于接收和处理来自多个其他设备的输入的输入/输出控制器22,这些设备包括键盘、鼠标或者电子指示笔(未在图5中示出)。类似地,输入/输出控制器22可以为显示屏28、打印机或其它类型的输出设备提供输出。
如上面简要提到的,多个程序模块和数据文件可以存储在计算机500的大容量存储设备14和RAM9内,包括适于控制联网计算机的操作的操作系统16,比如华盛顿州雷蒙德市的微软公司的操作系统。大容量存储设备14和RAM9还可以存储一个或多个程序模块。具体而言,大容量存储设备14和RAM9可以存储诸如云程序25的执行与云系统相关的作业的一个或多个应用程序。
以上说明、示例和数据提供了对本发明的组成部分的制造和使用的全面描述。因为可以在不背离本发明的精神和范围的情况下做出本发明的许多实施例,所以本发明落在所附权利要求的范围内。

Claims (10)

1.一种用于建立和维护用于服务的恢复网络的方法,包括:
部署服务的次要位置,所述次要位置充当用于所述服务的主要位置的恢复网络,所述次要位置基本上镜像映射主要位置;
执行第一脚本以将第一系统改变应用于所述主要位置,其中,所述第一系统改变包括添加数据库和删除数据库中的至少一项;
修改所述第一脚本;
在所述主要位置仍然活动时执行经修改的第一脚本以将所述第一系统改变应用于所述次要位置;
在所述主要位置活动时将第二系统改变应用于所述主要位置,且不将所述第二系统改变应用于所述次要位置;
在所述服务的主要位置活动地接收来自用户的请求的同时自动地将对所述服务的主要位置作出的内容改变应用于所述服务的次要位置以维护基本上的镜像映射,其中自动地应用所述内容改变包括自动地将在主要位置处作出的备份以及事务日志复制到次要位置,在所述事务日志被访问以便被重放时递增重试计数,以及在所述重试计数超过预定值时触发提醒;
检测所述服务的主要位置的故障;以及
响应于所述故障,将所述服务的次要位置设置成主要位置。
2.如权利要求1所述的方法,其特征在于,自动地应用内容改变和第一系统改变包括:创建完整备份以及在所述完整备份和所述事务日志之间创建的增量备份。
3.如权利要求1所述的方法,其特征在于,自动地应用内容改变和第一系统改变包括下列各项中的至少之一:
响应于数据库被升级而创建主要位置处的所述事务日志,并且将所述事务日志复制到次要位置以更新次要位置处的相应数据库;
确定下列操作中的至少之一何时在主要位置处发生:添加机器;移除机器;更新机器;更新角色;更新分配;移除数据库;添加数据库;移动数据库;将内容从数据库移动到另一数据库并执行升级;以及响应于在主要位置处发生所述操作自动地将所述操作应用于次要位置;以及
在将请求传输给主要位置处的新场以前更新主要位置和次要位置处的所述新场。
4.如权利要求3所述的方法,其特征在于,当数据库在主要位置处被更新的同时响应于所述升级而生成的所述事务日志的至少一部分在次要位置处被重放。
5.如权利要求1所述的方法,其特征在于,还包括:验证应用于主要位置和次要位置的内容改变和第一系统改变,并且使用存储在次要位置处的数据周期性地和自动地更新次要位置的站点地图。
6.如权利要求1所述的方法,其特征在于,还包括:响应于作业在主要位置处被请求而在次要网络处自动地执行相应作业。
7.一种用于建立和维护用于服务的恢复网络的方法,包括:
响应于主要位置的部署,部署服务的次要位置,所述次要位置充当用于所述服务的主要位置的恢复网络,所述次要位置基本上镜像映射主要位置;
执行第一脚本以将第一系统改变应用于所述主要位置,其中,所述第一系统改变包括添加数据库和删除数据库中的至少一项;
修改所述第一脚本;
在所述主要位置仍然活动时执行经修改的第一脚本以将所述第一系统改变应用于所述次要位置;
在所述主要位置活动时将第二系统改变应用于所述主要位置,且不将所述第二系统改变应用于所述次要位置;
在所述服务的主要位置活动地接收来自用户的请求的同时自动地将对所述服务的主要位置作出的内容改变应用于所述服务的次要位置以维护基本上的镜像映射;其中自动地应用内容改变包括:自动地将在主要位置处作出的完整备份、增量备份以及事务日志复制到次要位置,当所述事务日志被访问以便被重放时递增重试计数,以及在所述重试计数超过预定值时触发提醒;
检测所述服务的主要位置的故障;以及
响应于所述故障,将所述服务的次要位置设置成主要位置。
8.一种用于建立和维护用于服务的恢复网络的系统,包括:
处理器和计算机可读介质;
存储在所述计算机可读介质上并在所述处理器上执行的操作环境;以及
云管理器,所述云管理器用于执行动作,包括:
响应于主要位置的部署,自动地部署服务的次要位置,所述次要位置充当用于所述服务的主要位置的恢复网络,所述次要位置基本上镜像映射主要位置;
执行第一脚本以将第一系统改变应用于所述主要位置,其中,所述第一系统改变包括添加数据库和删除数据库中的至少一项;
修改所述第一脚本;
在所述主要位置仍然活动时执行经修改的第一脚本以将所述第一系统改变应用于所述次要位置;
在所述主要位置活动时将第二系统改变应用于所述主要位置,且不将所述第二系统改变应用于所述次要位置;
在所述服务的主要位置活动地接收来自用户的请求的同时自动地将对所述服务的主要位置作出的内容改变应用于所述服务的次要位置以维护基本上的镜像映射;其中自动地应用内容改变包括:自动地将在主要位置处作出的备份和事务日志复制到次要位置,当所述事务日志被访问以便被重放时递增重试计数,以及在所述重试计数超过预定值时触发提醒;
检测所述服务的主要位置的故障;以及
响应于所述故障,将所述服务的次要位置设置成主要位置。
9.如权利要求8所述的系统,其特征在于,自动地应用内容改变和第一系统改变包括确定下列操作中的至少之一何时在主要位置处发生:添加机器;移除机器;更新机器;更新角色;更新分配;移除数据库;添加数据库;移动数据库;将内容从数据库移动到另一数据库并执行升级;以及响应于在主要位置处发生所述操作自动地将所述操作应用于次要位置。
10.如权利要求8所述的系统,其特征在于,自动地将对所述服务的主要位置作出的内容改变和第一系统改变应用于次要位置包括下列各项中的至少之一:响应于数据库被升级而创建主要位置处的事务日志,并且将所述事务日志复制到次要位置以更新次要位置处的相应数据库,其中当所述数据库在主要位置处被更新的同时响应于所述升级而生成的事务日志的至少一部分在次要位置处被重放,并且在将请求传输给主要位置处的新场以前更新主要位置和次要位置处的所述新场。
CN201280027613.3A 2011-06-06 2012-06-02 恢复服务的自动配置 Active CN103597463B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/154,242 2011-06-06
US13/154,242 US10585766B2 (en) 2011-06-06 2011-06-06 Automatic configuration of a recovery service
PCT/US2012/040622 WO2012170308A2 (en) 2011-06-06 2012-06-02 Automatic configuration of a recovery service

Publications (2)

Publication Number Publication Date
CN103597463A CN103597463A (zh) 2014-02-19
CN103597463B true CN103597463B (zh) 2018-10-19

Family

ID=47262441

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280027613.3A Active CN103597463B (zh) 2011-06-06 2012-06-02 恢复服务的自动配置

Country Status (6)

Country Link
US (3) US10585766B2 (zh)
EP (1) EP2718833B1 (zh)
JP (1) JP6059717B2 (zh)
KR (1) KR101969604B1 (zh)
CN (1) CN103597463B (zh)
WO (1) WO2012170308A2 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8850261B2 (en) 2011-06-01 2014-09-30 Microsoft Corporation Replaying jobs at a secondary location of a service
US20140019415A1 (en) * 2012-07-11 2014-01-16 Nec Laboratories America, Inc. Method and System for Database Cloud Bursting
US10394611B2 (en) * 2012-11-26 2019-08-27 Amazon Technologies, Inc. Scaling computing clusters in a distributed computing system
US9634886B2 (en) * 2013-03-14 2017-04-25 Alcatel Lucent Method and apparatus for providing tenant redundancy
JP2015069283A (ja) * 2013-09-27 2015-04-13 日本電気株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
CN103793538A (zh) * 2014-03-06 2014-05-14 赛特斯信息科技股份有限公司 实现数据库宕机情况下网站服务恢复的系统及方法
US20150358399A1 (en) * 2014-06-09 2015-12-10 Cisco Technology, Inc. Provisioning and managing slices of a consumer premises equipment device
WO2016040393A1 (en) * 2014-09-08 2016-03-17 Microsoft Technology Licensing, Llc Application transparent continuous availability using synchronous replication across data stores in a failover cluster
EP3210367B1 (en) * 2014-10-23 2020-07-22 Telefonaktiebolaget LM Ericsson (publ) System and method for disaster recovery of cloud applications
JP6393612B2 (ja) * 2014-12-26 2018-09-19 株式会社日立製作所 システムのバックアップ装置及びバックアップ方法
US10275328B2 (en) * 2015-04-02 2019-04-30 Vmware, Inc. Fault tolerance for hybrid cloud deployments
US10798165B2 (en) * 2018-04-02 2020-10-06 Oracle International Corporation Tenant data comparison for a multi-tenant identity cloud service
US10909010B2 (en) * 2018-04-10 2021-02-02 Nutanix, Inc. Efficient data restoration
US11368407B2 (en) 2018-05-29 2022-06-21 Amazon Technologies, Inc. Failover management using availability groups
US10673694B2 (en) * 2018-05-29 2020-06-02 Amazon Technologies, Inc. Private network mirroring
US11620295B2 (en) * 2018-10-10 2023-04-04 Digital Alert Systems, Inc. Method, system and program product for monitoring EAS devices
US12050618B2 (en) * 2020-03-13 2024-07-30 Salesforce, Inc. Upgrading replicated databases with small downtime
US11971787B2 (en) * 2021-11-11 2024-04-30 Rubrik, Inc. Integration of database with distributed storage system
US20230222001A1 (en) * 2022-01-11 2023-07-13 Microsoft Technology Licensing, Llc Techniques for deploying changes to improve reliability of a cloud service
US20240143459A1 (en) * 2022-10-26 2024-05-02 Oracle International Corporation Replicating resources between regional data centers

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5596706A (en) * 1990-02-28 1997-01-21 Hitachi, Ltd. Highly reliable online system
CN1906593A (zh) * 2003-11-24 2007-01-31 Tsx公司 用于故障解决的系统和方法
CN101883135A (zh) * 2009-05-06 2010-11-10 日立-Lg数据存储韩国公司 选择性镜像方法

Family Cites Families (131)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5454099A (en) * 1989-07-25 1995-09-26 International Business Machines Corporation CPU implemented method for backing up modified data sets in non-volatile store for recovery in the event of CPU failure
US5734373A (en) 1993-07-16 1998-03-31 Immersion Human Interface Corporation Method and apparatus for controlling force feedback interface systems utilizing a host computer
US7080051B1 (en) * 1993-11-04 2006-07-18 Crawford Christopher M Internet download systems and methods providing software to internet computer users for local execution
JP2000181890A (ja) 1998-12-15 2000-06-30 Fujitsu Ltd マルチプロセッサ交換機及びその主プロセッサ切替方法
US6526418B1 (en) 1999-12-16 2003-02-25 Livevault Corporation Systems and methods for backing up data files
US6898727B1 (en) 2000-03-22 2005-05-24 Emc Corporation Method and apparatus for providing host resources for an electronic commerce site
US7281031B1 (en) 2000-03-22 2007-10-09 Emc Corporation Method and apparatus for providing additional resources for a host computer
EP1139235B1 (en) * 2000-03-29 2006-05-24 Fuji Photo Film Co., Ltd. Distributed data processing system and method of processing data in distributed data processing system
US7219260B1 (en) 2000-05-26 2007-05-15 Emc Corporation Fault tolerant system shared system resource with state machine logging
US7512673B2 (en) 2001-01-11 2009-03-31 Attune Systems, Inc. Rule based aggregation of files and transactions in a switched file system
US20040133606A1 (en) 2003-01-02 2004-07-08 Z-Force Communications, Inc. Directory aggregation for files distributed over a plurality of servers in a switched file system
GB0112781D0 (en) 2001-05-25 2001-07-18 Global Continuity Plc Method for rapid recovery from a network file server failure
US7685126B2 (en) 2001-08-03 2010-03-23 Isilon Systems, Inc. System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system
US6924321B2 (en) 2001-08-16 2005-08-02 Dow Global Technologies Inc. Polyols with autocatalytic characteristics and polyurethane products made therefrom
US6820218B1 (en) 2001-09-04 2004-11-16 Microsoft Corporation Persistent stateful component-based applications via automatic recovery
US7065041B2 (en) 2001-12-14 2006-06-20 Siemens Communications, Inc. Method for resilient call setup through ATM networks for Softswitch applications
US7475098B2 (en) * 2002-03-19 2009-01-06 Network Appliance, Inc. System and method for managing a plurality of snapshots
US6928394B2 (en) * 2002-03-21 2005-08-09 International Business Machines Corporation Method for dynamically adjusting performance measurements according to provided service level
US7003694B1 (en) 2002-05-22 2006-02-21 Oracle International Corporation Reliable standby database failover
JP2004032103A (ja) 2002-06-21 2004-01-29 Ntt Docomo Tokai Inc ネットワークシステム及びサーバ切り替え方法
US20040153709A1 (en) 2002-07-03 2004-08-05 Burton-Krahn Noel Morgen Method and apparatus for providing transparent fault tolerance within an application server environment
US6947940B2 (en) * 2002-07-30 2005-09-20 International Business Machines Corporation Uniform name space referrals with location independence
WO2004023259A2 (en) 2002-09-06 2004-03-18 Samy Mahmoud Aboel-Nil Method and system for processing email during an unplanned outage
US7426652B2 (en) 2002-09-09 2008-09-16 Messageone, Inc. System and method for application monitoring and automatic disaster recovery for high-availability
AU2003273312A1 (en) 2002-09-10 2004-04-30 Exagrid Systems, Inc. Method and apparatus for integrating primary data storage with local remote data protection
US7107483B2 (en) 2002-11-15 2006-09-12 Lsi Logic Corporation Apparatus and method for enhancing data availability by leveraging primary/backup data storage volumes
WO2004053696A1 (ja) 2002-12-11 2004-06-24 Fujitsu Limited バックアップシステム,バックアップ制御装置,バックアップデータ管理方法,バックアップ制御プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体
US20080177994A1 (en) * 2003-01-12 2008-07-24 Yaron Mayer System and method for improving the efficiency, comfort, and/or reliability in Operating Systems, such as for example Windows
US7478096B2 (en) * 2003-02-26 2009-01-13 Burnside Acquisition, Llc History preservation in a computer storage system
WO2004086191A2 (en) 2003-03-20 2004-10-07 Rosenfelt Michael I Method and system for providing backup messages to wireless devices during outages
US7558927B2 (en) * 2003-05-06 2009-07-07 Aptare, Inc. System to capture, transmit and persist backup and recovery meta data
US7178059B2 (en) 2003-05-07 2007-02-13 Egenera, Inc. Disaster recovery for processing resources using configurable deployment platform
US7617369B1 (en) 2003-06-30 2009-11-10 Symantec Operating Corporation Fast failover with multiple secondary nodes
US7694086B1 (en) * 2003-06-30 2010-04-06 Symantec Operating Corporation Method and system for incremental backup of data volumes
US7330859B2 (en) 2003-09-10 2008-02-12 International Business Machines Corporation Database backup system using data and user-defined routines replicators for maintaining a copy of database on a secondary server
JP5124140B2 (ja) * 2003-09-19 2013-01-23 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. ストレージシステム設計方法
US7490103B2 (en) 2004-02-04 2009-02-10 Netapp, Inc. Method and system for backing up data
JP2005250626A (ja) 2004-03-02 2005-09-15 Hitachi Ltd コンピュータシステム及びそのプログラム。
US7376078B1 (en) 2004-03-24 2008-05-20 Juniper Networks, Inc. Selective replay of a state information within a computing device
US7185026B2 (en) 2004-04-15 2007-02-27 International Business Machines Corporation Method for synchronizing read/unread data during LOTUS NOTES database migration
JP2006003263A (ja) 2004-06-18 2006-01-05 Hitachi Ltd 視覚情報処理装置および適用システム
US7822741B2 (en) 2004-06-21 2010-10-26 Microsoft Corporation API for programmatic retrieval and replay of database trace
US7363365B2 (en) 2004-07-13 2008-04-22 Teneros Inc. Autonomous service backup and migration
WO2006020823A1 (en) 2004-08-13 2006-02-23 Citrix Systems, Inc. A method for maintaining transaction integrity across multiple remote access servers
US7650356B2 (en) 2004-08-24 2010-01-19 Microsoft Corporation Generating an optimized restore plan
US7769709B2 (en) 2004-09-09 2010-08-03 Microsoft Corporation Method, system, and apparatus for creating an archive routine for protecting data in a data protection system
US20060129562A1 (en) 2004-10-04 2006-06-15 Chandrasekhar Pulamarasetti System and method for management of recovery point objectives of business continuity/disaster recovery IT solutions
US7325156B1 (en) 2004-10-07 2008-01-29 Hewlett-Packard Development Company, L.P. Methods and apparatus for backing up data in a data center
US7349903B2 (en) 2004-11-17 2008-03-25 International Business Machines Corporation Apparatus, system, and method for an alternate lock facility connection path
US7562102B1 (en) * 2004-11-29 2009-07-14 Progress Software Corporation Extensible handling of new or modified data within an independent distributed database system
CN100573462C (zh) 2004-12-30 2009-12-23 伊姆西公司 数据恢复系统和方法
US7526514B2 (en) 2004-12-30 2009-04-28 Emc Corporation Systems and methods for dynamic data backup
US7668962B2 (en) 2005-02-07 2010-02-23 Symantec Operating Corporation System and method for connection failover using redirection
US7483929B2 (en) * 2005-02-08 2009-01-27 Pro Softnet Corporation Systems and methods for storing, backing up and recovering computer data files
EP1867097B1 (en) 2005-03-10 2016-11-02 Telecom Italia S.p.A. Disaster recovery architecture
JP4515314B2 (ja) * 2005-04-08 2010-07-28 株式会社日立製作所 計算機システムの構成再現方法
CN101243413B (zh) * 2005-06-24 2013-08-14 信科索尔特公司 用于对备份映像进行虚拟化的系统和方法
US7720820B2 (en) 2005-07-12 2010-05-18 Microsoft Corporation Logless persistent components for enterprise applications
US20070050569A1 (en) 2005-09-01 2007-03-01 Nils Haustein Data management system and method
CA2559182C (en) 2005-09-12 2017-05-09 Acuity Brands, Inc. Network operation center for a light management system having networked intelligent luminaire managers
US7823153B1 (en) 2005-09-30 2010-10-26 Symantec Corporation System and method for detecting and logging in-line synchronization primitives in application program code
JP4668763B2 (ja) 2005-10-20 2011-04-13 株式会社日立製作所 ストレージ装置のリストア方法及びストレージ装置
DE602005014992D1 (de) * 2005-10-31 2009-07-30 Packetfront Systems Ab Hochverfügbarkeitsnetzwerksystem
US7549079B2 (en) 2005-11-30 2009-06-16 Oracle International Corporation System and method of configuring a database system with replicated data and automatic failover and recovery
US7634679B2 (en) 2005-11-30 2009-12-15 Microsoft Corporation Remote location failover server application
US8156083B2 (en) 2005-12-01 2012-04-10 Oracle International Corporation Database system that provides for history-enabled tables
US20070162516A1 (en) 2005-12-30 2007-07-12 Microsoft Corporation Computing asynchronous transaction log replication progress based on file change notifications
US9268659B2 (en) 2006-01-05 2016-02-23 Emc Corporation Detecting failover in a database mirroring environment
US20070174723A1 (en) 2006-01-18 2007-07-26 Omar Cardona Sub-second, zero-packet loss adapter failover
US7734951B1 (en) 2006-03-20 2010-06-08 Netapp, Inc. System and method for data protection management in a logical namespace of a storage system environment
US8812556B2 (en) * 2006-04-06 2014-08-19 International Business Machines Corporation Storing modification data for recreating modifications
US7840969B2 (en) 2006-04-28 2010-11-23 Netapp, Inc. System and method for management of jobs in a cluster environment
US7613742B2 (en) 2006-05-02 2009-11-03 Mypoints.Com Inc. System and method for providing three-way failover for a transactional database
US7590901B2 (en) 2006-05-19 2009-09-15 International Business Machines Corporation Apparatus, system, and method for dynamic recovery and restoration from design defects in an integrated circuit
US7730538B2 (en) 2006-06-02 2010-06-01 Microsoft Corporation Combining virus checking and replication filtration
US7877628B2 (en) 2006-06-08 2011-01-25 International Business Machines Corporation Mirroring data between primary and secondary sites
US7725764B2 (en) 2006-08-04 2010-05-25 Tsx Inc. Failover system and method
US7627687B2 (en) 2006-09-28 2009-12-01 Emc Israel Development Center, Ltd. Methods and apparatus for managing data flow in a continuous data replication system having journaling
US7917469B2 (en) 2006-11-08 2011-03-29 Hitachi Data Systems Corporation Fast primary cluster recovery
CN100423610C (zh) 2006-11-09 2008-10-01 中国移动通信集团江苏有限公司 用户识别模块业务及应用的个性化定制发行方法及系统
US7844851B2 (en) 2006-12-13 2010-11-30 Oracle International Corporation System and method for protecting against failure through geo-redundancy in a SIP server
US20080147689A1 (en) 2006-12-19 2008-06-19 Fujitsu Limited Test data registration method, program and apparatus
US7685179B2 (en) 2007-03-13 2010-03-23 Microsoft Corporation Network flow for constrained replica placement
WO2008129620A1 (ja) 2007-04-09 2008-10-30 Fujitsu Limited 完全二重化システム、システム制御方法およびシステム制御プログラム
US8225129B2 (en) 2007-04-10 2012-07-17 International Business Machines Corporation Methods and apparatus for effective on-line backup selection for failure recovery in distributed stream processing systems
US7779298B2 (en) 2007-06-11 2010-08-17 International Business Machines Corporation Distributed job manager recovery
US7861111B2 (en) 2007-06-15 2010-12-28 Savvis, Inc. Shared data center disaster recovery systems and methods
US7830784B2 (en) 2007-06-29 2010-11-09 Verizon Patent And Licensing Inc. Intelligent network restoration
US8181071B2 (en) 2007-06-29 2012-05-15 Microsoft Corporation Automatically managing system downtime in a computer network
US20090019094A1 (en) 2007-07-13 2009-01-15 Scott David Lashley Redirected updates on a backup server
US7770064B2 (en) 2007-10-05 2010-08-03 International Business Machines Corporation Recovery of application faults in a mirrored application environment
US8375440B2 (en) 2007-10-15 2013-02-12 Microsoft Corporation Secure bait and switch resume
US8020046B2 (en) * 2007-10-15 2011-09-13 International Business Machines Corporation Transaction log management
US9258360B2 (en) 2007-11-07 2016-02-09 International Business Machines Corporation Intelligent disaster recovery for database connection failures
US7836207B2 (en) 2007-12-20 2010-11-16 Fast Health Corporation System and method for redirecting a website upon the occurrence of a disaster or emergency event
JP5098700B2 (ja) 2008-03-03 2012-12-12 沖電気工業株式会社 情報通信システムのファイル交換装置およびファイル交換方法
JP2009217765A (ja) 2008-03-13 2009-09-24 Hitachi Ltd 複数宛先への同期送信方法、その実施システム及び処理プログラム
US8700574B2 (en) 2008-03-21 2014-04-15 Omnitracs, Llc Pourover journaling
US8433863B1 (en) * 2008-03-27 2013-04-30 Symantec Operating Corporation Hybrid method for incremental backup of structured and unstructured files
US8250577B2 (en) 2008-04-16 2012-08-21 International Business Machines Corporation Mechanism to enable and ensure failover integrity and high availability of batch processing
JP4659062B2 (ja) 2008-04-23 2011-03-30 株式会社日立製作所 フェイルオーバ方法、プログラム、管理サーバおよびフェイルオーバシステム
CN101299201B (zh) 2008-05-08 2010-06-02 成都市华为赛门铁克科技有限公司 存储系统数据备份方法及装置
US7793141B1 (en) 2008-05-15 2010-09-07 Bank Of America Corporation eCommerce outage customer notification
US8301593B2 (en) 2008-06-12 2012-10-30 Gravic, Inc. Mixed mode synchronous and asynchronous replication system
US7962458B2 (en) 2008-06-12 2011-06-14 Gravic, Inc. Method for replicating explicit locks in a data replication engine
US8255739B1 (en) 2008-06-30 2012-08-28 American Megatrends, Inc. Achieving data consistency in a node failover with a degraded RAID array
US8775394B2 (en) * 2008-09-11 2014-07-08 Netapp, Inc. Transactional failover of data sets
US8311985B2 (en) * 2008-09-16 2012-11-13 Quest Software, Inc. Remote backup and restore system and method
US8103842B2 (en) 2008-11-17 2012-01-24 Hitachi, Ltd Data backup system and method for virtual infrastructure
US20100228819A1 (en) 2009-03-05 2010-09-09 Yottaa Inc System and method for performance acceleration, data protection, disaster recovery and on-demand scaling of computer applications
US8560787B2 (en) * 2009-03-30 2013-10-15 International Business Machines Corporation Incremental backup of source to target storage volume
JP5438371B2 (ja) 2009-04-30 2014-03-12 キヤノン株式会社 画像処理装置および画像処理方法
US20100333116A1 (en) 2009-06-30 2010-12-30 Anand Prahlad Cloud gateway system for managing data storage to cloud storage sites
CN101599026A (zh) 2009-07-09 2009-12-09 浪潮电子信息产业股份有限公司 一种具有弹性架构的集群作业调度系统
US9141489B2 (en) 2009-07-09 2015-09-22 Uniloc Luxembourg S.A. Failover procedure for server system
US7992031B2 (en) 2009-07-24 2011-08-02 International Business Machines Corporation Automated disaster recovery planning
US20110047413A1 (en) 2009-08-20 2011-02-24 Mcgill Robert E Methods and devices for detecting service failures and maintaining computing services using a resilient intelligent client computer
CN101645022B (zh) 2009-08-28 2013-07-10 曙光信息产业(北京)有限公司 用于多个集群的作业调度管理系统及方法
US9094292B2 (en) * 2009-08-31 2015-07-28 Accenture Global Services Limited Method and system for providing access to computing resources
JP5498102B2 (ja) 2009-09-02 2014-05-21 アラクサラネットワークス株式会社 ネットワークシステム、ネットワーク中継装置、それらの制御方法
US8335765B2 (en) * 2009-10-26 2012-12-18 Amazon Technologies, Inc. Provisioning and managing replicated data instances
US8074107B2 (en) 2009-10-26 2011-12-06 Amazon Technologies, Inc. Failover and recovery for replicated data instances
US8595188B2 (en) * 2009-11-06 2013-11-26 International Business Machines Corporation Operating system and file system independent incremental data backup
KR101050476B1 (ko) * 2009-12-03 2011-07-20 (주)한국아이오테크 스토리지 관리 서버 기반 스크립트 관리 방법 및 이를 실현시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
US8145945B2 (en) 2010-01-04 2012-03-27 Avaya Inc. Packet mirroring between primary and secondary virtualized software images for improved system failover performance
DE102010007967A1 (de) * 2010-02-15 2011-08-18 DB Systel GmbH, 60326 Verfahren, Computerprogramm-Produkt sowie computerlesbares Speichermedium zur generischen Erstellung eines Strukturbaums zur Beschreibung eines IT-Verfahrens
US20110289484A1 (en) * 2010-05-19 2011-11-24 Also Energy Method and System for Script Processing for Web-Based Applications
US8850261B2 (en) 2011-06-01 2014-09-30 Microsoft Corporation Replaying jobs at a secondary location of a service
US8938638B2 (en) 2011-06-06 2015-01-20 Microsoft Corporation Recovery service location for a service
CA2855772C (en) * 2013-07-04 2021-06-15 Acpana Business Systems Inc. System and method of performing continuous backup of a data file on a computing device
US9141493B2 (en) 2013-07-12 2015-09-22 International Business Machines Corporation Isolating a PCI host bridge in response to an error event

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5596706A (en) * 1990-02-28 1997-01-21 Hitachi, Ltd. Highly reliable online system
CN1906593A (zh) * 2003-11-24 2007-01-31 Tsx公司 用于故障解决的系统和方法
CN101883135A (zh) * 2009-05-06 2010-11-10 日立-Lg数据存储韩国公司 选择性镜像方法

Also Published As

Publication number Publication date
EP2718833B1 (en) 2016-06-22
US10585766B2 (en) 2020-03-10
EP2718833A2 (en) 2014-04-16
US11720456B2 (en) 2023-08-08
KR20140038450A (ko) 2014-03-28
US11176008B2 (en) 2021-11-16
WO2012170308A2 (en) 2012-12-13
JP6059717B2 (ja) 2017-01-11
WO2012170308A3 (en) 2013-03-07
US20120310887A1 (en) 2012-12-06
CN103597463A (zh) 2014-02-19
US20190294515A1 (en) 2019-09-26
US20220066892A1 (en) 2022-03-03
KR101969604B1 (ko) 2019-04-16
JP2014523563A (ja) 2014-09-11
EP2718833A4 (en) 2014-12-24

Similar Documents

Publication Publication Date Title
CN103597463B (zh) 恢复服务的自动配置
US20220261419A1 (en) Provisioning and managing replicated data instances
US20230023262A1 (en) System and method for supporting patching in a multitenant application server environment
US10394550B2 (en) System and method for supporting patching in a multitenant application server environment
US9442813B2 (en) Replaying jobs at a secondary location of a service
CN104487960B (zh) 自动灾难恢复和数据迁移
CN102438041B (zh) 高可用性场服务器组的升级
US8938638B2 (en) Recovery service location for a service
Ball et al. The Fluid Dynamics of SQL Server Data Movement

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150724

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150724

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant