CN1836213A - 服务器间的透明会话迁移 - Google Patents
服务器间的透明会话迁移 Download PDFInfo
- Publication number
- CN1836213A CN1836213A CNA200480023127XA CN200480023127A CN1836213A CN 1836213 A CN1836213 A CN 1836213A CN A200480023127X A CNA200480023127X A CN A200480023127XA CN 200480023127 A CN200480023127 A CN 200480023127A CN 1836213 A CN1836213 A CN 1836213A
- Authority
- CN
- China
- Prior art keywords
- session
- migration
- client computer
- database
- node
- 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
- 230000005012 migration Effects 0.000 claims abstract description 140
- 238000013508 migration Methods 0.000 claims abstract description 140
- 238000000034 method Methods 0.000 claims abstract description 64
- 230000006870 function Effects 0.000 claims description 35
- 230000008569 process Effects 0.000 claims description 31
- 230000005540 biological transmission Effects 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 11
- 230000003993 interaction Effects 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 10
- 230000006854 communication Effects 0.000 description 18
- 230000015654 memory Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 17
- 230000007704 transition Effects 0.000 description 17
- 239000010410 layer Substances 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 238000003860 storage Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000005055 memory storage Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 238000005314 correlation function Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000009466 transformation 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日提交的美国临时申请No.60/495,368 Computer Resource Provisioning的优先权,其内容结合于此作为参考。
本申请涉及以下美国申请:
美国申请No.XX/XXX,XXX,Transparent Session MigrationAcross Servers(律师卷号50277-2383),由Sanjay Kaluskar等人于2004年8月12日提交,结合于此作为参考;
美国申请No.XX/XXX,XXX,Hierarchical Management of theDynamic Allocation of Resources in a Multi-Node System(律师卷号50277-2382),由Benny Souder等人于2004年8月12日提交,结合于此作为参考;
美国申请No.XX/XXX,XXX,Incremental Run-Time SessionBalancing in Multi-Node System(律师卷号50277-2411),由Lakshminarayanan Chidambaran等人于2004年8月12日提交,结合于此作为参考;
美国临时申请No.XX/XXX,XXX,Suspending A Result Set AndContinuing From A Suapended Result Set For Transparent SessionMigration(律师卷号OI7039362001,申请人卷号OID-2004-043-01),于2004年8月12日提交,结合于此作为参考;
美国临时申请No.XX/XXX,XXX,Suspending A Result Set AndContinuing From A Suspended Result Set(律师卷号OI7039362002,申请人卷号OID-2004-043-02),于2004年8月12日提交,结合于此作为参考;以及
美国临时申请No.XX/XXX,XXX,Suspending A Result Set AndContinuing From A Suspended Result Set For Scrollable Cursors(律师卷号OI7039362003,申请人卷号OID-2004-043-03),于2004年8月12日提交,结合于此作为参考;
本申请涉及以下国际申请:
国际申请No.PCT/XXXX/XXXXX,Automatic and DynamicProvisioning of Databases(律师卷号50277-2571),由OracleInternational Corporation于2004年8月9日提交给美国受理局,结合于此作为参考;
国际申请No.PCT/XXXX/XXXXX,Hierarchical Managementof the Dynamic Allocation of Resources in a Multi-Node System(律师卷号50277-2592),由Oracle International Corporation于2004年8月13日提交给美国受理局,结合于此作为参考;
国际申请No.PCT/XXXX/XXXXX,Transparent Migration ofStateless Sessions Acroo Servers(律师卷号50277-2594),由OracleInternational Corporation于2004年8月13日提交给美国受理局,结合于此作为参考;
国际申请No.PCT/XXXX/XXXXX,On Demand Node andServer Instance Allocation and De-Allocation(律师卷号50277-2595),由Oracle International Corporation于2004年8月13日提交给美国受理局,结合于此作为参考。
背景技术
许多企业数据处理系统均依赖多结点数据库服务器储存和管理数据。所述企业数据处理系统通常遵从(follow)在第一层中具有多结点数据库服务器和在中间层和外层中具有一个或多个计算机的多层模型。
图1描述了在多层架构10上实现的多结点数据库服务器mds11。服务器(例如多结点数据库服务器mds11)是集成软件构件和例如存储器、结点等计算资源分配的组合,并且在结点上处理处理器上的集成软件构件的执行,软件和计算资源组合专用于代表一个或多个客户机执行特定功能。来自多结点计算机系统中的多个结点的资源可被分配,以运行特定服务器的软件。结点上的软件和来自该节点的资源分配的特定组合是本文中称为服务器实例或实例的服务器。因此,多结点服务器包括可在多个结点上运行的多个服务器实例。多结点服务器的数个实例甚至可在同一结点上运行。
数据库服务器管理和帮助访问特定数据库,处理客户机请求以访问该数据库。多结点数据库服务器(例如多结点数据库服务器mds11)包括多个“数据库实例”,每个数据库实例都在一个节点上运行。多结点数据库服务器mds11管理对数据库db11的存取。多结点数据库服务器可管理和帮助存取一个或多个数据库。
多层架构10的中间层包括中间层计算机cmp11,且外层包括用户计算机cmp12。用户计算机cmp12执行与终端用户交互的浏览器br11。终端用户与浏览器br11的交互使得浏览器通过例如互联网等网络发送请求给中间层计算机cmp11。该请求使得中间层计算机cmp11、客户机c11上的程序执行应用程序appl11。客户机c11执行应用程序appl11使得客户机c11连接至多结点数据库服务器md11。例如,应用程序appl11可以是用于接收来自浏览器br11的订单请求的订单输入应用程序。用于该订单输入应用程序的数据储存在db11中。为了处理该请求,客户机c11执行应用程序appl11使得客户机c11连接至数据库db11。一旦连接,客户机c11就发布(issue)数据库语句来取回(retrieve)和操纵储存在数据库db11中的数据。
相对于多层架构中的其它层直接连接至服务器的层在这里被认为是包含服务器的客户机。因此,在这里将客户机处理器c11称为多结点数据库服务器mds11的客户机。
应用程序作为在这里使用的术语是用于与服务器功能交互和使用服务器功能的软件单元。一般而言,应用程序包括集成功能和执行一组相关功能的软件模块(例如,包括机器可执行代码或可解释代码、动态链接库的程序)。
例如应用程序appl11等应用程序经由客户侧接口构件intcomp11与多结点数据库服务器mds11交互。应用程序appl11的执行使得客户机c11执行客户侧接口构件intcomp11,以与多结点数据库服务器mds11交互。应用程序appl11包括客户侧接口构件intcomp11的例行程序(例如,功能、步骤、对象方法、远程过程)的调用。应用程序通常由与开发服务器和服务器接口(例如,多结点数据库服务器mds11和客户侧接口构件intcomp11)的供应商和研发队伍不同的供应商和研发队伍开发。
为了使客户机与多结点数据库服务器mds11交互,在多结点数据库服务器mds11的数据库接口上为该客户机建立会话。例如数据库会话等会话是建立客户机到服务器的具体连接,例如数据库实例,其中客户机通过该数据库实例发布一系列请求(例如,执行数据库语句的请求)。
对于每个建立在数据库实例上的数据库会话,会话状态包括在数据库会话期间为数据库会话储存的数据。这种数据举例来说包括为之建立会话的客户机身份和由在数据库会话内执行软件的处理器和数据库构件产生的临时变量值。数据库构件是一组为数据库服务器提供专用和相关功能的软件模块,并且稍后被详细描述。数据库构件的一个实例是Java执行引擎。
会话的开始和结束区分(demarcate)工作单元。常常,数据库会话的开始对应于建立举例来说经由浏览器与应用程序交互的会话的终端用户,并且在终端用户退出时结束。因此,数据库会话的开始和结束取决于应用程序逻辑和终端用户动作,并且也许不是由上面建立会话的服务器控制。
客户侧接口构件
例如客户侧接口构件intcomp11等客户侧接口构件是驻留在服务器客户机的同一计算机上且在其上执行的软件构件,用于提供客户机和服务器之间的接口。客户侧接口构件intcomp11用于执行与多结点数据库服务器mds11的接口所需要的具体操作。例如,应用程序appl11调用客户侧接口构件intcomp11的功能,以建立至多结点数据库服务器mds11的连接。客户侧接口构件接着处理多结点数据库服务器mds11的特定实例上的连接详细信息(detail)。为了作出多结点数据库服务器mds11的请求,例如执行询问的请求,应用程序appl11配置为调用客户侧接口构件intcomp11的函数,接着客户侧接口构件intcomp11发送相同请求给节点和上面建立会话的数据库实例。
客户侧接口构件intcomp11可生成和/或访问其它软件模块隐藏的状态,即不是或可能不是由其它软件模块(具体而言,由应用程序appl11)引用和访问的状态。这种状态被认为是客户侧接口构件intcomp11内部的或专用的。
例如,为了在多结点数据库服务器mds11上创建会话,应用程序appl11盗用客户侧接口构件intcomp11的例行程序。客户侧接口构件在多结点数据库服务器mds11内的特定数据库实例上建立数据库会话,并且在内部数据结构或对象内储存有关该数据库会话的详细信息。所述数据结构和对象举例来说限定为应用程序建立的会话,并且将这种值指定为数据库实例上的会话的身份、数据库实例的名称、和用于至数据库实例的连接的网络地址和端口数量。
所述会话的详细信息没有返回到应用程序appl11,应用程序appl11也没有访问所述详细信息。相反,提供给应用程序appl11的是会话的“外部标识符”,例如客户侧接口构件intcomp11的内部数据映射到该会话的值、或对客户侧接口构件intcomp11产生的用于在应用程序appl11不能访问的对象的专用属性中储存该会话的一些详细信息的对象的参考。这样,应用程序appl11不“知道”已经为其建立的会话的特定详细信息;然而,应用程序appl11具有必须能识别已经为应用程序appl11建立的特定会话给客户侧接口构件intcomp11的信息。
分配工作负荷
管理多结点数据库服务器所需要的重要能力是在节点之间分配工作负荷。分配工作负荷用于通过最理想地平衡节点之间的工作负荷改善性能。分配工作负荷也允许工作从正在离线进行维护操作的节点传送到另一节点。
为了改善性能,使用连接时间平衡分配多节点数据库上的工作负荷。在创建用于客户机的数据库会话时,在连接时间平衡下,以连接时间分配工作负荷。具体而言,当客户机请求在多节点数据库服务器上建立数据库会话时,基于工作负荷考虑将会话放置在实例或节点上。例如,客户机发送会话请求给多节点数据库服务器。该多节点数据库服务器确定节点不必其它节点忙,并且在该节点上建立客户机请求。
连接时间平衡的缺点是,它不能重新平衡现有会话;它仅在创建会话时平衡会话。由现有会话创建的工作负荷不能被传送,并且不减少(abate),直到客户机主动减少或停止作出请求和/或终止会话。结果,工作负荷的时间(timing)服从在多节点数据库服务器控制之下的事件。
基于上述,本发明想要提供一种在已经创建会话后传送会话的客户机的工作负荷的方法。
附图说明
通过附图中的实例而非限制例示本发明,并且相同参考标号表示相同元件,在附图中:
图1是计算机系统的多层架构的框图。
图2示出根据本发明的一个实施例的可在上面实现本发明的一个实施例的多节点计算机系统的框图。
图3是描述根据本发明的一个实施例的参与迁移会话的客户机、源数据库实例、和目的地数据库实例的框图。
图4示出根据本发明的一个实施例的用于在服务器之间迁移会话的协议的实体交互图。
图5是描述根据本发明的一个实施例的用于确定迁移会话的迁移标准及其使用的框图。
图6是描述根据本发明的一个实施例的使用会话的会话状态的部分的数据库构件的框图。
图7是描述根据本发明的一个实施例的会话迁移的阶段的阶段过渡图。
图8示出根据本发明的一个实施例的用于数据库构件的可扩展框架的多个构件,负责捕捉和加载会话的会话状态。
图9是可用于实施本发明的一个实施例的计算机系统的框图。
具体实施方式
将描述可用于在多节点环境中传送会话的方法。在以下描述中,为了说明目的,为了提供对本发明的透彻理解,阐述了许多具体细节。然而,显然的是,没有这些具体细节也可实施本发明。在其他情况下,为了避免不必要地模糊本发明,以框图示出已知结构和装置。
这里描述的是允许客户机以对为之建立初始会话的应用程序透明的方式从服务器上的会话切换到另一服务器上的另一会话的技术。术语迁移是指服务器上的现有会话的客户机从现有会话切换到另一会话的操作,允许现有会话终止和客户机使用另一会话代替现有会话。这里称现有会话已经被迁移。术语“透明”是指以对于软件单元不要求执行定制为执行该操作的单元中的指令的方式执行操作。因此,在透明的会话迁移下,客户机在会话之间切换,而不执行定制为完成该迁移的应用程序指令。相反,该应用程序通过之与该服务器交互的客户侧接口构件处理迁移细节,修改客户侧接口构件的内部状态,以实现相同效果。也不必为了构成这里描述的技术而修改遗留应用程序。
在透明迁移会话中,将会话从“源”服务器透明地迁移到“目的”服务器。这样,可在服务器之间平衡现有会话,从而提高性能和资源可用性。
为了迁移会话,捕捉并重新储存该会话的状态。捕捉会话的状态产生了作为该会话的会话状态的真副本的字节流,该字节流可被储存在对象、文件、或其它类型的数据结构中,且稍后被访问以重新储存该会话。在透明会话迁移下,在源服务器上捕捉客户机的会话,产生储存在数据结构中并且传输给目的服务器的字节流,其中通过将该字节流加载到为客户机建立的目的服务器上的会话中,该目的服务器重新储存该会话。
会话迁移的参与方可包括计算机上的客户机、源服务器、和目的服务器,它们中的每个都位于多节点系统中的不同节点上。参与方遵从允许对于为之建立会话的应用程序或其它软件模块透明发生会话迁移的协议的改变。这里,将该协议称为透明会话迁移协议。如果任何会话迁移操作失败,则该协议允许恢复处理。
根据一个实施例,可将会话状态视为“构件会话状态”的合并和组合。构件会话状态由数据库构件特别生成和使用。会话状态可以是复杂的(complex)的构件状态的组合;开发生成和重新储存构件会话状态的副本的软件也是同样复杂的。这里描述的是有助于所述软件的开发和使用的可扩展框架。该可扩展框架限定回调函数的接口,其中所述回调函数被调用以捕捉和重新储存构件会话状态,并且确定构件会话状态是否允许会话被迁移。
尽管使用会话迁移例示该可扩展框架,但是该框架不限于这种用途。也可将它应用于其中会话状态被捕捉、储存、然后对于会话重新储存的任何用途。
例示的计算机系统
图2示出可用于实施本发明的实施例的多节点计算机系统。参看图2,它示出数据库集群dbc20。一个数据库集群是容放多节点数据库服务器的一组节点,该多节点数据库服务器例如多节点数据库服务器mds20等,用于管理对特定数据库的访问。数据库集群dbc20包括节点nd21、nd22、nd23、和nd24。数据库集群dbc20的节点在节点之间提供某种程度的共享存储(例如,对一组磁盘驱动器的共享访问)。数据库集群dbc20中的节点可以呈经由网络互联的计算机形式(例如,工作站、个人计算机),并且可以是格栅(grid)的部分。数据库服务器mds20包括数据库实例inst21、inst22、inst23、和inst24。
这里将连接至数据库实例(为多节点数据库服务器的部分)以访问由数据库实例管理的数据库的客户机称为数据库实例的客户机、多节点数据库服务器的客户机、或数据库的客户机。例如,不是数据库集群dbc20的部分的计算机上的进程执行应用程序,并且连接至数据库实例inst23,以访问数据库db20。将该进程称为数据库实例inst23的客户机、多节点数据库服务器mds20的客户机、和数据库db20的客户机。
工作负荷管理程序wm20是在数据库集群dbc20(尤其是实例inst21,负责管理以数据库集群dbc20为主机的数据库实例上的工作负荷)上运行的程序。工作负荷管理程序的实例是数据库指向器(director),该数据库指向器在Incremental Run-Time SessionBalancing中被描述,通过将一个或多个会话从源数据库实例迁移到目的数据库实例执行运行时会话平衡。
由收听者为客户机建立的会话
为了使客户机与多结点数据库服务器mds20交互,客户机发送数据库连接请求,以在数据库实例上建立会话。收听者收到该请求。收听者是在数据库集群dbc20上运行的程序,用于接收请求和指引它们到数据库集群dbc20内的数据库实例。
一旦为该客户机建立数据库会话,则该客户机可发布另外的请求,其中该另外的请求可以呈远程过程调用的形式,并且可包括以下请求:开始执行事务、执行询问、执行更新和其它类型的事务操作、提交(commit)或以其它方式终止事务、和终止数据库会话。
例示的客户机和源示例和目标实例
图3示出根据本发明的一个实施例的例示的客户机和源实例和目标实例的框图,用于例示透明会话迁移。参看图3,它示出分别作为源实例inst22和目标实例inst24的数据库实例inst22和inst24。客户机cl30是在客户机计算机cmp30上运行的程序。客户机计算机cmp30是与数据库集群dbc20中的任何节点分开的计算机,并且作为数据库集群dbc20的一个或多个数据库客户机(包括客户机cl30)的主机。以客户机计算机cmp30为主机的客户机包括执行例如应用程序appl30等由客户机cl30执行的应用程序的程序。
应用程序appl30经由客户侧接口构件intcomp30与数据库集群dbc20和多节点数据库服务器mds20交互。应用程序appl30包括客户侧接口构件intcomp30的例行程序(例如功能、步骤、对象方法、远程过程)的调用。客户侧接口构件的实例是可从Oracle Corporation得到的Oracle Call Interface(“OCI”)。
为了说明目的,这里将例如应用程序appl30等软件模块描述为在事实上进程对软件的执行使得进程执行特定动作时执行这些动作。例如,当将应用程序appl30描述为发送或接收消息或访问数据时,执行该应用软件的程序正在发送或接收该消息或访问该数据。
呼叫
呼叫是客户机为了执行任务对服务器做出的请求。典型地,由执行软件模块中的例行程序的调用的进程做出呼叫。该调用使得该进程执行该例行程序(这种执行自身可承担(entail)呼叫和执行其它例行程序),接着返回执行该模块到调用或刚好超出调用的位置(或某个其它指定的点,例如异常进程)。
呼叫可承担传送一个或多个输入参数给被调用的例行程序,并且返回作为一个或多个输出参数的值。消息可作为输入参数的部分和输出参数的部分被传送。对数据库实例的呼叫通常用于执行任务,例如执行数据库语句等。由呼叫传送的消息可包括作为输入参数的询问串、和作为输出参数的询问结果或对其位置的参考。
远程过程呼叫是由进程作出的例行程序呼叫,其中在相同或不同节点和/或计算机上的另一进程执行所呼叫的例行程序。将该另一进程称为远程进程。通过利用例如网络连接等通信连接发送执行例行程序的请求给另一进程,作出该呼叫。并且,输入参数和输出参数也通过该连接传送。在该远程进程执行该步骤时,呼叫进程的执行中止或被阻止。
呼叫使呼叫进程或远程进程执行被呼叫的例行程序,所述被呼叫的例行程序可促成其它例行程序的呼叫和执行。在该呼叫返回时呼叫终止。作为执行被呼叫的例行程序的部分进行的操作被认为是在呼叫范围内。
例如,为了作出对数据库集群dbc20的呼叫,应用程序allp30作出对客户侧接口构件intcomp30的一个函数的呼叫。响应于该调用,客户侧接口构件intcomp30执行该呼叫,使得(entail)客户侧接口构件intcomp30修改和访问由客户侧接口构件intcomp30储存在客户机计算机cmp30中的“本地”数据,并且客户侧接口构件intcomp30作出对源实例inst22的多个远程过程调用,该多个远程过程调用包括第一远程过程调用和第二远程过程调用。响应于第一远程过程调用,源实例inst22执行多个操作。对本地数据的修改和访问、多个远程进程调用、和由源实例inst22执行的多个操作都被认为是在应用程序appl30作出的“应用程序调用”内执行的。由源实例inst22执行的各种操作,当执行由第一远程过程调用所调用的例程时(可能需要执行其它例程),在此称为在客户端调用内的第一远程过程调用内被执行,这是因为第一远程过程调用由客户端接口构件intcomp30作出,并且当执行由应用程序appl30所调用的例程时,称为在应用程序调用内被执行,这是因为远程过程调用由客户端接口构件intcomp30作出。应用程序调用或客户端调用在此都可以称为客户机调用。
透明会话迁移协议
图4是用于例示用于透明会话迁移的协议的实体交互图。将客户机cl30、源实例inst22、和目标实例inst24作为该协议中的参与方例示该协议。该协议由迁移启动程序启动,其中该迁移启动程序是确定和/或请求迁移一组会话的实体。例如,工作负荷管理程序wm20可确定一组会话从源实例inst22迁移到目标实例inst24,以将工作负荷从源实例inst22转移到目标实例inst24。工作负荷管理程序wm20生成请求,以迁移这组会话。请求会话迁移以在数据库实例之间转移工作负荷的工作负荷管理程序wm20仅是实体的一个实例,并且是用于请求会话迁移目的;可能存在为了其它类型的目的请求迁移一组会话的其它类型的实体。例如,负责关闭(shut down)数据库实例的实体可迁移当前以数据库实例为主机的所有会话,从而可关闭该数据库实例。
在步骤405,源实例inst22收到迁移请求2,其中该迁移请求是迁移一列一个或多个会话的请求。该请求由会话迁移启动程序发出,例如由工作负荷管理程序wm20发出。为会话迁移选择或以其它方式指定的会话在这里称为被选择的会话。为了例示目的,待迁移的这列会话仅包括一个选择的会话,即,源会话sess30(参看图3)。
在步骤410,源实例inst22等待客户机对源会话sess30的呼叫,并且截取该呼叫,以发送选择消息3给该客户机。在这里将该呼叫称为被截取,因为尽管该呼叫被用于实现与会话迁移有关的某个动作(例如发送选择消息3等动作),但是也可为了实现所述动作以外的某个目的(例如,请求执行询问)作出呼叫。返回客户机的输出值包括可具有多个属性的“输出数据结构”。通过将输出参数的一个或多个属性设定为特定值,源实例inst22发送选择消息3。
在步骤420,源实例inst22执行迁移检查,即确定是否满足迁移标准。如果满足迁移标准,则协议的执行继续到步骤425。
迁移标准
图5是描述根据一个实施例使用三种迁移标准的框图。参看图5,在框510,确定源会话sess30是否在事务边界处;在框520,确定源会话sess30是否在呼叫边界处;在框530,确定源会话sess30是否在构件边界处。
如果当前对于该会话没有活动的事务正在执行,则会话在事务边界处。事务是作为原子单位执行的逻辑工作单位。在数据库系统的上下文中,数据库必须反映事务做出的所有改变或事务没有做出改变,以确保数据库的完整性。因此,由事务作出的改变没有被永久应用于数据库,直到事务已经被完全执行。当使得事务作出的改变为永久性时,称事务“提交”。如果该事务没有被提交、中止、或以其它方式终止,则事务是活动的。
如果数据库实例已经完成了客户机呼叫的执行,而不是位于处理该呼叫的中间阶段,则会话处于呼叫边界处。
例如,为了处理执行数据库语句的呼叫,数据库实例经过多个阶段,每个阶段都对应于特定类型的操作。这些阶段是(1)创建指针;(2)分析该数据库语句和对其变量赋值;(3)执行该数据库语句;(4)抽取(fetch)各行,以返回询问;以及(5)关闭指针。这些阶段在Oracle8 Server Concepts,Release 8.0,Volume 3的第23章(其内容结合于此作为参考)作了详细描述。中间阶段是在对该呼叫的处理完成之前执行的操作。在当前的实例中,中间阶段是阶段(1)-(5)。在源实例inst22响应于一个呼叫执行步骤(5)后,源会话sess30处于呼叫边界处。
如果会话的每个数据库构件都处于其响应的构件边界处,则该会话处于构件边界处。如前所述,数据库构件使用这里称之为构件会话状态的会话状态的一部分。如果特定数据库构件的构件会话状态可被迁移到另一会话,则例如源会话sess30等会话处于该数据库构件的构件边界处。
例示的数据库构件
图6描述了一组例示性数据库构件dc60及其在会话状态state60内的相应构件会话状态。会话状态state60是源会话sess30的会话状态。图6示出以下数据库构件:指针构件cc61;PL/SQL构件cc62;会话参数构件cc63;以及Java构件cc64。
指针构件cc61用于管理例如源实例inst22和目标实例inst24等数据库实例内的指针。指针是用于储存有关分析的数据库语句的信息和其它涉及数据库语句的处理的信息的存储区。指针构件cc61使用和储存指针状态cs61(在会话状态state60内的构件会话状态)中的信息。
PL/SQL构件cc62负责执行写在PL/SQL中的代码(例如,步骤),该PL/SQL是由Oracle公司公布的程序化数据库语言。所述构件使用构件会话状态PL/SQL状态cs62储存与PL/SQL代码的执行有关的信息,例如变量值和分析的PL/SQL语句。
会话参数构件cc63负责管理通常控制如何处理与会话有关的呼叫和请求的属性。该属性储存在构件会话参数状态cs63中。例如,会话参数可包括对于执行询问返回的结果控制特定人类语言的属性。
Java构件cc64负责执行写入Java中的代码(例如,类和对象方法)。该构件使用构件会话状态Java状态cs64储存与Java代码的执行相关的信息。
指针构件cc61、PL/SQL构件cc62、会话参数构件cc63、和Java构件cc64的每个都包括遵从接口定义的数据库构件接口。接口定义定义了一组例程(通常为函数)和由这些例程返回的值。接口定义的实例包括以计算机语言定义的对象类,一种由接口定义语言(例如,OMG接口定义语言)描述的接口,或以人类语言写的描述该接口的规约。数据库构件接口函数支持会话之间的构件会话状态的转移。根据一个实施例,该接口包括三个函数:IsReadyToMigrate()、GetState()、和SetState()。
调用IsReadyToMigrate(),使数据库构件确定用于会话的数据库构件的构件会话状态是否可迁移到另一会话的会话空间。该函数返回表示该构件会话状态是否可被迁移的结果。例如,当调用PL/SQL构件cc62的IsReadyToMigrate()时,PL/SQL构件cc62确定其正在将开放文件的文件描述符储存到PL/SQL状态cs62内。该文件描述符包含仅对源实例inst22上的会话有效而对目标实例inst24无效的信息,因此,PL/SQL构件cc62返回表示PL/SQL状态cs62不能被迁移的值。
调用函数GetState(),使数据库构件产生用于会话的构件会话状态的副本。调用函数SetState(),使数据库构件加载(即,添加)构件会话状态的副本到目标会话的会话状态。
GetState()返回的构件会话状态是不透明的,因为参与转移返回的构件会话状态的副本的一个或多个实体不必知道该构件会话状态的具体结构。实体仅调用GetState()捕捉数据库构件的构件会话状态,并且通过调用和传送该副本给SetState()加载返回的该构件会话状态的副本。
通过对每个可使用构件会话状态的数据库构件调用IsReadyToMigrate()函数,确定源会话sess30是否在每个数据库构件的构件边界处。如果这些调用全都返回表示相应构件会话状态可被迁移的值,则在框530的确定是,源会话sess30在每个数据库构件的构件边界处。
准备迁移
一旦源实例inst22已经在步骤420确定满足迁移标准,则在步骤425,源实例inst22传送准备迁移消息4给客户机。通过截取呼叫执行步骤425。准备迁移消息4经由对于截取的呼叫返回的输出数据结构被传送。准备迁移消息4和所选择的消息2可在相同的客户机呼叫中返回。
准备迁移消息包含用于建立至目标实例inst24的连接的连接信息。该连接的目的是在目标实例inst24上建立目的地会话和启动参与迁移源会话sess30的目标实例。
在来自应用程序appl30的应用程序呼叫内启动截取的呼叫。在该应用程序呼叫内执行该协议的剩余部分。这里将该截取的客户机称为“种子呼叫”,因为客户机cl30必须进行呼叫来启动该协议的剩余部分和完成会话迁移。
在步骤427,客户机cl30发送建立目的地会话的请求给目标实例inst24。在数据库实例上建立会话可要求验证客户机cl30。为了验证客户机cl30,验证信息(例如,用户名和密码)由客户侧接口构件intcomp30供给源实例inst22。客户侧接口构件intcomp30已经收到先前来自应用程序appl30的验证信息,以在数据库集群dbc20上建立会话。
客户机cl30将目的地会话的会话参数设定为与源会话sess30的会话参数相同的值。已经供应这些值给源会话sess30的源实例inst22的客户侧接口构件intcomp30已保留这些值,并且使用这些值来设定目标实例inst24的会话参数。
在步骤430,目标实例inst24建立目的地会话和“迁移信道”,其中该迁移信道是源实例和目标实例之间的通信信道,用于在它们之间转移会话状态。
在本发明的一个实施例中,建立迁移信道。在一些数据库服务器中,对于每个会话,该数据库服务器仅在一个端点接收进入的消息(例如,与端口相关的端口数)。单个端点通常用于与客户机通信的连接。该连接例如由客户机用来传送数据库语句,由数据库实例用来传送询问结果,或传送例如上述消息。这里将用于会话的单个端点称为会话的进入端点。
为了传送所选择的会话的会话状态,目标实例inst24上的一个新的不同的进入端点(这里称之为阴影端口)用于迁移信道。目标实例inst24在该阴影端口收听和接收来自源实例inst22的连接请求。例如,可为该阴影端口创建新插座(socket),并且用作会话的进入终点。目标实例inst24在新插座聆听和接收来自源实例inst22的连接请求。
接着,目标实例inst24发送目的地准备好消息6给客户机cl30。目的地准备好消息6包括迁移信道信息,该迁移信道信息包括足以使源实例inst22经由迁移信道连接至目标实例inst24的信息。该迁移信道举例来说包括阴影端口的端口数。
在步骤43 5,客户机cl30收到目的地准备好消息6,并且发送准备迁移消息7给源实例inst22。该迁移信道信息与该消息一起被发送。
源实例inst22收到准备迁移消息7。
在步骤440,源实例inst22经由迁移信道发送会话状态7给目标实例inst24。首先,源实例inst22根据收到的迁移信道信息经由该迁移信道建立与目标实例inst24的“迁移连接”。在一个实施例中,对于具体数据库构件,源实例inst22调用相应的GetState()函数,储存返回的构件会话状态的副本,并且经由该迁移连接传送该副本给目标实例inst24。
在步骤445,目标实例inst24收到沿该迁移连接传送的构件会话状态,并且对于发送的数据库构件的每个构件会话状态,调用相应的SetState()函数,将该构件会话状态加载到目的地会话的会话状态。
可以使得源实例inst22和目标实例inst24同时执行它们的工作的方式执行会话状态在源实例inst22和目标实例inst24之间的传送。例如,函数GetState()可仅返回会话构件的构件会话状态的部分,并且可被多次调用,以取回全部构件会话状态。当源实例inst22通过调用GetState()取回一部分时,源实例inst22传送该部分给目标实例inst24,接着再次调用GetState(),以取回另一部分。当目标实例inst24收到一部分时,目标实例inst24呼叫SetState(),以传送该部分给目的地会话状态。这样,源实例inst22可以正在取回会话状态的部分,同时目标实例inst24正在加载会话状态的部分。这样,源实例inst22和目标实例inst24同时执行其相应的工作来传送构件会话状态。
在完成会话状态从源会话到目标实例inst24的传送后,终止该迁移连接。目标实例inst24使目的地会话sess30的进入的终点改变回到客户终点。
在步骤450,源实例inst22发送切换消息8给客户机cl30,通知客户机cl30其可切换到目的地会话。通过作为其中准备迁移信息被发送的客户呼叫的输出参数值返回切换消息8,该消息可作为该呼叫的部分被发送给客户机cl30。该消息也可作为随后的客户机cl30呼叫的部分被返回。
在步骤455,响应于收到该切换消息8,客户机cl30切换到该目的地会话。例如映射源会话的外部标识符的内部数据等的客户侧接口构件的内部状态被修改,以表明(reflect)该目的地会话现在是客户会话。接着,客户机cl30发送迁移结束消息给源实例inst22。迁移结束消息9包含表示客户机cl30和/或目标实例inst24已经成功完成它们的会话迁移的相应部分的数据。如后面更详细地解释的,迁移结束消息9用于传送会话迁移是否已经被成功完成。最终,客户机cl30发送消息给源实例inst22,以终止该源会话。在客户机cl30的随后的客户机和应用程序呼叫中,该目的地会话用于代替该源会话。
在单个应用程序呼叫内执行步骤420至455。该应用程序不知道或不必知道在开始该应用程序呼叫时与外部会话标识符相关的具体数据库会话是否与该应用程序呼叫返回时的相同。不必为了迁移该会话执行定制为处理数据库会话的会话迁移的应用程序指令。这样,该数据库已被透明地迁移到该应用程序。
发起(kick start)同步执行的会话迁移
对于呼叫请求的会话迁移,可异步或同步执行会话迁移。在同步执行时,在已完成请求的会话的会话迁移后该呼叫返回。阻止呼叫,直到会话迁移完成。在异步执行时,在执行请求的会话迁移期间不阻止呼叫的执行。在会话迁移完成之前该呼叫可返回。
如上所述,图4中描述的会话迁移协议的完成取决于从客户机收到的种子呼叫。延迟会话迁移的启动,直到作出种子呼叫。该延迟可以是大量的(substantial),例如,响应于人类用户操纵浏览器的图形界面,客户机cl30执行浏览器,并且产生对源实例inst22的应用程序呼叫。暂停阅读浏览器输出或离开进行休息的人类用户可以在很长时间内不操纵图形界面,延迟应用程序呼叫和种子呼叫的发出。因此,可在相当长的时间内阻止同步作出的会话迁移请求。
为了避免这种长延迟,可驱动同步执行的会话迁移。如果在做出请求会话的同步会话迁移的呼叫后经过一段时间,但是没有收到种子呼叫,则这里称之为种子呼叫请求的消息被发送给会话的客户机,请求客户机做出种子呼叫。该种子呼叫请求举例来说可以是由源实例inst22启动的对客户机cl30的简单ping。
在一个实施例中,使用产生迁移进程数据的迁移追踪机制(例如后面更详细地描述的)追踪会话迁移进程。该迁移进程数据表示会话迁移已经到达什么阶段。该迁移启动程序指定其中必须执行或放弃会话迁移的“迁移超时时段”。如果经过迁移超时时段的一部分,迁移进程数据表示会话迁移没有到达已经作出种子呼叫的阶段,则产生种子呼叫请求。
种子呼叫请求不仅可由源实例inst22启动,而且举例来说可由迁移启动程序启动。在一个实施例中,迁移启动程序在作出迁移会话的请求后调用源实例inst22的API函数,以得到迁移进程数据。该迁移启动程序基于一定标准确定是否发种子呼叫请求给客户机。可选地,迁移启动程序可在作出迁移会话的迁移请求后自动发种子呼叫请求给所选择的会话的客户机。
可恢复性
随着透明会话迁移的进行,源实例inst22、目标实例inst24、和客户机cl30在迁移阶段之间过渡(transition)。这些迁移阶段表示会话迁移进程,并且可被追踪和报告,并且用于导出迁移进程数据。并且,在会话的会话迁移期间可遇到错误(failure),这就需要恢复操作的执行。所执行的具体操作取决于在遇到错误时到达的迁移阶段。
图7示出其中会话迁移的参与者在会话迁移期间转变的各个迁移阶段的阶段过渡图。各个事件的发生或某些操作的完成形成迁移阶段之间的转变。客户侧阶段72相应于客户机cl30的迁移阶段,而服务器侧阶段73相应于多结点数据库服务器mds20的迁移阶段。
参看图7,阶段SRC-NORMAL是对应于不在执行会话迁移进程中的多结点数据库服务器mds20的服务器侧阶段。多结点数据库服务器mds20保持在此迁移阶段,直到它收到迁移会话的请求。当受到这种请求时,多结点数据库服务器mds20过渡到阶段SRC-SELECTED,在这里,多结点数据库服务器mds20发送选择信息4,接着继续到阶段SRC-CONFIRMED-SELECTED。
多结点数据库服务器mds20接着迁移检查。一旦多结点数据库服务器mds20确定满足迁移标准,则多结点数据库服务器mds20过渡到阶段SRC-READY-FOR-PREPARE。在此阶段中,多结点数据库服务器mds20等待中断的客户机呼叫,并且使用该呼叫发送准备迁移信息4给客户机cl30。一旦多结点数据库服务器mds20收到准备迁移消息7,则多结点数据库服务器mds20过渡到阶段SRC-PREPARE。
在阶段SRC-PREPARE期间,源实例inst22捕捉源会话的会话状态,并且经由至目标实例inst24的迁移连接传送会话状态的副本,这将该副本添加到目的地会话的会话状态。在完成源会话状态的传送后,多结点数据库服务器mds20过渡到阶段SRC-READY-FOR-SWITCH,在这里源实例inst22发送切换消息给客户机cl30。当源实例inst22收到来自客户机cl30的表示成功切换到目的地会话的迁移结束消息9时,多结点数据库服务器mds20过渡到阶段SRC-SWITCHED,其中在这里执行例如开始终止源会话等操作。
在完成SRC-SWITCHED后,多结点数据库服务器mds20过渡到正常阶段acl80。
客户侧阶段
类似于服务器侧阶段,客户侧阶段包括阶段CLN-MORMAL,此阶段相应于不在参与会话迁移进程中的客户机cl30。客户机cl30一收到选择消息3,客户机cl30就过渡到阶段CLN-SELECTED。当客户机cl30收到准备迁移消息4时,客户机cl30接着过渡到阶段CLN-READY-FOR-PREPARE。在此阶段期间,客户机cl30执行例如建立目的地会话、建立该目的地会话的会话参数、和接收来自目标实例inst24的目的地准备好消息6等操作。一收到该消息,客户机cl30就发送准备迁移消息7给源实例inst22,并且过渡到阶段CLN-PREPARE。
当客户机cl30收到目的地准备好消息6时,客户机cl30过渡到阶段CLN-READY-FOR-SWITCH,在这里,客户机cl30发送迁移结束消息9给源实例inst22,表示切换成功完成。客户机cl30接着继续到CLN-SWITCHED阶段,在这里,客户机执行例如请求终止源会话等操作。最终,客户机cl30过渡到阶段CLN-NORMAL。
恢复
在源会话的会话迁移期间,可遇到阻止会话迁移完成或使得会话迁移的完成不受欢迎的事件。在这里将这种事件称之为“迁移失败事件”。在遇到迁移失败事件时,客户机cl30和多结点数据库服务器mds20分别过渡到阶段CLN-FAILURE和SRC-FAILURE,在这里,执行恢复操作,以使得尝试的会话迁移中的所有参与者继续,而不完成会话迁移。所执行的恢复操作的具体集合取决于遇到错误的具体迁移阶段。
例如,在客户机cl30收到准备迁移消息7后,客户机cl30试图在目标实例inst24上建立目的地会话,但是不能够做到。遇到失败事件,客户机cl30过渡到阶段CLN-FAILURE。作为阶段CLN-FAILURE的部分,客户机cl30发送迁移结束消息9,该迁移结束消息包括指定客户机cl30和目标实例不能执行它们的会话迁移部分(特别是,指定客户机cl30不能建立目的地会话)的数据。
当源实例inst22收到迁移结束信息9时,它确定已经遇到迁移失败。源实例inst22接着进入阶段CLN-FAILURE。在此阶段,源实例inst22可生成“不能迁移数据”,这是表示源会话已经为迁移选择但是不能被迁移的数据。该数据也可表示作为试图迁移失败(例如,不能建立目的地会话)的基础的原因或迁移失败事件。不能迁移数据可用于负责选择会话来迁移的软件和/或程序(例如,工作负荷管理程序wm20)和由该软件和/或程序访问。如果不能迁移数据表示近来迁移会话的尝试不成功,则工作负荷管理程序wm20可放弃选择会话来迁移。
最终,源实例inst22完成客户侧呼叫的执行,其中在该客户侧呼叫内,源实例inst22正在尝试失败的会话迁移。多结点数据库服务器mds20接着重新进入阶段SRC-NORMAL。
当客户侧呼叫返回时,客户侧呼叫正在其内执行的应用程序呼叫返回。客户机cl30接着离开阶段CLN-FAILURE,并且进入阶段CLN-NORMAL。
恢复操作可承担释放被使用、分配、和/或以其它方式被保存以执行会话迁移并且不再需要的资源。
例如,当多结点数据库服务器mds20和客户机cl30处于阶段SRC-PREPARE中期间,如果源实例inst22检测到数据库构件不能提供会话状态或迁移连接已经失败,则源实例inst22捕捉会话状态。遇到迁移失败事件,多结点数据库服务器mds20进入阶段SRC-FAILURE。源实例inst22关闭迁移连接,并且解除分配为了执行尝试的会话迁移而使用的内存(例如,用于在转移捕捉构件会话状态之前储存它的内存)。不是发送切换消息8,源实例inst22发送“放弃迁移”消息给客户机cl30,表示将放弃会话迁移。该消息经有客户机呼叫的输出参数传送,其中在该客户机呼叫内,正在执行尝试的会话迁移。当源实例inst22完成该客户机呼叫的执行时,多结点数据库服务器mds20接着进入阶段SRC-NORMAL。
当客户机cl30收到该消息时,客户机cl30终止该目的地会话。该操作释放已经为该目的地会话分配的内存。客户机cl30继续使用源会话sess30,而不是使用终止的目的地会话。
可扩展的会话构件框架
使用数据库构件使得可扩展框架能用于会话迁移。该框架是可扩展的,因为它便于对数据库构件开发和分级(staging)。
图7示出根据一个实施例的可扩展数据库构件框架的特性的框图。图7描述了数据库构件60、注册(registration)函数rf80、和活动构件列表acl80。
注册函数rf80是由数据库构件调用以动态注册句柄的数据库服务器的函数。该句柄允许数据库服务器调用数据库构件接口的函数。句柄举例来说可以是指针和/或对象参考。
对于给定会话,并不需要或使用全部数据库构件。例如,会话的客户机从不作出举例来说要求执行PL/SQL或Java的请求。当数据库实例确定它需要一数据库构件用于会话时,数据库实例调用该数据库构件。该调用使得该数据库构件执行用于该会话的启动操作,包括调用注册函数rf80,和在该句柄中作为输入参数传递。该数据库服务器接着添加入口(entry)给活动构件列表acl80;该入口将该数据库构件识别为该会话的活动数据库构件。
对于数据库服务器上的给定会话,数据库服务器维护活动构件列表acl80,该活动构件列表识别用于该会话的活动数据库构件,并且包括相应句柄。为了迁移具体会话,数据库服务器仅处理活动数据库构件,即,检查迁移边界和迁移仅对该会话来说是活动的数据库构件的数据库构件会话状态。
图7中示出可包含在数据库构件接口内的另外的函数。除了函数IsReadyToMigrate()、GetState()、和SetState()外,该数据库构件接口包括函数Migration-Enabled()和MigrationCost()。
函数Migration-Enabled()返回表示对于具体数据库构件该构件会话状态是否能迁移到另一服务器的数据。在一个实施例中,一些数据库构件可能不进行支持构件会话状态迁移所需要的开发。
MigrationCost()函数返回表示迁移构件成本的数据。在一个实施例中,可执行迁移检查,以确保迁移会话的成本满足与成本相关的迁移标准。如果迁移具体数据库构件的构件会话状态的单独(individual)成本违反这样的迁移标准,或迁移构件会话状态的共同(collective)成本违反这样的迁移标准,则不迁移所选择的会话。另外,该函数可提供可用于待迁移的会话的基于成本选择的成本数据。
数据库构件开发委托给专家
数据库构件可以是非常复杂的。开发和维护数据库构件的任务通常被给与具有执行该任务所需要的训练和经验的专业研发队伍。捕捉和加载构件会话状态的软件也是非常复杂的。它的开发由其职权范围数据库构件不能达到的研发队伍最有效地执行。
该数据库构件接口允许该研发努力(effort)被分成子任务,该子任务能被分配给有效执行子任务的研发队伍。分配专门研究具体数据库构件的研发队伍来开发该构件,使该构件能支持该接口,以确定会话是否在关于该数据库构件的迁移边界处,和捕捉和加载构件会话状态。并且,可分派研发队伍来开发执行会话迁移协议但不必处理数据库构件的复杂性的软件模块。这样,可更有效和有效率地执行会话迁移软件的开发。
对迁移使能数据库构件开发的分级
可将迁移使能数据库构件的开发分级。并不是所有数据库构件都需要在多结点数据库服务器或某一级服务器上开始会话迁移之前被迁移使能。在数据库服务器产品的早期发行(release)中,仅有数据库构件的子集需要被迁移使能。尽管那些具有不能被迁移使能的活动数据库构件的会话不能被迁移,但是其它会话可以被迁移。在后来的发行中,更多的数据库构件将被迁移使能,允许会话在较大比例的环境下被迁移。
在执行迁移检查时,可执行所选择的会话是否具有不被迁移使能的活动数据库构件的检查。检测所选择的会话具有不被迁移使能的活动数据库构件可被认为是迁移失败事件。
其它实施例
已经通过在多层系统的单个层中动态分配多结点数据库服务器资源示出本发明的一个实施例。然而,本发明的实施例不限于在数据库服务器内或多层系统的单个层内迁移会话。
例如,本发明的实施例可用于在多层系统的多个层中迁移会话,其中该多层系统包括在第一层中的多结点数据库服务器和在第二层中的多结点应用程序服务器,其中该应用程序服务器是关于该数据库服务器的客户机,通过网络连接至应用程序服务器的浏览器是关于该应用程序服务器的客户机。该应用程序服务器主要用于储存应用程序代码、提供对应用程序代码的访问、和执行应用程序代码,而数据库服务器主要用于储存用于该应用程序服务器的数据库和提供对该数据库的访问。透明会话迁移可以类似于在数据库服务器上的实例之间迁移会话的方式用于在该应用程序服务器的实例之间迁移会话。应用程序服务器的实例是Oracle 9i应用程序服务器或Oracle 10g应用程序服务器。
透明会话迁移不限于迁移会话,以动态平衡服务器之间的会话和工作负荷。例如,会话可从服务器迁移,以允许在计划的停机时间取下服务器,或在服务器被供应后变得可用时移动会话到另一服务器。
硬件概述
图9是示出可实施本发明的实施例的计算机系统900的框图。计算机系统900包括总线902或其它用于传递信息的通信机构、和与总线902连接以处理信息的处理器904。计算机系统900还包括例如随机存取存储器(RAM)或者其它动态存储装置等主存储器906,该主存储器与总线902连接,用于储存信息及处理器904要执行的指令。主存储器906还可用于在执行待被处理器904执行的指令期间储存临时变量或其他中间信息。计算机系统900还包括只读存储器(ROM)908或者其他静态存储装置,该存储装置与总线902连接,用于储存静态信息和处理器904的要执行的指令。例如磁盘或光盘等存储装置910与总线902连接,以储存信息和指令。
计算机系统900可以经由总线902连接到例如阴极射线管(CRT)等显示器912,该显示器用于向计算机用户显示信息。包括字母数字键和其他键的输入装置914与总线902相连,用于传递信息和命令选择到处理器904。另一种用户输入装置是光标控制器916,如鼠标、跟踪球、或光标方向键等,用于传递方向信息和命令选择到处理器904及用于控制显示器912上的光标移动。这个输入装置通常在两个轴上(第一轴(例如x轴)和第二轴(例如y轴))具有两个自由度,使装置能指定平面上的位置。
本发明涉及用于实现在此描述的技术的计算机系统900的使用。根据本发明的实施例,响应于处理器904执行包含在主存储器906中的一个或多个指令的一个或多个序列,通过计算机系统900执行这些技术。这样的指令可从诸如存储设备910等另一计算机可读介质读入主存储器906。通过执行包含在主存储器906中的指令序列,使处理器904执行此处所述的处理步骤。在可选实施例中,硬连线电路可用于取代软件指令或者与软件指令结合来实施该发明。因此,本发明中的实施例不限于硬件电路和软件的任何特定组合。
这里使用的术语“计算机可读介质”是指参与提供指令处理器904来执行的任何介质。这种介质可以采取很多形式,包括但不限于非易失性介质、易失性介质、和传输介质。非易失性介质举例来说包括例如存储装置910等光盘或磁盘,。易失性介质包括例如主存储器906等动态存储器。传输介质包括同轴电缆、铜线、和光纤,包括包含总线902的导线。传输介质还可采取声波或光波的形式,例如那些在无线电波和红外线数据通信过程中产生的声波和光波。
通常的计算机可读介质举例来说包括:软盘、柔性盘、硬盘、磁带、或者任何其它磁性介质;CD-ROM、任何其它光介质;打孔纸、纸带、或者任何带有孔图案的物理介质;RAM、PROM、EPROM、FLASH-EPROM、或者其他任何存储芯片或者磁带;下面描述的载波、或者计算机可读的任何其他介质。
各种形式的计算机可读介质可参与传送一个或者多个指令的一个或多个序列给处理器904来执行。例如,该指令开始可承载在远程计算机的磁盘中。该远程计算机能将该指令加载到其动态存储器中,然后使用调制解调器通过电话线发送指令。计算机系统900本地的调制解调器可接收电话线上的数据,且使用红外转换器将数据转换成红外信号。红外探测器可以接收红外信号携带的数据,且合适的电路可以把信息放到总线902上。总线902把数据传递到主存储器906中,处理器904从主存储器906取回并执行这些指令。在处理器904执行这些指令之前或之后,由主存储器906接收的指令可随意地储存于存储装置910中。
计算机系统900还包括连接到总线902的通信接口918。通信接口918提供连接到网络链路920的双向数据通信,其中网络链路920与局域网922相连。例如,通信接口918可以是综合业务数字网(Integrated Services Digital Network,ISDN)卡或者调制解调器,用于提供到相应类型电话线的数据通信连接。又如,通信接口918可以是局域网(Local Area Network,LAN)卡,用于提供至兼容LAN的数据通信连接。也可以使用无线链路。在任何这样的实施方式中,通信接口918均发送和接收承载表示各种信息的数字数据流的电信号、电磁信号和光学信号。
网络链路920通常可通过一个或者多个网络提供数据通信给其它数据装置。例如,网络链路920可通过局域网922与主机924连接,或者与互联网服务提供商(Internet Service Provider,ISP)926操作的数据设备连接。ISP 926又通过目前通称为“互联网”928的全球分组数据通信网络提供数据通信服务。局域网922和互联网928都使用承载数字数据流的电信号、电磁信号或光学信号。通过各种网络的信号、网络链路920上的信号、和通过通信接口918的信号是传输信息的载波的示范形式,这些信号都传送数字数据给计算机系统900或者传送来自计算机系统900的数字数据。
计算机系统900能通过网络、网络链路920、和通信接口918发送消息和接收数据(包括程序代码)。在互联网实例中,服务器930可通过互联网928、ISP 926、局域网922、和通信接口918传送所请求的应用程序代码。
当代码被接收和/或储存在存储装置910上或者其它非易失性存储器上用于随后执行时,处理器904可执行所接收到的代码。按照这种方式,计算机系统900可以获得载波形式的应用程序代码。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种方法,所述方法包括以下计算机执行步骤:
接收建立用于多节点系统的客户机的特定会话的请求;
在所述多节点系统的第一节点上将第一会话建立为所述特定会话;
确定传送所述特定会话给所述多节点系统的第二节点;
将来自所述第一节点的所述第一会话的第一会话状态传送给所述第二节点上的第二会话;以及
将所述第二会话建立为用于所述多节点系统上的所述客户机的所述特定会话。
2.根据权利要求1所述的方法,其中所述传送第一会话状态的步骤包括:
所述第一节点生成和储存所述第一会话状态的部分的副本;以及
经由在所述第一节点和所述第二节点之间建立的连接发送所述第一会话状态的部分的副本给所述第二节点。
3.根据权利要求1所述的方法,其中:
所述确定传送的步骤包括确定是否满足一个或多个迁移标准;以及
其中仅在满足所述一个或多个迁移标准时开始传送第一会话状态的步骤。
4.根据权利要求3所述的方法,其中所述一个或多个迁移标准基于与所述第一会话关联的事务是否已经终止。
5.根据权利要求3所述的方法,其中:
在所述第一节点上执行的多个软件构件的每个构件都访问所述第一会话状态的相应部分;
所述确定是否满足一个或多个迁移标准的步骤包括对于所述多个构件的每个构件,调用所述每个构件的函数,所述函数返回一个值,所述值表示所述第一会话状态的相应部分是否可被传送到另一节点;以及
其中所述一个或多个迁移标准基于由所述多个构件的每个构件的所述函数返回的所述值。
6.根据权利要求4所述的方法,所述步骤进一步包括:
发送第一消息给所述客户机,以使所述客户机创建所述第二会话;
所述客户机发送第二消息给所述第一节点,表示所述第二会话已经被创建;以及
响应于接收所述第二消息,所述第一节点开始传送第一会话状态。
7.根据权利要求6所述的方法,其中:
所述第二消息包含用于建立至所述第二节点的连接的连接数据;以及
传送第一会话状态包括经由所述连接传送所述第一会话状态。
8.根据权利要求6所述的方法,其中所述步骤进一步包括:
响应于收到来自所述第一节点的所述第一消息,所述客户机发送创建所述第二会话的特定请求给所述第二节点;以及
在创建所述第二会话后:
所述第二节点建立用于至所述第一节点的连接的端口,以及
所述第二节点发送消息给所述客户机,所述消息包含用于建立至所述端口的连接的连接数据。
9.根据权利要求8所述的方法,其中所述步骤进一步包括:
所述客户机发送消息给所述第二节点,所述消息包含用于建立至所述端口的连接的所述连接数据的副本;以及
响应于收到包含所述连接数据的副本的消息,所述第一节点基于所述连接数据建立连接,并且开始传送第一会话状态的步骤。
10.根据权利要求6所述的方法,其中所述步骤进一步包括,在传送所述第一会话状态后,发送第三消息给所述客户机,使所述客户机将所述第二会话用作所述特定会话。
11.根据权利要求1所述的方法,所述步骤进一步包括接收将所述第一会话迁移到所述第二节点的请求。
12.根据权利要求11所述的方法,所述步骤进一步包括:
跟踪迁移所述第一会话的进程;
根据迁移所述第一会话的进程和时间段,
停止迁移所述第一会话,
生成表示尝试所述第一会话的迁移不成功的数据。
13.根据权利要求1所述的方法,其中:
所述客户机驻留在计算机上,并且执行应用程序;
所述应用程序调用接口构件以与驻留在所述多节点系统上的服务器交互;
所述应用程序调用所述服务器;以及
在所述调用内执行所述传送第一会话状态和建立所述第二会话作为所述特定会话的步骤。
14.根据权利要求1所述的方法,所述步骤进一步包括:
所述第一节点接收迁移所述第一会话给所述第二节点的请求;
在确定已经经过了一段时间后,所述第一节点使所述客户机调用容放在所述第二节点的服务器;以及
在所述调用内执行所述传送第一会话状态和建立所述第二会话作为所述特定会话的步骤。
15.根据权利要求1所述的方法,其中:
所述传送第一会话状态和建立所述第二会话的步骤被作为迁移所述第一会话到所述第二节点的操作执行;
所述步骤进一步包括,作为对检测迁移失败事件的响应:
停止迁移所述第一会话,
释放被分配来迁移所述第一会话的资源,以及
生成表示尝试所述第一会话的迁移不成功的数据。
Applications Claiming Priority (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US49536803P | 2003-08-14 | 2003-08-14 | |
US60/495,368 | 2003-08-14 | ||
US60/500,050 | 2003-09-03 | ||
US60/500,096 | 2003-09-03 | ||
US10/918,055 | 2004-08-12 | ||
US60/601,259 | 2004-08-12 | ||
US60/601,346 | 2004-08-12 | ||
US10/917,953 | 2004-08-12 | ||
US10/917,873 | 2004-08-12 | ||
US60/601,250 | 2004-08-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1836213A true CN1836213A (zh) | 2006-09-20 |
CN100437545C CN100437545C (zh) | 2008-11-26 |
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 (2)
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 | 需要时节点和服务器实例分配和解除分配 |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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 (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104660550A (zh) * | 2013-11-20 | 2015-05-27 | 北京邮电大学 | 一种在多服务器之间进行会话迁移的方法 |
CN103699394B (zh) * | 2014-01-08 | 2017-04-12 | 夏夀民 | 一种基于多方交流协议自动生成软件系统交互框架的方法 |
Families Citing this family (156)
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 | 日本電気株式会社 | ストレージシステムとプログラム並びに方法 |
US7802258B2 (en) * | 2007-02-13 | 2010-09-21 | Amadeus S.A.S. | Interface between computer software modules |
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 |
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 |
CN106559485B (zh) * | 2016-11-15 | 2019-08-06 | 杭州迪普科技股份有限公司 | 一种控制服务器关机的方法及装置 |
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 | 杭州海康威视数字技术股份有限公司 | 一种任务分配方法及资源管理平台 |
CN110362410A (zh) * | 2019-07-24 | 2019-10-22 | 江苏满运软件科技有限公司 | 基于离线应用的资源控制方法、系统、设备及存储介质 |
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 (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104660550A (zh) * | 2013-11-20 | 2015-05-27 | 北京邮电大学 | 一种在多服务器之间进行会话迁移的方法 |
CN104660550B (zh) * | 2013-11-20 | 2019-03-01 | 北京邮电大学 | 一种在多服务器之间进行会话迁移的方法 |
CN103699394B (zh) * | 2014-01-08 | 2017-04-12 | 夏夀民 | 一种基于多方交流协议自动生成软件系统交互框架的方法 |
Also Published As
Publication number | Publication date |
---|---|
US7747754B2 (en) | 2010-06-29 |
CN100437545C (zh) | 2008-11-26 |
US7415522B2 (en) | 2008-08-19 |
CN1836214A (zh) | 2006-09-20 |
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 |
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 |
---|---|---|
CN1836213A (zh) | 服务器间的透明会话迁移 | |
US8621031B2 (en) | Method and apparatus using connection pools in communication networks | |
CN101408899B (zh) | 一种网站多数据源切换方法和装置 | |
CN1645330A (zh) | 用于应用程序分布式管理的启用网格的虚拟机的方法和系统 | |
CN1906580A (zh) | 对于具有可移动对象的启用网格的虚拟机的方法和系统 | |
US20060010125A1 (en) | Systems and methods for collaborative shared workspaces | |
US20060184535A1 (en) | Suspension and resuming of sessions | |
CN1516419A (zh) | 在主机计算机网络上处理客户机请求的系统和方法 | |
CN1754146A (zh) | 用于服务器负载均衡和服务器亲缘关系的系统和方法 | |
CN1595363A (zh) | 在操作系统分区内的进程间通信 | |
CN1233011A (zh) | 用于计算机运行期间改变软件的系统 | |
CN1302014A (zh) | 用于自动软件配置的请求调度程序 | |
CN1967485A (zh) | 一种实现j2ee应用的方法及系统 | |
CN100341281C (zh) | 一种在网络系统中实现任务管理的方法 | |
US7900212B2 (en) | Pooling stateful session Enterprise Java Beans for reuse | |
CN1798031A (zh) | Web服务事务处理系统及处理方法 | |
CN1659847A (zh) | 用于支持并行应用互操作性的系统和方法 | |
CN1201941A (zh) | 报文处理方法和装置及用于存储控制程序的存储介质 | |
CN108958933B (zh) | 任务执行器的配置参数更新方法、装置及设备 | |
CN1148651C (zh) | 控制移动对象的方法 | |
US20030212587A1 (en) | Apparatus and methods for coordinating Web services using role based interpretation of coordination plans | |
CN113626179B (zh) | 一种通用的人工智能模型训练方法及系统 | |
WO2021217610A1 (zh) | 数据标注系统、方法和数据标注管理器 | |
CA2533751C (en) | Transparent migration of stateless sessions across servers | |
CN1735032A (zh) | 一种支持分布式管理信息树的网络管理方法 |
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: 20081126 |
|
CX01 | Expiry of patent term |