CN1754146B - 用于服务器负载均衡和服务器亲缘关系的系统和方法 - Google Patents
用于服务器负载均衡和服务器亲缘关系的系统和方法 Download PDFInfo
- Publication number
- CN1754146B CN1754146B CN2004800050344A CN200480005034A CN1754146B CN 1754146 B CN1754146 B CN 1754146B CN 2004800050344 A CN2004800050344 A CN 2004800050344A CN 200480005034 A CN200480005034 A CN 200480005034A CN 1754146 B CN1754146 B CN 1754146B
- Authority
- CN
- China
- Prior art keywords
- server
- load
- client
- balancing
- connection
- 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.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000004422 calculation algorithm Methods 0.000 abstract description 24
- 238000012545 processing Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000010076 replication Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 239000007799 cork Substances 0.000 description 2
- 239000003292 glue Substances 0.000 description 2
- 238000007616 round robin method Methods 0.000 description 2
- 235000006719 Cassia obtusifolia Nutrition 0.000 description 1
- 235000014552 Cassia tora Nutrition 0.000 description 1
- 244000201986 Cassia tora Species 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000005194 fractionation Methods 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5033—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明提供了一种包括服务器亲缘关系的、服务器负载均衡的系统和方法。可以将该相同合并到应用服务器以支持负载均衡算法用于提供服务器亲缘关系的RMI对象。服务器亲缘关系以其使用预先存在的连接并且减少开销的这种方式:当客户选择在其上访问服务的服务器实例时考虑其到应用服务器实例现存的连接,来使用用于外部客户连接的智能负载均衡。如果对于服务器亲缘关系来配置服务,则客户端占位模块试图选择其已经连接到的服务器实例,并且对于方法调用继续使用相同的服务器实例。在那个客户上的所有占位模块将试图使用那个服务器实例。如果服务器实例变得不可获得,则在可能的情况下,占位模块故障处理到客户已经连接到的服务器实例。
Description
相关申请的交叉参考
本申请要求于2003年2月24日提交的美国临时专利申请60/449,775的优先权(代理记录摘要No.BEAS-01345US0),并在通过参考进行合并。
技术领域
本发明总体涉及一种应用服务器和服务器集群,具体地说涉及用于支持服务器亲缘关系(affinity)的服务器负载均衡的系统和方法。
背景技术
在应用服务器和分布系统领域,经常使用服务器集群来提供高可获得和可扩展的资源。应用服务器的一个例子是BEA系统公司的WebLogic服务器。集群(如WebLogic服务器集群)包括同时运行和一起工作的多个服务器实例以提供增加的可扩展性和可靠性。对于客户来说集群表现为单个服务器。构成集群的服务器实例可以在相同的机器上运行,或被放置在不同的机器上。可以通过将更多的服务器实例增加到在现存机器上的集群,或通过增加机器到集群以作为增加的服务器实例的主机,来提高集群的能力。在集群中的每个服务器实例必须典型地运行在服务器产品的相同版本上。
对于集群如何与应用服务器存在的环境相关的方面,集群通常是具体的服务器(例如WebLogic服务器)域的一部分。域是可以作为单元管理的相互联系的一组资源。域包括一个或多个服务器实例,其可以是集群的、非集群的、或集群的和非集群的实例的组合。域可以包括多个集群。域还包括在域中布置的应用组件、和在域中的那些应用组件和服务器实例所需要的资源和服务。应用和服务器实例使用的资源和服务的例子包括机器定义、可选网络通道、J2EE组件、EJB、连接器、和启动类。管理员可以使用各种标准来将服务器实例组织为域。例如,他们可以选择根据被放置在主机的应用的逻辑划分、地理考虑、或在管理下的资源的复杂性和数量来将资源分配到多个域中。
在WebLogic域中,一个WebLogic服务器实例通常作为管理服务器工作——配置、管理、和监测在域中的所有其他服务器实例和资源的服务器实例。每个管理服务器只管理一个域。如果域包括多个集群,则在域中的每个集群具有相同的管理域;在集群中的所有服务器实例必须驻留在相同的域中。即,你不能在多个域上“拆分”集群。类似地,你不能在域之间共享所配置的资源或子系统。例如,如果你在一个域中创建JDBC连接池,你不能在另一个域中与服务器实例或集群一起使用它。(而是,你必须在第二个域中创建类似的连接池。)
集群化的服务器实例与非集群化的实例的行为类似,除了它们提供故障解决和负载均衡以外。用于配置集群化的服务器实例的过程和工具与用于配置非集群化的实例的那些相同。服务器集群提供下面的好处和特征:
可扩展性-可以动态地增加布置在集群上的应用的能力以满足需要。可以将服务器实例增加到集群而不中断服务——应用继续运行而不影响客户和终端用户。
高获得性-在集群中,当服务器实例出故障时应用处理可以继续。通过将它们布置在集群中的多个服务器实例上而将应用组件“集群化”——所以,如果组件运行于其上的服务器实例出故障,则组件被布置于其上的另一个服务器实例可以继续应用处理。
故障处理(failover)-故障处理意味着当应用组件(在下面部分中通常称为“服务”)正在进行具体“工作”-某组处理任务-变成由于任何原因而不可获得时,出故障的服务的拷贝完成该工作。为了新服务能够接替出故障的服务,必须可以获得出故障的服务的拷贝以接替工作。还必须有对管理故障处理的程序和其他服务是可获得的这样的信息,该信息定义所有服务的操作状态和位置——从而可以确定在完成其工作前第一服务出故障了。还必须有对管理故障处理的程序和其他服务是可获得的这样的信息,该信息说明在处理中的工作的进展情况——从而接替所中断的工作的服务知道在第一服务出故障之前完成了多少工作,例如,改变了什么数据、和完成了处理中的什么步骤。包括WebLogic服务器的许多应用服务器使用基于标准的通信技术和工具——多点传送、IP套接字、和Java命名和目录接口(JNDI)——来共享和保存关于在集群中的服务的可获得性的信息。这些技术使得服务器确定服务在完成其工作之前停止的服务、和该服务的拷贝的位置以完成被中断的工作。将关于已经完成的工作的信息称为状态。WebLogic服务器使用被称为会话复制和复制件知晓占位模块(replica-aware stub)的技术来保存关于状态的信息。当具体的服务非预料地停止进行其工作时,复制技术使得服务的拷贝从出故障的服务停止的位置接替并完成工作。
负载均衡-负载均衡是工作和在应用服务器环境中在计算和网络资源之间所关联的通信的平均分布。为了进行负载均衡,必须有能够执行特定工作的服务的多个拷贝。关于所有服务的操作状态和位置信息也必须是可获得的。此外,WebLogic服务器允许将服务集群化——被布置在多个服务器实例上——从而存在多个替代服务来执行相同的工作。WebLogic服务器使用多点传送、IP套接字、和JNDI来共享和保存所布置的服务的位置和可获得性。
集群化的应用或应用组件是在集群中的多个服务器实例上的可获得的一个。如果服务是集群化的,则对那个服务的故障处理和负载均衡是可获得的。万维网应用可以包括不同类型的服务,包括企业型Java小系统(EJB)、小型服务程序(servlet)、和Java服务器页面(JSP)。每种服务类型具有与控制、调用、和其如何在应用内工作相关的唯一的一组行为。为此,WebLogic服务器用来支持集群——从而提供负载均衡和故障处理——的方法可以针对不同类型的服务而不同。下面是在WebLogic服务器布置中可以被集群化的服务类型:小型服务程序;JSP;远端方法调用(RMI)对象;Java消息服务(JMS)目的地;和Java数据库连接性(JDBC)连接。
不同的服务类型可以具有共同的特定行为。当在这种情况下,对于那些类似的服务类型的实施考虑和集群支持可以是相同的。在下面的部分,总体合并了用于下面类型的服务的解释和说明:小型服务程序和JSP;以及EJB和RMI对象。下面的部分主要描述了支持WebLogic服务器提供不同类型服务的集群化、故障处理和负载均衡。
小型服务程序和JSP
WebLogic服务器通过复制访问集群化的小型服务程序和JSP的客户的HTTP会话状态来提供用于小型服务程序和JSP的集群支持。WebLogic服务器可以在存储器、文件系统、或数据库中保存HTTP会话状态。
EJB和RMI对象
使用复制件知晓占位模块(其可以在整个集群中定位服务的实例)来处理用于EJB和RMI对象的负载均衡和故障处理。为EJB和RMI对象创建复制件知晓占位模块作为服务编译处理的结果。对在集群中的所有服务实例同构地布置EJB和RMI对象。使用服务的复制件知晓占位模块来实现EJB和RMI对象的故障处理。当客户通过复制件知晓占位模块做出对出故障的服务的调用时,占位模块检测故障并且在另一个复制件上重新尝试该调用。
JDBC连接
WebLogic服务器允许你集群化JDBC服务,包括数据源、连接池和多点池(multipool),以提高将其集群放置在主机上的应用的可获得性。你为你的集群配置的每个JDBC服务必须在集群中的每个所管理的服务器上存在。
JMS
WebLogic Java消息服务(JMS)构架通过支持从在集群中的任何WebLogicServer服务器实例到目的地的、集群范围的透明访问,来实施多个JMS服务器的集群化。虽然WebLogic服务器在整个集群中支持分布的JMS目的地和连接工厂(factory),但是仍然由在集群中的每个WebLogic服务器实例来独立管理相同的JMS主题或队列。
但是,即使假定应用服务器环境中的集群化的成功,今天集群化的系统的典型问题是它们没有合适地考虑它们处理的外部客户连接的数量。方法调用是典型的、根据配置的负载均衡算法在可获得的服务器实例之中均衡的负载。结果是,必须在外部客户和在集群中的服务器实例之间维持和打开大量的套接字。在增强集群稳定性和可扩展性中,一种不允许为外部客户连接进行传统的负载均衡、但是对于低成本的服务器到服务器连接还允许负载均衡的新方法将是非常有用的。
发明内容
可以使用服务器亲缘关系来最小化在外部Java客户和在集群化环境中的服务器实例之间被打开的套接字数量。本发明通过使得对服务的方法调用“粘”在存在的连接上,而不是在可获得的服务器实例之间被负载均衡,来实现这个目的。本发明的实施例介绍了用于服务和RMI对象的、提供服务器亲缘关系的三种新的负载均衡算法。服务器亲缘关系为外部客户连接关闭负载均衡:而是,当选择在那个服务器实例上访问服务时客户考虑其存在的、到服务器实例的连接。如果对服务器亲缘关系配置服务,客户端占位模块试图选择其已经连接到的服务器实例,并且对于方法调用继续使用相同的服务器实例。在那个客户上的所有占位模块试图使用那个服务器实例。如果服务器实例变得不可获得,则如果可能,占位模块对客户已经连接到的服务器实例进行故障处理。
附图说明
图1示出了根据本发明实施例的从集群来的上下文,其中客户从集群获得上下文;
图2示出了根据本发明的实施例的服务器亲缘关系和故障处理,说明了服务器亲缘关系具有的对于服务故障处理的效果;
图3示出了根据本发明实施例的服务器亲缘关系和服务器到服务器连接;
图4示出了根据本发明实施例,其自己与占位模块共同放置的复制件,而不是使用位于远端服务器上的复制件;和
图5示出了根据本发明实施例,试图使用与交易处理共同放置的服务复制件。
具体实施方式
服务器亲缘关系的目的是最小化在外部客户和集群中的服务器实例之间打开的套接字的数量。本发明的实施例通过使得服务请求“粘”到现存的连接而不是在可获得的服务器实例中将服务请求进行负载均衡,来实现目的的。
对于EJB和RMI对象的负载均衡
本发明的实施例引入了三种新的负载均衡算法用于提供服务器亲缘关系的RMI对象和服务。服务器亲缘关系对外部客户连接关闭负载均衡:而是,客户在选择在其上访问服务的服务器实例时考虑其现存的到服务器实例的连接。如果对服务器亲缘关系配置服务,则客户端的占位模块试图选择其已经连接到的服务器实例,并且对于方法调用继续使用相同的服务器实例。在那个客户上的所有占位模块都试图使用那个服务器实例。如果该服务器实例变得不可获得,则如果可能,占位模块故障处理到客户已经连接到的服务器实例。
将服务器亲缘关系与一种标准负载均衡方法组合使用:循环的、基于权重的、或随机的方法,以为负载均衡服务提供总共六种替代:
循环的-对于内部和外部连接两者都使用循环的负载均衡。
基于权重的-对于内部和外部连接两者都使用基于权重的负载均衡。
随机的-对于内部和外部连接两者都使用随机的负载均衡。
循环的亲缘关系-服务器亲缘关系管理外部Java客户和服务器实例之间的连接。
基于权重的亲缘关系-服务器亲缘关系管理外部Java客户和服务器实例之间的连接。
随机亲缘关系-服务器亲缘关系管理外部Java客户和服务器实例之间的连接。
默认的,在一个实施例中,WebLogic服务器集群对于服务使用循环的负载均衡。管理员可以通过管理控制台将weblogic.cluster.defaultLoadAlgorithm变量设置为等于所需要的方法,来为集群整体地配置不同的默认负载均衡方法。管理员还可以使用在布置描述符中的RMIC编译器(rmic)中的-loadAlgorithm选项,来为具体的RMI对象指定负载均衡算法。你为服务配置的负载均衡算法优先于集群的默认负载均衡算法。在为集群化的服务所获得的复制件知晓占位模块中保存服务的负载均衡算法。
服务器亲缘关系和初始上下文
客户可以通过在URL中指定集群地址从在集群中的具体服务器实例,或从集群请求初始上下文。根据如何获得上下文,连接过程不同:
如果从具体的管理的服务器请求初始上下文,则使用到指定的服务器实例的新连接来获得上下文。
如果从集群请求初始上下文,则默认的,在集群化的服务器实例中基于循环来对上下文请求进行典型的负载均衡。
为了重新使用在具体JVM和集群之间的现存连接,将在获得上下文时你指定的weblogic.jndi.WLContext属性的散列表中的ENABLE_SERVER_AFFINITY设置为真。(如果连接是不可获得的,则创建新连接。)只当从集群地址请求上下文时才支持ENABLE_SERVER_AFFINITY。
循环的负载均衡
本发明的实施例(如在WebLogic服务器中提供的)在没有指定算法时使用循环的算法作为集群化服务占位模块的默认负载均衡策略。对于RMI对象和EJB支持这种算法。其还是WebLogic代理插件所使用的方法。循环算法顺序通过服务器实例列表来循环。对于集群化的服务,服务器列表包括作为集群化服务的主机的服务器实例。对于代理插件,列表包括作为集群化的小型服务程序或JSP的主机的所有服务器实例。循环算法的优点是其简单、便宜和可预见性高。
基于权重的负载均衡
这种算法只应用用于EJB和RMI对象集群。基于权重的负载均衡通过考虑每个服务器的预分派的权重来提高循环算法。其他应用服务器和实施方式可以使用与在这里说明的不同的基于权重的算法类型。你可以使用在管理控制台中的服务器->配置->集群标签,在集群权重字段来为集群中的每个服务器分派1到100之间的数字权重。这个值确定相对于其他服务器某个服务器将承担的负载份额。如果所有的服务器具有相同的权重,则它们每个承担相同的负载份额。如果一个服务器具有权重50而所有其他的服务器具有权重100,则权重50的服务器将承担任何其他服务器一半的负载。这种算法使得将循环算法的优点应用于异构的集群成为可能。如果你使用基于权重的算法,则要仔细地确定要分派给每个服务器实例的相对权重。要考虑的因素包括:与其他服务器有关系的服务器硬件的处理能力(例如,服务器专用的CPU的性能和数量);和将每个服务器作为主机的非集群化(“被钉的(pinned)”)服务的数量。如果你改变服务器的特定权重并且重新启动它,则通过集群传播新权重信息。
随机负载均衡
负载均衡的随机方法只应用于EJB和RMI对象集群。在随机负载均衡中,将请求随机地路由到服务器。只对于同构集群布置才推荐随机负载均衡,其中每个服务器实例在类似配置的机器上运行。请求的随机分配不允许在服务器实例运行于其上的机器之中在处理能力上存在不同。如果在集群中作为服务器主机的机器比在集群中的其他机器具有非常小的处理能力,则随机负载均衡还会将与给予大能力机器的请求相同数量的请求给予小能力的机器。随机负载均衡在集群中的服务器之间平均地分派请求,当请求的累计数量增加时也增加这种情况。对于少量的请求,可能不会完全平衡地均衡负载。
循环亲缘关系、基于权重的亲缘关系、和随机亲缘关系
本发明介绍了三种提供服务器亲缘关系的新负载均衡算法:循环亲缘关系、基于权重的亲缘关系、和随机亲缘关系。对于包括JMS服务的所有类型的RMI对象、所有EJB本地(home)接口、和无状态的EJB远端接口,支持服务器亲缘关系。在服务器实例之中均衡客户负载时,服务器亲缘关系算法考虑在外部Java客户和服务器实例之间的现存连接。服务器亲缘关系以其使用预先存在的连接和减少开销的这种方式,使用在外部Java客户和服务器实例之间的智能负载均衡。服务器亲缘关系使得从外部Java客户来的方法调用粘到该客户已经打开连接到的服务器实例,假设该连接支持需要的协议和QOS。在出故障的情况下,服务器亲缘关系使得客户到其已经打开连接到的服务器实例进行故障处理,假设该连接支持需要的协议和QOS。服务器亲缘关系不影响为服务器到服务器连接所执行的负载均衡。
服务器亲缘关系例子
下面的例子示出了在各种情况下服务器亲缘关系的作用。在每个例子中,将所布置的服务针对循环的亲缘关系进行配置。
图1示出了从集群来的上下文。在这个例子中,客户从集群获得上下文。查询上下文和服务调用粘到单个连接。将对新初始上下文的请求根据循环来进行负载均衡:
1、客户从集群请求新初始上下文(Provider_URL=clusteraddress)并且从MS1获得上下文。
2、客户查询服务A的上下文。查询进行到MS1。
3、客户发布对服务A的调用。该调用进行到客户已经连接到的MS1。对于服务A的附加的方法调用粘到MS1。
4、如果在不同的虚拟机中,客户从集群请求新初始上下文(Provider_URL=clusteraddress)并且从MS2获得该上下文。
5、客户查询服务B的上下文。调用进行到MS2,客户已经连接到MS2。对于服务B的附加的方法调用粘到MS2。
图2示出了服务器亲缘关系和故障处理。这个例子示出了服务器亲缘关系对服务故障处理的作用。当管理的服务器停机时,客户故障处理到其连接到的另一个管理的服务器:
1、客户从MS1请求新初始上下文。
2、客户查询服务A的上下文。查询进行到MS1。
3、客户做出对服务A的调用。该调用进行到MS1,客户已经连接到MS1。对于服务A的附加调用粘到MS1。
4、客户为服务C获得占位模块,其被钉(pin)到MS3。客户打开到MS3的连接。
5、MS1出故障。
5、客户做出对服务A的调用。客户不再具有到MS1的连接。因为客户连接到MS3,其故障处理到MS3上的服务A的复制件。
图3示出了服务器亲缘关系和服务器到服务器连接。这个例子示出服务器亲缘关系不影响在服务器实例之间的连接:
1、在MS4上的JSP为服务B获得占位模块。在这个例子中的MS4作为MS1、MS2和MS3的客户来工作。
2、JSP选择MS1上的复制件。对于每个方法调用,JSP基于循环方法在服务B是可获得时通过管理的服务器进行循环。请求总进行到MS1除非MS1出故障或因为某种原因而不可获得。
用于集群化服务的基于参数的路由
基于参数的路由允许你在较低的级别控制负载均衡行为。可以将CallRouter分派给任何集群化服务。这是在用调用的参数进行启用之前被调用的类。CallRouter自由地检查参数并且返回调用应该被路由到的服务器名字。
共同放置的服务的优化
WebLogic服务器并不总对服务的方法调用进行负载均衡。在大多数情况下,使用其自己与占位模块共同放置的复制件更为有效,而不是使用位于远端服务器上的复制件。下面的附图示出的这种情况。
图4示出了共同放置优化如何优于方法调用的负载均衡逻辑。在这个例子中,客户连接到以在集群中的第一WebLogic服务器实例作为主机的小型服务程序。响应于客户活动,小型服务程序获得用于服务A的复制件知晓占位模块。因为服务A的复制件还在相同的服务器实例上可获得,所以将该服务称为与客户的占位模块共同放置。WebLogic服务器总使用服务A的本地的、共同放置的拷贝,而不是将客户的调用分派给在集群中的服务A的其他复制件。使用本地拷贝更加有效,因为这样做避免了建立到集群中的其他服务器的对等连接的网络开销。如果将你的万维网应用布置到单个集群,则共同放置优化优先于在复制件知晓占位模块中固有的任何负载均衡逻辑。
交易的共同放置
作为对基本共同放置策略的扩展,WebLogic服务器试图使用被征募作为相同交易的一部分的、共同放置的、集群化的服务。当客户创建UserTransaction(用户交易)服务时,WebLogic服务器试图使用与交易共同放置的服务复制件。在图5中说明的这种优化。在这个例子中,客户附连到在集群中的第一个WebLogic服务器实例并且获得UserTransaction服务。在开始新交易后,客户查询要执行交易工作的服务A和B。在这种情况下,无论在A和B的占位模块中是什么样的负载均衡策略,WebLogic服务器总试图使用位于与UserTransaction服务相同的服务器上的A和B的复制件。这种交易的共同放置策略甚至比基本优化更加重要。如果使用A和B的远端复制件,对于交易的持续可能发生增加的网络开销,这是因为会锁定用于A和B的对等连接直到进行了交易为止。而且,WebLogic服务器会需要使用多层的JDBC连接来执行交易,发生额外的网络开销。
通过在交易期间使用共同放置的集群化的服务,WebLogic服务器减少了用于访问独立服务的网络负载。服务器还可以使用单层JDBC连接而不是多层连接来进行交易的工作。
用于JMS的负载均衡
WebLogic服务器JMS支持用于分布的JMS目的地和客户连接的服务器亲缘关系。默认的,WebLogic服务器集群使用循环方法来对服务进行负载均衡。为了使用为JMS服务提供服务器亲缘关系的负载均衡算法,你必须配置所需要的算法。你可以通过使用管理控制台设置weblogic.cluster.defaultLoadAlgorithm来配置负载均衡算法。
用于分布的JMS目的地的服务器亲缘关系
对于使用分布的目的地特点的JMS应用,支持服务器亲缘关系;对于被钉的目的地,不支持这种特点。如果你为JMS连接工厂配置服务器亲缘关系,则作为在分布的目的地组中横跨多个物理目的地之间的负载均衡的生产者和消费者,服务器实例将试图在横跨在相同服务器实例上运行的任何目的地之间进行负载均衡。
用于客户连接的服务器亲缘关系和初始上下文亲缘关系
系统管理员可以通过配置多个JMS服务器和使用目标来将它们分派给定义的WebLogic服务器,来建立横跨在集群中的多个服务器之间的JMS目的地的负载均衡。将每个JMS服务器布置在确切的一个WebLogic服务器上并且每个JMS服务器处理一组目的地的请求。在配置阶段期间,系统管理员通过为JMS服务器指定目标而使能负载均衡。系统管理员可以通过配置多个连接工厂和使用目标来将它们分派给WebLogic服务器,以从在集群中的任何服务器对目的地建立集群范围的、透明的访问。可以将每个连接工厂布置在多个WebLogic服务器上。应用使用Java命名和目录接口(JNDI)来查询连接工厂,并且创建连接以建立与JMS服务器的通信。每个JMS服务器处理一组目的地的请求。将对不由JMS服务器处理的目的地的请求发送到适当的服务器。WebLogic服务器为客户连接提供服务器亲缘关系。如果应用具有到给定服务器实例的连接,则JMS将试图建立到相同服务器实例的新JMS连接。当创建连接时,JMS将首先尝试实现初始上下文亲缘关系。假设将服务器实例对于那个连接工厂进行配置,其将针对其初始上下文试图连接到相同的服务器或客户连接到的服务器。例如,如果对于服务器A和B配置连接工厂,但是客户在服务器C上具有InitialContext,然后连接工厂将不建立与A的新连接,但是将在服务器B和C之间进行选择。如果连接工厂不能实现初始上下文亲缘关系,则其将尝试提供亲缘关系给客户已经连接到的服务器。例如,假设客户具有在服务器A上的InitialContext和到服务器B的某其他类型的连接。然后如果客户使用为服务器B和C配置的连接工厂,其将不能实现初始上下文亲缘关系。然而连接工厂将试图通过尝试创建连接到其已经具有连接到的服务器B而不是服务器C,来实现服务器亲缘关系。如果连接工厂不能提供初始上下文亲缘关系或服务器亲缘关系,则只要可能,连接工厂就可以自由地建立连接。例如,假设客户具有在服务器A上的初始上下文,对服务器B和C不配置其他连接和连接工厂。则连接工厂不能提供任何亲缘关系并且可以自由地尝试到服务器B或C的新连接。
注意:在最后的情况中,如果客户试图使用相同的连接工厂建立第二连接,其将如其在第一次尝试中所做的一样而对相同的服务器进行。即,如果其选择服务器B用于第一连接,当建立第二连接时,客户将具有到服务器B的连接并且服务器亲缘关系规则将被强化。
用于JDBC连接的负载均衡
JDBC连接的负载均衡要求使用为负载均衡配置的多池(multipool)。负载均衡支持是当配置多池时你可以选择的选项。负载均衡多池提供高可获得行为,此外,均衡在多池中的连接池之间的负载。多池具有其包括的连接池的排序的列表。如果你不配置用于负载均衡的多池,其总试图从在列表中的第一连接池获得连接。在负载均衡多池中,使用循环方案来访问其包括的连接池。在对多池连接的每个连续的客户请求中,转动列表从而抽头的(tapped)第一池在列表中循环。
可以使用根据本公开的示教被编程的传统的通用或专用的数字计算机或微处理器来轻松地实施本发明。可以由程序员根据本公开的示教轻松地准备适当的软件代码,对于在软件领域的技术人员来说是很明显的。
在一些实施例中,本发明包括作为存储介质(媒体)的计算机程序产品,其具有指令存储于其上/可以使用所述指令来对计算机进行编程以执行本发明的任何处理过程。所述存储介质可以包括但不限于任何类型的盘,包括:软盘、光盘、DVD、CD-ROM、微驱动器、和磁光盘、ROM、RAM、EPROM、DRAM、VRAM、闪速存储器装置、磁或光卡、纳米系统(包括分子存储器IC)、和适合存储指令和/或数据的任何类型的媒体或装置。
已经提供了本发明上述的说明用于描述和说明的目的。但并不试图穷尽或限制本发明于所公开的具体形式。对于本领域的技术人员各种修改和变化是很明显的。特别是,虽然在这里描述的例子都是说明如何将本发明使用在WebLogic环境中的,但是很明显可以使用其他应用服务器、服务器和计算环境并且从本发明受益。而且还很明显,可以将本发明用于与所述不同的服务,包括例如J2EE组件,如EJB和JSP的服务。。
选择和说明了实施例以最好地解释本发明的原则和其实际应用,从而使得本领域的技术人员能够理解用于各种实施例的本发明,和带有各种变化的、适合被仔细考虑的具体使用的本发明。其目的是在所附权利要求和它们的等效物所定义的本发明的范围。
Claims (20)
1.一种包括服务器亲缘关系的、服务器负载均衡的系统,所述系统执行负载均衡方法,并且包括:
集群,包括多个服务器实例;
负载均衡和亲缘关系处理器,其将从所述集群来的服务器分派给从客户来的、以服务请求为形式的服务客户请求;和
客户端占位模块,其试图选择其已经连接到的服务器实例,并且继续为服务请求使用相同的服务器实例,
其中客户端占位模块使得服务请求粘在存在的连接上,而不是在可获得的服务器实例之间被负载均衡,以便执行负载均衡。
2.根据权利要求1所述的系统,其中在那个客户上的所有占位模块都试图使用那个服务器实例。
3.根据权利要求1所述的系统,其中如果服务器实例变成不可获得,则在可能的情况下所述占位模块对客户已经连接到的服务器实例进行故障处理。
4.根据权利要求1所述的系统,其中所述负载均衡方法是循环的、基于权重的、或随机的之中任何的一种方法。
5.根据权利要求4所述的系统,其中所述负载均衡方法包括用于内部和外部连接两者的循环的负载均衡。
6.根据权利要求4所述的系统,其中所述负载均衡方法包括用于内部和外部连接两者的基于权重的负载均衡。
7.根据权利要求4所述的系统,其中所述负载均衡方法包括用于内部和外部连接两者的随机的负载均衡。
8.根据权利要求4所述的系统,其中所述负载均衡方法包括管理外部Java客户和服务器实例之间的连接的服务器亲缘关系,并且其中将循环的负载均衡用于在服务器实例之间的连接。
9.根据权利要求4所述的系统,其中所述负载均衡方法包括管理外部Java客户和服务器实例之间的连接的服务器亲缘关系,并且其中将基于权重的负载均衡用于在服务器实例之间的连接。
10.根据权利要求4所述的系统,其中所述负载均衡方法包括管理外部Java客户和服务器实例之间的连接的服务器亲缘关系,并且其中将随机的负载均衡用于在服务器实例之间的连接。
11.一种包括服务器亲缘关系的、服务器负载均衡的方法,所述方法执行负载均衡方法,并且包括步骤:
提供多个服务器实例作为集群;
将从所述集群来的服务器分派给从客户来的、以方法调用为形式的服务用户请求;和
其中所述分派步骤包括使用客户端占位模块,其企图选择其已经连接到的服务器实例并且继续为方法调用使用相同的服务器实例,
其中客户端占位模块使得服务请求粘在存在的连接上,而不是在可获得的服务器实例之间被负载均衡,以便执行负载均衡。
12.根据权利要求11所述的方法,其中在那个客户上的所有占位模块都试图使用那个服务器实例。
13.根据权利要求11所述的方法,其中如果服务器实例变成不可获得,则在可能的情况下,所述占位模块对客户已经连接到的服务器实例进行故障处理。
14.根据权利要求11所述的方法,其中所述负载均衡方法是循环的、基于权重的、或随机的之中任何的一种方法。
15.根据权利要求14所述的方法,其中所述负载均衡方法包括用于内部和外部连接两者的循环的负载均衡。
16.根据权利要求14所述的方法,其中所述负载均衡方法包括用于内部和外部连接两者的基于权重的负载均衡。
17.根据权利要求14所述的方法,其中所述负载均衡方法包括用于内部和外部连接两者的随机的负载均衡。
18.根据权利要求14所述的方法,其中所述负载均衡方法包括管理外部Java客户和服务器实例之间的连接的服务器亲缘关系,并且其中将循环的负载均衡用于在服务器实例之间的连接。
19.根据权利要求14所述的方法,其中所述负载均衡方法包括管理外部Java客户和服务器实例之间的连接的服务器亲缘关系,并且其中将基于权重的负载均衡用于在服务器实例之间的连接。
20.根据权利要求14所述的方法,其中所述负载均衡方法包括管理外部Java客户和服务器实例之间的连接的服务器亲缘关系,并且其中将随机的负载均衡用于在服务器实例之间的连接。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US44977503P | 2003-02-24 | 2003-02-24 | |
US60/449,775 | 2003-02-24 | ||
PCT/US2004/005429 WO2004077259A2 (en) | 2003-02-24 | 2004-02-24 | System and method for server load balancing and server affinity |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1754146A CN1754146A (zh) | 2006-03-29 |
CN1754146B true CN1754146B (zh) | 2010-04-28 |
Family
ID=32927563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2004800050344A Expired - Lifetime CN1754146B (zh) | 2003-02-24 | 2004-02-24 | 用于服务器负载均衡和服务器亲缘关系的系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7406692B2 (zh) |
EP (1) | EP1599793B1 (zh) |
JP (1) | JP2006519441A (zh) |
CN (1) | CN1754146B (zh) |
AU (1) | AU2004216040A1 (zh) |
WO (1) | WO2004077259A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105339896A (zh) * | 2013-06-28 | 2016-02-17 | 甲骨文国际公司 | 用于云端连接共享集合的系统和方法 |
Families Citing this family (85)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7606898B1 (en) * | 2000-10-24 | 2009-10-20 | Microsoft Corporation | System and method for distributed management of shared computers |
US6886038B1 (en) * | 2000-10-24 | 2005-04-26 | Microsoft Corporation | System and method for restricting data transfers and managing software components of distributed computers |
IL159695A0 (en) * | 2001-07-06 | 2004-06-20 | Computer Ass Think Inc | System and method for managing object based clusters |
US8122106B2 (en) | 2003-03-06 | 2012-02-21 | Microsoft Corporation | Integrating design, deployment, and management phases for systems |
US7890543B2 (en) * | 2003-03-06 | 2011-02-15 | Microsoft Corporation | Architecture for distributed computing system and automated design, deployment, and management of distributed applications |
US7689676B2 (en) | 2003-03-06 | 2010-03-30 | Microsoft Corporation | Model-based policy application |
US7613822B2 (en) * | 2003-06-30 | 2009-11-03 | Microsoft Corporation | Network load balancing with session information |
US20050027862A1 (en) * | 2003-07-18 | 2005-02-03 | Nguyen Tien Le | System and methods of cooperatively load-balancing clustered servers |
US8145731B2 (en) * | 2003-12-17 | 2012-03-27 | Hewlett-Packard Development Company, L.P. | System and method for determining how many servers of at least one server configuration to be included at a service provider's site for supporting an expected workload |
US7778422B2 (en) | 2004-02-27 | 2010-08-17 | Microsoft Corporation | Security associations for devices |
US8285876B2 (en) | 2004-03-19 | 2012-10-09 | International Business Machines Corporation | J2EE application versioning strategy |
US20050246529A1 (en) * | 2004-04-30 | 2005-11-03 | Microsoft Corporation | Isolated persistent identity storage for authentication of computing devies |
US8074220B2 (en) * | 2004-05-21 | 2011-12-06 | Computer Associates Think, Inc. | System and method for interfacing an application to a distributed transaction coordinator |
US7434087B1 (en) * | 2004-05-21 | 2008-10-07 | Sun Microsystems, Inc. | Graceful failover using augmented stubs |
WO2005116833A1 (en) * | 2004-05-21 | 2005-12-08 | Computer Associates Think, Inc. | Method and apparatus for dynamic cpu resource management |
EP1769353A2 (en) * | 2004-05-21 | 2007-04-04 | Computer Associates Think, Inc. | Method and apparatus for dynamic memory resource management |
US7757236B1 (en) | 2004-06-28 | 2010-07-13 | Oracle America, Inc. | Load-balancing framework for a cluster |
EP1805610A4 (en) | 2004-10-04 | 2008-02-13 | Research In Motion Ltd | ALLOCATION OF WIRES TO USER OBJECTS OF A COMPUTER SYSTEM |
CA2577221C (en) | 2004-10-04 | 2014-08-19 | Research In Motion Limited | System and method for adaptive allocation of threads to user objects in a computer system |
US8204931B2 (en) * | 2004-12-28 | 2012-06-19 | Sap Ag | Session management within a multi-tiered enterprise network |
US8281014B2 (en) * | 2004-12-28 | 2012-10-02 | Sap Ag | Session lifecycle management within a multi-tiered enterprise network |
US7761502B2 (en) * | 2004-12-31 | 2010-07-20 | Bea Systems, Inc. | Callback interface for multipools |
KR20070110011A (ko) * | 2004-12-31 | 2007-11-15 | 비이에이 시스템즈 인코포레이티드 | 다중 풀 관리자 |
US7505975B2 (en) * | 2005-04-14 | 2009-03-17 | Bea Systems, Inc. | Use of transaction context to select single database instance for global transaction |
US8489728B2 (en) * | 2005-04-15 | 2013-07-16 | Microsoft Corporation | Model-based system monitoring |
US7802144B2 (en) | 2005-04-15 | 2010-09-21 | Microsoft Corporation | Model-based system monitoring |
US7797147B2 (en) * | 2005-04-15 | 2010-09-14 | Microsoft Corporation | Model-based system monitoring |
US20060248199A1 (en) * | 2005-04-29 | 2006-11-02 | Georgi Stanev | Shared closure persistence of session state information |
US8762547B2 (en) * | 2005-04-29 | 2014-06-24 | Sap Ag | Shared memory implementations for session data within a multi-tiered enterprise network |
US7853698B2 (en) * | 2005-04-29 | 2010-12-14 | Sap Ag | Internal persistence of session state information |
US8024566B2 (en) * | 2005-04-29 | 2011-09-20 | Sap Ag | Persistent storage implementations for session data within a multi-tiered enterprise network |
US7761435B2 (en) * | 2005-04-29 | 2010-07-20 | Sap Ag | External persistence of session state information |
US8589562B2 (en) | 2005-04-29 | 2013-11-19 | Sap Ag | Flexible failover configuration |
US20060248283A1 (en) * | 2005-04-29 | 2006-11-02 | Galin Galchev | System and method for monitoring threads in a clustered server architecture |
US8549513B2 (en) | 2005-06-29 | 2013-10-01 | Microsoft Corporation | Model-based virtual system provisioning |
US8104033B2 (en) * | 2005-09-30 | 2012-01-24 | Computer Associates Think, Inc. | Managing virtual machines based on business priorty |
US8225313B2 (en) * | 2005-10-19 | 2012-07-17 | Ca, Inc. | Object-based virtual infrastructure management |
US7926071B2 (en) | 2005-10-20 | 2011-04-12 | Microsoft Corporation | Load balancing interfaces |
US8234378B2 (en) | 2005-10-20 | 2012-07-31 | Microsoft Corporation | Load balancing in a managed execution environment |
US7941309B2 (en) | 2005-11-02 | 2011-05-10 | Microsoft Corporation | Modeling IT operations/policies |
US7702947B2 (en) * | 2005-11-29 | 2010-04-20 | Bea Systems, Inc. | System and method for enabling site failover in an application server environment |
WO2007068148A1 (en) * | 2005-12-17 | 2007-06-21 | Intel Corporation | Method and apparatus for partitioning programs to balance memory latency |
US8010701B2 (en) | 2005-12-19 | 2011-08-30 | Vmware, Inc. | Method and system for providing virtualized application workspaces |
US8935429B2 (en) | 2006-12-19 | 2015-01-13 | Vmware, Inc. | Automatically determining which remote applications a user or group is entitled to access based on entitlement specifications and providing remote application access to the remote applications |
US8756298B2 (en) * | 2005-12-21 | 2014-06-17 | Cisco Technology, Inc. | System for automatic configuration of computers in a server farm |
US8707323B2 (en) | 2005-12-30 | 2014-04-22 | Sap Ag | Load balancing algorithm for servicing client requests |
US7483978B2 (en) * | 2006-05-15 | 2009-01-27 | Computer Associates Think, Inc. | Providing a unified user interface for managing a plurality of heterogeneous computing environments |
US7606808B2 (en) * | 2006-08-25 | 2009-10-20 | Microsoft Corporation | Maintaining and establishing subscriptions with load-balanced servers |
US8255504B1 (en) * | 2006-10-03 | 2012-08-28 | United States Automobile Association (USAA) | Systems and methods for data source management |
US7792917B2 (en) * | 2008-01-07 | 2010-09-07 | International Business Machines Corporation | Multiple network shared disk servers |
US7467207B1 (en) * | 2008-02-01 | 2008-12-16 | International Business Machines Corporation | Balancing communication load in a system based on determination of user-user affinity levels |
KR20100138885A (ko) * | 2008-02-26 | 2010-12-31 | 인터내셔널 비지네스 머신즈 코포레이션 | 라우팅 워크로드들 및 그 계산방법 |
US8533333B2 (en) * | 2008-09-03 | 2013-09-10 | Microsoft Corporation | Shared hosting using host name affinity |
US8335762B2 (en) * | 2008-10-06 | 2012-12-18 | Microsoft Corporation | Resource tracking |
US20100223364A1 (en) * | 2009-02-27 | 2010-09-02 | Yottaa Inc | System and method for network traffic management and load balancing |
WO2010099513A2 (en) * | 2009-02-27 | 2010-09-02 | Coach Wei | Adaptive network with automatic scaling |
WO2010102084A2 (en) * | 2009-03-05 | 2010-09-10 | Coach Wei | System and method for performance acceleration, data protection, disaster recovery and on-demand scaling of computer applications |
US9116752B1 (en) * | 2009-03-25 | 2015-08-25 | 8X8, Inc. | Systems, methods, devices and arrangements for server load distribution |
US20100251329A1 (en) * | 2009-03-31 | 2010-09-30 | Yottaa, Inc | System and method for access management and security protection for network accessible computer services |
US8296657B2 (en) * | 2009-05-19 | 2012-10-23 | Sony Corporation | Random image selection without viewing duplication |
US9141449B2 (en) * | 2009-10-30 | 2015-09-22 | Symantec Corporation | Managing remote procedure calls when a server is unavailable |
US8243960B2 (en) * | 2010-03-04 | 2012-08-14 | Bose Corporation | Planar audio amplifier output inductor with current sense |
EP2442228A1 (en) | 2010-10-13 | 2012-04-18 | Thomas Lippert | A computer cluster arrangement for processing a computaton task and method for operation thereof |
US8635185B2 (en) * | 2011-06-27 | 2014-01-21 | Oracle International Corporation | System and method for providing session affinity in a clustered database environment |
JP5724687B2 (ja) * | 2011-07-04 | 2015-05-27 | 富士通株式会社 | 情報処理装置、サーバ選択方法、及びプログラム |
EP2732424A4 (en) | 2011-07-13 | 2015-03-25 | Bluefin Labs Inc | ESTIMATING AFFINITY BETWEEN A SUBJECT AND A TIME-BASED MEDIA EVENT |
US8949431B2 (en) * | 2011-08-24 | 2015-02-03 | Radware, Ltd. | Method for live migration of virtual machines |
US9680925B2 (en) | 2012-01-09 | 2017-06-13 | At&T Intellectual Property I, L. P. | Methods and apparatus to route message traffic using tiered affinity-based message routing |
CN103516744A (zh) * | 2012-06-20 | 2014-01-15 | 阿里巴巴集团控股有限公司 | 一种数据处理的方法和应用服务器及集群 |
US8879718B2 (en) | 2012-12-04 | 2014-11-04 | Genesys Telecommunications Laboratories, Inc. | Distributed event delivery |
US9524186B2 (en) * | 2014-04-28 | 2016-12-20 | Oracle International Corporation | System and method for supporting common transaction identifier (XID) optimization based on resource manager (RM) instance awareness in a transactional environment |
CN107077699B (zh) * | 2014-06-30 | 2021-03-12 | Cfph 有限责任公司 | 用于通信网络的设备 |
US9519509B2 (en) | 2014-10-21 | 2016-12-13 | Oracle International Corporation | System and method for supporting transaction affinity based request handling in a middleware environment |
CN104283963B (zh) * | 2014-10-21 | 2018-02-09 | 无锡云捷科技有限公司 | 一种分布合作式的cdn负载均衡方法 |
US9946573B2 (en) * | 2015-05-20 | 2018-04-17 | Oracle International Corporation | Optimizing virtual machine memory sizing for cloud-scale application deployments |
US20160352823A1 (en) | 2015-05-26 | 2016-12-01 | iDevices, LLC | Systems and methods for server failover and load balancing |
CN105306598A (zh) * | 2015-11-19 | 2016-02-03 | 炫彩互动网络科技有限公司 | 一种可实现负载均衡的远程数据调用方法 |
US9996432B2 (en) | 2016-02-03 | 2018-06-12 | International Business Machines Corporation | Automated local database connection affinity and failover |
US9612927B1 (en) * | 2016-09-14 | 2017-04-04 | International Business Machines Corporation | Managing server processes with proxy files |
US10698737B2 (en) * | 2018-04-26 | 2020-06-30 | Hewlett Packard Enterprise Development Lp | Interoperable neural network operation scheduler |
CN111385323B (zh) * | 2018-12-28 | 2023-04-18 | 中国移动通信集团江西有限公司 | Ejb业务处理方法、装置、设备及介质 |
US11194628B2 (en) * | 2019-12-03 | 2021-12-07 | International Business Machines Corporation | Workload allocation utilizing real-time enterprise resiliency scoring |
US11394772B2 (en) * | 2019-12-06 | 2022-07-19 | Citrix Systems, Inc. | Systems and methods for persistence across applications using a content switching server |
US11474851B2 (en) * | 2020-04-08 | 2022-10-18 | Open Text Holdings, Inc. | Systems and methods for efficient scalability and high availability of applications in container orchestration cloud environment |
KR20240109088A (ko) | 2023-01-03 | 2024-07-10 | 주식회사 티맥스 소프트 | 분산 서버 클러스터 시스템에서의 다중 서비스 연계 방법 및 장치 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6125363A (en) * | 1998-03-30 | 2000-09-26 | Buzzeo; Eugene | Distributed, multi-user, multi-threaded application development method |
US6327622B1 (en) * | 1998-09-03 | 2001-12-04 | Sun Microsystems, Inc. | Load balancing in a network environment |
US6424992B2 (en) * | 1996-12-23 | 2002-07-23 | International Business Machines Corporation | Affinity-based router and routing method |
US20020143953A1 (en) * | 2001-04-03 | 2002-10-03 | International Business Machines Corporation | Automatic affinity within networks performing workload balancing |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5872972A (en) * | 1996-07-05 | 1999-02-16 | Ncr Corporation | Method for load balancing a per processor affinity scheduler wherein processes are strictly affinitized to processors and the migration of a process from an affinitized processor to another available processor is limited |
US6327662B1 (en) * | 1998-09-30 | 2001-12-04 | 3Com Corporation | Security through the use of tokens and automatically downloaded applets |
US6581088B1 (en) * | 1998-11-05 | 2003-06-17 | Beas Systems, Inc. | Smart stub or enterprise javaTM bean in a distributed processing system |
US6236999B1 (en) * | 1998-11-05 | 2001-05-22 | Bea Systems, Inc. | Duplicated naming service in a distributed processing system |
US6571274B1 (en) * | 1998-11-05 | 2003-05-27 | Beas Systems, Inc. | Clustered enterprise Java™ in a secure distributed processing system |
US6385643B1 (en) * | 1998-11-05 | 2002-05-07 | Bea Systems, Inc. | Clustered enterprise Java™ having a message passing kernel in a distributed processing system |
US6691165B1 (en) * | 1998-11-10 | 2004-02-10 | Rainfinity, Inc. | Distributed server cluster for controlling network traffic |
ATE366437T1 (de) * | 1999-08-13 | 2007-07-15 | Sun Microsystems Inc | Elegante verteilung des lastausgleichs für anwendungs-server |
US6950848B1 (en) * | 2000-05-05 | 2005-09-27 | Yousefi Zadeh Homayoun | Database load balancing for multi-tier computer systems |
US7349970B2 (en) * | 2001-03-29 | 2008-03-25 | International Business Machines Corporation | Workload management of stateful program entities |
US6990603B2 (en) * | 2002-01-02 | 2006-01-24 | Exanet Inc. | Method and apparatus for securing volatile data in power failure in systems having redundancy |
US7047315B1 (en) * | 2002-03-19 | 2006-05-16 | Cisco Technology, Inc. | Method providing server affinity and client stickiness in a server load balancing device without TCP termination and without keeping flow states |
-
2004
- 2004-02-24 EP EP04714154.4A patent/EP1599793B1/en not_active Expired - Lifetime
- 2004-02-24 WO PCT/US2004/005429 patent/WO2004077259A2/en active Application Filing
- 2004-02-24 JP JP2006503835A patent/JP2006519441A/ja active Pending
- 2004-02-24 AU AU2004216040A patent/AU2004216040A1/en not_active Abandoned
- 2004-02-24 US US10/785,778 patent/US7406692B2/en active Active
- 2004-02-24 CN CN2004800050344A patent/CN1754146B/zh not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6424992B2 (en) * | 1996-12-23 | 2002-07-23 | International Business Machines Corporation | Affinity-based router and routing method |
US6125363A (en) * | 1998-03-30 | 2000-09-26 | Buzzeo; Eugene | Distributed, multi-user, multi-threaded application development method |
US6327622B1 (en) * | 1998-09-03 | 2001-12-04 | Sun Microsystems, Inc. | Load balancing in a network environment |
US20020143953A1 (en) * | 2001-04-03 | 2002-10-03 | International Business Machines Corporation | Automatic affinity within networks performing workload balancing |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105339896A (zh) * | 2013-06-28 | 2016-02-17 | 甲骨文国际公司 | 用于云端连接共享集合的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2004077259A2 (en) | 2004-09-10 |
EP1599793B1 (en) | 2015-10-21 |
JP2006519441A (ja) | 2006-08-24 |
CN1754146A (zh) | 2006-03-29 |
US20040250248A1 (en) | 2004-12-09 |
WO2004077259A3 (en) | 2005-05-19 |
US7406692B2 (en) | 2008-07-29 |
AU2004216040A1 (en) | 2004-09-10 |
EP1599793A2 (en) | 2005-11-30 |
EP1599793A4 (en) | 2007-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1754146B (zh) | 用于服务器负载均衡和服务器亲缘关系的系统和方法 | |
US7065526B2 (en) | Scalable database management system | |
JP5078384B2 (ja) | 電子商取引などのデータベース・クラスタを利用するウェブ・サービスを実行するための方法、サーバ、プログラム(ウェブ・サービス・データベース・クラスタのアーキテクチャ) | |
US9344494B2 (en) | Failover data replication with colocation of session state data | |
US9069617B2 (en) | System and method for intelligent GUI navigation and property sheets in a traffic director environment | |
US9596302B2 (en) | Migrating applications between networks | |
US7349970B2 (en) | Workload management of stateful program entities | |
CN102202078B (zh) | 一种用于配置服务器场的多个异类角色的方法和系统 | |
US8285876B2 (en) | J2EE application versioning strategy | |
US7664818B2 (en) | Message-oriented middleware provider having multiple server instances integrated into a clustered application server infrastructure | |
KR20140142745A (ko) | 네트워크 리소스의 정책 기반 스케일링 | |
Abbes et al. | A decentralized and fault‐tolerant Desktop Grid system for distributed applications | |
US8549129B2 (en) | Live migration method for large-scale IT management systems | |
Gardfjäll et al. | Scalable grid‐wide capacity allocation with the SweGrid Accounting System (SGAS) | |
US7120704B2 (en) | Method and system for workload balancing in a network of computer systems | |
KR102119456B1 (ko) | 분산 클라우드 환경에서의 분산 브로커 코디네이터 시스템 및 방법 | |
Tan et al. | Service domains | |
KR20040075307A (ko) | 정책 쿼럼 기반의 그리드 자원 관리 시스템 및 그 방법 | |
CN114064317A (zh) | 分布式系统中的节点调用方法及相关装置 | |
Garnica et al. | Clusters-Basics | |
Kapitza et al. | EDAS: providing an environment for decentralized adaptive services | |
Ivanović et al. | Fault-tolerance in XJAF agent middleware | |
US9037702B2 (en) | Facilitating message services using multi-role systems | |
Ueno et al. | WebSphere scalability: WLM and clustering | |
Ikken et al. | Efficient intermediate data placement in federated cloud data centers storage |
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 | ||
ASS | Succession or assignment of patent right |
Owner name: ORACLE INT CORP Free format text: FORMER OWNER: BEA SYSTEMS CORP. Effective date: 20110512 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20110512 Address after: California, USA Patentee after: ORACLE INTERNATIONAL Corp. Address before: California, USA Patentee before: BEA SYSTEMS, Inc. |
|
CX01 | Expiry of patent term |
Granted publication date: 20100428 |
|
CX01 | Expiry of patent term |