CN1836214A - 需要时节点和服务器实例分配和解除分配 - Google Patents
需要时节点和服务器实例分配和解除分配 Download PDFInfo
- Publication number
- CN1836214A CN1836214A CNA2004800233523A CN200480023352A CN1836214A CN 1836214 A CN1836214 A CN 1836214A CN A2004800233523 A CNA2004800233523 A CN A2004800233523A CN 200480023352 A CN200480023352 A CN 200480023352A CN 1836214 A CN1836214 A CN 1836214A
- Authority
- CN
- China
- Prior art keywords
- node
- server
- database
- instance
- service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims description 52
- 230000004044 response Effects 0.000 claims description 19
- 238000013508 migration Methods 0.000 claims description 9
- 230000005012 migration Effects 0.000 claims description 9
- 230000002747 voluntary effect Effects 0.000 claims description 9
- 238000012790 confirmation Methods 0.000 claims 2
- 230000003247 decreasing effect Effects 0.000 abstract 1
- 238000007726 management method Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 17
- 230000006854 communication Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 230000015654 memory Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000012217 deletion Methods 0.000 description 5
- 230000037430 deletion Effects 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 230000005055 memory storage Effects 0.000 description 4
- 230000002045 lasting effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000001105 regulatory effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000001066 destructive effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010387 memory retrieval 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
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000000717 retained effect 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
- 230000003442 weekly effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- 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/14—Session management
- H04L67/148—Migration or transfer of sessions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种方法有效并动态地分配和解除分配数据库之间的数据库实例和节点。该方法以解决多数据库的用户和由多数据库容留的服务的方式执行该功能。
Description
相关申请
本申请要求于2003年8月14日提交的美国临时申请第60/495,368号题为“Computer Resource Provisioning”的优先权,其内容结合于此作为参考;本申请要求于2003年9月3日提交的美国临时申请第60/500,096号题为“Service Based WorkloadManagement and Measurement in a Distributed System”的优先权,其内容结合于此作为参考;本申请要求于2003年9月3日提交的美国临时申请第60/500,050号题为“Automatic And DynamicProvisioning Of Databases”的优先权,其内容结合于此作为参考。
本申请涉及以下美国申请:
2004年8月12日Lakshinarayan Chidambaran等人提交的美国申请第10/917,687号题为“On Demand Node and Server InstanceAllocation and De-Allocation”(代理人卷号第50277-2382号),其内容结合于此作为参考。
2003年11月21日提交的美国申请第10/718,747号题为“Automatic and Dynamic Provisioning of Databases”(代理人卷号第50277-2343号),其内容结合于此作为参考。
2004年8月12日Benny Souder等人提交的美国申请第10/917,873号题为“Hierarchical Management of the DynamicAllocation of Resources in a Multi-Node System”(代理人卷号第50277-2382号),其内容结合于此作为参考。
2004年8月12日Sanjay Kaluskar等人提交的美国申请第10/917,953号题为“Transparent Session Migration Across Servers”(代理人卷号第50277-2383号),其内容结合于此作为参考。
2004年8月12日Lakshminarayanan Chidambaran等人提交的美国申请第10/917,661号题为“Calculation of Service PerformanceGrades in a Multi-node Environment That Hosts the Services”(代理人卷号第50277-2410号),其内容结合于此作为参考。
2004年8月12日Lakshminarayanan Chidambaran等人提交的美国申请第10/918,055号题为“Incremental Run-Time SessionBalancing in a Multi-Node System”(代理人卷号第50277-2411号),其内容结合于此作为参考。
2004年8月12日Lakshminarayanan Chidambaran等人提交的美国申请第10/918,056号题为“Service placement for EnforcingPerformance and Availability Levels in a Multi-Node System”(代理人卷号第50277-2412号),其内容结合于此作为参考。
2004年8月12日Lakshminarayanan Chidambaran等人提交的美国申请第10/918,054号题为“Recoverable Asynchronous MessageDriven Processing in a Multi-Node System”(代理人卷号第50277-2414号),其内容结合于此作为参考。
2004年8月12日Carol Colrain等人提交的美国申请第10/917,715号题为“Managing Workload by Service”(代理人卷号第50277-2337号),其内容结合于此作为参考。
本发明涉及以下国际申请:
2004年8月9日Oracle International Corporation在美国受理局提交的第PCT/US04/25805号题为“Automatic and DynamicProvisioning of Databases”的国际申请(代理人卷号第50277-2571号),其内容结合于此作为参考。
2004年8月13日Oracle International Corporation在美国受理局提交的第PCT/US04/26389号题为“Hierarchical Management of theDynamic Allocation of Resources in a Multi-Node System”的国际申请(代理人卷号第50277-2592号),其内容结合于此作为参考。
2004年8月13日Oracle International Corporation在美国受理局提交的第PCT/US04/26445号题为“Transparent Session MigrationAcross Servers”的国际申请(代理人卷号第50277-2593号),其内容结合于此作为参考。
2004年8月13日Oracle International Corporation在美国受理局提交的第PCT/US04/26570号题为“Transparent Migration ofStateless Sessions Across Servers”的国际申请(代理人卷号第50277-2594号),其内容结合于此作为参考。
技术领域
本发明涉及工作负荷管理,具体而言,涉及多节点计算机系统内的工作负荷管理。
背景技术
各企业正在寻找办法使他们的数据处理系统降低成本并提高效率。典型的企业数据处理系统是为每个企业应用程序都分配单独的资源。预先为每个应用程序分配足够的资源以处理该应用程序的估计最大负荷。各应用程序具有不同的负荷特性;一些应用程序在白天繁忙;而另一些应用程序则在晚上繁忙;一些报告每周运行一次,而另一些报告则每月一次。因此,有大量资源能力被闲置。网格计算使利用或消除这种闲置能力成为可能。实际上,网格计算被平衡以显著地改变了计算的经济效果。
网格是多个提供处理和一定程度的共享存储的计算元件的集合;网格资源被动态分配,以满足其客户机(client)的计算需求和优先级。网格计算可显著地降低计算成本,扩大计算资源的可用性,以及实现更高的生产率和更高的质量。网格计算的基本思想是将计算看作一种公用事业(utility),类似于电网或电话网。网格的客户机不关心其数据在何处或者在何处执行计算。客户机所想要的只是使计算被执行,以及当客户机需要时,将信息传递给客户机。
这类似于电力公用事业运行的方式:客户不知道发电机在何处,或者电网是如何连接的。客户只是要电力并得到了电力。目的是将计算变成一种公用事业—无处不在的商品。因此将其命名为网格。
当然,将网格计算看作一种公用事业是客户机端的看法。从服务器侧或者现场后面来看,网格是关于资源分配、信息共享、和高可用性。资源分配确保所有那些需求或请求资源的都如愿以偿。资源不会被持续闲置,而请求却得不到服务。信息共享确保在信息客户机和应用程序被需要的地方和时刻,所需的信息客户机和应用程序可用。高可用性确保了所有数据和计算必须一直运转—正如公用事业公司必须一直提供电力。
用于数据库的网格计算
可以从网格计算获益的一个计算机技术领域是数据库技术。网格可以支持多数据库以及根据要求动态分配和重新分配资源,以支持每个数据库的当前需求。当对数据库的需求增长时,更多的资源分配给该数据库,而从另一数据库释放其他资源。例如,在企业网格上,数据库是由运行在网格上的一个服务器刀片上的一个数据库服务器来服务的。向数据库请求数据的用户数量增加。响应于对数据库需要的增加,从一台刀片式服务器上取消用于另一数据库的数据库服务器,向该刀片式服务器提供用于正经受增长的用户请求的数据库的数据库服务器。
用于数据库的网格计算要求以不同的级别分配和管理资源。在对应于单数据库的级别,提供给数据库用户的性能和资源的可用性以及用户之间所分配的数据库资源必须被监控,以确保每个用户的性能和资源可用性目标被满足。在数据库之间,必须管理数据库之间的网格资源的分配,以确保满足所有数据库的用户的性能和资源可用性目标。管理这些不同级别的资源的分配的工作,以及执行这种管理所需要的信息非常复杂。因此,要求提供一种机制,能够简化和有效地处理用于数据库系统的网格计算系统中的资源的管理,以及在网格内以不同级别分配资源的其它类型的系统。
一种这样的机制是在Hierarchical Management of the DynamicAllocation of Resources in a Multi-Node System(50277-2382)中描述的系统,该系统利用分层导控器管理不同等级上的资源。一种类型的导控器(数据库导控器)管理分配给数据库用户间的数据库的资源。例如,网格可以容留用于一个数据库的一组数据库服务器。该组中的每个数据库服务器被称作数据库实例,每个数据库实例容留用于用户和一个或多个服务的许多数据库会话。数据库导控器管理用户和服务之间的数据库可用的数据库资源的分配。
服务是被容留用于一个或多个客户机的利益的特定类型或类别的工作。作为部分服务执行的工作包括任何计算机资源的使用和花费,例如CPU处理时间,在易失存储器中存储和获取数据,读取和写入永久存储器(例如磁盘空间),以及网络或总线带宽的使用。例如,服务可能是为数据库服务器的客户机上的特定应用程序执行的工作。
对于数据库,数据库实例组的子集被分配以提供特定的服务。被分配以提供该服务的数据库实例在此称作容留该服务。数据库实例可能容留不止一个服务。被数据库的数据库实例容留的服务在此称作被数据库容留。
由被数据库容留的服务实现的资源的性能和可用性有时可能不满足资源的性能和可用性的要求。当出现这种情形时,另一个数据库实例和容留该数据库实例的节点可以在网格中被分配给数据库。经常,可用于分配给数据库的唯一的节点池已经用于其他数据库和服务。因而将该节点分配给数据库需要从另一个数据库解除分配节点,这样会影响由容留在另一个数据库上的服务实现的资源的性能和可用性。
基于前面所述,需要一种从节点池中解除分配已分配给一组数据库的节点的方法,为由这组数据库容留的服务的用户解决和提供性能和资源可用性。
本节中所描述的方法是可执行的方法,但不必是已被构思或执行的方法。因此,除非在此另有说明,在此部分中描述的方法不能仅因为包含在此背景技术部分中,就认为是现有技术。
附图说明
本发明通过实例而不是限制的方式被阐明,附图中相同的附图标号表示相同的部件,其中:
图1是示出了本发明的一个实施例可在其上实现的多节点计算机系统的框图;
图2是示出了管理解决服务等级协定的违反所采用的补救的升级的过程的流程图;
图3是示出了根据本发明的实施例响应于请求以为数据库得到另一数据库实例的过程的流程图;
图4是示出了根据本发明的实施例的关闭并提出节点上的另一数据库实例的过程的流程图;
图5是示出了根据本发明的实施例的确定是否有数据库实例自愿停止的过程的流程图;
图6是示出了根据本发明的实施例用于停止数据库实例的过程的流程图;以及
图7是可用在本发明的实施例中的计算机系统的框图。。
具体实施方式
描述了管理多节点环境中的资源分配的方法和装置。在下面的描述中,出于解释的目的,许多具体的细节被阐明以提供对本发明的彻底理解。然而,显而易见,本发明可以在没有这些具体细节的情况下实施。在其它实例中,已知的结构和装置以框图的形式示出,以避免对本发明造成不必要的混淆。
这里描述的是用于有效地、动态地在数据库间分配和解除分配数据库实例和节点的方法。该方法以由多个数据库容留的解决用户和服务的方式执行这个功能。
图1示出了可用于实现本发明的实施例的多节点计算机系统。参照图1,示出了集群场(cluster farm)101。集群场是一组节点,这些节点被组织成被称之为集群的节点组。集群在该集群中的节点之间提供了一定程度的共享存储(例如,共享一组磁盘驱动器)。集群场101包括集群110、170、和180。每个集群容留一个或多个多节点数据库服务器,这些服务器提供并管理对数据库的访问。
集群场中的节点的形式可以是通过网络相互连接的计算机(例如工作站、个人计算机)。可选地,节点可以是网格的节点。网格由节点构成,这些节点的形式是与机架上其它服务器刀片相互连接的服务器刀片。每个服务器刀片都是包括处理器、存储器、网络连接、以及单一主板上的有关的电子器件的计算机系统。通常,服务器刀片不包括板上存储器(除了易失性存储器),并且这些服务器刀片共享机架内的存储单元(例如,共享的磁盘),以及电源、冷却系统、和电缆。
在集群场中的集群的限定特性是通过软件控制可在场内的集群之间自动地转移该集群的节点,而无需将来自一个集群的节点有形地重新连接至另一个。集群被在此称作集群软件的软件应用程序控制和管理。可执行集群软件以从集群中删除节点,以及为集群提供节点。集群软件提供命令行界面,其接收来自管理人员的请求,允许管理员输入命令以为集群提供节点和从集群中删除节点。该界面还可以采取应用程序接口(“API”)的形式,该接口可以被在该集群场内执行的其他软件调用。集群软件使用和维持元数据,这些元数据定义了场内集群的配置,包括集群配置元数据,其定义了场中集群的拓扑结构,包括了哪些特定节点在该集群中。元数据被修改以反映集群软件对集群场内的集群作出的改变。集群软件的实例是由OracleTM开发的软件,例如Oracle9i Real Application Clusters或Oracle Real Application Clusters 10g。在Oracle9i RAC:Oracle RealApplication Clusters Configuration and Internals(作者为Mike Ault和Madhu Tumma,第二版,2003年8月2日)中描述了Oracle9i RealApplication Clusters。
集群和多节点数据库服务器
集群110、170和180容留一个或多个多节点数据库服务器。集群110容留用于数据库150的多节点数据库服务器,该多节点数据库服务器包括数据库实例123、125和127,分别容留在节点122、124和126上。集群110也容留用于数据库160的多节点数据库服务器,该多节点数据库服务器包括数据库实例133、135和137,分别容留在节点132、134和136上。
服务器,例如数据库服务器,是集成的软件组件和计算资源(例如存储器、节点和节点上的用于在处理器上执行集成的软件组件的进程)的组合,软件和计算资源的组合专用于执行代表一个或多个客户机的特定功能。在数据库管理的其它功能中,数据库服务器管理和帮助访问特定数据库,处理客户机访问数据库的请求。
来自多节点计算系统中的多个节点的资源可以被分配,以运行服务器的软件。每个软件与来自节点的资源分配的结合是在此被称作“服务器实例”或“实例”的服务器。因此,多节点数据库服务器包括可在多个节点上运行的多个服务器实例。实际上,多节点数据库服务器的多个实例可以在相同的节点上运行。多节点数据库服务器包括多个“数据库实例”,每个数据库实例在节点上运行,并控制和帮助对特定数据库的访问。数据库实例123、125和127是相同多节点数据库服务器的实例。
服务
如上所述,服务是为了一个或多个客户机的利益而容留的特定类型或种类的工作。服务的一种类型是数据库服务。集群提供用于访问数据库150的数据库服务以及用于访问数据库160的数据库服务。通常,数据库服务是由数据库服务器执行的用于客户机的工作,工作通常包括处理要求访问数据库的查询。
正如任何服务,数据库服务可以进一步分类。用于数据库150的数据库服务可进一步分成FIN服务和PAY服务。FIN服务是由数据库实例123和125执行的用于FIN应用程序的数据库服务。通常,该服务包括访问数据库150上的数据库对象,该数据库存储了用于FIN应用程序的数据库数据。PAY服务是由数据库实例125和127执行的用于PAY应用程序的数据库服务。通常,该服务包括访问数据库150上的数据库对象,该数据库存储了用于PAY应用程序的数据库数据。
会话
为了使客户机与集群110上的数据库服务器交互,为该客户机建立会话。会话,例如数据库会话,是为客户机建立的至服务器(例如数据库实例)的特定连接,通过会话,客户机发出一系列请求(请求执行数据库语句)。对于数据库实例上建立的每个数据库会话,会话状态数据被保持为反映数据库会话的当前状态。这些信息包含了,例如,为其建立该会话的客户机的身份,和由在数据库会话内执行软件的进程产生的临时变量值。
客户机通过向集群110传送数据库连接请求建立数据库会话。接收器,如接收器190,接收数据库连接请求。接收器190是运行在集群110上的一个进程,接收客户机数据库连接请求并把请求指向集群110中的数据库实例。所接收到的客户机连接请求与服务(例如:服务FIN和PAY)相关联。客户机请求被指向容留该服务的数据库实例,并在此为客户机建立数据库会话。接收器190以对客户机透明的方式将请求指向特定的数据库实例和/或节点。接收器190可以运行在集群110中的任何节点上。一旦为客户机建立数据库会话,客户机可以发布其它的请求,可以以函数或远程过程调用的形式,包括开始执行交易、执行查询、执行更新和其他类型的交易操作、提交或结束交易、以及结束数据库会话的请求。
监控工作负荷
资源被分配和再分配以满足资源上的性能的级别和基数限制。为特定服务建立的性能级别和资源可用性在此被称作服务级别协定(service-level agreement)。通常应用于多节点系统且并不一定应用于特定服务的资源上的性能级别和基数限制在此被称作策略。例如,用于服务FIN的服务级别协定可能要求用于服务FIN的平均交易时间不超过给定阈值作为性能级别,以及至少两个实例容留服务FIN作为可用性要求。策略可能要求任何节点的CPU利用率不应超过80%。
在此策略还可以被称作后台策略,因为它们被后台管理员用来管理整个系统的性能,以及用来在认为资源不足以满足所有服务组的服务级别协定时,在一组服务之间分配资源。例如,策略为一个数据库指定相对于另一数据库较高的优先级。当资源不足以满足两个数据库的服务的服务级别协定时,具有较高优先级的数据库,以及使用该数据库的服务在分配资源时将会优先。
为了满足服务级别协定,需要一种机制来监控和测量各种资源上的工作负荷。这些工作负荷的测量用于确定服务级别协定是否被满足,以及根据满足服务级别协定所需来调节资源的分配。
根据本发明的实施例,工作负荷监视器容留在每个数据库实例上并且产生“性能度量”。性能度量是基于性能指标指示一个或多个资源或服务的性能等级的数据。在Measuring Workload by Service(50277-2337)中描述了执行这些功能的方法。产生的信息可通过多节点数据库服务器222中的各种组件获得,多节点数据库服务器负责管理资源的分配来满足服务级别协定,这些会在后面详细描述。
可被用于测量指示性能或工作负荷的级别的特性或条件的特定类型的性能度量,在此被称作性能指标(performance measure)。性能指标包括例如交易执行时间或CPU使用百分率。通常,涉及性能级别的服务级别协定可通过基于性能指标的阈值和标准来限定。
例如,交易的执行时间是性能指标。基于该指标的服务级别协定是,用于服务FIN的交易应该在300毫秒内执行。然而,另一个工作指标是节点的CPU使用百分率。基于该指标的后台策略是,节点不承受超过80%的使用率。
性能度量可指示集群的性能、在集群、集群中的节点、或特定数据库实例上运行的服务的性能。服务所特有的性能度量或指标在此被称作服务性能度量或指标。例如服务FIN的服务性能度量是为服务FIN执行的用于交易的交易时间。
根据实施例,服务级别协定和后台策略基于以下各项。
服务或数据库基数服务级别协定或后台策略能够限制被分配给某个特定用途的资源的数量。这种限制称为基数限制。服务基数限制要求最小和/或最大数目的数据库实例容留服务;数据库基数限制要求最小和/最大数目的数据库实例在运行。基数限制也能限制集群中的节点数量。
服务或数据库优先级一些服务或数据库可以被指定为具有高于其他的优先级。分配资源时优先考虑较高优先级的服务或数据库,特别当没有足够的资源满足所有的服务或数据库组的服务级别协定时。优先级信息可以由数据库管理员提供。
Ncpu节点的CPU利用百分率。CPU利用百分率可以通过对驻留在节点上的数据库实例上容留的服务的CPU利用百分率求和来计算。
Xcpu节点的CPU利用率阈值形式的策略。为了说明的目的,Xcpu对集群的所有节点是不变的。然而,它可能是变化的,取决于各种因素,例如为数据库运行的数据库实例的数量。
CPUaval这是节点上可用的未使用的CPU利用率,定义为Xcpu和Ncpu之间的差(即Xcpu-Ncpu)。
可用性可用性是基数的子类,因为它是特定用途可用的资源的最小数量。例如,服务可用性需求要求服务被至少最小数量的数据库实例容留。
可用性被称为可用性监视器的守护进程监视。可用性监视器,例如可用性监视器192,是数据自适应鉴定监视器(daemon),检测何时节点或数据库实例由于不可用事件(例如系统崩溃)而变成不可用。当检测到节点或数据库实例变成不可用时,可用性监视器通知受影响的服务和节点的数据库导控器和/或集群导控器。导控器采取行动以满足可用性需求。例如,可用性需求要求PAY至少在两个数据库实例上容留。可用性监视器192检测到实例125已经停止并通知数据库导控器152。作为响应,数据库导控器152启动服务扩展将服务PAY扩展到另一个运行的数据库实例,数据库实例123。
导控器的层次
导控器的层次,如在Hierarchical Management of the DynamicAllocation of Resources in a Multi-Node System(50277-2382),中描述的,用于在集群场101中动态调节资源的分配来满足服务级别协定。集群场101包括由集群场101上的数据库服务器管理的每个数据库的数据库导控器,集群场101中的每个集群的集群导控器,以及集群场101的场导控器。
数据库导控器,例如数据库导控器152和162,动态地管理和调节由数据库的数据库实例容留的服务之间的数据库的资源的分配。数据库导控器用来执行该职责的一种方法是如在IncrementalRun-Time Session Balancing in a Multi-Node System(50277-2411)中描述的在数据库的数据库实例之间执行增量运行时会话平衡。增量运行时会话平衡在容留该服务的数据库实例间迁移服务的数据库会话。另一种数据库导控器可采取的方法是服务扩展。在服务扩展下,另一个数据库实例被分配以容留服务,如在Service Placementfor Enforcing Performance and Availability Levels in a Multi-NodeSystem(50277-2412)中所述的。
集群导控器,例如集群导控器112,管理和调节数据库间的资源分配。集群导控器执行该职责采取的一种方法是为数据库向集群中的节点添加数据库实例或从其中删除数据库实例,如在这里详细描述的。
场导控器,如场导控器102,管理和调节集群间的资源分配。场导控器执行该职责采取的一种方法是向集群添加节点或从其中删除节点。
导控器检测服务级别协定的违反,在此称为服务级别违反。例如,数据库导控器152周期性分析性能度量并确定在实例125上的用于FIN的平均交易时间违反了该指标的服务级别协定或确定节点124上用于服务FIN的CPU利用百分率违反了CPU利用的策略。
升级补救以解决服务级别协定的违反
根据实施例,通过在破坏性和成本更大的资源分配之前开始对破坏性和成本小的资源分配进行调节,数据库导控器补救它检测到的服务级别违反。在容留服务的数据库的数据库实例之间迁移服务的数据库会话通常比扩展服务到另一个数据库实例的破坏性和成本小;扩展服务到另一个数据库通常比提供数据库实例到另一个节点或添加另一个节点到集群的破坏性和成本要小。
图2示出了可以用来管理解决服务协议违反所采用的补救的升级的程序。这个程序由数据库导控器启动作为对检测到“源”数据库的“源”数据库实例上的服务的资源报警的响应。资源报警是触发对多节点计算机系统中的资源分配的关注的条件或事件的检测。资源报警特别包括服务级别违反的检测。例如,资源报警可能检测到在源数据库实例125上的服务FIN的平均交易时间超过了该指标的服务级别协定。
参照图2,在步骤210,数据库导控器首先确定是否尝试运行时会话均衡。这个决定是通过确定在源数据库实例上是否有候选的服务用来执行会话均衡而做出的。如果确定应该执行会话均衡,则在步骤215会话均衡被执行,例如在Incremental Run-Time SessionBalancing In A Multi-Node System(50277-2411)中所述的。
在步骤205,确定资源报警是否持续。如果在程序的迭代中调用的补救,例如在步骤215的会话均衡,解决了资源报警的根本原因,则资源报警可能不再持续。程序的执行结束。
然而,如果资源报警持续,另一个程序的迭代被执行以采取另一个补救。步骤205在每次迭代后被执行以判断是否迭代中采取的补救已经解决了资源报警或是否另一个程序的迭代应该被执行。
在步骤210,如果确定运行时会话均衡不应该被尝试,则程序在步骤220确定是否应该尝试服务扩展。这个决定是通过确定在源数据库实例上是否有候选的服务可被扩展做出的,如在ServicePlacement for Enforcing Performance and Availability Levels in aMulti-Node System(50277-2412)中详细解释的。如果确定服务扩展应该被执行,则在步骤225,服务扩展被执行,程序返回步骤205。
如果确定服务扩展不能被执行,则数据库导控器确定资源报警的解决是否应该升级到集群导控器以实施更大成本的补救,例如为数据库分配另一个数据库实例,并且如果需要,向集群中添加节点。
在步骤230,数据库导控器确定是否存在挂起的“NEED-INSTANCE”请求在由集群导控器为数据库导控器处理。NEED-INSTANCE请求是请求另一个节点上的另一个数据库实例。挂起的NEED-INSTANCE请求是正在由例如集群导控器处理的NEED-INSTANCE请求。这种处理可以包括(如在后面详细描述)为数据库实例寻找节点,或从节点上删除数据库实例以便另一个数据库实例可以提供给该节点。如果存在挂起的NEED-INSTANCE请求,则在步骤235,数据库导控器等待,然后执行步骤205。如果资源报警持续,则数据库导控器执行接下来的迭代。作为挂起的NEED-INSTANCE请求的结果,新的数据库实例可能已经被分配给数据库。在下面的迭代中,数据库导控器可以扩展服务到新分配的数据库实例并减轻或补救资源报警。
如果在步骤230确定没有挂起的NEED-INSTANCE请求正在由集群导控器为数据库导控器处理,那么在步骤240,数据库导控器确定分配另一个数据库实例是否违反该数据库的最大基数。如果数据库导控器确定添加另一个数据库实例会违反数据库的最大基数,则执行进行到步骤235,在此数据库导控器等待直到进行到可能执行图2所示的程序的另一个迭代。
如果在步骤240,数据库导控器确定添加另一个数据库实例不会违反数据库的最大基数,则在步骤245,数据库导控器通过传送NEED-INSTANCE请求将资源报警的解决升级到集群导控器。
当执行程序中的各步骤时,数据库导控器将各种动作指派给一个异步工作并等待由该工作执行的各种动作的结果。例如,数据库导控器可能正在等待其发布的扩展服务(见Service Placement forEnforcing Performance and Availability Levels in a Multi-Node System(50277-2412))或迁移会话(见Incremental Run-Time SessionBalancing in a Multi-Node System(50277-2411))的异步工作的结果。另外,数据库导控器可以等待发布给集群导控器的NEED-INSTANCE请求的结果。当在这些情况中等待时,数据库导控器实际上没有闲置。相反,它同时执行图2所示的程序以处理其他资源报警。
当处理另一个服务的另一个资源报警时,数据库导控器在步骤230可以确定挂起的NEED-INSTANCE请求是挂起的。挂起的NEED-INSTANCE请求可能已经被数据库导控器为先前迭代中的另一个资源报警请求。
启动将数据库实例和节点分配给数据库
图3示出了响应于处理由“请求数据库导控器”发出的NEED-INSTANCE请求,接下来由集群导控器启动将节点分配给数据库。
参照图3,在步骤305,集群导控器确定在其负责的集群中是否有空闲的节点可以提供给实例。在实施例中,如果实例没有容留在节点上,并且集群导控器没有正在将该节点分配给另一个数据库实例(例如分配节点作为对为另一个数据库产生的NEED-INSTANCE请求的响应),或该节点被集群软件为某种目的而保留,则该节点是空闲的。集群导控器可以调用集群软件的API来确定哪些节点在该集群中以及数据库实例是否容留在其上或为某种目的已被集群软件保留。
在步骤305,如果集群导控器确定节点为空闲,则在步骤310,集群导控器调用集群软件的API函数在空闲的节点上为数据库启动数据库实例。接下来,集群导控器发送消息给请求的数据库导控器通知该数据库导控器这个数据库的实例已经提供给节点。
在步骤305,如果集群导控器确定节点不是空闲,则集群导控器尝试获得集群中分配给其他数据库(“数据库牺牲者”)的节点。
在步骤315,集群导控器定位数据库牺牲候选者。根据本发明的实施例,集群导控器产生嵌套在集群中的数据库的顺序列表,称作牺牲候选者列表,列表按照数据库优先级排序。具有较低优先级的数据库被定位在列表的开始处,具有较高优先级的数据库定位在列表的末端。
数据库牺牲候选者的定位可以通过调用函数来执行。函数根据函数中应用的策略返回一个或多个候选牺牲者。函数可以应用各种方法和策略来确定数据库牺牲候选者的列表。此外,这样的函数可以是用户提供的,即:函数可以不是数据库服务器的本地软件的部分,但已在数据库服务器注册,以为了确定数据库候选牺牲者的目的而被调用。
在步骤320,集群导控器请求牺牲列表的数据库导控器以得到停止数据库实例的志愿者,以及从自愿的一个或多个数据库导控器中选择一个自愿者。
术语“停止”指的是禁止服务器的一组客户机对服务器的使用。停止数据库实例指的是禁止客户机使用这个数据库实例访问数据库。停止服务指的是禁止服务使用数据库实例。如详细描述的,停止数据库实例可能需要阻止到数据库实例的新连接和将为客户机执行的工作通过例如会话迁移传送到另一个数据库实例。
步骤320可以以各种方式完成。
集群导控器可以按顺序一个一个地轮询牺牲候选者列表中的候选者的数据库导控器。为了轮询候选者的数据库导控器,集群导控器传送“QUIESCE-VOLUNTEER”请求给数据库导控器,数据库导控器通过发送指明数据库导控器是否自愿停止的消息来回应。如果轮询的候选者自愿,集群导控器选择该候选者作为牺牲者。
可选地,集群导控器将停止请求广播给所有的在牺牲候选者列表中的候选者的数据库导控器。然后,集群导控器在那些自愿的导控器(即发送指示该数据库导控器自愿的消息的导控器)中选择牺牲数据库。
由自愿的数据库导控器发送的消息可以包括指示停止成本的数据,将在后面详细解释。停止成本是停止数据库实例所需要的工作量。
牺牲数据库的选择可以基于数据库优先级,停止成本,或这些因素的组合。例如,集群导控器能选择与最低停止成本或最低数据库优先级相关联的数据库。如果基于数据库优先级选择,并且多个数据库具有最低优先级,则集群导控器从多个数据库中选择与最低停止成本相关联的那一个。
在步骤325,确定牺牲者是否被选择。如果没有牺牲者被选择,那么在步骤330,牺牲数据库通过从具有至少两个数据库实例的候选牺牲者列表中选择最低优先级的数据库而被选出。执行进行到步骤335。
在步骤335,集群导控器发布异步工作。该工作向牺牲者的数据库导控器发送“QUIESCE-INITIATE”请求以请求数据库导控器停止数据库实例。
图3中执行的步骤结束。
接下来,集群导控器从牺牲者的数据库导控器接收“IDLE-INSTANCE”信息,作为响应集群导控器关闭停止的实例。同时,集群导控器处理其他请求,包括其他NEED-INSTANCE请求。
响应Idle-Instance消息
图4示出了根据本发明的实施例响应IDLE-INSTANCE请求,由集群导控器遵循的程序。在步骤405,集群导控器接收IDLE-INSTANCE消息。IDLE-INSTANCE消息包括被牺牲数据库导控器停止的“牺牲数据库实例”的身份和容留牺牲数据库实例的节点。
在步骤410,集群导控器校验IDLE-INSTANCE消息的有效性,即校验牺牲数据库正在运行并且能被关闭。在牺牲数据库导控器已经停止牺牲数据库实例之后,牺牲数据库实例被关闭(即,使其不再运行),并且另一个数据库实例被启动以响应,例如,高可用性事件。在这种情况下,集群导控器不关闭另一个数据库实例。为了确定在牺牲数据库实例停止的节点上运行的数据库实例的身份,集群导控器调用集群软件的API。如果身份与牺牲数据库实例的身份相同,IDLE-INSTANCE消息是有效的并且执行进行到步骤415。否则,步骤的执行结束。
在步骤415,集群导控器关闭牺牲数据库实例。在步骤418,集群导控器确定等待新的节点的最高优先级数据库导控器(即其导控器正在等待新节点的最高优先级的数据库)。在步骤420,集群导控器为最高优先级等待数据库启动请求的数据库实例,该数据库可能与最初向集群导控器提交NEED-INSTANCE消息的数据库不同。该程序允许后到的较高优先级请求取代可能已经启动实例的停止的较低优先级请求。步骤415和420都通过调用集群软件的API来执行。
响应QUIESCE-VOLUNTEER请求
图5示出了确定数据库导控器是否可能为数据库导控器的数据库自愿停止数据库实例的程序。该程序被执行来响应由“请求集群导控器”发送的“QUIESCE-VOLUNTEER”请求。
参照图5,在步骤505,数据库导控器通过为数据库少分配一个数据库实例来确定该数据库的最小数据库基数限制是否被违反。数据库导控器可能在停止另一个数据库实例的过程中。如果是这样,数据库导控器通过少分配一个数据库实例加上在被停止的过程中的数据库实例来确定最小数据库基数限制是否被违反。如果数据库导控器确定最小数据库基数限制被违反,则执行进行到步骤530,在此数据库导控器发送消息给请求集群导控器,指定该数据库导控器不自愿停止数据库实例。否则,如果数据库导控器确定最小数据库基数限制不能被违反,则执行进行到步骤510。
在步骤510,数据库导控器通过为数据库分配少一个数据库实例来确定容留在数据库上的服务的最小服务基数是否被违反。不会违反容留在数据库上的任何服务的服务基数限制的数据库的实例的最小基数,是容留在数据库上的任何服务的最大的最小服务基数。例如,容留在数据库150上的数据库中,服务FIN和PAY的最小基数限制分别是1和2。因此任何容留的服务的最大的最小基数限制是2。存在用于数据库150的三个数据库实例。删除用于数据库150的一个数据库实例剩下2,这样最小服务基数没有被违反,执行进行到步骤515。如果,另一方面,服务PAY的最小基数限制是3,那么任何服务的最大的最小服务基数是3,删除用于数据库150的一个数据库实例违反容留在数据库150上的至少一个服务的最小服务基数,并且执行进行到步骤530,在此数据库导控器给请求的集群导控器发送消息指示数据库导控器不自愿停止。
在步骤515,为容留数据库的节点,即:容留数据库的数据库实例的节点,计算总的可用CPU利用率。根据实施例,这是通过对每个容留数据库的节点的CPUaval求和来确定的。总的可用CPU利用率是容留数据库的节点组少一个节点时处理当前的工作负荷的能力的标志。例如,节点122,124,和126的CPUaval大于80%。如果总的可用CPU利用率大于Xcpu,则有足够的总的可用CPU利用率在少一个节点时处理工作负荷而不违反阈值。
在步骤520,确定是否有充足的总的可用CPU利用率可用。如果总的可用CPU利用率大于Xcpu加上Xcpu的因数,就有足够的总的可用CPU利用率可用。
计算的总的可用CPU利用率只是容留数据库的节点在少一个节点时处理当前的工作负荷而不违反服务级别协定和CPU利用率的策略的能力的估计。因为该估计可能不精确,向Xcpu添加因数以避免其余节点的过载。这个因数可以是,例如,Xcpu的5%。
如果,在步骤520,确定没有足够的总的可用CPU利用率可用,则执行进行到步骤530,这里数据库导控器发送消息指明其不自愿。否则,在步骤525,数据库导控器发送消息确认其自愿。
确认数据库导控器自愿的消息也可以包含指示为数据库停止数据库实例的成本的数据。该数据包括任何数据库实例上的数据库会话的最小值,容留数据库的任何节点的最小CPU利用率百分率,和/或用于数据库的总的可用CPU利用率。通常,数据库实例上的数据库会话数越高说明停止实例的成本越高。较高的总的可用CPU利用率表示停止实例的成本较低。节点上较低的CPU利用率表示停止数据库实例的成本较低。
图5的过程的执行结束。
处理Quiesce-Initiate请求
图6示出了数据库导控器为数据库执行的从数据库的数据库实例中选择和停止数据库实例的程序。响应于由集群导控器发送的停止数据库实例的QUIESCE-INITIATE请求,数据库导控器执行该程序。
参照图6,在步骤605,数据库导控器选择数据库实例作为候选牺牲者,基于CPU利用率的顺序作出选择。具有较低的CPU利用率的数据库实例先于具有较高CPU利用率的数据库实例被选择。
在步骤610,数据库导控器发送“BLOCK-INSTANCE”消息至候选牺牲者的接收器。消息指示接收器停止引导数据库连接请求至选定的候选者。因此,接收器将请求任何服务的数据库连接引导至容留该服务的另一数据库实例。
在步骤615,数据库导控器确定数据库会话是否可迁移,即数据库会话是否能被迁移到另一数据库实例。例如,当会话状态包括一个打开文件的文件描述符时,数据库会话可能不可迁移。文件描述符包括只对源实例而不是目的实例上的会话有效的信息。其他确定数据库会话是否可以被迁移的方法在Transparent SessionMigration Across Servers(50277-2383)中描述。如果会话是不可迁移的,“UNBLOCK-INSTANCE”消息在步骤630被发送给接收器,通知接收器引导连接请求至候选牺牲者。另一候选牺牲者在步骤605被选择。
如果会话能被迁移,执行进行到步骤620。在该阶段,候选牺牲者成为牺牲者。
在步骤620,会话从牺牲者迁移到数据库的另一数据库实例。会话可以以在Incremental Run-Time Session Balancing in aMulti-Node System(50277-2411)中描述的相近的方式被迁移。如在此所述,会话被迁移到其他数据库实例来响应由服务级别违反导致的资源报警。服务的数据库实例上的会话被迁移到另一个数据库实例直到资源报警不再持续。
相似的程序可以被步骤620使用。数据库会话被迁移到数据库实例而不是牺牲者。资源报警,不是用于一个服务,而应用于牺牲者上的所有服务,并且持续直到所有的数据库会话从用于由牺牲者容留的所有服务的牺牲者迁出,或直到数据库导控器决定中止其迁移数据库会话的企图。在后一种情况,执行进行到步骤630,在此数据库导控器发送UNBLOCK-INSTANCE消息给接收器。图6的程序被再次执行,除了牺牲者没有再次被选为牺牲者。最后,尽管从牺牲者迁出会话被执行,迁移会话至牺牲者的所有尝试被阻止。
在步骤625,数据库导控器向集群导控器发送IDLE-INSTANCE消息。
牺牲数据库的所有实例可能具有不可迁移的数据库会话。这种情况下,数据库导控器选择一个实例作为牺牲者并迁移可迁移的数据库会话。对于不可迁移的数据库会话,数据库导控器等待直到它们终止或成为可迁移的并且被迁移,或它们可能基于管理员制定的策略和/或需要新节点的服务的优先级被强制地终止。
可选实施例的实例
通过在数据库服务和数据库服务的子类中动态分配多节点系统的资源,描述本发明的实施例。然而,本发明并不限定于此。
例如,本发明的实施例可用于在由应用程序服务器提供的服务中分配容留应用程序服务器的多节点系统的计算机资源。例如,应用程序服务器是部分三层结构(three tier architecture),其中应用程序服务器位于客户机与数据库服务器之间。应用程序服务器主要用于存储应用程序代码、提供对应用程序代码的访问,以及执行应用程序代码,而数据库服务器主要用于存储和提供对用于应用程序服务器的数据库的访问。应用程序服务器将对数据的请求发送至数据库服务器。响应于执行存储于应用程序服务器上的应用程序代码,该请求可由应用程序服务器产生。应用程序服务器的一个实例是Oracle 9i Application Server或Oracle 10g Application Server。类似于在此所述的多节点服务器的实例,应用程序服务器可分布为在多个节点上执行的多个服务器实例、容留可在服务器实例之间迁移的多个会话的服务器实例。
本发明也不限于仅由执行相同软件产品或相同版本的软件产品的拷贝的服务器实例所构成的同质的多节点服务器。例如,多节点数据库服务器可由多组服务器实例构成,每组执行来自不同厂商的不同的数据库服务器软件,或执行来自相同厂商的不同版本的数据库服务器软件。
硬件综述
图7是示出可以执行本发明的实施例的计算机系统700的框图。计算机系统700包括用于传递信息的总线702或其它通信装置以及用于处理信息的与总线702连接的处理器704。计算机系统700还包括连接至总线702的主存储器706,诸如随机访问存储器(RAM)或者其它动态存储装置,用于储存信息和将由处理器704执行的指令。在执行将由处理器704执行的指令期间,主存储器706还可用于储存临时变量或其他中间信息。计算机系统700进一步包括只读存储器(ROM)708或连接至总线702的其他静态存储装置,用于存储静态信息和处理器704的指令。提供诸如磁盘或光盘的存储设备710,并连接至总线702用于存储信息和指令。
计算机系统700可以经由总线702连接至诸如阴极射线管(CRT)的显示器712,用于向计算机用户显示信息。包括字母数字键和其他键的输入装置714连接至总线702,用于将信息和指令选择传递到处理器704。另一种类型的用户输入装置是光标控制716,诸如鼠标、跟踪球、或光标方向键,用于将方向信息和命令选择传递到处理器704并用于控制显示器712上的光标移动。输入装置通常在两个轴上(第一个轴(例如X轴)和第二个轴(例如Y轴))具有两个自由度,使装置能指派平面上的位置。
本发明涉及计算机系统700的使用,用于执行在此描述的技术。根据本发明的一个实施例,通过计算机系统700响应于执行包括在主存储器706中的一个或多个指令的一个或多个序列的处理器704,来实现这些技术。这样的指令可以从诸如存储装置710的其它计算机可读介质读入主存储器706。包括在主存储器706中的指令序列的执行,使得处理器704执行此处所述的处理步骤。在可选实施例中,可以使用硬连线电路(hard-wired circuitry)来取代软件指令或者与软件指令结合来实施该发明。因此,本发明的实施例将不限于硬件电路和软件的任何特定组合。
这里使用的术语“计算机可读介质”是指参与向处理器704提供指令用于执行的任何介质。这种介质可以采取多种形式,包括但不限于非易失性介质、易失性介质、和传递介质。非易失性介质举例来说包括光盘或磁盘,诸如存储装置710。易失性介质包括动态存储器,诸如主存储器706。传输介质包括同轴电缆、铜线、和光纤,包括组成总线702的导线。传输介质还可采取声波或光波形式,例如那些在无线电波和红外线数据通信过程中产生的声波和光波。
通常形式的计算机可读介质包括如软盘、软性盘、硬盘、磁带,或者任何其它磁性介质、CD-ROM、任何其它光介质、打孔纸、纸带、或者任何带孔图样的物理介质、RAM、PROM、EPROM、FLASH-EPROM、或者其他任何存储芯片或者盒式磁带,或者以下提到的载波、或者计算机可读的任何其他介质。
各种形式的计算机可读介质可参与将一个或者多个指令的一个或多个序列承载到处理器704用于执行。例如,指令开始可承载在远程计算机的磁盘中。远程计算机可以将指令加载到其动态存储器中,然后使用调制解调器通过电话线发送指令。计算机系统700本地的调制解调器可接收电话线上的数据,并使用红外发射器将数据转换成红外信号。红外探测器可以接收红外信号携带的数据,并且合适的电路可以将数据放到总线702上。总线702将数据承载到主存储器706,处理器704从主存储器取回并执行这些指令。在由处理器704执行这些指令之前或之后,由主存储器706接收的指令可随意地储存在存储装置710上。
计算机系统700还包括连接至总线702的通信接口718。提供双向数据通信的通信接口718,连接到与局域网722连接的网络链路720。例如,通信接口718可以是综合业务数字网(ISDN)卡或者调制解调器,用于提供到相应类型的电话线的数据通信连接。又如,通信接口718可以是局域网(LAN)卡,用于提供至兼容局域网(LAN)的数据通信连接。也可以使用无线链路。在任何这样的实施中,通信接口718发送和接收承载表示各种类型的信息的数字数据流的电信号、电磁信号、和光学信号。
网络链路720通常可通过一个或者多个网络向其它数据装置提供数据通信。例如,网络链路720可通过局域网722与主机724连接,或者与互联网业务提供商(ISP)726操作的数据设备连接。ISP726又通过目前通称为“互联网”728的全球分组数据通信网络提供数据通信业务。局域网722和互联网728都使用承载数字数据流的电信号、电磁信号、或光学信号。通过各种网络的信号和网络链路720上的信号以及通过通信接口718的信号,都传送数字数据给计算机系统700或者传送来自计算机系统的数字数据,是传输信息的载波的示例性形式。
计算机系统700能通过网络、网络链路720、和通信接口718发送消息和接收数据(包括程序代码)。在互联网的实例中,服务器730可通过互联网728、ISP726、局域网722、和通信接口718,传送用于应用程序的所请求的程序代码。
所接收的代码可以在其被接收时由处理器704执行,和/或储存在存储装置710或者其它非易失性介质中用于随后执行。按照这种方式,计算机系统700可以以载波的形式获得应用代码。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种用于管理多节点系统中的资源的方法,所述方法包括以下步骤:
所述多节点系统检测在多节点服务器上的服务级别协定的违反,其中所述多节点服务器包括运行第一节点组的服务器实例组;
响应于检测所述违反,所述多节点系统确定是否通过使用不是所述第一节点组的成员的节点容留所述多节点服务器的另一服务器实例来解决所述违反;以及
响应于确定通过使用不是所述第一节点组的成员的节点来解决所述违反,通过执行以下步骤来尝试解决所述违反,包括:
所述多节点系统寻找另一节点以用来容留所述多节点服务器的第二服务器实例,以及
所述多节点系统启动在所述另一节点上的所述多节点服务器的所述第二服务器实例。
2.根据权利要求1所述的方法,其中
在寻找所述另一节点之后并且在启动所述第二服务器实例之前,所述节点容留第三服务器实例;以及
所述尝试解决所述违反的步骤进一步包括在启动所述服务器实例之前关闭所述第三服务器实例。
3.根据权利要求1所述的方法,其中所述寻找另一节点的步骤进一步包括:
产生候选者组,该候选者组对应于由不同于所述第一节点组的另一节点组容留的另一多节点服务器;以及
从所述从其解除分配节点的候选者组中选择牺牲者。
4.根据权利要求3所述的方法,其中
所述步骤进一步包括发送请求至对应于自愿停止节点上的服务器实例的所述候选者组的候选者的多节点服务器;以及
选择牺牲者包括从多个多节点服务器的候选者选择牺牲者,所述多节点响应于所述停止的请求发送消息以自愿停止。
5.根据权利要求4所述的方法,其中所述发送请求至多节点服务器的步骤包括将所述请求广播给所述候选者组。
6.根据权利要求4所述的方法,其中所述从多个多节点服务器的候选者选择牺牲者的步骤包括基于一个或多个因数选择牺牲者,所述因数至少包括以下中的一个:
优先级数据,由用户提供以及表示所述多个多节点服务器的一个候选者相对于所述多个多节点服务器的其它候选者的优先级;以及
停止成本,与停止节点上的服务器实例相关联。
7.根据权利要求2所述的方法,其中所述尝试解决所述违反的步骤包括:
将请求发送至第二多节点服务器以准备服务器实例停止;以及
从所述第二多节点服务器接收信息,指示服务器实例准备被停止。
8.根据权利要求7所述的方法,其中
所述指示服务器实例准备的消息进一步包括识别所述第二服务器实例和节点的数据。
9.一种用于管理在多节点系统中的资源的方法,所述方法包括以下步骤:
第一多节点服务器,运行在所述多节点系统的多个节点上,所述第一多节点服务器包括运行在所述多个节点上的多个服务器实例;
所述第一多节点服务器接收确认是否至少一个服务器实例可以被释放的请求;
响应于接收所述请求,所述第一多节点服务器确定使用至少少一个的服务器实例是否导致服务级别违反;以及
如果所述第一多节点服务器确定至少一个服务器实例不导致服务级别违反,则发送指示多个服务器实例的至少一个服务器实例可以被释放的消息。
10.根据权利要求9所述的方法,其中确定使用至少少一个的服务器实例是否导致服务级别违反包括确定由所述第一多节点服务器执行的一类工作的服务级别协定是否被违反。
11.根据权利要求10所述的方法,其中所述执行的一类工作的服务级别协定基于分配给该类工作的服务器实例的基数。
12.根据权利要求9所述的方法,其中确定使用至少少一个服务器实例是否导致服务级别违反包括确定是否存在足够可用的未使用的CPU使用率以吸收至少少一个节点的所述多个节点的工作负荷。
13.根据权利要求9所述的方法,其中
所述多节点系统包括多个包括第二多节点服务器的其它多节点服务器;
优先级与所述多个其它多节点服务器相关联;
对所述第二多节点服务器的另一服务器实例的请求引起发送所述请求以确认至少一个服务器实例可以被释放;
所述步骤进一步包括,响应于接收所述指示至少一个服务器实例可以被释放的消息,将所述至少一个服务器实例分配至与所述优先级的较高级别相关联的多节点服务器;以及
所述与所述优先级的较高级别相关联的多节点服务器是所述第二多节点服务器或所述多个其它多节点服务器的不同多节点服务器。
14.一种用于管理多节点系统中的资源的方法,所述方法包括以下步骤:
多节点服务器,运行在所述多节点系统的多个节点上,所述多节点服务器包括运行在所述多个节点上的多个服务器实例;
所述多节点服务器接收确认是否至少一个服务器实例可以被释放的请求;
响应于接收所述请求,基于性能的指标,选择在其上停止为所述多节点服务器的客户机执行工作的所述多个服务器实例的特定服务器实例;以及
使所述特定服务器实例停止为所述客户机执行工作。
15.根据权利要求14所述的方法,其中所述性能的指标是基于在其上容留服务器实例的节点的CPU使用率。
16.根据权利要求14所述的方法,其中
所述特定服务器实例具有为所述多节点服务器的客户机建立的会话;
所述步骤进一步包括确定所述会话是否可以从所述特定服务器实例迁移到所述多个服务器实例的另一个;以及
所述使所述特定服务器实例停止为所述客户机执行工作的步骤只有在所述会话可以从所述特定服务器实例迁移时被执行。
Applications Claiming Priority (13)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US49536803P | 2003-08-14 | 2003-08-14 | |
US60/495,368 | 2003-08-14 | ||
US60/500,096 | 2003-09-03 | ||
US60/500,050 | 2003-09-03 | ||
US10/718,747 | 2003-11-21 | ||
US10/917,661 | 2004-08-12 | ||
US10/917,715 | 2004-08-12 | ||
US10/917,953 | 2004-08-12 | ||
US10/918,056 | 2004-08-12 | ||
US10/917,873 | 2004-08-12 | ||
US10/918,055 | 2004-08-12 | ||
US10/918,054 | 2004-08-12 | ||
US10/917,687 | 2004-08-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1836214A true CN1836214A (zh) | 2006-09-20 |
CN100407153C CN100407153C (zh) | 2008-07-30 |
Family
ID=37003322
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004800230597A Expired - Lifetime CN100547583C (zh) | 2003-08-14 | 2004-08-09 | 数据库的自动和动态提供的方法 |
CN2004800233523A Expired - Lifetime CN100407153C (zh) | 2003-08-14 | 2004-08-13 | 需要时节点和服务器实例分配和解除分配 |
CNB200480023127XA Expired - Lifetime CN100437545C (zh) | 2003-08-14 | 2004-08-13 | 服务器间的透明会话迁移的方法 |
CNB2004800230578A Expired - Lifetime CN100527090C (zh) | 2003-08-14 | 2004-08-13 | 用于动态分配计算机资源的方法 |
CNB2004800230629A Expired - Lifetime CN100518181C (zh) | 2003-08-14 | 2004-08-13 | 服务器之间无状态会话的透明迁移 |
CNB2004800230563A Expired - Lifetime CN100549960C (zh) | 2003-08-14 | 2004-08-13 | 群集计算系统中改变的快速应用程序通知的方法和系统 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004800230597A Expired - Lifetime CN100547583C (zh) | 2003-08-14 | 2004-08-09 | 数据库的自动和动态提供的方法 |
Family Applications After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200480023127XA Expired - Lifetime CN100437545C (zh) | 2003-08-14 | 2004-08-13 | 服务器间的透明会话迁移的方法 |
CNB2004800230578A Expired - Lifetime CN100527090C (zh) | 2003-08-14 | 2004-08-13 | 用于动态分配计算机资源的方法 |
CNB2004800230629A Expired - Lifetime CN100518181C (zh) | 2003-08-14 | 2004-08-13 | 服务器之间无状态会话的透明迁移 |
CNB2004800230563A Expired - Lifetime CN100549960C (zh) | 2003-08-14 | 2004-08-13 | 群集计算系统中改变的快速应用程序通知的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (3) | US7747754B2 (zh) |
CN (6) | CN100547583C (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101663645A (zh) * | 2007-02-13 | 2010-03-03 | 阿玛得斯两合公司 | 接口模块 |
CN106559485A (zh) * | 2016-11-15 | 2017-04-05 | 杭州迪普科技股份有限公司 | 一种控制服务器关机的方法及装置 |
CN110362410A (zh) * | 2019-07-24 | 2019-10-22 | 江苏满运软件科技有限公司 | 基于离线应用的资源控制方法、系统、设备及存储介质 |
Families Citing this family (155)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8655755B2 (en) * | 2003-10-22 | 2014-02-18 | Scottrade, Inc. | System and method for the automated brokerage of financial instruments |
US20060123131A1 (en) * | 2004-12-02 | 2006-06-08 | Almaula Jay R | Method and apparatus and system for performing seamless mobility |
US20060200469A1 (en) * | 2005-03-02 | 2006-09-07 | Lakshminarayanan Chidambaran | Global session identifiers in a multi-node system |
US8316129B2 (en) | 2005-05-25 | 2012-11-20 | Microsoft Corporation | Data communication coordination with sequence numbers |
KR100686382B1 (ko) * | 2005-07-08 | 2007-02-22 | 엔에이치엔(주) | 싱크 서버를 이용한 메신저 알림 시스템 및 방법 |
KR100640490B1 (ko) * | 2005-08-05 | 2006-10-30 | 삼성전자주식회사 | 이동성을 보장하는 다중 사용자 지원 멀티미디어 컨텐츠제공 시스템과 그 제공 방법 |
US7904430B2 (en) * | 2005-08-09 | 2011-03-08 | At&T Intellectual Property I, L.P. | End-user portal session logging by portlets |
US20070083549A1 (en) * | 2005-10-10 | 2007-04-12 | Oracle International Corporation | Method and mechanism for providing a caching mechanism for contexts |
CN101346634B (zh) * | 2005-11-04 | 2012-10-24 | 甲骨文国际公司 | 用于通信网络中的网守的系统和方法 |
US20070104186A1 (en) * | 2005-11-04 | 2007-05-10 | Bea Systems, Inc. | System and method for a gatekeeper in a communications network |
KR100763526B1 (ko) * | 2005-12-12 | 2007-10-04 | 한국전자통신연구원 | 애플리케이션 컨텍스트 관리 장치 및 방법 |
US8024439B2 (en) | 2006-03-17 | 2011-09-20 | Microsoft Corporation | Server session management application program interface and schema |
US8171466B2 (en) * | 2006-05-16 | 2012-05-01 | Oracle International Corporation | Hitless application upgrade for SIP server architecture |
US8219697B2 (en) * | 2006-05-17 | 2012-07-10 | Oracle International Corporation | Diameter protocol and SH interface support for SIP server architecture |
US8326996B2 (en) * | 2006-06-02 | 2012-12-04 | Oracle International Corporation | Method and apparatus for establishing multiple sessions between a database and a middle-tier client |
US7490111B2 (en) * | 2006-06-07 | 2009-02-10 | International Business Machines Corporation | Efficient handling of mostly read data in a computer server |
US7769843B2 (en) * | 2006-09-22 | 2010-08-03 | Hy Performix, Inc. | Apparatus and method for capacity planning for data center server consolidation and workload reassignment |
US8719143B2 (en) * | 2006-09-28 | 2014-05-06 | Microsoft Corporation | Determination of optimized location for services and data |
US20080080526A1 (en) * | 2006-09-28 | 2008-04-03 | Microsoft Corporation | Migrating data to new cloud |
US7661027B2 (en) * | 2006-10-10 | 2010-02-09 | Bea Systems, Inc. | SIP server architecture fault tolerance and failover |
US7890457B2 (en) * | 2006-10-20 | 2011-02-15 | Oracle International Corporation | Transactionally consistent database workload replay |
US7984015B2 (en) * | 2006-10-20 | 2011-07-19 | Oracle International Corporation | Database workload capture and replay architecture |
US8024299B2 (en) * | 2006-10-20 | 2011-09-20 | Oracle International Corporation | Client-driven functionally equivalent database replay |
US20080098003A1 (en) * | 2006-10-20 | 2008-04-24 | Oracle International Corporation | Database workload replay remapping infrastructure |
US7890458B2 (en) * | 2006-10-20 | 2011-02-15 | Oracle International Corporation | Capturing database workload while preserving original transactional and concurrency characteristics for replay |
US7634512B2 (en) * | 2006-10-20 | 2009-12-15 | Oracle International Corporation | Migrating temporary data of a session |
US8078737B2 (en) * | 2006-12-13 | 2011-12-13 | Oracle International Corporation | System and method for efficient storage of long-lived session state in a SIP server |
JP5034495B2 (ja) * | 2006-12-27 | 2012-09-26 | 日本電気株式会社 | ストレージシステムとプログラム並びに方法 |
US8997048B1 (en) | 2007-02-14 | 2015-03-31 | Oracle America, Inc. | Method and apparatus for profiling a virtual machine |
US7761401B2 (en) * | 2007-06-07 | 2010-07-20 | International Business Machines Corporation | Stochastic control optimization for sender-based flow control in a distributed stateful messaging system |
US8014994B2 (en) * | 2007-08-31 | 2011-09-06 | Sap Ag | Simulation business object for service oriented architecture |
US7752225B2 (en) * | 2007-10-16 | 2010-07-06 | Oracle International Corporation | Replication and mapping mechanism for recreating memory durations |
US7877490B1 (en) * | 2007-12-28 | 2011-01-25 | Violin Memory, Inc. | Method and apparatus for efficient TCP connection handoff |
US20090204966A1 (en) * | 2008-02-12 | 2009-08-13 | Johnson Conrad J | Utility for tasks to follow a user from device to device |
CN101236510B (zh) * | 2008-02-22 | 2010-06-02 | 深圳市金蝶中间件有限公司 | 一种ejb集群的失败恢复处理方法及系统 |
CN101291346B (zh) * | 2008-06-06 | 2012-02-15 | 中国科学院计算技术研究所 | 一种网格文件处理方法及其处理设备 |
US8433680B2 (en) | 2008-07-01 | 2013-04-30 | Oracle International Corporation | Capturing and restoring database session state |
US20100107114A1 (en) * | 2008-10-28 | 2010-04-29 | Zachcial Slawomir | In context web page localization |
US9588806B2 (en) * | 2008-12-12 | 2017-03-07 | Sap Se | Cluster-based business process management through eager displacement and on-demand recovery |
US8255496B2 (en) | 2008-12-30 | 2012-08-28 | Juniper Networks, Inc. | Method and apparatus for determining a network topology during network provisioning |
US8565118B2 (en) * | 2008-12-30 | 2013-10-22 | Juniper Networks, Inc. | Methods and apparatus for distributed dynamic network provisioning |
US9344401B2 (en) * | 2009-02-04 | 2016-05-17 | Citrix Systems, Inc. | Methods and systems for providing translations of data retrieved from a storage system in a cloud computing environment |
US9325790B1 (en) * | 2009-02-17 | 2016-04-26 | Netapp, Inc. | Servicing of network software components of nodes of a cluster storage system |
US8418150B2 (en) * | 2009-04-03 | 2013-04-09 | Oracle International Corporation | Estimating impact of configuration changes |
US9667269B2 (en) | 2009-04-30 | 2017-05-30 | Oracle International Corporation | Technique for compressing XML indexes |
US8356060B2 (en) | 2009-04-30 | 2013-01-15 | Oracle International Corporation | Compression analyzer |
US8935223B2 (en) * | 2009-04-30 | 2015-01-13 | Oracle International Corporation | Structure of hierarchical compressed data structure for tabular data |
US8645337B2 (en) * | 2009-04-30 | 2014-02-04 | Oracle International Corporation | Storing compression units in relational tables |
US9130903B2 (en) * | 2009-07-01 | 2015-09-08 | Citrix Systems, Inc. | Unified out of band management system for desktop and server sessions |
US8296517B2 (en) | 2009-08-19 | 2012-10-23 | Oracle International Corporation | Database operation-aware striping technique |
US9341843B2 (en) | 2010-02-28 | 2016-05-17 | Microsoft Technology Licensing, Llc | See-through near-eye display glasses with a small scale image source |
US9229227B2 (en) | 2010-02-28 | 2016-01-05 | Microsoft Technology Licensing, Llc | See-through near-eye display glasses with a light transmissive wedge shaped illumination system |
US8467133B2 (en) | 2010-02-28 | 2013-06-18 | Osterhout Group, Inc. | See-through display with an optical assembly including a wedge-shaped illumination system |
US9097891B2 (en) | 2010-02-28 | 2015-08-04 | Microsoft Technology Licensing, Llc | See-through near-eye display glasses including an auto-brightness control for the display brightness based on the brightness in the environment |
US9128281B2 (en) | 2010-09-14 | 2015-09-08 | Microsoft Technology Licensing, Llc | Eyepiece with uniformly illuminated reflective display |
US8472120B2 (en) | 2010-02-28 | 2013-06-25 | Osterhout Group, Inc. | See-through near-eye display glasses with a small scale image source |
US9182596B2 (en) | 2010-02-28 | 2015-11-10 | Microsoft Technology Licensing, Llc | See-through near-eye display glasses with the optical assembly including absorptive polarizers or anti-reflective coatings to reduce stray light |
US8477425B2 (en) | 2010-02-28 | 2013-07-02 | Osterhout Group, Inc. | See-through near-eye display glasses including a partially reflective, partially transmitting optical element |
CN102906623A (zh) | 2010-02-28 | 2013-01-30 | 奥斯特豪特集团有限公司 | 交互式头戴目镜上的本地广告内容 |
US8482859B2 (en) | 2010-02-28 | 2013-07-09 | Osterhout Group, Inc. | See-through near-eye display glasses wherein image light is transmitted to and reflected from an optically flat film |
US9129295B2 (en) | 2010-02-28 | 2015-09-08 | Microsoft Technology Licensing, Llc | See-through near-eye display glasses with a fast response photochromic film system for quick transition from dark to clear |
US8488246B2 (en) | 2010-02-28 | 2013-07-16 | Osterhout Group, Inc. | See-through near-eye display glasses including a curved polarizing film in the image source, a partially reflective, partially transmitting optical element and an optically flat film |
US9134534B2 (en) | 2010-02-28 | 2015-09-15 | Microsoft Technology Licensing, Llc | See-through near-eye display glasses including a modular image source |
US9091851B2 (en) | 2010-02-28 | 2015-07-28 | Microsoft Technology Licensing, Llc | Light control in head mounted displays |
US20120249797A1 (en) | 2010-02-28 | 2012-10-04 | Osterhout Group, Inc. | Head-worn adaptive display |
US9759917B2 (en) | 2010-02-28 | 2017-09-12 | Microsoft Technology Licensing, Llc | AR glasses with event and sensor triggered AR eyepiece interface to external devices |
US20150309316A1 (en) | 2011-04-06 | 2015-10-29 | Microsoft Technology Licensing, Llc | Ar glasses with predictive control of external device based on event input |
US9366862B2 (en) | 2010-02-28 | 2016-06-14 | Microsoft Technology Licensing, Llc | System and method for delivering content to a group of see-through near eye display eyepieces |
US9285589B2 (en) | 2010-02-28 | 2016-03-15 | Microsoft Technology Licensing, Llc | AR glasses with event and sensor triggered control of AR eyepiece applications |
US10180572B2 (en) | 2010-02-28 | 2019-01-15 | Microsoft Technology Licensing, Llc | AR glasses with event and user action control of external applications |
US9097890B2 (en) | 2010-02-28 | 2015-08-04 | Microsoft Technology Licensing, Llc | Grating in a light transmissive illumination system for see-through near-eye display glasses |
US9223134B2 (en) | 2010-02-28 | 2015-12-29 | Microsoft Technology Licensing, Llc | Optical imperfections in a light transmissive illumination system for see-through near-eye display glasses |
US8478813B2 (en) * | 2010-04-28 | 2013-07-02 | Microsoft Corporation | Transparent migration of endpoint |
CN101859317A (zh) * | 2010-05-10 | 2010-10-13 | 浪潮电子信息产业股份有限公司 | 一种利用虚拟化构建数据库集群的方法 |
US8572268B2 (en) * | 2010-06-23 | 2013-10-29 | International Business Machines Corporation | Managing secure sessions |
US8490165B2 (en) | 2010-06-23 | 2013-07-16 | International Business Machines Corporation | Restoring secure sessions |
US8112665B1 (en) * | 2010-07-23 | 2012-02-07 | Netapp, Inc. | Methods and systems for rapid rollback and rapid retry of a data migration |
US8903782B2 (en) * | 2010-07-27 | 2014-12-02 | Microsoft Corporation | Application instance and query stores |
US8595192B1 (en) * | 2010-12-01 | 2013-11-26 | Symantec Corporation | Systems and methods for providing high availability to instance-bound databases |
CN102130938B (zh) * | 2010-12-03 | 2012-02-15 | 中国科学院软件研究所 | 一种面向Web应用宿主平台的资源供给方法 |
EP2647180B1 (en) * | 2010-12-03 | 2020-11-11 | Unify Inc. | Apparatus and method for subscription to a service and use of the service |
US8170981B1 (en) * | 2010-12-08 | 2012-05-01 | Dassault Systemes Enovia Corporation | Computer method and system for combining OLTP database and OLAP database environments |
US8631277B2 (en) | 2010-12-10 | 2014-01-14 | Microsoft Corporation | Providing transparent failover in a file system |
US8891406B1 (en) | 2010-12-22 | 2014-11-18 | Juniper Networks, Inc. | Methods and apparatus for tunnel management within a data center |
US9697050B2 (en) * | 2010-12-22 | 2017-07-04 | Sap Se | System and method for scaling for a large number of concurrent users |
US8300790B2 (en) | 2010-12-27 | 2012-10-30 | Avaya Inc. | Method and system for automatic conference call session migration |
US9244741B2 (en) * | 2011-04-02 | 2016-01-26 | Open Invention Network, Llc | System and method for service mobility |
US9331955B2 (en) | 2011-06-29 | 2016-05-03 | Microsoft Technology Licensing, Llc | Transporting operations of arbitrary size over remote direct memory access |
US8856582B2 (en) * | 2011-06-30 | 2014-10-07 | Microsoft Corporation | Transparent failover |
US8190749B1 (en) | 2011-07-12 | 2012-05-29 | Google Inc. | Systems and methods for accessing an interaction state between multiple devices |
EP2549711B1 (en) | 2011-07-18 | 2018-04-25 | Alcatel Lucent | Method for transferring state information pertaining to a plurality of SIP conversations |
US20130041790A1 (en) * | 2011-08-12 | 2013-02-14 | Sivakumar Murugesan | Method and system for transferring an application state |
US20130067095A1 (en) | 2011-09-09 | 2013-03-14 | Microsoft Corporation | Smb2 scaleout |
US9600371B2 (en) | 2011-09-09 | 2017-03-21 | Oracle International Corporation | Preserving server-client session context |
US8984170B2 (en) | 2011-09-09 | 2015-03-17 | Oracle International Corporation | Idempotence for database transactions |
US8725882B2 (en) * | 2011-09-09 | 2014-05-13 | Oracle International Corporation | Masking database outages from clients and applications |
US8549154B2 (en) | 2011-09-09 | 2013-10-01 | Oracle International Corporation | Recovering stateful read-only database sessions |
US8788579B2 (en) | 2011-09-09 | 2014-07-22 | Microsoft Corporation | Clustered client failover |
US8924346B2 (en) | 2011-09-09 | 2014-12-30 | Oracle International Corporation | Idempotence for database transactions |
US8965921B2 (en) * | 2012-06-06 | 2015-02-24 | Rackspace Us, Inc. | Data management and indexing across a distributed database |
US9608831B2 (en) * | 2012-06-22 | 2017-03-28 | Facebook, Inc. | Migrating a chat message service provided by a chat server to a new chat server |
US9749373B2 (en) * | 2012-08-14 | 2017-08-29 | Apple Inc. | System and method for improved content streaming |
US9167050B2 (en) * | 2012-08-16 | 2015-10-20 | Futurewei Technologies, Inc. | Control pool based enterprise policy enabler for controlled cloud access |
US20140089260A1 (en) * | 2012-09-27 | 2014-03-27 | International Business Machines Corporation | Workload transitioning in an in-memory data grid |
US9258666B2 (en) | 2012-10-17 | 2016-02-09 | International Business Machines Corporation | State migration of edge-of-network applications |
US9219762B2 (en) | 2012-10-30 | 2015-12-22 | Netiq Corporation | Techniques for desktop migration |
US9277017B2 (en) | 2012-10-30 | 2016-03-01 | Netiq Corporation | Techniques for device independent session migration |
US9471545B2 (en) | 2013-02-11 | 2016-10-18 | Oracle International Corporation | Approximating value densities |
US9135280B2 (en) | 2013-02-11 | 2015-09-15 | Oracle International Corporation | Grouping interdependent fields |
US9367262B2 (en) * | 2013-02-26 | 2016-06-14 | Seagate Technology Llc | Assigning a weighting to host quality of service indicators |
JP6094272B2 (ja) * | 2013-03-06 | 2017-03-15 | 富士通株式会社 | 管理システム、管理方法、管理プログラム及び管理装置 |
US9614918B2 (en) | 2013-03-14 | 2017-04-04 | International Business Machines Corporation | Migration of network connection under mobility |
JP6248523B2 (ja) | 2013-10-07 | 2017-12-20 | 富士通株式会社 | データ処理管理方法、情報処理装置およびデータ処理管理プログラム |
US9628550B1 (en) * | 2013-10-24 | 2017-04-18 | Ca, Inc. | Lightweight software management shell |
CN104660550B (zh) * | 2013-11-20 | 2019-03-01 | 北京邮电大学 | 一种在多服务器之间进行会话迁移的方法 |
CN103699394B (zh) * | 2014-01-08 | 2017-04-12 | 夏夀民 | 一种基于多方交流协议自动生成软件系统交互框架的方法 |
CN104850569B (zh) * | 2014-02-19 | 2019-12-06 | 腾讯科技(北京)有限公司 | 数据迁移方法和装置 |
US10049205B2 (en) * | 2014-06-25 | 2018-08-14 | Oracle International Corporation | Asserting identities of application users in a database system based on delegated trust |
US9800519B2 (en) * | 2014-08-21 | 2017-10-24 | Microsoft Technology Licensing, Llc | Equitable sharing of system resources in workflow execution |
KR102437664B1 (ko) | 2014-09-26 | 2022-08-29 | 오라클 인터내셔날 코포레이션 | 멀티테넌트 어플리케이션 서버 환경에서 트랜잭션 복구를 위한 시스템 및 방법 |
CN104486401A (zh) * | 2014-12-11 | 2015-04-01 | 中铁程科技有限责任公司 | 数据分区控制方法及系统 |
JP6439475B2 (ja) * | 2015-02-09 | 2018-12-19 | 富士通株式会社 | 情報処理装置、情報処理システム及び制御プログラム |
AU2016276475A1 (en) * | 2015-06-09 | 2017-11-30 | Satori Worldwide, Llc | Distributed scalable workload testing |
US9990308B2 (en) | 2015-08-31 | 2018-06-05 | Oracle International Corporation | Selective data compression for in-memory databases |
CN105162866A (zh) * | 2015-09-15 | 2015-12-16 | 浪潮软件股份有限公司 | 一种应用系统并发访问控制方法 |
US10298679B1 (en) * | 2015-09-18 | 2019-05-21 | Amazon Technologies, Inc. | Object ownership migration |
US11082499B2 (en) * | 2015-10-19 | 2021-08-03 | Citrix Systems, Inc. | Browser server session transfer |
US10339127B2 (en) | 2016-01-28 | 2019-07-02 | Oracle International Corporation | Guaranteed commit outcome in a distributed transaction processing system |
US10341410B2 (en) | 2016-05-11 | 2019-07-02 | Oracle International Corporation | Security tokens for a multi-tenant identity and data security management cloud service |
US10878079B2 (en) | 2016-05-11 | 2020-12-29 | Oracle International Corporation | Identity cloud service authorization model with dynamic roles and scopes |
US9838377B1 (en) * | 2016-05-11 | 2017-12-05 | Oracle International Corporation | Task segregation in a multi-tenant identity and data security management cloud service |
US10425386B2 (en) | 2016-05-11 | 2019-09-24 | Oracle International Corporation | Policy enforcement point for a multi-tenant identity and data security management cloud service |
US10581820B2 (en) | 2016-05-11 | 2020-03-03 | Oracle International Corporation | Key generation and rollover |
US10585682B2 (en) | 2016-08-05 | 2020-03-10 | Oracle International Corporation | Tenant self-service troubleshooting for a multi-tenant identity and data security management cloud service |
US10721237B2 (en) | 2016-08-05 | 2020-07-21 | Oracle International Corporation | Hierarchical processing for a virtual directory system for LDAP to SCIM proxy service |
US10735394B2 (en) | 2016-08-05 | 2020-08-04 | Oracle International Corporation | Caching framework for a multi-tenant identity and data security management cloud service |
US10303894B2 (en) | 2016-08-31 | 2019-05-28 | Oracle International Corporation | Fine-grained access control for data manipulation language (DML) operations on relational data |
US10567364B2 (en) | 2016-09-16 | 2020-02-18 | Oracle International Corporation | Preserving LDAP hierarchy in a SCIM directory using special marker groups |
US10791087B2 (en) | 2016-09-16 | 2020-09-29 | Oracle International Corporation | SCIM to LDAP mapping using subtype attributes |
US10353640B2 (en) * | 2016-12-06 | 2019-07-16 | Dell Products L.P. | Seamless data migration in a clustered environment |
US10348836B2 (en) | 2017-02-22 | 2019-07-09 | Microsoft Technology Licensing, Llc | Migrating clients between servers |
CN109218356B (zh) | 2017-06-30 | 2021-10-08 | 伊姆西Ip控股有限责任公司 | 管理服务器上有状态应用的方法和设备 |
CN107402850B (zh) * | 2017-07-31 | 2021-02-09 | 苏州浪潮智能科技有限公司 | 一种数据库数据文件的冗余方法与装置 |
US11556500B2 (en) | 2017-09-29 | 2023-01-17 | Oracle International Corporation | Session templates |
CN107741852B (zh) * | 2017-10-16 | 2020-09-29 | 中国电子科技集团公司第二十八研究所 | 一种基于集群软件的服务部署方法 |
CN107918668B (zh) * | 2017-11-28 | 2020-01-31 | 苏州浪潮智能科技有限公司 | 一种k-db数据库表空间元数据本地存储方法 |
US10616321B2 (en) | 2017-12-22 | 2020-04-07 | At&T Intellectual Property I, L.P. | Distributed stateful load balancer |
CN108733484B (zh) | 2018-04-13 | 2021-12-03 | 华为技术有限公司 | 管理应用程序的方法与装置 |
CN110543512B (zh) * | 2018-05-29 | 2022-10-04 | 优信拍(北京)信息科技有限公司 | 一种信息同步方法,装置及系统 |
CN111580951B (zh) * | 2019-02-15 | 2023-10-10 | 杭州海康威视数字技术股份有限公司 | 一种任务分配方法及资源管理平台 |
US11936739B2 (en) | 2019-09-12 | 2024-03-19 | Oracle International Corporation | Automated reset of session state |
US11687507B2 (en) | 2019-09-12 | 2023-06-27 | Oracle International Corporation | Termination of database sessions for planned failover |
CN112540843B (zh) * | 2019-09-20 | 2024-05-07 | 杭州海康威视数字技术股份有限公司 | 资源的分配方法、装置、存储设备及存储介质 |
US11544237B2 (en) | 2021-01-12 | 2023-01-03 | Oracle International Corporation | Database connection refresh for server instances and live database updates |
US11799971B2 (en) | 2022-02-17 | 2023-10-24 | Bank Of America Corporation | Systems and methods for session migration between devices |
Family Cites Families (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5028A (en) * | 1847-03-20 | monohot | ||
US5013222A (en) * | 1990-04-19 | 1991-05-07 | General Motors Corporation | Fuel pump for motor vehicle |
US6567525B1 (en) * | 1994-06-17 | 2003-05-20 | Bose Corporation | Supra aural active noise reduction headphones |
US5774668A (en) | 1995-06-07 | 1998-06-30 | Microsoft Corporation | System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing |
US5758345A (en) | 1995-11-08 | 1998-05-26 | International Business Machines Corporation | Program and method for establishing a physical database layout on a distributed processor system |
US5881159A (en) * | 1996-03-14 | 1999-03-09 | Sarnoff Corporation | Disposable hearing aid |
US6473511B1 (en) * | 1996-03-14 | 2002-10-29 | Sarnoff Corporation | Disposable hearing aid with integral power source |
US7010137B1 (en) * | 1997-03-12 | 2006-03-07 | Sarnoff Corporation | Hearing aid |
EP0901743A1 (en) * | 1996-03-26 | 1999-03-17 | Sarnoff Corporation | Battery and circuitry assembly |
US6182139B1 (en) * | 1996-08-05 | 2001-01-30 | Resonate Inc. | Client-side resource-based load-balancing with delayed-resource-binding using TCP state migration to WWW server farm |
US6006274A (en) | 1997-01-30 | 1999-12-21 | 3Com Corporation | Method and apparatus using a pass through personal computer connected to both a local communication link and a computer network for indentifying and synchronizing a preferred computer with a portable computer |
US6041357A (en) * | 1997-02-06 | 2000-03-21 | Electric Classified, Inc. | Common session token system and protocol |
US5890167A (en) | 1997-05-08 | 1999-03-30 | Oracle Corporation | Pluggable tablespaces for database systems |
US7031987B2 (en) | 1997-05-30 | 2006-04-18 | Oracle International Corporation | Integrating tablespaces with different block sizes |
US6272503B1 (en) | 1997-05-30 | 2001-08-07 | Oracle Corporation | Tablespace-relative database pointers |
US6088728A (en) | 1997-06-11 | 2000-07-11 | Oracle Corporation | System using session data stored in session data storage for associating and disassociating user identifiers for switching client sessions in a server |
US6243751B1 (en) | 1997-06-11 | 2001-06-05 | Oracle Corporation | Method and apparatus for coupling clients to servers |
US5918059A (en) | 1997-08-15 | 1999-06-29 | Compaq Computer Corporation | Method and apparatus for responding to actuation of a power supply switch for a computing system |
US6178529B1 (en) * | 1997-11-03 | 2001-01-23 | Microsoft Corporation | Method and system for resource monitoring of disparate resources in a server cluster |
US6230183B1 (en) | 1998-03-11 | 2001-05-08 | International Business Machines Corporation | Method and apparatus for controlling the number of servers in a multisystem cluster |
US6925477B1 (en) | 1998-03-31 | 2005-08-02 | Intellisync Corporation | Transferring records between two databases |
US6105067A (en) * | 1998-06-05 | 2000-08-15 | International Business Machines Corp. | Connection pool management for backend servers using common interface |
US6327622B1 (en) | 1998-09-03 | 2001-12-04 | Sun Microsystems, Inc. | Load balancing in a network environment |
US6263433B1 (en) | 1998-09-30 | 2001-07-17 | Ncr Corporation | Provision of continuous database service and scalable query performance using active redundant copies |
US6728748B1 (en) * | 1998-12-01 | 2004-04-27 | Network Appliance, Inc. | Method and apparatus for policy based class of service and adaptive service level management within the context of an internet and intranet |
US6377996B1 (en) * | 1999-02-18 | 2002-04-23 | International Business Machines Corporation | System for seamless streaming of data stored on a network of distributed primary and target servers using segmentation information exchanged among all servers during streaming |
US6347313B1 (en) | 1999-03-01 | 2002-02-12 | Hewlett-Packard Company | Information embedding based on user relevance feedback for object retrieval |
US7113611B2 (en) * | 1999-05-05 | 2006-09-26 | Sarnoff Corporation | Disposable modular hearing aid |
US6556659B1 (en) * | 1999-06-02 | 2003-04-29 | Accenture Llp | Service level management in a hybrid network architecture |
US6587866B1 (en) * | 2000-01-10 | 2003-07-01 | Sun Microsystems, Inc. | Method for distributing packets to server nodes using network client affinity and packet distribution table |
AU2001245678A1 (en) * | 2000-03-13 | 2001-09-24 | Sarnoff Corporation | Hearing aid with a flexible shell |
US6601101B1 (en) * | 2000-03-15 | 2003-07-29 | 3Com Corporation | Transparent access to network attached devices |
US6630639B2 (en) * | 2000-03-15 | 2003-10-07 | Mcswiggen John P. | Port switch as for a hearing aid device |
JP2002007749A (ja) * | 2000-06-27 | 2002-01-11 | Hitachi Ltd | サーバ振り分け装置、サービス提供システム及びサービス提供方法 |
NZ505525A (en) | 2000-06-30 | 2003-03-28 | Horticulture & Food Res Inst | Polymers imprinted with phenols for the binding of phenols, and a method and sensor for the detection and/or measurement of a phenol by measuring the binding of phenol to the polymer |
AU2001271775A1 (en) | 2000-07-06 | 2002-01-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Automatic database replication server and methods |
JP4292693B2 (ja) | 2000-07-07 | 2009-07-08 | 株式会社日立製作所 | 計算機資源分割装置および資源分割方法 |
US7024394B1 (en) * | 2000-07-07 | 2006-04-04 | International Business Machines Corporation | System and method for protecting user logoff from web business transactions |
US6667751B1 (en) | 2000-07-13 | 2003-12-23 | International Business Machines Corporation | Linear web browser history viewer |
CN1285055C (zh) | 2000-07-17 | 2006-11-15 | 蚬壳星盈科技有限公司 | 用于动态配置服务器场的方法和系统 |
US6816907B1 (en) * | 2000-08-24 | 2004-11-09 | International Business Machines Corporation | System and method for providing differentiated services on the web |
US7181492B2 (en) | 2000-10-17 | 2007-02-20 | Concerto Software, Inc. | Transfer of an internet chat session between servers |
ATE304261T1 (de) * | 2000-11-08 | 2005-09-15 | Infonet Services Corp A Califo | Verfahren und vorrichtung für automatische dienststufenübereinkommen |
US7269157B2 (en) * | 2001-04-10 | 2007-09-11 | Internap Network Services Corporation | System and method to assure network service levels with intelligent routing |
US20020194015A1 (en) | 2001-05-29 | 2002-12-19 | Incepto Ltd. | Distributed database clustering using asynchronous transactional replication |
US6987765B2 (en) * | 2001-06-14 | 2006-01-17 | Nortel Networks Limited | Changing media sessions |
US7734676B2 (en) | 2001-06-27 | 2010-06-08 | International Business Machines Corporation | Method for controlling the number of servers in a hierarchical resource environment |
US7409420B2 (en) * | 2001-07-16 | 2008-08-05 | Bea Systems, Inc. | Method and apparatus for session replication and failover |
US20030063122A1 (en) | 2001-07-27 | 2003-04-03 | Cichowlas Bruce William | Method, system, and computer program product for developing and using stateful web applications |
US7174379B2 (en) | 2001-08-03 | 2007-02-06 | International Business Machines Corporation | Managing server resources for hosted applications |
GB0119145D0 (en) | 2001-08-06 | 2001-09-26 | Nokia Corp | Controlling processing networks |
US7277945B1 (en) | 2001-09-12 | 2007-10-02 | Cisco Technology, Inc. | System and method for maintaining seamless session operation |
US7222190B2 (en) | 2001-11-02 | 2007-05-22 | Internap Network Services Corporation | System and method to provide routing control of information over data networks |
JP3898498B2 (ja) * | 2001-12-06 | 2007-03-28 | 富士通株式会社 | サーバ負荷分散システム |
US7293105B2 (en) * | 2001-12-21 | 2007-11-06 | Cisco Technology, Inc. | Methods and apparatus for implementing a high availability fibre channel switch |
US20030135609A1 (en) | 2002-01-16 | 2003-07-17 | Sun Microsystems, Inc. | Method, system, and program for determining a modification of a system resource configuration |
US7403996B2 (en) * | 2002-02-21 | 2008-07-22 | Bea Systems, Inc. | Systems and methods for migratable services |
US7178050B2 (en) | 2002-02-22 | 2007-02-13 | Bea Systems, Inc. | System for highly available transaction recovery for transaction processing systems |
US20040078225A1 (en) | 2002-03-18 | 2004-04-22 | Merck & Co., Inc. | Computer assisted and/or implemented process and system for managing and/or providing continuing healthcare education status and activities |
US7382868B2 (en) * | 2002-04-02 | 2008-06-03 | Verizon Business Global Llc | Telephony services system with instant communications enhancements |
US7496655B2 (en) | 2002-05-01 | 2009-02-24 | Satyam Computer Services Limited Of Mayfair Centre | System and method for static and dynamic load analyses of communication network |
US20050239476A1 (en) | 2002-05-31 | 2005-10-27 | Arvind Betrabet | Method and system for providing location information of a mobile station |
US7058957B1 (en) | 2002-07-12 | 2006-06-06 | 3Pardata, Inc. | Cluster event notification system |
US7310736B2 (en) * | 2002-10-10 | 2007-12-18 | Pb&J Software, Llc | Method and system for sharing storage space on a computer |
US20040111506A1 (en) | 2002-12-10 | 2004-06-10 | International Business Machines Corporation | System and method for managing web utility services |
US7243351B2 (en) | 2002-12-17 | 2007-07-10 | International Business Machines Corporation | System and method for task scheduling based upon the classification value and probability |
US20040176996A1 (en) | 2003-03-03 | 2004-09-09 | Jason Powers | Method for monitoring a managed system |
US7441046B2 (en) | 2003-03-03 | 2008-10-21 | Siemens Medical Solutions Usa, Inc. | System enabling server progressive workload reduction to support server maintenance |
CA2422176C (en) * | 2003-03-14 | 2009-07-21 | Ibm Canada Limited - Ibm Canada Limitee | Method and apparatus for interrupting updates to a database to provide read-only access |
US7263590B1 (en) | 2003-04-23 | 2007-08-28 | Emc Corporation | Method and apparatus for migrating data in a computer system |
US7613822B2 (en) * | 2003-06-30 | 2009-11-03 | Microsoft Corporation | Network load balancing with session information |
JP2005038354A (ja) * | 2003-07-18 | 2005-02-10 | Sap Ag | データ受け渡し制御装置、データ受け渡し制御方法、及びデータ受け渡し制御プログラム |
US7552171B2 (en) | 2003-08-14 | 2009-06-23 | Oracle International Corporation | Incremental run-time session balancing in a multi-node system |
US8578462B2 (en) * | 2003-12-12 | 2013-11-05 | Avaya Inc. | Method and system for secure session management in a web farm |
US8346909B2 (en) | 2004-01-22 | 2013-01-01 | International Business Machines Corporation | Method for supporting transaction and parallel application workloads across multiple domains based on service level agreements |
US20050267965A1 (en) * | 2004-05-13 | 2005-12-01 | Ixi Mobile (R&D) Ltd. | Mobile router graceful shutdown system and method |
US7587400B2 (en) * | 2004-08-12 | 2009-09-08 | Oracle International Corporation | Suspending a result set and continuing from a suspended result set for transparent session migration |
US7415470B2 (en) | 2004-08-12 | 2008-08-19 | Oracle International Corporation | Capturing and re-creating the state of a queue when migrating a session |
-
2004
- 2004-08-09 CN CNB2004800230597A patent/CN100547583C/zh not_active Expired - Lifetime
- 2004-08-12 US US10/917,882 patent/US7747754B2/en active Active
- 2004-08-12 US US10/917,953 patent/US7552218B2/en active Active
- 2004-08-12 US US10/917,843 patent/US7415522B2/en active Active
- 2004-08-13 CN CN2004800233523A patent/CN100407153C/zh not_active Expired - Lifetime
- 2004-08-13 CN CNB200480023127XA patent/CN100437545C/zh not_active Expired - Lifetime
- 2004-08-13 CN CNB2004800230578A patent/CN100527090C/zh not_active Expired - Lifetime
- 2004-08-13 CN CNB2004800230629A patent/CN100518181C/zh not_active Expired - Lifetime
- 2004-08-13 CN CNB2004800230563A patent/CN100549960C/zh not_active Expired - Lifetime
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101663645A (zh) * | 2007-02-13 | 2010-03-03 | 阿玛得斯两合公司 | 接口模块 |
CN101663645B (zh) * | 2007-02-13 | 2014-05-28 | 阿玛得斯两合公司 | 接口模块 |
CN106559485A (zh) * | 2016-11-15 | 2017-04-05 | 杭州迪普科技股份有限公司 | 一种控制服务器关机的方法及装置 |
CN106559485B (zh) * | 2016-11-15 | 2019-08-06 | 杭州迪普科技股份有限公司 | 一种控制服务器关机的方法及装置 |
CN110362410A (zh) * | 2019-07-24 | 2019-10-22 | 江苏满运软件科技有限公司 | 基于离线应用的资源控制方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US7747754B2 (en) | 2010-06-29 |
CN100437545C (zh) | 2008-11-26 |
US7415522B2 (en) | 2008-08-19 |
US20050038849A1 (en) | 2005-02-17 |
US20050038828A1 (en) | 2005-02-17 |
US7552218B2 (en) | 2009-06-23 |
CN100518181C (zh) | 2009-07-22 |
CN1836211A (zh) | 2006-09-20 |
CN1836212A (zh) | 2006-09-20 |
CN1836416A (zh) | 2006-09-20 |
US20050038848A1 (en) | 2005-02-17 |
CN1836213A (zh) | 2006-09-20 |
CN100407153C (zh) | 2008-07-30 |
CN100527090C (zh) | 2009-08-12 |
CN100547583C (zh) | 2009-10-07 |
CN1836232A (zh) | 2006-09-20 |
CN100549960C (zh) | 2009-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1836214A (zh) | 需要时节点和服务器实例分配和解除分配 | |
US11658916B2 (en) | Simple integration of an on-demand compute environment | |
US7437460B2 (en) | Service placement for enforcing performance and availability levels in a multi-node system | |
US7441033B2 (en) | On demand node and server instance allocation and de-allocation | |
US7516221B2 (en) | Hierarchical management of the dynamic allocation of resources in a multi-node system | |
US9081624B2 (en) | Automatic load balancing, such as for hosted applications | |
US7584281B2 (en) | Method for allocating shared computing infrastructure for application server-based deployments | |
JP4805150B2 (ja) | オンデマンドノードならびにサーバインスタンス割当および割当解除 | |
US9442763B2 (en) | Resource allocation method and resource management platform | |
US20090313229A1 (en) | Automated management of software images for efficient resource node building within a grid environment | |
CN1610347A (zh) | 在基于群集的系统内管理性能及资源利用率的方法和设备 | |
JP2007518169A (ja) | 準最適な最適とはいえないグリッド環境内におけるアプリケーションの動作の維持 | |
US10063601B2 (en) | Client identification for enforcing computer resource quotas | |
US20240078135A1 (en) | Flexible computing | |
US20170272379A1 (en) | Visualization of computer resource quotas | |
US20070256078A1 (en) | Resource reservation system, method and program product used in distributed cluster environments | |
JP5661328B2 (ja) | 効率的でコスト効率の良い分散呼受付制御 | |
US20240070148A1 (en) | Processing queries on restricted views | |
KR100586486B1 (ko) | 패치 자동 관리/분배 시스템 및 이를 이용한 패치 분배 방법 | |
US20230124885A1 (en) | Data transfer prioritization for services in a service chain |
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 | ||
CX01 | Expiry of patent term |
Granted publication date: 20080730 |
|
CX01 | Expiry of patent term |