CN100559790C - 维护高可用性处理环境的方法和*** - Google Patents
维护高可用性处理环境的方法和*** Download PDFInfo
- Publication number
- CN100559790C CN100559790C CNB200480027435XA CN200480027435A CN100559790C CN 100559790 C CN100559790 C CN 100559790C CN B200480027435X A CNB200480027435X A CN B200480027435XA CN 200480027435 A CN200480027435 A CN 200480027435A CN 100559790 C CN100559790 C CN 100559790C
- Authority
- CN
- China
- Prior art keywords
- server
- trooping
- communication link
- inoperative
- web
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000012545 processing Methods 0.000 title claims abstract description 21
- 238000004891 communication Methods 0.000 claims abstract description 147
- 238000012544 monitoring process Methods 0.000 claims abstract description 11
- 230000004044 response Effects 0.000 claims description 22
- 238000013480 data collection Methods 0.000 claims description 21
- 238000012546 transfer Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 239000002131 composite material Substances 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1034—Reaction to server failures by a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/10015—Access to distributed or replicated servers, e.g. using brokers
-
- 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/10—Streamlined, light-weight or high-speed protocols, e.g. express transfer protocol [XTP] or byte stream
-
- 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/12—Protocol engines
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
Abstract
一种用于维护高可用性数据传输和处理环境的方法。提供了群集的网络。所述网络的每个群集都包括至少两个同样的服务器。所述网络的每个群集都被直接连接到所述网络的至少一个其他群集。每对彼此直接相连的群集的特征在于,所述群集对的第一群集中的每个服务器都通过通信链路被直接连接到所述群集对的第二群集中的至少一个服务器。提供了适合于监视所述通信链路的运行状态(即,所述通信链路是运行的还是非运行的)的控制服务器。所述控制服务器通过所述控制服务器与每个群集中的至少一个服务器之间的通信通道被直接链接到所述至少一个服务器。
Description
技术领域
本发明涉及用于为使用Web服务的整个应用提供高可用性处理环境的***和方法。
背景技术
就Web服务而言,包括同样的服务器的群集的当前***无法为由此类***处理的整个应用提供高可用性处理环境。实际上,此类***最多为所述应用的局部部分而不是整个应用提供高可用性。因此,需要一种用于为使用Web服务的整个应用提供高可用性处理环境的***和方法。
发明内容
在一个方面中,本发明提供了一种用于维护高可用性数据处理环境的***,所述***包括:网络,所述网络具有多个群集,所述网络的每个群集都包括多个同样的服务器,所述网络的每个群集都被直接连接到所述网络的至少一个其他群集,其中每对彼此直接相连的群集的特征在于,所述群集对的第一群集中的每个服务器都通过通信链路被直接连接到所述群集对的第二群集中的至少一个服务器;以及控制服务器,所述控制服务器适合于监视所述通信链路的运行状态,所述通信链路的所述运行状态是所述通信链路是运行的还是非运行的,所述控制服务器通过所述控制服务器与每个群集中的至少一个服务器之间的通信通道被直接链接到所述至少一个服务器。
本发明还提供了一种用于维护高可用性数据处理环境的方法,所述方法包括:提供具有多个群集的网络,所述网络的每个群集都包括多个同样的服务器,所述网络的每个群集都被直接连接到所述网络的至少一个其他述网络中的每个通信链路的标识,所述全局数据集可由所述每个群集的所述服务器访问。
本发明还提供了一种用于维护高可用性处理环境的方法,所述方法包括:提供具有多个群集的网络,所述网络的每个群集都包括多个同样的服务器,所述网络的每个群集都被直接连接到所述网络的至少一个其他群集,其中每对彼此直接相连的群集的特征在于,所述群集对的第一群集中的每个服务器都通过通信链路被直接连接到所述群集对的第二群集中的至少一个服务器;以及提供适合于监视所述通信链路的运行状态的控制服务器,所述通信链路的所述运行状态是所述通信链路是运行的还是非运行的,所述控制服务器通过所述控制服务器与每个群集中的至少一个服务器之间的通信通道被直接链接到所述至少一个服务器;所述方法还包括:提供包括所述网络中的每个通信链路的标识的全局数据集,所述全局数据集可由所述控制服务器访问;以及提供特定于所述多个群集中的每个群集的本地数据集,所述本地数据集包括所述每个群集的服务器被连接到其以便使数据流出所述群集的所述网络中的每个通信链路的标识,所述全局数据集可由所述每个群集的所述服务器访问。
本发明有利地提供了一种用于为使用Web服务的整个应用提供高可用性处理环境的***和方法。
附图说明
现在将参考附图仅以实例的方式描述本发明的优选实施例,这些附图是:
图1示出了根据本发明的实施例的包括控制服务器和链接的群集网络的***,所述网络包括与应用服务器群集相连的Web服务器群集,所述应用服务器群集与数据库服务器群集相连,每个群集都包括多个服务器和一个负载平衡器,所述控制服务器链接到每个群集中的每个服务器;
图2示出了根据本发明的实施例的移除了所述数据库服务器群集的负载平衡器之后的图1;
图3示出了根据本发明的实施例的移除了所述控制服务器与所述数据库服务器群集的数据库服务器之间的通信链路之后的图2;
图4示出了根据本发明的实施例的移除了所述应用服务器群集的负载平衡器之后的图1;
图5示出了根据本发明的实施例的包括控制服务器和链接的群集网络的***,所述网络包括与数据库服务器群集相连的Web服务器群集,每个群集都包括多个服务器和一个负载平衡器,所述控制服务器链接到每个群集中的每个服务器;
图6示出了根据本发明的实施例的移除了所述数据库服务器群集的负载平衡器之后的图5;
图7示出了根据本发明的实施例的移除了所述控制服务器与所述数据库服务器群集的数据库服务器之间的通信链路之后的图6;
图8示出了根据本发明的实施例的将服务节点添加到每个群集之后的图1;
图9示出了根据本发明的实施例的图1以示出所述Web服务器群集的第一Web服务器与所述应用服务器群集的第一应用服务器之间的通信链路;
图10示出了根据本发明的实施例的图1以示出所述Web服务器群集的第二Web服务器与所述应用服务器群集的第一应用服务器之间的通信链路;
图11示出了根据本发明的实施例的与图1的***关联的全局数据集;
图12示出了根据本发明的实施例的与图1的***的Web服务器群集关联的本地数据集;
图13示出了根据本发明的实施例的与图1的***的应用服务器群集关联的本地数据集;
图14示出了根据本发明的实施例的与图2的***关联的全局数据集;
图15示出了根据本发明的实施例的与图3的***关联的全局数据集;
图16是根据本发明的实施例的描述了用于减少图1的***中的非运行通信链路和非运行服务器的第一方法的流程图;
图17是根据本发明的实施例的描述了响应于非运行通信链路的图16的过程的流程图;
图18是根据本发明的实施例的描述了响应于非运行服务器的图16的过程的流程图;
图19是根据本发明的实施例的描述了用于减少图1的***中的非运行通信链路和非运行服务器的第二方法的流程图;
图20示出了根据本发明的实施例的用于维护高可用性处理环境的计算机***。
具体实施方式
图1示出了根据本发明的实施例的包括控制服务器(C)25和链接的群集网络的***20,所述网络包括与应用服务器群集22相连的Web服务器群集21,所述应用服务器群集22与数据库服务器群集23相连,每个群集都包括多个服务器和一个负载平衡器,所述控制服务器链接到每个群集中的每个服务器。
Web服务器群集21包括同样的Web服务器W1和W2。虽然图1的Web服务器群集21中仅示出了两个这样的Web服务器W1和W2,但是Web服务器群集21通常包括两个或更多个此类同样的Web服务器。负载平衡器LW适合于将数据业务均匀地分配到Web服务器群集21的Web服务器(例如,W1和W2)之中。此类数据业务可能源自从Web服务器群集21请求文档或网页的Web浏览器(未示出)。
定义地说,Web服务器是响应于来自Web浏览器(或其他发出请求的软件)的请求而提供文件的软件。当Web服务器接收到对静态HTML(即,超文本标记语言)页的请求时,所述服务器读取该请求,查找该页并将其发送到发出请求的浏览器(或其他发出请求的软件)。常见的Web服务器包括Microsoft IIS、Netscape Enterprise Server、Java WebServer以及Apache HTTP Server。所述Web服务器可以与数据库服务器通信以访问为发出请求的Web浏览器服务所需的信息。当Web浏览器请求静态HTML页时,如下文将要讨论的图5-7中例示的,Web服务器与数据库服务器之间的这种通信是直接的。
但是,所述Web浏览器(或其他发出请求的软件)可以请求动态Web内容,例如包括动态数据(由使用所述Web浏览器获得所请求的Web内容的用户所提供)的Web内容。这种对动态内容的需求将出现在Web销售应用、个性化Web广告应用、流视频应用等之中。需要动态Web内容的应用无法用直接连接到数据库服务器的Web服务器的简单模型来执行。相反,需要用作所述Web服务器与所述数据库服务器之间的中间软件的应用服务器。应用服务器可以通过将代码串***HTML来处理动态内容。应用服务器的实例包括IBM Websphere、Sun Java Web Server等。
返回图1,应用服务器群集22包括同样的应用服务器A1和A2。虽然在图1的应用服务器群集22中仅示出了两个这样的应用服务器A1和A2,但是应用服务器群集22通常包括两个或更多个此类同样的应用服务器。负载平衡器LA适合于将数据业务均匀地分配到应用服务器群集22的应用服务器(例如,A1和A2)之中。此类数据业务可以源自Web服务器群集21。
在图1中,数据库服务器群集23包括同样的数据库服务器D1和D2。虽然在图1的数据库服务器群集23中仅示出了两个这样的数据库服务器D1和D2,但是数据库服务器群集23通常包括两个或更多个此类同样的数据库服务器。负载平衡器LD适合于将数据业务均匀地分配到数据库服务器群集23的数据库服务器(例如,D1和D2)之中。此类数据业务可以源自应用服务器群集22。
定义地说,数据库服务器是将存储在一个或多个数据库中的信息提供给发出请求的软件(例如提供给请求所述信息的应用服务器(例如,图1的应用服务器A1或A2)或提供给请求所述信息的Web服务器(例如,将在下文中讨论的图5的Web服务器W1或W2))的软件。
在图1中,Web服务器群集21直接与应用服务器群集22相连,应用服务器群集22直接与数据库服务器群集23相连,并且Web服务器群集21间接与数据库服务器群集23相连。如应用到在此包括在权利要求中的群集和服务器的,“直接相连”和“间接相连”的定义在下面提供。
作为定义,如果第一群集的服务器S1和第二群集的服务器S2彼此直接相连,则群集***(如图1的***20)中被表示为所述第一群集和所述第二群集的两个群集彼此直接相连。作为定义,如果连接S1和S2的通信链路不包括任何在S1与S2之间进行干预的服务器,则服务器S1和S2彼此直接相连。在所述通信链路中包括所述第一或第二群集的所述负载平衡器并不会使S1与S2之间的直接连接无效。图9和10中具体示出了两个此类服务器之间的“通信链路”的概念。图9示出了根据本发明的实施例的图1以示出所述Web服务器群集的第一Web服务器与所述应用服务器群集的第一应用服务器之间的通信链路。
图9示出了根据本发明的实施例的图1以示出直接将群集21的Web服务器W1与群集22的应用服务器A1相连的通信链路41。由于通信链路41上没有服务器,根据上述“直接相连”的定义,Web服务器W1与应用服务器A1直接相连。注意,通信链路41上存在的负载平衡器LA并不会使Web服务器W1与应用服务器A1之间的直接连接无效。此外,由于Web服务器W1与应用服务器A1直接相连,所以群集21与群集22直接相连。通信链路41以及图10中的通信链路42和43可以表示任何公知的通信链路,例如因特网、内联网、电缆、电话布线、例如在计算机***内的硬布线、光纤等。
图10示出了根据本发明的实施例的图1以示出直接将群集21的Web服务器W2与群集22的应用服务器A1相连的通信链路42。由于通信链路42上没有服务器,根据上述“直接相连”的定义,Web服务器W2与应用服务器A1直接相连。注意,通信链路42上存在的负载平衡器LA并不会使Web服务器W2与应用服务器A1之间的直接连接无效。此外,由于Web服务器W2与应用服务器A1直接相连,所以群集21与群集22直接相连。
图10还示出了将应用服务器A1与数据库服务器D1直接相连的通信链路43。通信链路42和43的串行组合是间接连接Web服务器W2与数据库服务器D1的复合通信链路。由于所述复合通信链路包括在Web服务器W2与数据库服务器D1之间进行干预的服务器A1,所以所述复合通信链路间接地(而不是直接地)将Web服务器W2与数据库服务器D1相连。
返回图1,上述讨论阐明了Web服务器群集21为何直接连接到应用服务器群集22,应用服务器群集22为何直接连接到数据库服务器群集23以及Web服务器群集21为何间接连接到数据库服务器群集23。
在图1中,控制服务器25是按如下方式链接到负载平衡器和服务器的软件。控制服务器25分别通过通信通道31、34和37链接到负载平衡器LW、LA和LD。控制服务器25分别通过通信通道32、33、35、36、38和39链接到服务器W1、W2、A1、A2、D1和D2。通信通道31-39可以表示任何公知的通信通道,如因特网、内联网、电缆、电话布线、例如计算机***内的硬布线、光纤等。
为了理解控制服务器25的功能,考虑其中浏览器在用户指示下从Web服务器群集21请求动态内容(例如,动态网页)的应用。所述请求由Web服务器群集21的负载平衡器LW来处理,其尝试将数据业务均匀地分配到所述Web服务器(即,W1和W2)之中。所述请求通过W1和/或W2被传输到应用服务器群集22的负载平衡器LA,其尝试将数据业务均匀地分配到所述应用服务器(即,A1和A2)之中。接着,应用服务器A1和/或A2通过使数据库群集23从有关的一个或多个数据库访问所请求的信息来尝试获得所述请求的信息。负载平衡器LD尝试将数据业务均匀地分配到所述数据库服务器(即,D1和D2)之中。在被从有关的一个或多个数据库检索之后,所请求的信息被提供给应用服务器A1和/或A2,其操纵并重新组织所请求的信息以生成所请求的动态内容。所述生成的动态内容被传递回Web服务器W1和/或W2并随后被传递回发出请求的Web浏览器和用户。
注意,群集21、22和23过程可以并行地处理应用,以致对于高效处理所述应用来说,负载平衡器LW、LA和LD的将数据业务均匀地分配到所包括的服务器之中的功能是重要的。如果群集21、22和23中的所有服务器都完全运行(即,正常执行功能),则所述应用可以以最佳效率来执行。但是,如果服务器变为非运行,则可能降低效率并且最小化由于服务器变为非运行而导致的效率损失是很重要的。通过向每个服务器发送提示信号以期望接收到响应于该提示信号的返回信号,每个负载平衡器可以定期地测试其群集内的每个服务器的运行状态。服务器的运行状态是所述服务器是运行的(即,正确地工作)还是非运行的(不正确地工作或不工作)。所述返回信号或没有返回信号指示每个所述服务器的运行状态。如果负载平衡器确定其群集中的服务器是非运行的,则所述服务器适合于“故障转移”非运行的服务器(即,将该非运行的服务器从可用于接收并处理进入所述群集的数据业务中移除)并尝试将数据业务均匀地分配到所述群集中的剩余服务器之中。
尽管负载平衡器LW、LA和LD的上述功能是有益的,但是所述负载平衡器并未有助于优化整体应用的处理,因为没有将其他群集的不工作的服务器通知给定群集的负载平衡器和服务器。因此,所述给定群集的负载平衡器和服务器不能以考虑其他群集中的一个或多个服务器的非运行状态的方式来调整其对应用的处理。例如,如果Web服务器群集21的负载平衡器和服务器可以知道应用群集22的一个或多个应用服务器已变为非运行,则Web服务器群集21将能够减少向应用群集22的服务做出的并行请求的数量,并将其一部分或全部应用转向另一个完全运行的应用服务器群集,直到应用群集22的所有群集都变为完全运行为止。遗憾的是,当前的负载平衡器并不知道另一个群集的一个或多个服务器已变为非运行。如以下将结合图16-19说明的,本发明的控制服务器25通过与***20的服务器和负载平衡器通信来解决此问题。
图2示出了根据本发明的实施例的移除了数据库服务器群集23的负载平衡器LD之后的图1。图2示出了可以在没有负载平衡器的情况下存在群集。当没有负载平衡器时,可以以另一种方式来模拟负载平衡器的功能。在图2中,例如,连接数据库服务器D1和D2的通信链路27使得D1和D2能够彼此通信并彼此传递数据,以便在D1和D2之间或通常在数据库服务器群集23的数据库服务器之间均匀地分配数据业务。以类似的方式,所述***的任何群集都可以在没有负载平衡器的情况下工作并仍然在群集的服务器之间平衡数据业务。作为另一个实例,图4示出了根据本发明的实施例的移除了应用服务器群集22的负载平衡器LA并且添加了连接应用服务器A1和A2的通信链路28之后的图1。
图3示出了根据本发明的实施例的移除了控制服务器25与数据库服务器群集23的数据库服务器D2之间的通信通道39之后的图2。如上所述,控制服务器25与***20的服务器之间的通信通道使得控制服务器25能够通知群集的服务器另一个群集的服务器的非运行状态,如以下将结合图16-19详细说明的。在图3中,由于移除了通信通道39,可以由通过通信通道38的控制服务器25与数据库服务器D1之间的通信结合通过通信链路27的数据库服务器D1与D2之间的通信来间接地实现控制服务器25与数据库服务器D2之间的通信。
图5示出了移除应用服务器群集22之后的图1的***20。因此,图5中的***20包括根据本发明的实施例的控制服务器25和链接网络,其包括直接连接到数据库服务器群集23的Web服务器群集21。控制服务器25链接到群集21和23中的每个服务器。群集21和23分别包括如图1中的负载平衡器LW和LD。由于Web服务器群集21直接与数据库服务器群集23相连,并且没有干预应用服务器群集,所以图5中的***20适合于处理需要静态Web内容的应用,但是不适合于处理需要动态Web内容的应用。
图6示出了根据本发明的实施例的移除了数据库服务器群集23的负载平衡器LD之后的图5。图6类似于以上描述的图2。
图7示出了根据本发明的实施例的移除了控制服务器25与数据库服务器群集23的数据库服务器D2之间的通信通道39之后的图6。图7类似于以上描述的图3。
图8示出了根据本发明的实施例的将服务节点添加到每个群集之后的图1。群集的服务节点向所述群集中的服务器提供诸如硬件服务、软件服务、帮助台服务之类的支持服务。服务节点SW、SA和SD已分别被添加到Web服务器群集21、应用服务器群集22和数据库服务器群集23。控制服务器25分别通过通信通道46、51和54与服务节点SW、SA和SD相连。在Web服务器群集21中,服务节点SW分别通过通信路径47和48与Web服务器W1和W2相连。在应用服务器群集22中,服务节点SA分别通过通信路径52和53与应用服务器A1和A2相连。在数据库服务器群集23中,服务节点SD分别通过通信路径55和56与数据库服务器D1和D2相连。
作为如何使用服务节点的一个实例,考虑其中控制服务器25已确定应用服务器群集22的应用服务器A1是非运行的情况。然后,控制服务器25可以通过通信通道51与服务节点SA通信以指示通信通道51做出应用服务器A1是非运行的原因的判定。在做出所述判定之后,服务节点SA可以有助于使应用服务器A1运行(例如,通过修复与应用服务器A1是非运行的原因关联的问题)。服务节点SA可以利用通信路径52和/或53来帮助确定应用服务器A1是非运行的原因和/或有助于使应用服务器A1运行。
虽然图1-4和8-9的***20已被描述为包括三个群集(即,群集21-23),并且虽然图5-7的***20已被描述为包括两个群集(即,群集21和23),但是本发明的***通常包括多个群集,并且因此并不仅限于2或3个群集。此外,应当理解,可以在***20上并行地执行多个应用。
在图1-10中,控制服务器25用作***20的控制中心并用于协调跨整个***20的信息交换。因此,所述控制服务器可以利用***20中的服务器间的所有直接通信链路的映射。因此,控制服务器25可以访问描述了所有所述直接通信链路的全局数据集。定义地说,数据集是按照任何数据格式或数据组织格式的数据的任何集合。数据集的实例包括:平面文件、数据表、关系数据库表等。
因此,图11示出了根据本发明的实施例的与图1的***关联的全局数据集。图11中的全局数据集是一个表,其列出了所述***中的每个通信链路(即,LINK1、LINK2...)以及由每个这样的通信链路直接彼此相连的服务器。作为一个实例,图11将LINK1列出为直接连接服务器W1和A1,并且图9示出了LINK1表示通信链路41。作为另一个实例,图10将LINK3列出为直接连接服务器W2和A1,并且图10示出了LINK3表示通信链路42。
图14和15分别示出了根据本发明的实施例的与图2和图3的***关联的全局数据集。与图2相对应,图14的全局数据集将LINK9示出为连接数据库服务器D1和D2;因此,LINK9对应于图2的通信链路27。与图3相对应,图15的全局数据集示出了缺少图14的LINK8;对应于上述图3的通信链路39的缺失。
虽然控制服务器25可以访问描述了***20中的全部通信链路的全局数据集,但是每个单独的群集都可以访问本地数据集(其只描述了那些将每个单独的服务器直接连接到每个单独的服务器下游的下一个群集的通信链路)。因此,与图1相比,图12中的表是用于图1的Web服务器群集21的本地数据集;即,图12的链路LINK1、LINK2、LINK3和LINK4与图1的群集21的Web服务器和群集22的应用服务器之间的通信链路相对应。类似地,与图1相比,图13中的表是用于图1的应用服务器群集22的本地数据集;即,图13的链路LINK5、LINK6、LINK7和LINK8与图1的群集22的应用服务器和群集23的数据库服务器之间的通信链路相对应。
图16-18是根据本发明的实施例的描述了用于优化通过图1-10的***20的数据业务并且特别关注于控制服务器25的角色的第一方法的流程图。
图16的流程图包括方法步骤61-66。步骤61提供了一种具有控制服务器和包括多个群集的网络的***(例如,图1-10的***20)。所述网络的每个群集都包括多个同样的服务器,并且所述网络的每个群集都直接与所述网络的至少一个其他群集相连。每对彼此直接相连的群集的特征在于,所述群集对的第一群集中的每个服务器都通过通信链路被直接连接到所述群集对的第二群集中的至少一个服务器。例如,用图9作示例说明,所述第一群集(例如,群集21)的第一服务器(例如,W1)可以通过通信链路41直接连接到所述第二群集(例如,群集22)的第二服务器(例如,A1)。所述控制服务器适合于监视所述通信链路的运行状态。所述通信链路的运行状态是所述通信链路是运行的(即,正确地工作)还是非运行的(即,不正确地工作或不工作)。所述控制服务器通过所述控制服务器与每个群集中的至少一个服务器之间的通信通道被直接链接到所述至少一个服务器。
在步骤62中,所述控制服务器适合于通过向所述第一服务器发送查询信号来监视所述第一群集的第一服务器与所述第二群集的第二服务器之间的第一通信链路的运行状态。所述查询信号请求所述第一服务器向所述控制服务器发送指示所述通信链路的运行状态的响应信号。
在步骤63中,所述控制服务器判定所述第一服务器是否在预定时间段内对步骤62中发送的查询信号做出了响应。所述预定时间段可以被选择为等于或大于其中合理地预期所述第一服务器响应所述查询信号的最小时间段。
在步骤63中,如果所述控制服务器判定所述第一服务器在所述预定时间段内没有如此做出响应,则所述控制服务器假设所述第一服务器是非运行的,并且因此接着在步骤64执行响应于所述第一服务器是非运行的过程。结合图18在下文中详细描述步骤64。执行步骤64之后,由于所述第一服务器适合于出于监视目的反复地(例如,定期地)向所述第一服务器发送所述查询信号,所述过程循环回步骤62。
在步骤63中,如果所述控制服务器判定所述第一服务器已在预定时间段内使用预期响应信号做出了响应,则接着执行步骤65。在步骤65中,所述控制服务器检查来自所述第一服务器的响应信号以判定所述第一与第二服务器之间的通信链路是否是运行的。在步骤65中,如果所述控制服务器判定所述第一与第二服务器之间的通信链路是非运行的,则接着在步骤66执行响应于所述通信链路是非运行的过程。结合图17在下文中详细描述步骤66。执行步骤66之后,由于所述第一服务器适合于出于监视目的反复地(例如,定期地)向所述第一服务器发送所述查询信号,所述过程循环回步骤62。
图17是根据本发明的实施例的描述了响应于图16或图19的所述第一与第二服务器之间的非运行通信链路的图16的步骤66的过程(或图19的步骤86的过程)的流程图。图17的流程图包括方法步骤70-74。在图17中,假设所述第一群集具有负载平衡器。
在步骤70中,所述控制服务器通知所述第一群集的负载平衡器所述第一与第二服务器之间的通信链路是非运行的。
在步骤71中,在被通知所述通信链路是非运行的之后,所述负载平衡器适合于根据非运行的第一通信链路来故障转移所述第一服务器。这意味着所述负载平衡器将禁止所述第一服务器处理通过所述通信链路传输的数据业务。
在步骤72中,所述控制服务器通知所述第一群集的服务节点所述第一与第二服务器之间的通信链路是非运行的。
在步骤73中,所述服务节点适合于确定所述通信链路是非运行的原因。所述服务节点可以利用自身与所述第一群集的服务器之间的通信路径来帮助确定所述通信链路是非运行的原因。
在步骤74中,在确定了所述通信链路是非运行的原因之后,所述服务节点适合于促使所述通信链路运行(例如,通过修复与所述通信链路是非运行的原因关联的问题)。所述服务节点可以利用自身与所述第一群集的服务器之间的通信路径来帮助促使所述通信链路运行。
虽然步骤72-74在图17中被示为在步骤70-71之后,但是本发明的范围包括其中步骤72-74与步骤70-71同时发生的实施例和其中步骤72-74先于步骤70-71的实施例。
图18是根据本发明的实施例的描述了响应于图16或图19的非运行的第一服务器的图16的步骤64的过程(或图19的步骤84的过程)的流程图。图18的流程图包括方法步骤75-79。在图18中,假设所述第一群集具有负载平衡器。
在步骤75中,所述控制服务器通知所述第一群集的负载平衡器所述第一服务器是非运行的。
在步骤76中,在被通知所述第一服务器是非运行的之后,所述负载平衡器适合于故障转移所述第一服务器。
在步骤77中,所述控制器服务器通知所述第一群集的服务节点所述第一服务器是非运行的。
在步骤78中,所述服务节点适合于确定所述第一服务器是非运行的原因。所述服务节点可以利用自身与所述第一群集的服务器之间的通信路径来帮助确定所述第一服务器是非运行的原因。
在步骤79中,在确定所述第一服务器是非运行的原因之后,所述服务节点适合于促使所述第一服务器运行(例如,通过修复与所述第一服务器是非运行的原因关联的问题)。所述服务节点可以利用自身与所述第一群集的服务器之间的通信路径来帮助促使所述第一服务器运行。
虽然步骤77-79在图18中被示为在步骤75-76之后,但是本发明的范围包括其中步骤77-79与步骤75-76同时发生的实施例和其中步骤77-79先于步骤75-76的实施例。
图19和17-18是根据本发明的实施例的描述了用于优化通过图1-10的***20的数据业务并且特别关注于控制服务器25的角色的第二方法的流程图。
图19的流程图包括方法步骤81-87。步骤81提供了一种具有控制服务器和包括多个群集的网络的***(例如,图1-10的***20)。所述网络的每个群集都包括多个同样的服务器,并且所述网络的每个群集都直接与所述网络的至少一个其他群集相连。每对彼此直接相连的群集的特征在于,所述群集对的第一群集中的每个服务器都通过通信链路被直接连接到所述群集对的第二群集中的至少一个服务器。例如,用图9作示例说明,所述第一群集(例如,群集21)的第一服务器(例如,W1)可以通过通信链路41直接连接到所述第二群集(例如,群集22)的第二服务器(例如,A1)。所述控制服务器适合于监视所述通信链路的运行状态。所述控制服务器通过所述控制服务器与每个群集中的至少一个服务器之间的通信通道被直接链接到所述至少一个服务器。
在步骤82中,所述控制服务器适合于接收来自所述第一群集的第一服务器或来自所述第一群集的负载平衡器的消息,所述消息指示实体是非运行的。所述非运行的实体是所述第一群集的服务器或是所述第一群集的第一服务器与所述第二群集的第二服务器之间的通信链路。
在步骤83中,所述控制服务器分析从所述实体接收的消息以确定所述第一群集的服务器是否是非运行的。
在步骤83中,如果所述控制服务器从所述消息确定所述第一群集的服务器是非运行的,则接着在步骤84执行响应于所述第一服务器是非运行的过程。已经结合图18在上文中详细描述了步骤84。执行步骤84之后,由于所述第一服务器适合于出于监视目的反复地(例如,定期地)向所述第一服务器发送所述查询信号,所述过程可以转移到图16的步骤62。
在步骤83中,如果所述控制服务器没有从所述消息确定所述第一群集的第一服务器是非运行的,则接着执行步骤85。在步骤85中,所述控制服务器确定所述通信链路是否是运行的。在步骤85中,如果所述控制服务器确定所述通信链路是非运行的,则由于步骤82假设由所述控制服务器接收的消息指定实体(即,所述第一群集的服务器或所述通信链路)是非运行的,如在步骤87中指出的那样出现错误。在步骤85中,如果所述控制服务器确定所述通信链路是非运行的,则接着在步骤86执行响应于所述通信链路是非运行的过程。已经结合图17在上文中详细描述了步骤86。执行步骤86之后,由于所述第一服务器适合于出于监视目的反复地(例如,定期地)向所述第一服务器发送所述查询信号,所述过程可以转移到图16的步骤62。
如以上说明的,本发明的***20通常包括多个群集并且不限于2或3个群集。此外,可以在***20上并行地执行多个应用。因此,以上结合图16-19描述的方法通过***20促进了一个或多个并行应用的高效处理。因此,***20向应用提供了一种高可用性处理环境,因为就处理整个应用所需的所有服务器而言,出于整个应用的处理目的,***20增加(并且在某些情况下可能最大化)了对其中的服务器的应用的可用性。
图20示出了根据本发明的实施例的用于维护高可用性处理环境的计算机***90。计算机***90包括处理器91、与处理器91相连的输入设备92、与处理器91相连的输出设备93以及每个都与处理器91相连的存储设备94和95。输入设备92可以是键盘、鼠标等。输出设备93可以是打印机、绘图仪、计算机屏幕、磁带、可移动硬盘、软盘等。存储设备94和95可以是硬盘、软盘、磁带、诸如光盘(CD)或数字视频光盘(DVD)之类的光存储装置、动态随机存取存储器(DRAM)、只读存储器(ROM)等。存储设备95包括计算机代码97。计算机代码97可以包括由图1-10的控制服务器25使用的用于维护根据本发明的高可用性处理环境的算法。处理器91执行计算机代码97。存储设备94包括输入数据96。输入数据96包括计算机代码97所需的输入。输出设备93显示来自计算机代码97的输出。存储设备94和95中的任一或两者(或图20中没有示出的一个或多个其他存储设备)可以被用作其中包含有计算机可读程序代码和/或其中存储有其他数据的计算机可用介质(或计算机可读介质或程序存储设备),其中所述计算机可读程序代码包括计算机代码97。通常,计算机***90的计算机程序产品(或可替代地,制品)可以包括所述计算机可用介质(或所述程序存储设备)。
虽然图20将计算机***90示出为硬件和软件的特定配置,但是如本领域的技术人员所公知的,硬件和软件的任何配置都可以用于以上结合图20的特定计算机***90说明的目的。例如,存储设备94和95可以是单个存储设备的一部分而不是单独的存储设备。
虽然出于示例目的描述了本发明的实施例,但是对于本领域的技术人员来说,许多修改和更改都将变得显而易见。因此,所附权利要求旨在将所有此类修改和更改都包括为落入本发明的范围之内。
Claims (14)
1.一种用于维护高可用性处理环境的***,所述***包括:网络,所述网络具有多个群集(21、22、23),所述网络的每个群集都包括多个同样的服务器,所述网络的每个群集都被直接连接到所述网络的至少一个其他群集,其中每对彼此直接相连的群集的特征在于,所述群集对的第一群集中的每个服务器都通过通信链路被直接连接到所述群集对的第二群集中的至少一个服务器;以及控制服务器,所述控制服务器适合于监视所述通信链路的运行状态,所述通信链路的所述运行状态是所述通信链路是运行的还是非运行的,所述控制服务器通过所述控制服务器与每个群集中的至少一个服务器之间的通信通道被直接链接到所述至少一个服务器;所述***还包括:全局数据集,所述全局数据集包括所述网络中的每个通信链路的标识,所述全局数据集由所述控制服务器访问;以及本地数据集,所述本地数据集特定于所述多个群集中的每个群集,所述本地数据集包括所述每个群集的服务器被连接到其以便使数据流出所述群集的所述网络中的每个通信链路的标识,所述全局数据集由所述每个群集的所述服务器访问。
2.根据权利要求1的***,其中所述控制服务器适合于通过将查询信号发送给所述第一群集的第一服务器来监视所述第一服务器与所述第二群集的第二服务器之间的第一通信链路的运行状态,所述查询信号请求所述第一服务器将指示所述第一通信链路的所述运行状态的响应信号发送给所述控制服务器,所述第一通信链路的所述运行状态是所述第一通信链路是运行的还是非运行的。
3.根据权利要求2的***,其中所述第一服务器适合于通过将提示信号通过所述第一通信链路发送给所述第二服务器来响应所述查询信号,所述提示信号提示所述第二服务器通过所述第一通信链路将返回信号发送给所述第一服务器,所述返回信号或没有所述返回信号指示了所述第一通信链路的运行状态。
4.根据权利要求2的***,其中所述第一群集具有适合于将数据业务均匀地分配到所述第一群集所包括的服务器之中的负载平衡器,并且其中当从所述第一服务器接收到所述响应信号并且所述响应信号指示所述第一通信链路是非运行的时,所述控制服务器适合于通知所述负载平衡器所述第一通信链路是非运行的。
5.根据权利要求2的***,其中所述第一群集具有适合于将数据业务均匀地分配到所述第一群集所包括的服务器之中的负载平衡器,并且其中在将所述查询信号发送给所述第一服务器之后的预定时间段内没有接收到来自所述第一服务器的所述响应信号时,所述控制服务器适合于确定所述第一服务器是非运行的并适合于通知所述负载平衡器所述第一服务器是非运行的。
6.根据权利要求1的***,其中所述控制服务器被直接链接到所述第一群集的第一服务器并且没有被直接链接到所述第一群集的第二服务器,其中所述第一服务器被直接连接到所述第二服务器,并且其中所述控制服务器适合于通过与连接有所述第一服务器与所述第二服务器之间的直接通信的所述第一服务器的直接通信来监视所述第二服务器的运行状态,所述第二服务器的所述运行状态是所述第二服务器是运行的还是非运行的。
7.根据权利要求1的***,其中所述多个群集包括Web服务器的Web群集、应用服务器的应用群集以及数据库服务器的数据库群集,所述Web群集被直接连接到所述应用群集,所述应用群集被直接连接到所述数据库群集,所述Web群集适合于通过所述应用群集用作所述Web群集与所述数据库群集之间的中间群集的方式与所述数据库群集通信。
8.根据权利要求7的***,其中所述Web群集具有适合于将数据业务均匀地分配到所述Web群集所包括的所述Web服务器之中的负载平衡器,其中所述应用群集具有适合于将数据业务均匀地分配到所述应用群集所包括的所述应用服务器之中的负载平衡器,并且其中所述数据库群集具有适合于将数据业务均匀地分配到所述数据库群集所包括的所述数据库服务器之中的负载平衡器。
9.根据权利要求1的***,其中所述多个群集包括Web服务器的Web群集和数据库服务器的数据库群集,所述Web群集被直接连接到所述数据库群集,所述Web群集适合于与所述数据库群集直接通信。
10.一种用于维护高可用性处理环境的方法,所述方法包括:提供具有多个群集(21、22、23)的网络,所述网络的每个群集都包括多个同样的服务器,所述网络的每个群集都被直接连接到所述网络的至少一个其他群集,其中每对彼此直接相连的群集的特征在于,所述群集对的第一群集中的每个服务器都通过通信链路被直接连接到所述群集对的第二群集中的至少一个服务器;以及提供适合于监视所述通信链路的运行状态的控制服务器,所述通信链路的所述运行状态是所述通信链路是运行的还是非运行的,所述控制服务器通过所述控制服务器与每个群集中的至少一个服务器之间的通信通道被直接链接到所述至少一个服务器;所述方法还包括:提供包括所述网络中的每个通信链路的标识的全局数据集,所述全局数据集由所述控制服务器访问;以及提供特定于所述多个群集中的每个群集的本地数据集,所述本地数据集包括所述每个群集的服务器被连接到其以便使数据流出所述群集的所述网络中的每个通信链路的标识,所述全局数据集由所述每个群集的所述服务器访问。
11.根据权利要求10的方法,所述方法还包括监视所述第一群集的第一服务器与所述第二群集的第二服务器之间的第一通信链路的运行状态,所述监视由所述控制服务器来执行,所述监视包括将查询信号发送给所述第一服务器,所述查询信号请求所述第一服务器将指示所述第一通信链路的所述状态的响应信号发送给所述控制服务器,所述第一通信链路的所述运行状态是所述第一通信链路是运行的还是非运行的。
12.根据权利要求11的方法,其中所述第一服务器适合于通过将提示信号通过所述第一通信链路发送给所述第二服务器来响应所述查询信号,所述提示信号提示所述第二服务器通过所述第一通信链路将返回信号发送给所述第一服务器,所述返回信号或没有所述返回信号指示了所述第一通信链路的运行状态。
13.根据权利要求11的方法,其中所述第一群集具有适合于将数据业务均匀地分配到所述第一群集所包括的服务器之中的负载平衡器,并且其中在将所述查询信号发送给所述第一服务器之后的预定时间段内所述控制服务器没有接收到来自所述第一服务器的所述响应信号时,所述方法还包括:确定所述第一服务器是非运行的并通知所述负载平衡器所述第一服务器是非运行的,所述做出所述第一服务器是非运行的所述确定以及所述通知由所述控制服务器来执行。
14.根据权利要求10的方法,其中所述控制服务器适合于接收来自所述第一群集的第一服务器或来自所述第一群集的负载平衡器的消息,所述消息指示实体是非运行的,所述实体是从包括所述第一群集的服务器和所述第一群集的所述第一服务器与所述第二群集的第二服务器之间的通信链路的组中选择的。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/672,718 | 2003-09-26 | ||
US10/672,718 US7689685B2 (en) | 2003-09-26 | 2003-09-26 | Autonomic monitoring for web high availability |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1856978A CN1856978A (zh) | 2006-11-01 |
CN100559790C true CN100559790C (zh) | 2009-11-11 |
Family
ID=34393479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200480027435XA Active CN100559790C (zh) | 2003-09-26 | 2004-09-17 | 维护高可用性处理环境的方法和*** |
Country Status (9)
Country | Link |
---|---|
US (2) | US7689685B2 (zh) |
EP (1) | EP1678915A1 (zh) |
JP (1) | JP4898440B2 (zh) |
KR (1) | KR20060126916A (zh) |
CN (1) | CN100559790C (zh) |
CA (1) | CA2535319A1 (zh) |
IL (1) | IL174502A0 (zh) |
TW (1) | TWI332331B (zh) |
WO (1) | WO2005032095A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060069774A1 (en) * | 2004-06-17 | 2006-03-30 | International Business Machine Corporation | Method and apparatus for managing data center using Web services |
US20050283531A1 (en) * | 2004-06-17 | 2005-12-22 | International Business Machines Corporation | Method and apparatus for combining resource properties and device operations using stateful Web services |
US7644137B2 (en) * | 2004-12-14 | 2010-01-05 | Sap Ag | Workload balancing in environments with multiple clusters of application servers |
US8627402B2 (en) | 2006-09-19 | 2014-01-07 | The Invention Science Fund I, Llc | Evaluation systems and methods for coordinating software agents |
US20080068381A1 (en) * | 2006-09-19 | 2008-03-20 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Using network access port linkages for data structure update decisions |
US20080072032A1 (en) * | 2006-09-19 | 2008-03-20 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Configuring software agent security remotely |
US7797426B1 (en) * | 2008-06-27 | 2010-09-14 | BitGravity, Inc. | Managing TCP anycast requests |
WO2010140183A1 (ja) * | 2009-06-01 | 2010-12-09 | 富士通株式会社 | サーバ管理プログラム、管理サーバ、仮想サーバ配置方法 |
WO2011033507A1 (en) * | 2009-09-17 | 2011-03-24 | Behavioreal Ltd. | Method and apparatus for data traffic analysis and clustering |
US8412810B1 (en) * | 2010-07-02 | 2013-04-02 | Adobe Systems Incorporated | Provisioning and managing a cluster deployed on a cloud |
US9148367B2 (en) * | 2012-10-02 | 2015-09-29 | Cisco Technology, Inc. | System and method for binding flows in a service cluster deployment in a network environment |
US9071644B2 (en) * | 2012-12-06 | 2015-06-30 | International Business Machines Corporation | Automated security policy enforcement and auditing |
US8983176B2 (en) | 2013-01-02 | 2015-03-17 | International Business Machines Corporation | Image selection and masking using imported depth information |
US9196027B2 (en) | 2014-03-31 | 2015-11-24 | International Business Machines Corporation | Automatic focus stacking of captured images |
US9449234B2 (en) | 2014-03-31 | 2016-09-20 | International Business Machines Corporation | Displaying relative motion of objects in an image |
US9300857B2 (en) | 2014-04-09 | 2016-03-29 | International Business Machines Corporation | Real-time sharpening of raw digital images |
US10567504B2 (en) | 2017-11-29 | 2020-02-18 | International Business Machines Corporation | Protecting in-flight transaction requests |
US10761952B2 (en) | 2018-04-13 | 2020-09-01 | International Business Machines Corporation | Intelligent failover migration across multiple high availability stacks based on quality of prior failover migrations |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE121208T1 (de) * | 1990-01-30 | 1995-04-15 | Johnson Service Co | Vernetztes betriebsmittelverwaltungssystem. |
EP0537903A2 (en) * | 1991-10-02 | 1993-04-21 | International Business Machines Corporation | Distributed control system |
US5822531A (en) * | 1996-07-22 | 1998-10-13 | International Business Machines Corporation | Method and system for dynamically reconfiguring a cluster of computer systems |
US5909547A (en) * | 1996-10-24 | 1999-06-01 | Lucent Technologies Inc. | Method for shared memory management in network nodes |
JPH10187638A (ja) * | 1996-10-28 | 1998-07-21 | Mitsubishi Electric Corp | クラスタ制御システム |
US5892913A (en) * | 1996-12-02 | 1999-04-06 | International Business Machines Corporation | System and method for datastreams employing shared loop architecture multimedia subsystem clusters |
US6151688A (en) * | 1997-02-21 | 2000-11-21 | Novell, Inc. | Resource management in a clustered computer system |
US6134594A (en) * | 1997-10-28 | 2000-10-17 | Microsoft Corporation | Multi-user, multiple tier distributed application architecture with single-user access control of middle tier objects |
US6199018B1 (en) * | 1998-03-04 | 2001-03-06 | Emerson Electric Co. | Distributed diagnostic system |
US6243825B1 (en) * | 1998-04-17 | 2001-06-05 | Microsoft Corporation | Method and system for transparently failing over a computer name in a server cluster |
US6446109B2 (en) * | 1998-06-29 | 2002-09-03 | Sun Microsystems, Inc. | Application computing environment |
US6427163B1 (en) * | 1998-07-10 | 2002-07-30 | International Business Machines Corporation | Highly scalable and highly available cluster system management scheme |
US6389550B1 (en) * | 1998-12-23 | 2002-05-14 | Ncr Corporation | High availability protocol computing and method |
US6438705B1 (en) * | 1999-01-29 | 2002-08-20 | International Business Machines Corporation | Method and apparatus for building and managing multi-clustered computer systems |
US6389448B1 (en) * | 1999-12-06 | 2002-05-14 | Warp Solutions, Inc. | System and method for load balancing |
US6598077B2 (en) * | 1999-12-06 | 2003-07-22 | Warp Solutions, Inc. | System and method for dynamic content routing |
US6594786B1 (en) * | 2000-01-31 | 2003-07-15 | Hewlett-Packard Development Company, Lp | Fault tolerant high availability meter |
US6725261B1 (en) * | 2000-05-31 | 2004-04-20 | International Business Machines Corporation | Method, system and program products for automatically configuring clusters of a computing environment |
US6523036B1 (en) * | 2000-08-01 | 2003-02-18 | Dantz Development Corporation | Internet database system |
US6965938B1 (en) * | 2000-09-07 | 2005-11-15 | International Business Machines Corporation | System and method for clustering servers for performance and load balancing |
US7958185B2 (en) * | 2000-09-18 | 2011-06-07 | Bentley Systems, Inc. | Spatial data enabled engineering, construction, and operations computer-aided design (CAD) project system, method and computer program product |
US20020165952A1 (en) * | 2000-10-20 | 2002-11-07 | Sewell James M. | Systems and methods for remote management of diagnostic devices and data associated therewith |
US6970939B2 (en) * | 2000-10-26 | 2005-11-29 | Intel Corporation | Method and apparatus for large payload distribution in a network |
US20020083163A1 (en) * | 2000-10-26 | 2002-06-27 | Metilinx | Multi-platform optimization model |
JP2002163241A (ja) * | 2000-11-29 | 2002-06-07 | Ntt Data Corp | クライアントサーバシステム |
US7296268B2 (en) * | 2000-12-18 | 2007-11-13 | Microsoft Corporation | Dynamic monitor and controller of availability of a load-balancing cluster |
US7275100B2 (en) * | 2001-01-12 | 2007-09-25 | Hitachi, Ltd. | Failure notification method and system using remote mirroring for clustering systems |
WO2002086768A2 (en) * | 2001-03-08 | 2002-10-31 | Tririga, Inc. | Data storage and access system employing clustering of servers |
US7792948B2 (en) * | 2001-03-30 | 2010-09-07 | Bmc Software, Inc. | Method and system for collecting, aggregating and viewing performance data on a site-wide basis |
US20030005125A1 (en) * | 2001-05-29 | 2003-01-02 | International Business Machines Corporation | System for monitoring the path availability in a communication system based upon a server farm |
US20020194319A1 (en) * | 2001-06-13 | 2002-12-19 | Ritche Scott D. | Automated operations and service monitoring system for distributed computer networks |
CN100568214C (zh) | 2001-07-16 | 2009-12-09 | Bea***公司 | 用于会话复制和故障切换的方法和装置 |
US6944785B2 (en) * | 2001-07-23 | 2005-09-13 | Network Appliance, Inc. | High-availability cluster virtual server system |
US7480705B2 (en) * | 2001-07-24 | 2009-01-20 | International Business Machines Corporation | Dynamic HTTP load balancing method and apparatus |
US6823382B2 (en) * | 2001-08-20 | 2004-11-23 | Altaworks Corporation | Monitoring and control engine for multi-tiered service-level management of distributed web-application servers |
US20030097428A1 (en) * | 2001-10-26 | 2003-05-22 | Kambiz Afkhami | Internet server appliance platform with flexible integrated suite of server resources and content delivery capabilities supporting continuous data flow demands and bursty demands |
US7523217B2 (en) * | 2003-07-15 | 2009-04-21 | Hewlett-Packard Development Company, L.P. | System and method having improved efficiency and reliability for distributing a file among a plurality of recipients |
-
2003
- 2003-09-26 US US10/672,718 patent/US7689685B2/en active Active
-
2004
- 2004-09-17 WO PCT/EP2004/052228 patent/WO2005032095A1/en not_active Application Discontinuation
- 2004-09-17 CA CA002535319A patent/CA2535319A1/en not_active Abandoned
- 2004-09-17 EP EP04787164A patent/EP1678915A1/en not_active Withdrawn
- 2004-09-17 JP JP2006527409A patent/JP4898440B2/ja not_active Expired - Fee Related
- 2004-09-17 KR KR1020067004358A patent/KR20060126916A/ko active IP Right Grant
- 2004-09-17 CN CNB200480027435XA patent/CN100559790C/zh active Active
- 2004-09-17 TW TW093128103A patent/TWI332331B/zh not_active IP Right Cessation
-
2006
- 2006-03-23 IL IL174502A patent/IL174502A0/en unknown
-
2010
- 2010-03-24 US US12/730,280 patent/US7996529B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1678915A1 (en) | 2006-07-12 |
JP2007507029A (ja) | 2007-03-22 |
US20100180002A1 (en) | 2010-07-15 |
TWI332331B (en) | 2010-10-21 |
CA2535319A1 (en) | 2005-04-07 |
US20050080885A1 (en) | 2005-04-14 |
WO2005032095A1 (en) | 2005-04-07 |
IL174502A0 (en) | 2006-08-01 |
CN1856978A (zh) | 2006-11-01 |
TW200518522A (en) | 2005-06-01 |
US7996529B2 (en) | 2011-08-09 |
JP4898440B2 (ja) | 2012-03-14 |
US7689685B2 (en) | 2010-03-30 |
KR20060126916A (ko) | 2006-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100559790C (zh) | 维护高可用性处理环境的方法和*** | |
US7349929B2 (en) | Accessing data based on user identity | |
CN101176073B (zh) | 不同服务器出现故障时调整服务器配置参数的装置和方法 | |
US7426543B2 (en) | Accessing data stored in multiple locations | |
US7769823B2 (en) | Method and system for distributing requests for content | |
EP1062786B1 (en) | Method of providing a service through a server with a single virtual network address | |
US8296451B2 (en) | Method and apparatus for dynamic data flow control using prioritization of data requests | |
US6681369B2 (en) | System for providing document change information for a community of users | |
US5974445A (en) | Web browser which checks availability of hot links | |
CN100580672C (zh) | 基于上下文的导航组件和方法 | |
US20030055668A1 (en) | Workflow engine for automating business processes in scalable multiprocessor computer platforms | |
CZ289563B6 (cs) | Server připojitelný k síti a způsob jeho provozu | |
CN101213545A (zh) | 在门户页中堆叠门户组件 | |
EP1623558B1 (en) | Accessing data in a computer network | |
WO2001086510A1 (en) | Application caching system and method | |
CN1647482B (zh) | 用于网络通信管理的***和方法 | |
US20060064470A1 (en) | Method, system, and computer program product for improved synchronization efficiency for mobile devices, including database hashing and caching of web access errors | |
US8103748B2 (en) | Rule-based method and system for managing heterogenous computer clusters | |
JP2993434B2 (ja) | 分散ハイパーメディアシステム | |
US20030084143A1 (en) | Resource locator management system and method | |
US7275078B2 (en) | Distributed web CGI architecture | |
JP4827261B2 (ja) | 電文処理装置およびその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211111 Address after: USA New York Patentee after: Qindarui company Address before: USA New York Patentee before: International Business Machines |
|
TR01 | Transfer of patent right |