CN102546773A - 提供复原性服务 - Google Patents
提供复原性服务 Download PDFInfo
- Publication number
- CN102546773A CN102546773A CN2011104432674A CN201110443267A CN102546773A CN 102546773 A CN102546773 A CN 102546773A CN 2011104432674 A CN2011104432674 A CN 2011104432674A CN 201110443267 A CN201110443267 A CN 201110443267A CN 102546773 A CN102546773 A CN 102546773A
- Authority
- CN
- China
- Prior art keywords
- server
- pools
- data center
- pond
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2035—Error 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 without idle spare hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2048—Error 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 neither address space nor persistent storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2097—Error 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请提供复原性服务。描述了针对使用具有包括处理整个数据中心故障的能力在内的多个故障转移特征的架构来提供复原性服务的实施例。各实施例包括位于第一数据中心的提供客户端通信服务的第一服务器池。第一服务器池由位于不同数据中心的第二服务器池备份。另外,第一服务器池用作第二服务器池的备份。这两个服务器池因此进行用户信息的复制,这允许它们各自用作对方彼此的备份。在数据中心之一失效的情形中,请求被重新路由至备份服务器池。
Description
技术领域
本申请涉及提供复原性服务。
背景技术
将信息和软件应用存储在云中并作为服务提供给用户正变得越来越常见。此举正变得常见的一个示例是在通信服务中,通信服务包括即时消息收发、在场、协作应用、IP语音(VoIP)、以及其它类型的统一通信应用。作为对云计算的增长依赖的结果,提供给用户的服务必须是能复原的,即,提供可靠的故障转移系统,从而用户将不被可能影响主存用于用户的应用或信息的服务器的中断所影响。
因此,用于提供云服务的云计算架构应当能够在多个级别上处理故障。例如,若主存IM或会议服务的单个服务器失效,则该架构应当能够为失效服务器提供故障转移。作为另一示例,若具有主存不同服务的大量服务器的整个数据中心失效,则该架构应当也能够为整个数据中心提供足够的故障转移。
本发明的各实施例正是对于这些和其它考虑事项而做出的。同样,虽然讨论了相对具体的问题,但应当理解,本发明的各实施例不应被限于解决本背景技术中所标识的具体问题。
发明内容
提供本概述来以简化形式介绍将在以下详细描述部分中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
描述了针对使用具有包括处理整个数据中心故障的能力在内的多个故障转移特征的架构来提供复原性服务的实施例。各实施例包括位于第一数据中心的向多个客户端提供客户端通信服务的第一服务器池,客户端通信服务可包括即时消息收发、在场应用、协作应用、IP语音(VoIP)应用、以及统一通信应用。第一服务器池由位于不同数据中心的第二服务器池备份。另外,第一服务器池用作第二服务器池的备份。这两个服务器池因此进行用户信息的复制,这允许它们各自用作对方彼此的备份。在数据中心之一失效的情形中,请求被重新路由至备份服务器池。
各实施例可被实现为计算机进程、计算系统、或者诸如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并编码了用于执行计算机进程的指令的计算机程序的计算机存储介质。计算机程序产品还可以是计算系统可读并编码了用于执行计算机过程的进程的计算机程序的载体上所传播的信号。
附图说明
参考以下附图描述非限制性和非穷尽的实施例。
图1示出了可用于实现各实施例的系统的实施例。
图2示出了可在一些实施例中使用的双服务器池的框图。
图3示出了与一些实施例一致的提供服务器池的备份特征的操作流程。
图4示出了与一些实施例一致的用于在服务器池之间复制信息的操作流程。
图5示出了与一些实施例一致的用于重新路由定向到不可操作服务器池的请求的操作流程。
图6示出了适于实现各实施例的计算环境的框图。
具体实施方式
以下参考附图来更详尽地描述各个实施例,附图构成本发明一部分并示出用于实践本发明的具体示例性实施例。然而,各实施例可被实现为许多不同的形式并且不应被解释为被限于此处描述的各实施例;相反,提供这些实施例以使得本公开变得透彻和完整,并且将本发明的范围完全传达给本领域技术人员。各实施例可被实践为方法、系统或设备。因此,这些实施例可采用硬件实现形式、全软件实现形式或者结合软件和硬件方面的实现形式。因此,以下详细描述并非是局限性的。
图1示出了可用于实现各实施例的系统100。一般地,系统100包括用于从云向客户端提供通信服务的组件。如下文更详细地描述的,系统100实现不管该系统各部分的故障或不可用而允许通信服务能够复原的架构。系统100向利用这些通信服务的客户端提供可靠的服务。
图1示出了第一数据中心102和第二数据中心104。每个数据中心102和104包括用于向许多客户端(106、108、110、112、114和116)上的多个用户提供通信服务的多个服务器池(102A、102B、104A和104B),通信服务包括即时消息收发、在场应用、协作应用、IP语音(VoIP)应用、以及统一通信应用。每个服务器池(102A、102B、104A和104B)包括多个服务器,例如服务器群集中的多个服务器。服务器池(102A、102B、104A和104B)向客户端(106、108、110、112、114和116)的用户提供通信服务。例如,使用客户端106(智能电话设备)的用户可请求开始即时消息收发会话。该请求可通过网络118被传送至中间服务器120,中间服务器120依据关联用于处理来自该用户的请求的特定服务器池而将该请求路由至数据中心102或104之一。出于说明目的,管理服务器120可将该请求定向到服务器池102A。服务器池102A中的至少一个服务器主存用于向客户端106上的用户提供即时消息收发服务的即时消息收发应用。
如图1中所示,每个服务器池还与后端数据库(118、120、122和124)通信。后端数据库118、120、122和124存储持久的用户信息。例如,在一些实施例中,数据库118、120、122和124可存储关于特定用户的联系人的信息或持久的其它用户信息。应注意,尽管图1和本说明书描述了数据库118、120、122和124,但在一些实施例中,信息可被存储在文件存储中而非存储在数据库中。在又其它实施例中,如图1中所示,信息可被存储在数据库和文件存储(诸如文件存储119)中的文件共享两者中。例如,在场信息和联系人列表可被存储在数据库118中,而一些用户会议内容数据可被存储在文件存储119中的文件共享中。因此,尽管以下描述针对数据库118、120、122和124,但各实施例不限于数据库。
系统100包括允许服务器池(102A、102B、104A和104B)在系统100的组件不可操作时提供复原性服务的各种特征。这种不可操作性可能是由管理员执行的例行维护引起的,诸如向服务器池添加新服务器或升级系统100内的硬件或软件。在其它情形中,这种不可操作性可能是由系统100内的一个或多个组件的故障引起的。如下文更详细地描述的,系统100包括向客户端(106、108、110、112、114和116)上的用户提供复原性服务的多个备份。
系统100内提供复原性的一个特征是系统100内的服务器池的拓扑配置。该拓扑被配置成使得数据中心102中的服务器池由位于数据中心104中的服务器池备份。例如,数据中心102内的服务器池102A被配置成由数据中心104中的服务器池104A备份。此外,服务器池104A使用服务器池102A作为服务器池104A上的用户信息的备份。相应地,服务器池102A和服务器池104A以常规间隔进行相互复制以交换信息,从而各自包含来自对方的最新用户信息。倘若服务器池104A变得不可操作,这允许服务器池102A用于服务定向到服务器池104A的请求。类似地,倘若服务器池102A变得不可操作,服务器池104A用于服务定向到服务器池102A的请求。以下描述的图2A和2B示出了相互复制的实施例。
如以上指出的,服务器池102A在数据中心102中,数据中心102不同于其备份即服务器池104A的数据中心,服务器池104A在数据中心104中。在各实施例中,数据中心102位于与数据中心104不同的地理位置。这提供了附加的复原性等级。如本领域技术人员将理解的,使备份服务器池位于不同地理位置降低了备份服务器池将与主服务器池同时不可用的可能性。例如,数据中心102可位于美国加利福尼亚州,而数据中心104可位于美国科罗拉多州。若出于某种原因导致影响数据中心102的断电,数据中心102距离数据中心104足够远,就不太可能有相同的问题将影响数据中心104。如本领域技术人员将理解的,即使数据中心102和数据中心104并非长距离分离,诸如位于不同的州,使它们处于不同位置也降低了它们将同时不可用的风险。各实施例中的数据中心被进一步设计成由相对大带宽和稳定的连接来连接。
在一些实施例中,每个数据中心102和104可包括专门配置的服务器池,其在本文被称为引导器池。在图1中所示的实施例中,服务器池103是数据中心102的引导器池,而服务器池105是数据中心104的引导器池。引导器池103和105在各实施例中被配置成允许它们充当用于重新路由对其相应数据中心内不可操作的服务器池的请求的仲裁者。例如,若服务器池102B不可操作,例如由于正对服务器池102B执行例行维护,则引导器池103将确定服务器池102B不可操作并将定向到服务器池102B的任何请求重定向到数据中心104中的服务器池104B。由于由引导器服务器池103和105执行的附加功能,向它们提供附加资源。引导器服务器池存储用户的路由相关数据。各实施例中的数据来自目录服务。该信息在该部署中的所有引导器池中是相同的并且是可用的。
可存在数据中心中的引导器服务器池确定服务器池是否不可操作的各种方式。一种方式可以是使数据中心内的每个服务器池发出周期性心跳消息。若自从一服务器池接收到心跳消息起已经过一长段时间,则其可被认为不可操作。在一些实施例中,池停机的确定不是由引导器服务器池作出的,而是要求数据中心内的法定数量的池判定服务器池不可操作并且至该池的请求应当被重新路由至其备份。
数据库(118、120、122和124)的备份提供附加复原性。如图1中所示,数据库118具有备份118A,而数据库120具有备份120A,备份118A和120A位于数据中心102的场外位置126。场外位置表示不同于数据中心的位置。场外位置可以在不同的建筑物或不同的地理位置中。如图1中所示,数据库122具有位于场外位置128的备份122A。类似地,数据库124具有位于场外位置128的备份124A。在其它实施例中,备份数据库118A、120A、122A和124A并非位于场外,而是与主数据库位于相同的数据中心中。它们将在其相应主数据库失效的情况下被利用。
在各实施例中,备份数据库(118A、120A、122A和124A)可镜像反映其相应数据库且因此可在数据库(118、120、122和124)由于例行维护或由于某种故障而不可操作的情形中使用。若任何数据库(118、120、122和124)失效,则服务器池(102A、102B、104A和104B)访问相应的备份数据库(118A、120A、122A和124A)以检索任何必需信息。
如以上指出的,系统100向客户端(106、108、110、112、114和116)上的用户提供复原性通信服务。作为一个示例,客户端114上的用户可请求成为正通过系统100提供的音频/视频会议的一部分。该用户将通过网络118A发送请求以登入该会议。该请求将被传送至中间服务器120,中间服务器120可包括用于在数据中心102和104之间的负载平衡的逻辑。在该示例中,该请求被传送给引导器服务器池105。引导器服务器池105可确定服务器池104B应处理该请求。
服务器池104B包括提供使该用户参与该音频/视频会议的服务的服务器。若提供音频/视频会议服务的该服务器失效,则服务器池104B可故障转移至服务器池104B内的另一服务器。这提供了复原性等级。该故障转移自动发生并且对于用户是透明的。另外,该故障可能在该用户所使用的客户端重新加入会议时造成某种中断但这将不会有任何数据丢失。在其它实施例中,用户可能不会看到该音频/视频会议服务中的任何中断。
如图1中所示,服务器池104B由服务器池102B备份。因此,用户的在场、会议内容数据、或用户生成/拥有的任何其它数据基于预定复制调度而被复制到服务器池102B。倘若存在数据中心104的故障(例如,断电),则服务器池104B也将失效,但该音频/视频会议服务将故障转移至服务器池102B。该故障转移将自动发生且使用客户端设备114的用户将不会看到音频/视频会议中的中断。在一些实施例中,该故障可能在该用户所使用的客户端重新加入会议时造成某种中断但这将不会有任何数据丢失。
如该示例所说明的,系统100提供允许即使系统100内有多个组件不可用也能向用户提供服务而不会中断的多个特征。如本领域技术人员将理解的,以上示例并非旨在是限制性的,而是仅出于描述目的而提供的。任何类型的通信服务(诸如即时消息收发、在场应用、协作应用、VoIP应用以及统一通信应用)都可作为使用系统100的复原性服务来提供。
系统100的各实施例提供对于系统100的用户有用的多个可用性和恢复特征。例如,在灾害恢复情景中,即池或整个数据中心失效,任何数据请求被重新路由至备份池/数据中心且服务不中断地发生。另外,系统100的实施例提供高可用性。例如,若池中的服务器由于大量请求或故障而不可用,则该池中的其他服务器开始处理这些请求,另外,备份(例如,镜像)数据库在服务请求中起作用。
图2A和2B示出了进行相互复制的两个服务器池202和204的框图。服务器池202和204在各实施例中可被实现为以上关于图1描述的服务器池102A、102B、104A和104B中的任一者。
如图2A中所示,服务器池202向服务器池204发送令牌。该令牌可以是任何格式的,但包括指示服务器池202接收到的最后改变的信息。该指示可以是序列号、时戳、或其他唯一值的形式,其允许服务器池204确定由服务器池202接收到的最后改变。响应于接收到该令牌,服务器池204将发送自从服务器池202接收到的最后改变以来在服务器池204上已作出的任何改变。
如上所述,在各实施例中,服务器池202用作服务器池204的备份,且反之亦然(即,服务器池204用作服务器池202的备份)。因此,如图2B中所示,服务器池204将向服务器池202发送指示其从服务器池202接收到的最后改变的令牌。响应于接收到该令牌,服务器池202将发送自从服务器池204接收到的最后改变以来在服务器池202上已作出的任何改变。
如本领域技术人员将理解的,在服务器池202与204之间复制的信息是使服务器池用作提供通信服务的备份所必需的任何信息。例如,在相互复制期间交换的信息可包括用户的联系人信息、用户的许可信息、会议数据、以及会议元数据。
图3、4和5示出根据各实施例的操作流程300、400和500。操作流程300、400和500可在任何合适的计算环境中执行。例如,操作流程可以由诸如图1和2中所示的系统来执行。因此,操作流程300、400和500的描述可参考图1和2的至少一个组件。然而,对图1和2的组件的任何这类参考仅出于描述性目的,并且应当理解,图1和2的实现是操作流程300、400和500的非限制性环境。
此外,尽管以特定次序顺序地示出并描述了操作流程300、400和500,但在其它实施例中,能以不同的次序、多次和/或并行执行各个操作。此外,在某些实施例中,一个或多个操作可被省略或组合。
操作流程300始于操作302,其中第一服务器池向第一多个客户端提供客户端通信服务。在各实施例中,第一服务器池在第一数据中心中,诸如以上描述的服务器池102A和102B(图1)。第一多个客户端可以是由用户用于接收通信服务的任何类型的客户端。例如,客户端可以是膝上型计算机、台式计算机、智能电话设备、或平板计算机,其中一些被示为客户端106、108、110、112、114和116(图1)。在各实施例中,特定通信服务是任何类型的通信或协作服务,包括但不限于即时消息收发、在场应用、协作应用、VoIP应用、以及统一通信应用。
在一些实施例中,在向这多个客户端提供通信服务之前先与这多个客户端中的每一个客户端建立会话。在一个实施例中,使用会话发起协议(SIP)来建立会话。如本领域技术人员将理解的,使用SIP允许更容易地实现用于向客户端提供复原性服务的故障转移机制。即,在客户端向特定服务器池发送请求时,若该服务器池不可用,则可向该客户端提供信息以将其将来请求重新路由至备份服务器池。
在操作302之后,在操作304作出第一服务器池中有服务器已失效的标识。在各实施例中,已失效的服务器正活跃地向客户端提供服务。
第一服务器池包括多个服务器,其中每个服务器可充当故障转移以承载失效服务器的负载。这提供了复原性等级,其允许尽管第一服务器池中有服务器已失效,正被提供给这多个客户端的服务会继续而不中断。相应地,在操作306,使用第一服务器池中的另一服务器来提供正由失效服务器提供的服务。
在稍后的时间点,流程传至操作308,其中第一服务器池被标识为不可操作。该操作在一些实施例中可由引导器服务器池或管理第一数据中心的某个其他管理应用来执行。这种不可操作性可以基于第一服务器池的某种类型的故障(例如,硬件故障、软件故障、或甚至第一数据中心的完全故障)。在其它实施例中,这种不可操作性可仅仅是管理事件,例如升级第一服务器池内的软件或硬件。
在操作308之后,流程传至操作310,其中请求被重新路由至配置成备份第一服务器池的备份服务器池。在各实施例中,备份服务器池位于不同数据中心中,该不同数据中心可在地理上位于第一数据中心的远处。该不同数据中心的位置提供附加复原性等级,其使得在第一服务器池不可用时,备份服务器池不大可能也将不可用。
在操作310之后,流程到达操作312,其中备份服务器池被用于向这多个客户端提供服务。在各实施例中的操作310和312对于这多个客户端来说是自动且透明地发生。这样,正被提供给客户端的服务在不中断的情况下被提供,且这些服务对于服务器故障以及还有完全数据中心故障来说是可复原的。流程300在314处结束。
图4中所示的流程400示出了第一服务器池用于与第二服务器池进行相互复制的过程。服务器池在各实施例中可被实现为以上关于图1描述的服务器池102A、102B、104A和104B。流程400始于操作402,其中从第一服务器池向第二服务器池发送令牌。该令牌包括在先前复制中从第二服务器池接收到的最后改变的指示。流程400随后从操作402转至404,其中从第二服务器池接收改变。在操作404接收到的信息反映自从与第二服务器池的先前复制中从第二服务器池接收到的最后改变以来已作出的任何改变。
作为相互认证的一部分,流程转至操作406,其中第一服务器池将从第二服务器池接收指示第二服务器池接收到的最后改变的令牌。作为响应,第一服务器池将确定必须向第二服务器池发送哪些改变以确保第二服务器池包括其必须在故障转移能力中行动的必需信息。在操作408,在第一服务器池上已进行的任何改变被发送给第二服务器池。流程400在410处结束。
现在参考图5,流程500描述由于服务器池不可操作而由引导器服务器池实现的过程。流程500始于操作502,其中从客户端接收对来自位于第一数据中心的第一服务器池的通信服务的请求。继操作502之后,在操作504作出第一服务器池不可操作的确定。可存在其中作出操作504处的确定的各种方式。一种方式可以是第一服务器池已有一长段时间未发出周期性心跳消息。在其它实施例中,该确定可基于尚未被确认的发送给第一服务器池的先前请求。
在操作504,流程500转至操作506,其中该请求被重新路由至位于第二数据中心的备份服务器池。在各实施例中,第二数据中心位于与第一服务器池不同的地理位置以降低备份服务器池不可用的风险。流程在508处结束。
图6示出可用于实现本文所描述的各实施例的通用计算机系统600。计算机系统600仅是计算环境的一个示例,而非旨在对计算机和网络架构的使用范围或功能提出任何限制。计算机系统600也不应被解释成对于在示例计算机系统600中所示出的任一组件或其组合有任何依赖或要求。在各实施例中,系统600可用作以上参考图1和2所述的客户端和/或服务器。
在其最基本配置中,系统600通常包括至少一个处理单元602和存储器604。取决于计算设备的确切配置和类型,存储器604可以是易失性的(如RAM)、非易失性的(如ROM、闪存等)或是两者的某种组合。该最基本配置在图6中由虚线606来示出。系统存储器604存储在系统600上执行的应用程序。例如,存储器604可存储用于确定服务器池的备份的配置信息。存储器604还可包括存储器内位置620,在该位置上存储了用于执行对编辑报告的预览的编辑的元数据。
本文所使用的术语计算机可读介质可包括计算机存储介质。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块、或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器604、可移动存储和不可移动存储608都是计算机存储介质示例(即,存储器存储)。计算机存储介质可以包括,但不限于,RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或可用于存储信息且可以由计算设备600访问的任何其他介质。任何这样的计算机存储介质可以是设备600的一部分。计算设备600还可具有输入设备614,诸如键盘、鼠标、笔、声音输入设备、触摸输入设备等。还可包括输出设备616,诸如显示器、扬声器、打印机等。上述设备是示例且可以使用其他设备。
本文所使用的术语计算机可读介质还可包括通信媒介。通信媒介可由诸如载波或其他传输机制的已调制数据信号中的计算机可读指令、数据结构、程序模块、或其他数据来体现,并且包括任何信息传递介质。术语“已调制数据信号”可以描述以对该信号中的信息进行编码的方式设定或者改变其一个或多个特性集的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接等有线介质,以及诸如声学、射频(RF)、红外线和其他无线介质等无线介质。
本说明书通篇引述了“一个实施例”或“实施例”,这意味着在至少一个实施例中包括特定描述的特征、结构或特性。因此,对这样短语的使用可指的是一个以上的实施例。而且,在一个或多个实施例中,可以用任何合适的方式组合所描述的特征、结构或特性。
然而,本领域技术人员会认识到本发明也可在没有一个或多个具体细节的情况下实施,或者采用其它方法、资源、材料等来实现。仅仅为了避免模糊本发明的各方面,在其它情况下,未示出和详述公知的结构、资源或操作。
虽然示出和描述了示例实施例和应用,但是应该理解本发明不限于上述精确配置和资源。可以对此处公开的方法和系统的排列、操作以及细节作出对本领域技术人员显而易见的各种修改、改变和变化,而不背离所要求保护的本发明的范围。
Claims (10)
1.一种提供对客户端服务的透明故障转移的由计算机实现的方法,所述方法包括:
标识(308)向多个客户端(106、108、110、112、114、116)提供客户端通信服务的第一服务器池(102A)不可操作,其中所述第一服务器池(102A)位于第一数据中心(102);
响应于标识所述第一服务器池(102A)不可操作,将定向到所述第一服务器池的请求重新路由(310)至位于不同于所述第一数据中心(102)的第二数据中心(104)的第二服务器池(104A);以及
使用所述第二服务器池(104A)向所述多个客户端(106、108、110、112、114、116)提供(312)所述客户端通信服务。
2.如权利要求1所述的方法,其特征在于,所述第一服务器群集从位于所述第一数据中心的第一数据库访问客户端信息。
3.如权利要求2所述的方法,其特征在于,第二数据库提供所述第一数据库的备份且位于所述第一数据中心内。
4.如权利要求1所述的方法,其特征在于,在标识所述第一服务器池已失效之前,从所述第一服务器池向所述第二服务器池复制信息。
5.如权利要求4所述的方法,其特征在于,所述复制包括:
所述第一服务器池接收来自所述第二服务器池的令牌,所述令牌指示所述第二服务器池接收到的最后改变;以及
所述第一服务器池向所述第二服务器池发送自从所述第二服务器池接收到所述最后改变以来已改变的任何信息。
6.如权利要求5所述的方法,其特征在于,所述复制还包括:
所述第二服务器池向所述第一服务器池发送第二令牌,所述第二令牌指示所述第一服务器池接收到的最后改变;以及
接收自从所述第一服务器池接收到所述最后改变以来已改变的任何信息。
7.一种包括计算机可执行指令的计算机可读存储介质,所述指令在由处理器执行时执行提供备份客户端通信服务的方法,所述方法包括:
用位于第一数据中心(102)的第一服务器池(102A)中的第一多个服务器向多个客户端(106、108、110、112、114、116)提供客户端通信服务(302);
标识(304)所述第一多个服务器中的第一服务器已失效;
用所述第一多个服务器中的不同服务器提供(306)先前由所述第一多个服务器中的所述第一服务器提供的服务;
标识(308)所述第一服务器池(102A)已失效;
响应于标识所述第一服务器池(102A)已失效,将定向到所述第一服务器池(102A)的请求重新路由至位于不同于所述第一数据中心(102)的第二数据中心(104)的第二服务器池(104A)中的第二多个服务器;以及
用所述第二服务器池(104A)中的所述第二多个服务器向所述多个客户端(106、108、110、112、114、116)提供(312)所述客户端通信服务。
8.如权利要求7所述的计算机可读存储介质,其特征在于,所述方法还包括使用会话发起协议(SIP)建立与客户端的会话以用于提供所述客户端服务。
9.如权利要求8所述的计算机可读存储介质,其特征在于,所述客户端通信服务包括在场服务、会议服务、即时消息收发以及语音服务中的一项或多项。
10.一种用于提供客户端通信服务的计算机系统,所述系统包括:
第一服务器池(102A)中的第一多个服务器,所述第一多个服务器向第一多个客户端(106、108、110)提供客户端通信服务并且位于第一数据中心(102),其中所述第一多个服务器被配置成:
响应于所述第一多个服务器中的第一服务器已失效的标识,用所述第一多个服务器中的不同服务器提供先前由所述第一多个服务器中的所述第一服务器提供的服务;
发送指示所述第一服务器池从位于第二数据中心(104)的第二服务器池(104A)接收到的最后改变的令牌(402);
从所述第二服务器池(104A)接收自从所述第一服务器池(102A)接收到的所述最后改变以来已改变的任何信息;以及
在所述第二服务器池失效时向第二多个客户端(112、114、116)提供所述客户端通信服务,所述第二多个客户端(112、114、116)不同于所述第一多个客户端(106、108、110)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/969,405 US20120159234A1 (en) | 2010-12-15 | 2010-12-15 | Providing resilient services |
US12/969,405 | 2010-12-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102546773A true CN102546773A (zh) | 2012-07-04 |
Family
ID=46236069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011104432674A Pending CN102546773A (zh) | 2010-12-15 | 2011-12-14 | 提供复原性服务 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20120159234A1 (zh) |
CN (1) | CN102546773A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105765938A (zh) * | 2013-11-25 | 2016-07-13 | 微软技术许可有限责任公司 | 通信系统架构 |
CN105765939A (zh) * | 2013-11-25 | 2016-07-13 | 微软技术许可有限责任公司 | 通信系统架构 |
CN105993155A (zh) * | 2013-11-25 | 2016-10-05 | 微软技术许可有限责任公司 | 通信系统架构 |
CN107209706A (zh) * | 2014-12-16 | 2017-09-26 | 茨特里克斯系统公司 | 用于将设备连接到正在接收维护的应用和桌面的方法和系统 |
CN109672551A (zh) * | 2018-09-25 | 2019-04-23 | 平安科技(深圳)有限公司 | 跨数据中心应用发布方法、设备、存储介质及装置 |
CN113596380A (zh) * | 2021-06-24 | 2021-11-02 | 聚好看科技股份有限公司 | 一种视频会议服务器及通信方法 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6912528B2 (en) * | 2000-01-18 | 2005-06-28 | Gregg S. Homer | Rechargeable media distribution and play system |
US8538926B2 (en) * | 2011-03-08 | 2013-09-17 | Rackspace Us, Inc. | Massively scalable object storage system for storing object replicas |
US9372735B2 (en) | 2012-01-09 | 2016-06-21 | Microsoft Technology Licensing, Llc | Auto-scaling of pool of virtual machines based on auto-scaling rules of user associated with the pool |
US8904008B2 (en) | 2012-01-09 | 2014-12-02 | Microsoft Corporation | Assignment of resources in virtual machine pools |
US20130179289A1 (en) * | 2012-01-09 | 2013-07-11 | Microsoft Corportaion | Pricing of resources in virtual machine pools |
US9170849B2 (en) | 2012-01-09 | 2015-10-27 | Microsoft Technology Licensing, Llc | Migration of task to different pool of resources based on task retry count during task lease |
US10102266B2 (en) * | 2012-04-24 | 2018-10-16 | Oracle International Corporation | Method and system for implementing a redo repeater |
US20140136878A1 (en) * | 2012-11-14 | 2014-05-15 | Microsoft Corporation | Scaling Up and Scaling Out of a Server Architecture for Large Scale Real-Time Applications |
US20140156745A1 (en) * | 2012-11-30 | 2014-06-05 | Facebook, Inc. | Distributing user information across replicated servers |
US9712390B2 (en) | 2013-11-04 | 2017-07-18 | Amazon Technologies, Inc. | Encoding traffic classification information for networking configuration |
US10002011B2 (en) | 2013-11-04 | 2018-06-19 | Amazon Technologies, Inc. | Centralized networking configuration in distributed systems |
CA3082697C (en) * | 2013-11-04 | 2022-07-26 | Amazon Technologies, Inc. | Centralized networking configuration in distributed systems |
US9647904B2 (en) | 2013-11-25 | 2017-05-09 | Amazon Technologies, Inc. | Customer-directed networking limits in distributed systems |
US9674042B2 (en) | 2013-11-25 | 2017-06-06 | Amazon Technologies, Inc. | Centralized resource usage visualization service for large-scale network topologies |
GB201320778D0 (en) * | 2013-11-25 | 2014-01-08 | Microsoft Corp | Communication system architecture |
GB201320774D0 (en) | 2013-11-25 | 2014-01-08 | Microsoft Corp | Communication system architecture |
US9575911B2 (en) * | 2014-04-07 | 2017-02-21 | Nxp Usa, Inc. | Interrupt controller and a method of controlling processing of interrupt requests by a plurality of processing units |
WO2016082870A1 (en) * | 2014-11-25 | 2016-06-02 | Microsoft Technology Licensing, Llc | Communication system architecture |
US9851995B2 (en) * | 2015-02-26 | 2017-12-26 | Red Hat Israel, Ltd. | Hypervisor adjustment for host transfer between clusters |
US10027559B1 (en) | 2015-06-24 | 2018-07-17 | Amazon Technologies, Inc. | Customer defined bandwidth limitations in distributed systems |
US10797992B2 (en) | 2015-07-07 | 2020-10-06 | Cisco Technology, Inc. | Intelligent wide area network (IWAN) |
US9916208B2 (en) | 2016-01-21 | 2018-03-13 | Oracle International Corporation | Determining a replication path for resources of different failure domains |
US10841370B2 (en) * | 2017-04-19 | 2020-11-17 | Level 3 Communications, Llc | Method and system for failover of a data portion of a collaboration conference in a collaboration conference system |
US11151161B2 (en) * | 2018-07-06 | 2021-10-19 | Snowflake Inc. | Data replication and data failover in database systems |
US10990608B2 (en) * | 2019-03-19 | 2021-04-27 | Snowflake Inc. | Transferring connections in a multiple deployment database |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101026496A (zh) * | 2007-01-26 | 2007-08-29 | 华为技术有限公司 | 一种容灾系统、方法和网络设备 |
CN101635648A (zh) * | 2009-08-05 | 2010-01-27 | 中兴通讯股份有限公司 | 一种对虚拟冗余路由协议组进行管理及快速切换的方法 |
US20100138395A1 (en) * | 2005-02-07 | 2010-06-03 | D Souza Roy P | Enterprise Service Availability Through Identity Preservation |
CN201657029U (zh) * | 2010-04-15 | 2010-11-24 | 王鹏 | 基于云计算构架的云存储系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7392421B1 (en) * | 2002-03-18 | 2008-06-24 | Symantec Operating Corporation | Framework for managing clustering and replication |
US20050188055A1 (en) * | 2003-12-31 | 2005-08-25 | Saletore Vikram A. | Distributed and dynamic content replication for server cluster acceleration |
US7844691B2 (en) * | 2004-12-30 | 2010-11-30 | Xstor Systems, Inc. | Scalable distributed storage and delivery |
US7600148B1 (en) * | 2006-09-19 | 2009-10-06 | United Services Automobile Association (Usaa) | High-availability data center |
US7685465B1 (en) * | 2006-09-19 | 2010-03-23 | United Services Automobile Association (Usaa) | High-availability data center |
US7917469B2 (en) * | 2006-11-08 | 2011-03-29 | Hitachi Data Systems Corporation | Fast primary cluster recovery |
US8291120B2 (en) * | 2006-12-21 | 2012-10-16 | Verizon Services Corp. | Systems, methods, and computer program product for automatically verifying a standby site |
US7925917B1 (en) * | 2008-04-03 | 2011-04-12 | United Services Automobile Association (Usaa) | Systems and methods for enabling failover support with multiple backup data storage structures |
US8019732B2 (en) * | 2008-08-08 | 2011-09-13 | Amazon Technologies, Inc. | Managing access of multiple executing programs to non-local block data storage |
US9384102B2 (en) * | 2009-12-15 | 2016-07-05 | Hewlett Packard Enterprise Development Lp | Redundant, fault-tolerant management fabric for multipartition servers |
-
2010
- 2010-12-15 US US12/969,405 patent/US20120159234A1/en not_active Abandoned
-
2011
- 2011-12-14 CN CN2011104432674A patent/CN102546773A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100138395A1 (en) * | 2005-02-07 | 2010-06-03 | D Souza Roy P | Enterprise Service Availability Through Identity Preservation |
CN101026496A (zh) * | 2007-01-26 | 2007-08-29 | 华为技术有限公司 | 一种容灾系统、方法和网络设备 |
CN101635648A (zh) * | 2009-08-05 | 2010-01-27 | 中兴通讯股份有限公司 | 一种对虚拟冗余路由协议组进行管理及快速切换的方法 |
CN201657029U (zh) * | 2010-04-15 | 2010-11-24 | 王鹏 | 基于云计算构架的云存储系统 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105765938A (zh) * | 2013-11-25 | 2016-07-13 | 微软技术许可有限责任公司 | 通信系统架构 |
CN105765939A (zh) * | 2013-11-25 | 2016-07-13 | 微软技术许可有限责任公司 | 通信系统架构 |
CN105993155A (zh) * | 2013-11-25 | 2016-10-05 | 微软技术许可有限责任公司 | 通信系统架构 |
CN105765938B (zh) * | 2013-11-25 | 2019-01-29 | 微软技术许可有限责任公司 | 通信系统架构 |
CN105765939B (zh) * | 2013-11-25 | 2019-03-26 | 微软技术许可有限责任公司 | 一种通信系统及方法、计算机系统 |
CN107209706A (zh) * | 2014-12-16 | 2017-09-26 | 茨特里克斯系统公司 | 用于将设备连接到正在接收维护的应用和桌面的方法和系统 |
CN107209706B (zh) * | 2014-12-16 | 2021-02-09 | 茨特里克斯系统公司 | 用于将设备连接到正在接收维护的应用和桌面的方法和系统 |
US11303704B2 (en) | 2014-12-16 | 2022-04-12 | Citrix Systems, Inc. | Methods and systems for connecting devices to applications and desktops that are receiving maintenance |
CN109672551A (zh) * | 2018-09-25 | 2019-04-23 | 平安科技(深圳)有限公司 | 跨数据中心应用发布方法、设备、存储介质及装置 |
CN109672551B (zh) * | 2018-09-25 | 2022-02-01 | 平安科技(深圳)有限公司 | 跨数据中心应用发布方法、设备、存储介质及装置 |
CN113596380A (zh) * | 2021-06-24 | 2021-11-02 | 聚好看科技股份有限公司 | 一种视频会议服务器及通信方法 |
CN113596380B (zh) * | 2021-06-24 | 2023-05-09 | 聚好看科技股份有限公司 | 一种视频会议服务器及通信方法 |
Also Published As
Publication number | Publication date |
---|---|
US20120159234A1 (en) | 2012-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102546773A (zh) | 提供复原性服务 | |
CN110115001B (zh) | 促进实用拜占庭容错区块链共识和节点同步 | |
AU2019203861B2 (en) | System and method for ending view change protocol | |
US10691715B2 (en) | Dynamically integrated disparate computer-aided dispatch systems | |
US10454997B2 (en) | Distributed physical security system | |
US20180337892A1 (en) | Scalable proxy clusters | |
US7661027B2 (en) | SIP server architecture fault tolerance and failover | |
CN102640108B (zh) | 已复制数据的监控 | |
JP6220338B2 (ja) | フォールトトレラント外部アプリケーションサーバ | |
AU2019203862B2 (en) | System and method for ending view change protocol | |
EP3210367B1 (en) | System and method for disaster recovery of cloud applications | |
US6910150B2 (en) | System and method for state preservation in a stretch cluster | |
CN103460203A (zh) | 群集唯一标识符 | |
CN102075369B (zh) | 一种监控设备的管理方法和设备 | |
CN101426726A (zh) | 用于优化域间事件服务的系统和方法 | |
CN104247380A (zh) | 在分布式协定协议中绑定crud型协议 | |
CN108810150B (zh) | 协同办公系统应用级灾备系统的数据复制方法 | |
US9813496B2 (en) | Method and apparatus for collaborating in a work environment | |
CN108228581B (zh) | Zookeeper兼容通信方法、服务器及系统 | |
JP2013065120A (ja) | 負荷分散システム、データアクセス装置、及び負荷分散方法 | |
US8458803B2 (en) | Global account lockout (GAL) and expiration using an ordered message service (OMS) | |
CN114172821B (zh) | 服务状态的同步方法、装置及服务器 | |
US20100275217A1 (en) | Global attribute uniqueness (gau) using an ordered message service (oms) | |
KR20190078451A (ko) | 블록 체인을 이용하여 서비스 서버의 재해 복구를 수행하는 서버 및 복구 서버와, 상기 서버의 제어 방법 | |
Sedivy et al. | Mcsync-distributed, decentralized database for mobile devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into 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: 20150803 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150803 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120704 |