CN1483162A - 用于对请求进行集中和负载均衡的系统和方法 - Google Patents

用于对请求进行集中和负载均衡的系统和方法 Download PDF

Info

Publication number
CN1483162A
CN1483162A CNA018153224A CN01815322A CN1483162A CN 1483162 A CN1483162 A CN 1483162A CN A018153224 A CNA018153224 A CN A018153224A CN 01815322 A CN01815322 A CN 01815322A CN 1483162 A CN1483162 A CN 1483162A
Authority
CN
China
Prior art keywords
connection
client computer
client
server
ish
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
Application number
CNA018153224A
Other languages
English (en)
Other versions
CN1249576C (zh
Inventor
�����ִ�
保罗·费沃达
彼得·鲍尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
BEA Systems Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEA Systems Inc filed Critical BEA Systems Inc
Publication of CN1483162A publication Critical patent/CN1483162A/zh
Application granted granted Critical
Publication of CN1249576C publication Critical patent/CN1249576C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/10015Access to distributed or replicated servers, e.g. using brokers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Abstract

本发明一般地涉及分布式计算机环境,特别涉及用于减少因特网对象请求代理间协议(IIOP)中的对象请求代理(ORB)连接数的系统和方法。现有解决方案要求n×m个连接来处理从客户机(82、84、86、88)向远程服务器(92、94、96、98)的请求。这里描述的解决方案允许只要m个经过智能集中器(90)的连接,这显著地减少了需求,并允许了可缩放性。现有解决方案不利用多个主集中器(90)来处理集中器失效或动态可缩放性。

Description

用于对请求进行集中和负载均衡 的系统和方法
版权通告
本专利文件的部分公开内容包含受版权保护的材料。在其出现在专利和商标局专利文件或记录中的情况下,版权拥有者不反对任何人复制本专利文件或本专利公开内容,但是除此以外,保留全部版权。
本发明要求从2000年7月27日提交的申请号为60/221,057的临时申请“SYSTEM AND METHOD FOR CONCERNTRATION AND LOAD-BALANCING OF REQUESTS(用于对请求进行集中和负载均衡的系统和方法)”的优先权,作为参考,合并于此。
技术领域
一般地,本发明涉及分布式计算环境,特别涉及用于减少因特网对象请求代理间(inter-ORB)协议(IIOP)环境中的对象请求代理(ORB)连接数目的系统和方法。
背景技术
在分布式计算领域中,存在几种体系结构,其允许机器彼此通信,或者共享分布式或网络中心应用程序。这些体系结构中的一个包括公共对象请求代理体系结构(CORBA)。CORBA是由对象管理组(OMG)开发的体系结构设计规范,而OMG是致力于开发在面向对象的计算中使用的标准的独立组。遵从CORBA的系统的例子包括网景公司的ONE产品、和BEA系统的网络逻辑企业服务器。
CORBA提供了接口定义语言(IDL)规范,IDL允许软件开发者以标准模式为其面向对象应用程序定义接口。IDL包括允许IDL定义的映射和要映射到包括C、C++、以及Java的各种程序设计语言的类型。因此,CORBA允许开发者创建“透明的”应用程序,可以独立于原始程序设计语言而将其解释。开发者和第三方供应商通过对象请求代理(ORB),创建彼此相互作用的对象。使用语言映射,开发者可以创建ORB理解的客户机端“占位程序(stub)”和服务器端“框架”。
自从CORBA 2.0,CORBA规范包括了一种允许多个ORB彼此无缝通信的方法。ORB互操作性体系结构,或者更具体的说,通用对象请求代理间协议(GIOP)标准,定义了一组ORB可以在网络上发出的消息请求。存在各种风格的GIOP,每一个适于特定网络传输的需要。如OMG定义的GIOP包括三个组件:公用数据表示:将IDL类型映射到网络代理之间使用的低级类型的传送语法。GIOP消息格式:当前有七种,包括客户机请求、服务器应答、客户机取消请求、客户机定位请求、服务器定位应答、服务器关闭连接、以及消息错误。GIOP消息传输假定:包括:传输是面相连接的、可靠的、可以视为字节流,提供无序连接损失的合理通知,并且初始化连接的传输模型可以映射到TCP/IP的通用连接模型。
所有ORB必须都能够通过规范使用的公共GIOP实现是因特网对象请求代理间协议(IIOP)。IIOP将GIOP消息映射到TCP/IP,这允许ORB使用例如因特网的TCP/IP网络作为通信总线或干线。参考图1的金字塔结构,金字塔的最低层是物理器件,例如具有MAC(介质访问控制)地址的以太网卡。其上是以太网协议,其提供基于连接的广播拓扑,在其中对消息编码,并解决冲突。下一层是网际协议(IP),其指定穿越因特网的数据包的格式,并支持主机名和IP地址。主机名允许对IP作路由选择。在IP之上是传输控制协议(TCP),其加入端口号和诸如数据包分段和存活时间的控制指令的功能。这提供了可靠的、基于流的传递。IIOP建于TCP之上。在IIOP之上是ORB层,其整理IIOP请求。在金字塔的顶端是应用程序层本身,其包括对象实现和其它ORB对象及诸如命名服务的服务。
在如上所述的分布式对象系统中,如图2中进一步说明,在请求对象功能42、44、46、48的处理和实现对象功能52、54、56、58的处理之间来回传送请求50。图2的例子展示n个客户机调用m个服务器。当有n×m个连接时,很难用这样的系统取得可缩放性,其中n代表请求一组对象功能的处理数,而m代表实现这组对象功能的处理数。这是一般已知的“扇出(fan-out)问题”,其导致难于确保系统资源足够充分,以允许可缩放性。有一些技术允许请求经集中器处理集中到IIOP/ORB域或对象实现的组。问题是以相反方向、从域内对象实现到域外其它对象实现进行时,如何可以取得可缩放性。
发明内容
为解决对象系统中可缩放性的问题,本发明的一个实施例允许本地客户机,以及充当本地客户机的服务器,调用远程对象引用。调用远程对象引用的能力应该:可缩放,鲁棒(robust),可以用作完成对外来ORB服务器中实现的对象引用的调用的机制,可以用作完成远程客户机实现的调用(客户机调回)的机制,并且可以用作完成向远程客户机传递事件的机制。
本发明的一个解决方案和实施例对从域内到域外的请求利用智能集中器处理。配置了一个或多个主处理,对经过实际处理请求的从处理(sub-process)的请求做负载均衡。主处理可以根据负载的需要动态添加从处理。此外,主处理可以允许通过确保来自域内的多个请求使用相同的实际连接将其请求到域外对象实现而集中。这些主处理的多重性允许故障修复和可恢复性以防主处理失败。
本发明的实施例允许本地客户机和充当客户机的本地服务器,来调用对象引用,所述对象引用的实现存在于因特网对象请求代理间协议(IIOP)域之外。这提供了一种基础机制,其允许远程客户机接收事件,允许远程客户机接收调回(callback),并允许本地客户机和充当客户机的服务器调用对象引用,而所述对象引用的实现在建立有对象请求代理(ORB)的远程服务器中。
附图说明
图1图解现有技术中IIOP和ORB层与其它网络通信协议之间的关系。
图2图解现有技术中已知的扇出问题。
图3展示本发明实施例中如何使ISH可以用作多个客户机和对服务器的TCP/IP链接之间的接口。
图4展示本发明实施例中如何使ISL/ISH集中器可以用于最小化服务n个客户机所需的服务器连接数。
图5图解本发明实施例,其中一个ISL和多个ISH服务多种客户机和服务器类型。
图6展示本发明实施例中如何使路由选择(routing)代码与ISL和ISH相互作用。
图7展示本发明实施例中ISL中包含的服务。
图8展示本发明实施例的路由选择/绑定处理的步骤。
图9展示本发明实施例的解绑定处理。
图10图解本发明使用双向连接的出站IIOP实施例。
图11图解本发明使用成对连接的出站IIOP实施例。
图12图解本发明使用非对称连接的出站IIOP实施例。
图13展示本发明实施例中,在客户机断线后,如何可以弹回双向连接。
具体实施方式
下面将结合附图描述本发明的各种实施例。下文中给出了几个定义,其在对优选实施例的描述中将非常有用。客户机/服务器:一种机器或处理,其既可以充当客户机也可以充当服务器,或同时充当两者。域:可以作为一个单元来管理的多个机器或资源的集合。可以基于应用程序功能、安全性需要、或地理位置设置域,并且在多个应用程序互相通信的情况下,域特别有用。本地:位于该域中的客户机或服务器。调回:调用远程客户机(充当服务器)创建的对象引用(object reference)以便将IIOP请求传递到远程客户机的对象实现的能力调出:为一些远程服务器取对象引用并对其调用以便将请求传递到该远程服务器的能力。调出可以是到充当服务器(调回)的远程客户机或者到远程ORB服务器。ISH(IIOP服务器处理器):特别指这样的组件,其接收来自远程客户机的IIOP消息,并将其作为隧道GIOP(TGIOP)消息发送到本地(或者域内)服务器。这一组件还接收应答,并确保它们返回到适当的本地客户机/服务器。在本发明的一个实施例中,ISH还将从本地客户机/服务器接收TGIOP请求消息并将IIOP请求消息发送到远程服务器。该部件接收应答并确保它们返回到适当的本地客户机/服务器。ISL(IIOP服务器监听器):指决定由哪个ISH处理具体的远程客户机与本地服务器的对话。ISL处理ISH的故障修复和对本地对象的连接的负载均衡。在本发明的一个实施例中,ISL还决定由哪个ISH处理与远程服务器有关对象引用的具体对话,所述对象引用不在与ISH连接的客户机中。ISL集中有关对相同的远程对象的多个调用的连接。入站IIOP:现有技术中已知的概念,指启动从远程服务器向域内的本地客户机的IIOP请求。出站IIOP:指从域内的本地客户机、或充当客户机的服务器启动对不在域内的远程服务器的IIOP请求。非对称IIOP:在一些GIOP的版本中,IIOP连接并不对称,例如,只有客户机可以发送请求,而只有服务器可以对其接收。如果服务器需要向客户机中的对象发送请求,那么其不需创建从服务器到客户机的第二个连接。双向IIOP:客户机和服务器之间的连接是对称的,即客户可以在一个连接上向服务器发送请求,而服务器可以在同一个连接上向客户机输出的对象发送请求。
IIOP集中
图3展示了本发明的实施例中典型的集中处理。当前的系统只提供入站IIOP集中,本发明添加了对出站IIOP集中的支持。如图3所示,ISH集中器66通过将来自多个本地客户机的连接“进行集中”以在单个服务器链接68上操作,减少了对远程客户机/服务器70所需的连接数。几个客户机包含在与ISH相同的域内,并且通过处理之间的通信彼此通信。域外的客户机/服务器(远程客户机/服务器)经由标准TCP/IP链接与ISH通信。
如图4所示,本发明的ISH集中器的实施例用于改善图2中首次出现的系统的可缩放性。ISH90将有效连接数从n×m减少到了n+m。在本发明的一个实施例中,使用消息队列取代到远程服务器的直接链接,这将有效连接数减少到只有n个
出站IIOP支持
图5展示了包括本发明一个实施例的示范系统。如图所示,几个客户机调用一系列远程服务器。客户机可以是,例如,本地C++客户机102、Java客户机104、通知服务106、或者充当客户机的本地服务器108。远程服务器可以是另一个本地服务器110、为事件注册的本地客户机112、或非本地的遵从CORBA的ORB服务器114。当一个客户机调用服务器时,路由选择处理通过调用BIND(绑定)服务122,将该连接指向ISL。ISL确定ISH 130、132、或134哪一个最适于处理该连接。因此,尽管可以使用许多ISH,但是只需要一个ISH。ISL通过首先检查当前是否有ISH在处理到目标服务器的连接,确定由哪一个ISH处理该连接。如果没有一个在处理这样的连接,那么选择负担最小的一个ISH。在这种方式下,ISL进行服务,以均衡所有可用ISH之中增加的连接数的负载。
当选择ISH 126时,客户机随后经由ISH 128调用那个服务器。因为客户机和ISH在相同的域内,所以它们可以使用隧道GIOP(TGIOP)136通信。ISH使用TCP/IP 138上的IIOP与域外的服务器通信。
如本发明中所具体化的,出站IIOP支持为本地客户机、和充当本地客户机的服务器提供调用域外的远程对象引用的能力。这意味着事件能够流向为事件注册的远程客户机,可以对远程客户机进行调回,并且可以存取远程服务器中的对象。出站IIOP支持包括四个功能部分:对于连接到ISH的客户机中包含的对象的双向IIOP的支持。如果远程ORB支持双向GIOP 1.2,那么ISH可以利用相同的连接来向所连接的客户机发送请求,或从所连接的客户机接收应答。对于连接到ISH的客户机中包含的对象的准双向IIOP的支持。如果ORB不支持双向GIOP 1.2,那么客户机可以调用应用程序接口(API)来向ISH通知客户机中正在监听的主机/端口。ISH利用第二个成对出站连接向所连接客户机发送请求,并接收来自所连接客户机的应答。出站连接与引入(incoming)连接成对。如果客户机断开引入连接,那么也就断开了出站连接。对于ISH或本地客户机上的调用的支持。该基础结构基于客户消息支持到ISH或本地客户机的路由选择。修改ORB,以在对象引用中嵌入客户机标识符信息。对于未包含在连接到ISH的客户机中的对象的非对称出站IIOP的支持。ISL允许集中来自不同的本地客户机/服务器而去向相同的远程服务器的请求,以使用相同的连接传送。ISL将允许对请求的负载均衡,以便没有个别的连接超负载。
为了支持可缩放性,ISL可以在需要的时候启动附加处理器,并且可以在需要时添加附加ISL和附加ISH,以支持增加的出站IIOP通信量。
为了支持故障修复,可以在机器上或域内启用多个ISH。如果客户机尝试使用ISH未成功,将作出重新绑定该对象引用的尝试,并故障修复到另一个ISH上。
在本发明实施例的典型环境中,系统管理员可以只是将直接与出站IIOP支持组件互相作用的用户。其负责用正确的启动参数引导ISL,以起动有关不在所连接的客户机中的对象的出站IIOP。可以调节被引导的ISL的数量、和各种启动参数,以便获得对其安装具体工作量特征的最佳配置。
出站路由选择
图6至9中展示了出站路由选择处理中的功能特征。如图6所示,ISL 160和ISH 168(尽管系统可以以仅仅一个ISH操作,为说明目的展示了几个)经由共享存储器166彼此通信。在本发明的一个实施例中,ISL负责维护有关对远程服务器的连接的信息。在共享存储器中保存这样的连接的记录。ISH使用该信息以允许调用远程服务器。作为回应,ISH通过更新共享存储器中的信息来维护该信息,以反映关闭或断开的连接。然后ISL使用已更新的信息来更好地分配引入的调用请求。寻求调用远程服务的客户机调用路由选择代码150。路由选择代码与ISL互相作用,以确定该连接是否已经存在,如果是,则将其发送给对应的ISH。如果不存在连接,那么ISL选择ISH来为新连接服务。
图7展示了一些ISL 160通告或已对客户机可用的服务。原则上,客户机可以经由路由选择代码从ISL请求BIND(绑定)161或UNBIND(解绑定)162。错误子程序163处理失败的请求。如图8所示,路由选择代码180调用ISL 184上的BIND 182,其中ISL 184考虑远程服务器,并确定要使用的适当的ISH 188。其将该信息发回客户机186。客户机随后调用指定的ISH上的187。ISH随后处理客户机和服务器之间的通信。如图9中所进一步说明,当客户机190结束与服务器的连接,或请求关闭连接时,应用程序调用ISL 194上的UNBIND 192。然后ISL标记连接关闭196。在一段时间之后,垃圾收集处理中,将这一连接的条目从共享存储器中移除。
出站IIOP类型
有三种不同类型的出站IIOP:·  重新使用相同的连接的双向出站IIOP·  经由第二个成对连接的准双向出站IIOP·  经由第二个连接的非对称出站IIOP
双向出站IIOP
本发明的实施例包括ISL/ISH支持224、226、228,用于有关包含在连接到ISH的客户机中的对象的双向IIOP(图10)。如果客户机ORB支持双向GIOP 1.2,那么ISH将利用相同的连接来向所连接的客户机发送请求,并从所连接的客户机接收应答。客户机222将创建对象引用,并调用本地服务器。客户机ORB将使用服务环境,标识该连接为双向。将服务环境和消息一起传播到本地服务器236。当取消整理对象引用时,本地服务器将比较服务环境中的主机/端口与对象引用中的主机/端口。若其匹配,那么ORB将添加该ISH客户机标识符和其它路由选择所需的客户机信息,到对象引用中的标记组件。无论何时将其发送到其它本地服务器,这一客户机信息都将和对象引用一起传播。
在某些点上,本地服务器或本地客户机将调用对象引用。路由选择代码将调用给出客户机信息的合适的ISH。ISH在相同的客户机连接上向客户机发送请求。客户机将执行该方法,并经由客户机连接将应答发送回ISH。ISH将接收应答,并将其发送到本地服务器。
经由成对的第二个连接的出站IIOP
本发明还包括对于包含在连接到ISH的客户机中的对象的准双向IIOP的SH支持(图11)。如果客户机ORB不支持双向GIOP1.2,那么客户机可以调用API子程序,以向ISH通知客户机的监听端口。然后ISH创建分离的成对出站连接,以向所连接客户机发送请求,并从所连接客户机接收应答。
客户机将创建对象引用。然后其调用引导程序功能发送对象引用。ISH将从能共同操作的对象引用(IOR)得到主机/端口,并将其与客户机环境一起存储。客户机将调用本地服务器发送对象引用。ISH将创建包含来自注册调用的主机/端口的服务环境。该服务环境与消息一起传播到本地服务器。当取消整理对象引用时,本地服务器将比较服务环境中的主机/端口和对象引用中的主机/端口。如果其匹配,那么ORB添加ISH标识符(id)和客户机信息,到对象引用中的标记组件。无论何时将其发送到其它本地服务器,这一客户机信息都将和对象引用一起传播。
在某些点上,本地服务器或本地客户机将调用对象引用。路由选择代码将调用发送客户机信息的合适的ISH。ISH将创建连到客户机的第二个连接。其将在第二个连接上向客户机发送请求。客户机将执行该方法,并经由客户机连接将应答发送回ISH。ISH将接收应答,并将其发送到本地服务器。如果客户机从ISH断开,那么第二个连接也断开。
非对称出站IIOP
本发明的实施例还包括对于不包含在连接到ISH的客户机中的对象的非对称出站IIOP的ISL/ISH支持(图12)。ISL允许集中来自不同本地客户机/服务器而去向相同的远程服务器的请求,以使用相同的连接传送。ISL可以允许对请求的负载均衡,以便没有个别的连接超负载。服务器280将从一些来源得到对象引用,其可以是命名服务,或经客户机发送来,但是并不位于该客户机中。因为对象引用并不位于连接到ISH的客户机中,使用双向方法不能进行引出(outgoing)调用。
在某些点上,本地服务器或本地客户机将调用对象引用。在第一次调用时,对象引用中没有包含ISH id和客户信息。路由选择代码将识别对象密钥为非本地服务器对象引用。如果没有发送ISH id和客户机信息,那么路由选择代码将调用发送主机/端口的ISL224中的服务。ISL将返回要使用的服务名,以解绑定ISH 272的对象引用和客户机信息。这是ISH的客户机信息,而不是任何连接到ISH的客户机的客户机信息。
ORB将调用对象引用。该基础结构将调用ISH。ISH将从客户机信息得到连接标识符,并确定226使用哪个引出连接以向客户机发送请求。如果没有连接,那么ISH将创建连到主机/端口的分离的连接。ORB将为IOR中的IIOP配置文件的版本利用适当的GIOP版本。客户机将执行该方法,并经由分离的连接将应答发送回ISH。ISH将接收该应答,并将其发送给本地服务器。
处理流程
下面是对处理流程的详细描述,其说明在本发明一个实施例中,客户机、ISL、以及ISH如何互相作用:从本地客户机的角度讲
在对象引用绑定时间,ORB确定该对象引用是否为远程。如果是,则用来自对象引用的客户机信息(如果有的话)启动ORB。如果没有客户机信息,则指定BIND标记。否则不指定标记。
路由选择代码确定其是否有远程对象引用。
如果有BIND标记:调用BIND服务。在共享存储器中存储所返回的ISH客户机信息和ISL信息。
如果没有BIND标记:在共享存储器中存储客户机信息。
路由选择代码在共享存储器中搜索并调用客户机标识符。
当断开连接时,系统在共享存储器中搜索适当的条目,并调用UNBIND。
接下来,ISL在共享存储器中标记连接为关闭,因此ISH将其关闭。从ISH的角度讲
使用客户机id调用ISH。
ISH从消息队列中接收消息。以与应答相反的方式处理请求。
基础结构基于客户机将ISH切换到适当的环境。如果是非对称出站IIOP,则该环境是ISH环境(0),而不是客户机环境。
对IIOP请求进行复制,并用唯一的id取代IIOP请求id。对于这种环境,将该请求放在未解决请求表中。
如果环境是客户机环境,那么其具有双向连接或成对的第二个连接。如果还不存在成对的第二个连接和该连接,那么就创建一个。调用子程序来将IIOP请求发送到客户机。子程序缓存该请求,直到完成连接。否则,调用子程序来将IIOP请求发送到客户机。
如果环境是ISH环境,那么使用连接索引来确定出站连接。如果不存在连接,那么就创建一个。调用子程序来将IIOP请求发送到客户机。子程序缓存该请求,直到完成连接。如果存在连接,调用子程序来将IIOP请求发送到客户机。
ISH处理网络和消息队列事件。当应答从连接返回时,在未解决请求表中搜索相应的请求。ISH用原始请求id取代唯一的id,并将应答发送回客户机。从ISL的角度讲
在第一次调用对象引用时调用ISL。
调用服务子程序来绑定对象引用。参数为主机、端口、以及客户机标识符。
ISL散列(hash)主机/端口,并查询该数据结构,以确定主机/端口是否已在使用中。如果已在使用中,并且不在多路复用用户极限,那么就返回适当的ISH客户机标识符、域、客户机处理标识符、客户机队列、ISL组和服务器标识符。
增加用户多路复用引用计数。
如果没有发现,而现有ISH可以处理该连接,那么就指定现有ISH处理该请求。返回适当的ISH客户机id、域、客户机处理标识符、客户机队列、ISL组和服务器标识符。
如果没有ISH可以处理该连接,那么就启动新的ISH。返回适当的ISH客户机标识符、客户机处理标识符、客户机队列、ISL组和服务器标识符。
连接管理
连接管理是本发明实施例处理客户机和服务器之间的连接的处理,具体地说,是系统如何处理其评估的当前未使用的连接。
本发明的一个目的是可缩放性。所以,希望使出站连接数最小化。为此,系统支持双向连接和成对的第二个连接,以便具有有效的机制来调用所连接的客户机中包含的对象。这些情况包括多数出站IIOP通信量。然而,仍然可能有客户想要调用当前未连接的客户机中包含的对象引用的情况。这可以是对外来ORB服务器的对象引用;从本地域连接和断开的客户机/服务器;或者任何从名称服务器获取的对象引用。为了支持这些类型的对象引用,同时还要提供可缩放性,系统将这些TCP/IP连接从调用者处理重新定位到ISH。调用者(本地客户机或本地服务器)调用IOR,而使用本地基础结构来向ISH发送消息。然后ISH使用TCP/IP连接向远程服务器发送消息。然而,因为这些TCP/IP连接不再处于实际调用者处理中,因此当调用者(本地客户机或本地服务器)退出时,其不自动断开。
如果调用者(本地客户机或本地服务器)退出时,非对称出站IIOP连接(当前未被任何调用者使用)应该断开。这可以在最后一个调用者退出时立即进行,也可以在超时一段时间之后再进行。在下面的部分中描述对管理非对称出站IIOP连接的不同的替换方式。引用计数和用户验证
这一替换方式如下工作:·  本地客户机或本地服务器(对象引用的用户)调用对象引用。·  在第一次调用时,ORB调用ISL中的BIND服务。将有关这个主机/端口的条目添加到共享存储器中。将有关用户的标识符(本地客户机标识符或本地服务器组/srvid)的条目添加到共享存储器中。ISL为ISH返回连接标识符(映射到共享存储器中的主机/端口条目)和适当的客户机信息,所述ISH将包含连向远程服务器的TCP/IP连接。·  ORB使用客户机信息来向适当的ISH发送消息。ISH使用连接标识符来确定使用哪一个出站IIOP连接。·  本地客户机或本地服务器继续调用对象引用。每个调用导致一条发送给ISH的消息。·  如果另一个本地客户机调用具有相同的主机/端口的对象引用,BIND服务将返回与第一个用户相同的连接标识符和相同的客户机信息。主机/端口条目的引用计数将增加。将第二个用户(本地客户机或本地服务器)的标识符的条目添加到共享存储器中。·  最后,第一个和第二个用户释放对象引用。第一个用户的释放导致调用UNBIND服务,其对主机/端口条目的引用计数减一,并移除该用户的标识符。在第二个用户释放时,主机/端口条目的引用计数减至零。ISL从共享存储器中移除该主机/端口条目,并在共享存储器中将连接条目(不同于主机/端口条目)标记为关闭。·  当ISH看到在共享存储器中连接条目被标记为已关闭时,ISH关闭连接。·  将连接条目标记为未使用。
这是用户正常退出并释放对象引用的情况,其它情况包括在没有释放对象引用时退出以及用户非正常退出。为了确保在不再需要时释放连接,这一替换方式使用验证,其中ISL验证连接用户的标识符;在共享存储器中存储id;检查服务器是否无效;并且如果在当地机器上,ISL将比较时标(timestamp)来检查本地客户机是否仍然有效;或者使用调用来验证与ISL不在同一台机器上的本地客户机。未解绑定的非对称出站连接超时
这一替换方式如下工作:·  本地客户机或本地服务器(对象引用的用户)调用对象引用。·  在第一次调用时,ORB调用ISL中的BIND服务。将有关这个主机/端口的条目添加到共享存储器中。ISL为ISH返回连接标识符(映射到外加附加产生/时标区(field)的共享存储器中的主机/端口条目)和适当的客户机信息,其将包含到远程服务器的TCP/IP连接。·  ORB使用客户机信息来向适当的ISH发送消息。ISH使用连接标识符来确定使用哪一个出站IIOP接口。如果连接标识符不再有效(因连接超时),则返回错误。·  本地客户机或本地服务器继续调用对象引用。每个调用导致一条发送给ISH的消息。·  如果另一个本地客户机用相同的主机/端口调用对象引用,BIND服务将返回与第一个调用相同的连接标识符和相同的客户机信息。不对主机/端口条目进行引用计数。·  最后,第一个和第二个用户释放对象引用。不调用解绑定服务。连接保持不动。
在每次调用时,ISH更新共享存储器中的动作时标区以便连接。在通常的情况下,如果在用户指定的时间段内没有发生动作,ISL将使连接超时。ISL将把连接标记为已关闭,并移除主机/端口条目。当ISH注意到连接被标记为已关闭时,ISH将断开该连接。其将连接条目标记为未使用。如果连接用户死机或没有释放对象引用,那么只要该连接有效,该连接就保持原封不动。当其在指定时间段之内不是有效时,将其断开。对象引用仍然可以有效,但是在指定超时时间段内没有使用。在这种情况下,将断开连接,并移除主机/端口条目。ISH将接收请求,确认连接id,并返回错误。该错误将使ORB重新绑定对象引用。这将涉及对ISL BIND服务的调用,并且可以使用现有连接,或者创建新的连接。重新绑定对用户是不可见的。非对称出站连接超时的引用计数
这是可替换方式1和2的组合。主要区别在于只要没人使用这些连接,就立即断掉它们。
这一替换方式如下工作:·  本地客户机或本地服务器(对象引用的用户)调用对象引用。·  在第一次调用时,ORB调用ISL中的BIND服务。将有关这个主机/端口的条目添加到共享存储器中。ISL为ISH返回连接标识符(映射到外加附加产生/时标区的共享存储器中的主机/端口条目)、适当的ISH id和客户机信息,所述ISH将包含到远程服务器的TCP/IP连接。·  ORB使用ISH id和客户机信息来向适当的ISH发送消息。ISH使用连接标识符来确定使用哪一个出站IIOP连接。如果连接标识符不再有效(因连接超时),则返回错误。·  本地客户机或本地服务器继续调用对象引用。每个调用导致一条发送给ISH的消息。·  如果另一个本地客户机调用具有相同的主机/端口的对象引用,BIND服务将返回与第一个调用相同的连接标识符和相同的客户机信息。主机/端口条目的引用计数将增加。·  最后,第一个和第二个用户释放对象引用。第一个用户的释放导致调用UNBIND服务。其对主机/端口条目的引用计数减一。在第二个用户释放时,主机/端口条目的引用计数减至零。ISL从共享存储器中移除该主机/端口条目,并在共享服务器中将连接标记为关闭。·  当ISH看到在共享存储器中连接条目被标记为关闭时,ISH关闭连接。·  将连接条目标记为未使用。
如果连接用户死机或没有释放对象引用,那么只要该连接有效,该连接就保持原封不动。当其在指定时间段之内不是有效时,将其断开。对象引用仍然可以有效,但是在指定超时时间段内没有使用。在这种情况下,将断开连接,并移除主机/端口条目。在随后调用时,ISH将接收请求,确认连接标识符,并返回错误。该错误将使ORB重新绑定对象引用。这将涉及对ISL BIND服务的调用,并且可以使用现有连接,或者创建新的连接。重新绑定(rebind)对用户应该是不可见的。
附加特征使用用于调出的双向连接
在一些情况下,客户可能对事件连接、创建持续预定,然后从ISH断开。当客户机重新连接ISH时,其希望为该持续预定接收事件。
在本发明的一个实施例中,ISL知道当前的双向连接,并从而使用它们,而不是在IOR中创建对主机/端口的分离的连接。向ISL通知双向连接允许了对资源的最优使用。ISH向ISL通知双向信息。这要求锁定共享存储器或有关连接创建和删除的特别消息。客户机断开
在这种情况下,如图13所示,客户机从域中断开,但是仍然监听相同的主机和端口。对象引用包含已断开的客户机的客户机信息。当ORB调用不可用服务时,基础结构将返回错误。ORB将处理该错误,并重新绑定对象引用304。将选择ISH来创建对远程服务器的新连接,并更新客户机信息。数据设计
ISL和ISH都在存储器中保存着数据。其还为在ISL及其ISH的整个使用寿命内需要持续保存的项目而共享存储器。如果ISL死机并重启,其将重新连向共享存储器,并将能够恢复其保存在共享存储器中的任何状态。共享存储器
ISL与ISH共享其控制的存储器。如果起动了非对称出站IIOP,那么在共享存储器表中将出现附加部分。ISL使用该存储器进行适当的集中和负载均衡;而ISH使用该存储器来跟踪哪个连接需要创建。ISL是共享存储器的主写入器。ISH失败
ISH不得不在周围保存不需要在共享存储器中的信息。在信息中,不需要共享的是用于保持有关当前请求的信息的区域、将请求id映射到客户机(服务器)的区域。ISL负责重启ISH。当其重启ISH时,其将清除对死机的ISH的存储槽,并确保ISH将连接到ISL的共享存储器。
如果客户机调用绑定在已失败的ISH上的对象引用,那么将发生错误。调用者将重新绑定,并且将选择ISH来执行调用。这可以是已重启的ISH或另一个ISH。ISL失败
如果系统管理员以推荐设置启动ISL,其终将重启。如果对象代码正在调用服务,但是还没有选择该服务器,那么将选择可替换的ISL。如果对象代码正在调用服务,并且选择了该服务器,那么系统向客户机返回错误。当ISL最终重启时,其将重新连接到共享存储器。本地客户机(或充当客户机的服务器)失败
ISL将周期性地扫描出站连接表。如果连接在指定的超时时间段之内无效,那么将释放相应的条目,并断开该出站连接。这将确保如果本地客户机或服务器失败,则本地客户机或服务器创建的出站连接将总是被断开。垃圾收集
有一些“事件”可以导致共享存储器中的一些部分被清除:·  远程服务器失败。ISH将向客户机(或者,如果多个客户机正在使用该连接,则是多个客户机)返回错误。当客户机退出并通知了ISL时,其将清除适当的主机和端口存储槽和适当的客户机标识符存储槽。·  ISH意识到连接已经超出系统管理员设定的超时时间。释放相应的条目,并且将接口标记为关闭。在下一次调用时,将向调用者返回错误,而ORB将重新绑定对象引用。将创建新的连接,并发生调用。·  ISH死机。ISL重启ISH。在下一次调用该已绑定的对象引用时,发生错误。调用者将重新绑定,并选择ISH来执行调用。现有ISH条目将保存在共享存储器中。在第一次调用时,已重启的ISH将连接到远程服务器。·  ISL死机。在重启时,其检查所有ISH,并清除任何已死机的ISH的条目。·  ISL停机。ISL向ISH发送停机消息。ISL移除共享存储器。·  机器崩溃并且ISL和所有ISH同时死机。共享存储器消失。
从对附图和权利要求的审阅中可以获得本发明的其它特征、方面和目标。应该明白,可以开发本发明的其它实施例,而其都在本发明和权利要求的精神和范围之内。
工业实用性
本发明在面向对象系统领域,特别在遵从CORBA的系统中具有特别的用途,所述遵从CORBA的系统中n个客户机可以调用m个服务器。一般地,这将需要n×m个连接来处理请求。上文所描述的本发明允许对服务器只有m个连接,这显著地减少了资源需求,并允许可缩放性。本发明还允许多个智能主集中器处理,以应付集中器失效,并提供可缩放性。

Claims (24)

1.一种用于在分布式对象环境中允许当地客户机应用程序调用远程服务器服务的系统,包括
集中器,用于绑定来自客户机应用程序的请求以调用远程服务,识别远程服务器,并可操作地将客户机连接到所述远程服务器。
2.如权利要求1所述的系统,其中集中器还包括:
至少一个连接处理器,用于处理从客户机到服务器的连接;以及
监听器,用于确定使用哪个连接处理器来处理所述连接。
3.如权利要求2所述的系统,其中监听器和连接处理器经由共享存储器通信。
4.如权利要求3所述的系统,其中共享存储器包括一列当前连接的服务器,而连接处理器处理每个连接。
5.如权利要求2所述的系统,其中集中器包括多个连接处理器。
6.如权利要求5所述的系统,其中监听器基于共享存储器中的条目来确定要使用的连接处理器。
7.一种用于在分布式对象环境中允许当地客户机应用程序调用远程服务器上的远程服务的方法,包括
绑定来自客户机应用程序、调用远程服务的请求;
识别远程服务器;以及
经过连接处理器可操作地将客户机连接到所述远程服务器。
8.如权利要求7所述的方法,还包括:
引用共享存储空间,以查看是否远程服务器当前已连接到连接处理器。
9.如权利要求8所述的方法,还包括:
如果远程服务器当前未连接到连接处理器,那么将远程服务器连接到连接处理器,并更新共享存储器。
10.如权利要求9所述的方法,其中更新共享存储器的步骤包括更新一列当前连接服务器;以及连接处理器处理每个连接。
11.如权利要求7所述的方法,其中可以使用多个连接处理器中的一个来处理连接。
12.如权利要求11所述的方法,还包括如下步骤:
通过引用共享存储器中的条目,确定应该处理连接的连接处理器。
13.一种用于在分布式对象环境中允许当地客户机应用程序调用远程服务器服务的系统,包括
集中器,用于绑定来自客户机应用程序、对远程服务的调用请求,所述集中器还包括:
多个连接处理器,用于处理从客户机到服务器的连接;
监听器,用于确定用来处理所述连接的所述多个连接处理器中具体的连接处理器;以及
共享存储器,用于允许所述监听器和所述多个连接处理器之间的通信,所述共享存储器包括一列当前连接的服务器,而连接处理器处理每个连接。
14.如权利要求13所述的系统,其中当地客户机应用程序执行下述步骤:
在对象引用绑定时,确定该对象引用是否为远程,如果是,则用来自对象引用的客户机信息启动ORB;
如果有绑定标记,绑定该服务,并在所述共享存储器中存储所返回的ISH客户机信息和监听器信息;
如果没有绑定标记,在共享存储器中存储客户机信息;
在所述共享存储器中搜索并调用客户机标识符;以及
当断开连接时,在所述共享存储器中搜索适当的条目,并使用所述条目对服务解绑定。
15.如权利要求13所述的系统,其中所述连接处理器执行下述步骤:
从消息队列中接收消息;
基于客户机,将处理器切换到客户机环境或处理器环境;
对IIOP请求进行复制,并用唯一的id取代IIOP请求id;
对于这种环境,将该请求放在未解决请求表中;
如果该环境是客户机环境,并且如果还不存在成对的第二个连接和该连接,那么就创建一个,并将IIOP请求发送到客户机;
如果该环境是处理器环境,那么使用连接索引来确定出站连接,并且如果不存在连接,那么就创建一个,并将IIOP请求发送到客户机;以及
当应答从连接返回时,在未解决请求列表中搜索相应的请求,用原始请求id取代唯一的id,并将应答发送回客户机。
16.如权利要求13所述的系统,其中所述监听器执行下述步骤:
调用服务子程序,以连同主机、端口、以及客户机标识符一起,绑定对象引用;
在共享存储器中搜索,以确定主机/端口是否已在使用中;
增加用户多路复用引用计数;
如果现有处理器可以处理该连接,那么就指定该现有处理器处理该请求;以及
如果没有现有处理器可以处理该连接,那么就启动新的ISH。
17.如权利要求13所述的系统,其中客户机是本地C++客户机、Java客户机、通知服务、或充当客户机的本地服务器中的任何一个。
18.如权利要求13所述的系统,其中远程服务器是本地服务器、为事件注册的本地客户机、或非本地的遵从CORBA的ORB服务器中的任何一个。
19.一种用于在分布式对象环境中允许当地客户机应用程序调用远程服务器服务的方法,包括:
提供多个连接处理器,用于处理从客户机到服务器的连接;
由监听器确定用来处理所述连接的所述多个连接处理器中具体的连接处理器;以及
绑定来自客户机应用程序的调用远程服务的请求,所述绑定步骤包括:
识别远程服务器;以及
经过所述具体的连接处理器,可操作地将客户机连接到所述远程
服务器。
20.如权利要求19所述的方法,其中所述当地客户机应用程序执行下述附加步骤:
在对象引用绑定时,确定该对象引用是否为远程,如果是,则用来自对象引用的客户机信息启动ORB;
如果有绑定标记,绑定该服务,并在所述共享存储器中存储所返回的ISH客户机信息和监听器信息;
如果没有绑定标记,在共享存储器中存储客户机信息;
在所述共享存储器中搜索并调用客户机标识符;以及
当断开连接时,在所述共享存储器中搜索适当的条目,并使用所述条目对服务解绑定。
21.如权利要求19所述的方法,其中所述连接处理器执行下述附加步骤:
从消息队列中接收消息;
基于客户机,将处理器切换到客户机环境或处理器环境;
对IIOP请求进行复制,并用唯一的id取代IIOP请求id;
对于这种环境,将该请求放在未解决请求列表中;
如果该环境是客户机环境,并且如果还不存在成对的第二个连接和该连接,那么就创建一个,并将IIOP请求发送到客户机;
如果该环境是处理器环境,那么使用连接索引来确定出站连接,并且如果不存在连接,那么就创建一个,并将IIOP请求发送到客户机;以及
当应答从连接返回时,在未解决请求列表中搜索相应的请求,用原始请求id取代唯一的id,并将应答发送回客户机。
22.如权利要求19所述的方法,其中所述监听器执行下述附加步骤:
调用服务子程序,以连同主机、端口、以及客户机标识符一起,绑定对象引用;
在共享存储器中搜索,以确定主机/端口是否已在使用中;
增加用户多路复用引用计数;
如果现有处理器可以处理该连接,那么就指定该现有处理器处理该请求;以及
如果没有现有处理器可以处理该连接,那么就启动新的ISH。
23.如权利要求19所述的方法,其中客户机是本地C++客户机、Java客户机、通知服务、或充当客户机的本地服务器中的任何一个。
24.如权利要求19所述的方法,其中远程服务器是本地服务器、为事件注册的本地客户机、或非本地的遵从CORBA的ORB服务器中的任何一个。
CNB018153224A 2000-07-27 2001-07-17 用于对请求进行集中和负载均衡的系统和方法 Expired - Lifetime CN1249576C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US22105700P 2000-07-27 2000-07-27
US60/221057 2000-07-27

Publications (2)

Publication Number Publication Date
CN1483162A true CN1483162A (zh) 2004-03-17
CN1249576C CN1249576C (zh) 2006-04-05

Family

ID=22826149

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB018153224A Expired - Lifetime CN1249576C (zh) 2000-07-27 2001-07-17 用于对请求进行集中和负载均衡的系统和方法

Country Status (8)

Country Link
US (3) US6990511B2 (zh)
EP (1) EP1311946B1 (zh)
JP (1) JP5085831B2 (zh)
KR (1) KR100798504B1 (zh)
CN (1) CN1249576C (zh)
AU (2) AU2001276932B2 (zh)
CA (1) CA2417509C (zh)
WO (1) WO2002010917A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100446581C (zh) * 2004-07-12 2008-12-24 中兴通讯股份有限公司 一种无线局域网中负载均衡系统实现的方法
CN101167054B (zh) * 2005-05-27 2011-02-23 国际商业机器公司 用于在多个数据中心之间选择性卸载工作负荷的方法和装置
CN102055730A (zh) * 2009-11-02 2011-05-11 华为终端有限公司 云处理系统、云处理方法和云计算代理装置
CN101610283B (zh) * 2009-07-17 2012-04-25 浪潮电子信息产业股份有限公司 一种网卡绑定状态下动态接收负载均衡的方法
CN103477323A (zh) * 2011-01-05 2013-12-25 阿尔卡特朗讯 企业应用的无缝缩放
CN107545489A (zh) * 2017-08-18 2018-01-05 秒啊(北京)科技有限公司 一种时间交易方法
CN107645476A (zh) * 2016-07-22 2018-01-30 百度在线网络技术(北京)有限公司 请求处理方法和装置
CN111865664A (zh) * 2020-06-18 2020-10-30 烽火通信科技股份有限公司 一种orb对象生命周期管理方法及系统

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100798504B1 (ko) * 2000-07-27 2008-01-28 비이에이 시스템즈 인코포레이티드 요청의 집중 및 부하조정을 위한 시스템 및 방법
US20020124083A1 (en) * 2000-09-06 2002-09-05 Sun Microsystems, Inc. Method and apparatus for increasing the efficiency of transactions and connection sharing in an enterprise environment
FI20011239A (fi) * 2001-06-12 2002-12-13 Nokia Corp Tiedonsiirtomenetelmä ja -järjestely
US6980997B1 (en) * 2001-06-28 2005-12-27 Microsoft Corporation System and method providing inlined stub
IL145104A (en) * 2001-08-23 2007-02-11 Gregory Bondar A method and system for balancing the load on a computer resource between computers
US7406074B2 (en) * 2002-07-12 2008-07-29 Lucent Technologies Inc. Bundling messages in communication networks
CA2425048C (en) 2003-04-08 2008-06-03 Ibm Canada Limited - Ibm Canada Limitee Method and system for resource access
CN100388183C (zh) * 2003-07-05 2008-05-14 华为技术有限公司 一种实现加权最小连接分配的服务器负载均衡方法
US7689986B2 (en) * 2003-10-21 2010-03-30 Gemstone Systems, Inc. Shared listeners in shared object space
US7444536B1 (en) * 2004-04-16 2008-10-28 Sun Microsystems, Inc. RMI-IIOP request failover mechanism
US7836202B2 (en) * 2005-01-19 2010-11-16 Iona Technologies Limited Communication system integrating a plurality of middleware and implementing sophisticated paths for data flow
US7613131B2 (en) * 2005-11-10 2009-11-03 Citrix Systems, Inc. Overlay network infrastructure
US7603359B2 (en) * 2006-01-17 2009-10-13 International Business Machines Corporation Method and apparatus for maintaining federated name context bindings in a name space
JP2008077428A (ja) * 2006-09-21 2008-04-03 Fujitsu Ltd 負荷分散装置、負荷分散方法及び負荷分散プログラム
EP2100223B1 (en) * 2006-12-05 2011-01-19 QUALCOMM Incorporated Apparatus and methods of a zero single point of failure load balancer
US8645324B2 (en) * 2009-01-09 2014-02-04 Pivotal Software, Inc. Preventing pauses in algorithms requiring pre-image information concerning modifications during data replication
EP2264594B1 (en) 2009-06-18 2011-10-12 Software AG A broker system for a plurality of brokers, clients and servers in a heterogeneous network
GB201015324D0 (en) * 2010-09-14 2010-10-27 Vodafone Ip Licensing Ltd Secure association
US8874811B2 (en) 2012-10-15 2014-10-28 Oracle International Corporation System and method for providing a flexible buffer management interface in a distributed data grid
US20160182291A1 (en) * 2014-12-23 2016-06-23 Qualcomm Incorporated Controlling a modality of a dockee in a wireless docking system
US20170292798A1 (en) * 2016-04-06 2017-10-12 Fluor Technologies Corporation Leak detection in heat exchanger systems
CN110933180B (zh) * 2019-12-10 2023-05-12 深信服科技股份有限公司 一种通信建立方法、装置、负载设备及存储介质

Family Cites Families (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819028A (en) * 1992-06-10 1998-10-06 Bay Networks, Inc. Method and apparatus for determining the health of a network
GB9222282D0 (en) * 1992-10-22 1992-12-09 Hewlett Packard Co Monitoring network status
US5329619A (en) * 1992-10-30 1994-07-12 Software Ag Cooperative processing interface and communication broker for heterogeneous computing environments
CA2110243C (en) * 1992-12-31 1998-08-11 Philip Steven Winterbottom Apparatus and methods for making a portion of a first name space available as a portion of a second name space
US5553242A (en) * 1993-11-03 1996-09-03 Wang Laboratories, Inc. Client/server connection sharing
EP0733971A3 (en) * 1995-03-22 1999-07-07 Sun Microsystems, Inc. Method and apparatus for managing connections for communication among objects in a distributed object system
US5793965A (en) * 1995-03-22 1998-08-11 Sun Microsystems, Inc. Method and apparatus for determining the type of an object in a distributed object system
US5889953A (en) * 1995-05-25 1999-03-30 Cabletron Systems, Inc. Policy management and conflict resolution in computer networks
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
US5710882A (en) * 1995-06-29 1998-01-20 Telefonaktiebolaget Lm Ericsson Method and call set up server for setting up a call using a call handling portion and a connection handling portion to handle the call and the connection, respectively
GB2305270A (en) 1995-09-15 1997-04-02 Ibm Bridge for a client-server environment
US6006018A (en) * 1995-10-03 1999-12-21 International Business Machines Corporation Distributed file system translator with extended attribute support
US5758186A (en) * 1995-10-06 1998-05-26 Sun Microsystems, Inc. Method and apparatus for generically handling diverse protocol method calls in a client/server computer system
JP3684262B2 (ja) * 1996-01-17 2005-08-17 富士通株式会社 ネットワークシステム及び集線装置
US5761507A (en) * 1996-03-05 1998-06-02 International Business Machines Corporation Client/server architecture supporting concurrent servers within a server with a transaction manager providing server/connection decoupling
US5768501A (en) * 1996-05-28 1998-06-16 Cabletron Systems Method and apparatus for inter-domain alarm correlation
US5717747A (en) * 1996-05-31 1998-02-10 Lucent Technologies Inc. Arrangement for facilitating plug-and-play call features
US5727145A (en) * 1996-06-26 1998-03-10 Sun Microsystems, Inc. Mechanism for locating objects in a secure fashion
US6212573B1 (en) * 1996-06-26 2001-04-03 Sun Microsystems, Inc. Mechanism for invoking and servicing multiplexed messages with low context switching overhead
US5748897A (en) * 1996-07-02 1998-05-05 Sun Microsystems, Inc. Apparatus and method for operating an aggregation of server computers using a dual-role proxy server computer
US6282580B1 (en) * 1996-07-02 2001-08-28 Sun Microsystems, Inc. Bridge providing communication between different implementations of object request brokers
US5754763A (en) * 1996-10-01 1998-05-19 International Business Machines Corporation Software auditing mechanism for a distributed computer enterprise environment
US6032175A (en) * 1996-10-17 2000-02-29 International Business Machines Corporation Enhanced directory services in compound wide/local area networks
US6715100B1 (en) * 1996-11-01 2004-03-30 Ivan Chung-Shung Hwang Method and apparatus for implementing a workgroup server array
US6094688A (en) * 1997-01-08 2000-07-25 Crossworlds Software, Inc. Modular application collaboration including filtering at the source and proxy execution of compensating transactions to conserve server resources
US5808911A (en) * 1997-06-19 1998-09-15 Sun Microsystems, Inc. System and method for remote object resource management
US6151639A (en) * 1997-06-19 2000-11-21 Sun Microsystems, Inc. System and method for remote object invocation
US5931900A (en) * 1997-08-25 1999-08-03 I2 Technologies, Inc. System and process for inter-domain interaction across an inter-domain connectivity plane
US6253253B1 (en) * 1997-08-25 2001-06-26 International Business Machines Corporation Method and apparatus for optimizing references to objects in a data processing system
US6074427A (en) * 1997-08-30 2000-06-13 Sun Microsystems, Inc. Apparatus and method for simulating multiple nodes on a single machine
US6275870B1 (en) * 1997-09-24 2001-08-14 Sony Corporation Network object request broker
US6128279A (en) * 1997-10-06 2000-10-03 Web Balance, Inc. System for balancing loads among network servers
US6185609B1 (en) * 1997-10-24 2001-02-06 Sun Microsystems, Inc. Method, apparatus and program to provide client access to a management information service residing on a server in a computer network system
US6446204B1 (en) * 1997-10-31 2002-09-03 Oracle Corporation Method and apparatus for implementing an extensible authentication mechanism in a web application server
US6334114B1 (en) * 1997-10-31 2001-12-25 Oracle Corporation Method and apparatus for performing transactions in a stateless web environment which supports a declarative paradigm
US6185623B1 (en) * 1997-11-07 2001-02-06 International Business Machines Corporation Method and system for trivial file transfer protocol (TFTP) subnet broadcast
US6209018B1 (en) * 1997-11-13 2001-03-27 Sun Microsystems, Inc. Service framework for a distributed object network system
US6822955B1 (en) * 1998-01-22 2004-11-23 Nortel Networks Limited Proxy server for TCP/IP network address portability
US6484261B1 (en) * 1998-02-17 2002-11-19 Cisco Technology, Inc. Graphical network security policy management
US6003083A (en) * 1998-02-19 1999-12-14 International Business Machines Corporation Workload management amongst server objects in a client/server network with distributed objects
JP3966598B2 (ja) * 1998-03-04 2007-08-29 富士通株式会社 サーバ選択システム
US6298044B1 (en) * 1998-03-31 2001-10-02 Hewlett-Packard Company Method and apparatus for determining if overloaded collision domains can be split to enhance network
US6167052A (en) * 1998-04-27 2000-12-26 Vpnx.Com, Inc. Establishing connectivity in networks
US7430164B2 (en) * 1998-05-04 2008-09-30 Hewlett-Packard Development Company, L.P. Path recovery on failure in load balancing switch protocols
US20070078978A1 (en) * 1998-06-01 2007-04-05 Sri International Method and apparatus for updating information in a low-bandwidth client/server object-oriented system
US7039597B1 (en) * 1998-06-05 2006-05-02 I2 Technologies Us, Inc. Method and system for managing collaboration within and between enterprises
US6237135B1 (en) 1998-06-18 2001-05-22 Borland Software Corporation Development system with visual design tools for creating and maintaining Java Beans components
US6697869B1 (en) * 1998-08-24 2004-02-24 Koninklijke Philips Electronics N.V. Emulation of streaming over the internet in a broadcast application
US6484213B1 (en) * 1998-09-09 2002-11-19 Compaq Information Technologies Group, Inc. Adapting networking device for enhancing performance of a hybrid networking system
US6636893B1 (en) * 1998-09-24 2003-10-21 Itron, Inc. Web bridged energy management system and method
US6338089B1 (en) * 1998-10-06 2002-01-08 Bull Hn Information Systems Inc. Method and system for providing session pools for high performance web browser and server communications
US6693661B1 (en) * 1998-10-14 2004-02-17 Polycom, Inc. Conferencing system having an embedded web server, and method of use thereof
US6356930B2 (en) * 1998-10-16 2002-03-12 Silverstream Software, Inc. Connection concentrator for distributed object systems
JP2000138712A (ja) * 1998-11-02 2000-05-16 Sony Corp アプリケーションシステム間のデータ伝送システム
US6385643B1 (en) * 1998-11-05 2002-05-07 Bea Systems, Inc. Clustered enterprise Java™ having a message passing kernel in a distributed processing system
US6236999B1 (en) * 1998-11-05 2001-05-22 Bea Systems, Inc. Duplicated naming service in a distributed processing system
US6571274B1 (en) * 1998-11-05 2003-05-27 Beas Systems, Inc. Clustered enterprise Java™ in a secure distributed processing system
FR2787956B1 (fr) * 1998-12-24 2001-02-23 France Telecom Procede d'adressage dans un reseau numerique de telecommunications et serveur de noms et d'adresses mettant en oeuvre un tel procede
US6556541B1 (en) * 1999-01-11 2003-04-29 Hewlett-Packard Development Company, L.P. MAC address learning and propagation in load balancing switch protocols
US6611872B1 (en) * 1999-01-11 2003-08-26 Fastforward Networks, Inc. Performing multicast communication in computer networks by using overlay routing
WO2000045256A1 (en) * 1999-01-29 2000-08-03 Iona Technologies, Inc. Method and system for dynamic configuration of interceptors in a client-server environment
US7415713B2 (en) * 2000-01-28 2008-08-19 Iona Technologies, Plc Method and system for dynamic configuration of interceptors in a client-server environment
US6453320B1 (en) * 1999-02-01 2002-09-17 Iona Technologies, Inc. Method and system for providing object references in a distributed object environment supporting object migration
US6684246B1 (en) * 1999-02-03 2004-01-27 William H. Gates, III Method and system for tracking clients
US6591272B1 (en) * 1999-02-25 2003-07-08 Tricoron Networks, Inc. Method and apparatus to make and transmit objects from a database on a server computer to a client computer
US6687831B1 (en) * 1999-04-29 2004-02-03 International Business Machines Corporation Method and apparatus for multiple security service enablement in a data processing system
WO2000068856A2 (en) * 1999-05-11 2000-11-16 Webvan Group, Inc. Electronic commerce enabled delivery system and method
US6694437B1 (en) * 1999-06-22 2004-02-17 Institute For Information Technology System and method for on-demand access concentrator for virtual private networks
US6427164B1 (en) * 1999-06-23 2002-07-30 Mail Registry, Inc. Systems and methods for automatically forwarding electronic mail when the recipient is otherwise unknown
US6633878B1 (en) * 1999-07-30 2003-10-14 Accenture Llp Initializing an ecommerce database framework
US6842906B1 (en) * 1999-08-31 2005-01-11 Accenture Llp System and method for a refreshable proxy pool in a communication services patterns environment
US7290056B1 (en) * 1999-09-09 2007-10-30 Oracle International Corporation Monitoring latency of a network to manage termination of distributed transactions
US6308238B1 (en) * 1999-09-24 2001-10-23 Akamba Corporation System and method for managing connections between clients and a server with independent connection and data buffers
JP2003515808A (ja) * 1999-11-22 2003-05-07 マイクロソフト コーポレイション 敏捷オブジェクトおよびコンテキストバウンドオブジェクトの間の通信
US6931455B1 (en) * 1999-11-30 2005-08-16 Recursion Software, Inc. System and method for communications between a CORBA object request broker and a non-CORBA object request broker
US7546353B2 (en) * 1999-12-02 2009-06-09 Western Digital Technologies, Inc. Managed peer-to-peer applications, systems and methods for distributed data access and storage
US7120692B2 (en) * 1999-12-02 2006-10-10 Senvid, Inc. Access and control system for network-enabled devices
US6754706B1 (en) * 1999-12-16 2004-06-22 Speedera Networks, Inc. Scalable domain name system with persistence and load balancing
US7340532B2 (en) * 2000-03-10 2008-03-04 Akamai Technologies, Inc. Load balancing array packet routing system
US7051032B2 (en) * 2000-03-17 2006-05-23 International Business Machines Corporation System and method for providing post HOC access to legacy applications and data
US20020004848A1 (en) * 2000-03-29 2002-01-10 Krishna Sudarshan System and method of providing an asynchronous interface between a client system and an enterprise javabeans-enabled server
US7228346B1 (en) * 2000-04-21 2007-06-05 Sun Microsystems, Inc. IDL event and request formatting for corba gateway
US7206843B1 (en) * 2000-04-21 2007-04-17 Sun Microsystems, Inc. Thread-safe portable management interface
US6839748B1 (en) * 2000-04-21 2005-01-04 Sun Microsystems, Inc. Synchronous task scheduler for corba gateway
US7010586B1 (en) * 2000-04-21 2006-03-07 Sun Microsystems, Inc. System and method for event subscriptions for CORBA gateway
US7478403B1 (en) * 2000-04-21 2009-01-13 Sun Microsystems, Inc. Secure access to managed network objects using a configurable platform-independent gateway providing individual object-level access control
US6915324B1 (en) * 2000-04-21 2005-07-05 Sun Microsystems, Inc. Generic and dynamic mapping of abstract syntax notation (ASN1) to and from interface definition language for network management
US6950935B1 (en) * 2000-04-21 2005-09-27 Sun Microsystems, Inc. Pluggable authentication modules for telecommunications management network
US6950848B1 (en) * 2000-05-05 2005-09-27 Yousefi Zadeh Homayoun Database load balancing for multi-tier computer systems
US7280529B1 (en) * 2000-05-20 2007-10-09 Ciena Corporation Providing network management access through user profiles
US6922685B2 (en) * 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
US20030061323A1 (en) * 2000-06-13 2003-03-27 East Kenneth H. Hierarchical system and method for centralized management of thin clients
US6868543B1 (en) * 2000-06-16 2005-03-15 International Business Machines Corporation Location transparent event handling
US9038170B2 (en) * 2000-07-10 2015-05-19 Oracle International Corporation Logging access system events
US7769847B2 (en) * 2000-07-13 2010-08-03 Computer Associates Think, Inc. Method and apparatus for a comprehensive network management system
US7814180B2 (en) * 2000-07-13 2010-10-12 Infoblox, Inc. Domain name service server
US7725602B2 (en) * 2000-07-19 2010-05-25 Akamai Technologies, Inc. Domain name resolution using a distributed DNS network
KR100798504B1 (ko) * 2000-07-27 2008-01-28 비이에이 시스템즈 인코포레이티드 요청의 집중 및 부하조정을 위한 시스템 및 방법
US6557009B1 (en) 2000-09-01 2003-04-29 American Management Systems, Inc. Environmental permit web portal with data validation capabilities
FI20011237A0 (fi) * 2001-06-12 2001-06-12 Nokia Corp Tiedonsiirtomenetelmä ja -järjestely
FI20011239A (fi) * 2001-06-12 2002-12-13 Nokia Corp Tiedonsiirtomenetelmä ja -järjestely
US6981029B1 (en) * 2001-07-17 2005-12-27 Cisco Technology, Inc. System and method for processing a request for information in a network
US7058717B2 (en) * 2002-07-25 2006-06-06 International Business Machines Corporation Method and system for providing highly available services based on a load balancing policy and a reusable connection context object
CA2425048C (en) * 2003-04-08 2008-06-03 Ibm Canada Limited - Ibm Canada Limitee Method and system for resource access

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100446581C (zh) * 2004-07-12 2008-12-24 中兴通讯股份有限公司 一种无线局域网中负载均衡系统实现的方法
CN101167054B (zh) * 2005-05-27 2011-02-23 国际商业机器公司 用于在多个数据中心之间选择性卸载工作负荷的方法和装置
CN101610283B (zh) * 2009-07-17 2012-04-25 浪潮电子信息产业股份有限公司 一种网卡绑定状态下动态接收负载均衡的方法
CN102055730A (zh) * 2009-11-02 2011-05-11 华为终端有限公司 云处理系统、云处理方法和云计算代理装置
CN102055730B (zh) * 2009-11-02 2013-09-11 华为终端有限公司 云处理系统、云处理方法和云计算代理装置
CN103477323A (zh) * 2011-01-05 2013-12-25 阿尔卡特朗讯 企业应用的无缝缩放
CN107645476A (zh) * 2016-07-22 2018-01-30 百度在线网络技术(北京)有限公司 请求处理方法和装置
CN107645476B (zh) * 2016-07-22 2021-06-11 上海优扬新媒信息技术有限公司 请求处理方法和装置
CN107545489A (zh) * 2017-08-18 2018-01-05 秒啊(北京)科技有限公司 一种时间交易方法
CN111865664A (zh) * 2020-06-18 2020-10-30 烽火通信科技股份有限公司 一种orb对象生命周期管理方法及系统
CN111865664B (zh) * 2020-06-18 2022-08-02 烽火通信科技股份有限公司 一种orb对象生命周期管理方法及系统

Also Published As

Publication number Publication date
AU2001276932B2 (en) 2007-06-21
US20060069723A1 (en) 2006-03-30
CA2417509A1 (en) 2002-02-07
US7774403B2 (en) 2010-08-10
AU7693201A (en) 2002-02-13
JP5085831B2 (ja) 2012-11-28
US20110016203A1 (en) 2011-01-20
WO2002010917A1 (en) 2002-02-07
US8166095B2 (en) 2012-04-24
EP1311946A4 (en) 2008-01-02
CA2417509C (en) 2013-02-19
CN1249576C (zh) 2006-04-05
US6990511B2 (en) 2006-01-24
US20020019872A1 (en) 2002-02-14
KR100798504B1 (ko) 2008-01-28
EP1311946B1 (en) 2017-12-27
KR20030031134A (ko) 2003-04-18
JP2004505372A (ja) 2004-02-19
EP1311946A1 (en) 2003-05-21

Similar Documents

Publication Publication Date Title
CN1483162A (zh) 用于对请求进行集中和负载均衡的系统和方法
CN1135800C (zh) 用于具有处理器群集的电信平台的因特网协议处理器
AU2001276932A1 (en) System and method for concentration and load-balancing of requests
EP2893689B1 (en) System and method for supporting a scalable message bus in a distributed data grid cluster
US7499451B2 (en) Computer node, cluster system, cluster managing method, and cluster managing program
US20070150602A1 (en) Distributed and Replicated Sessions on Computing Grids
CN102339234A (zh) 一种协议栈运行装置和方法
CN1754374A (zh) 带有网关负载分配的网络地址转换
CN114070822B (zh) 一种Kubernetes Overlay IP地址管理方法
CN113242272B (zh) 基于mqtt服务集群的会话处理方法及系统
CN101702735A (zh) 一种tcp服务装置及方法
CN101043378A (zh) 管理客户服务器通信的故障保险系统
US20040136246A1 (en) Server apparatus having function of changing over from old to new module
CN1745541A (zh) 基于网际协议的通信系统的资源共享
US11349718B2 (en) Capacity bursting using a remote control plane
US20200403847A1 (en) Remote control planes with automated failover
US20050165910A1 (en) System and method for managing communication between server nodes contained within a clustered environment
EP1258127B1 (en) Method and apparatus for making a computational service highly available
CN1272981C (zh) 连接网络单元与电信系统的方法以及电信系统
CN1192841A (zh) 分布式网络环境下运行时将客户机链接至服务器的安排与方法
CN102255872A (zh) 访问非远程对象的方法和装置
CN114363291A (zh) 地址分配方法、装置、控制面功能实体及用户面功能实体
CN111385323A (zh) Ejb业务处理方法、装置、设备及介质
Rough et al. The GENESIS Reliable Group Communications Facility
KR20010008936A (ko) 유닉스운용체계 시스템에서의 프로세스간통신 처리장치 및 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: ORACLE INT CORP

Free format text: FORMER OWNER: BEA SYSTEMS CORP.

Effective date: 20110418

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20110418

Address after: American California

Patentee after: Oracle Int Corp

Address before: American California

Patentee before: Bea Systems Corp.

CX01 Expiry of patent term

Granted publication date: 20060405

CX01 Expiry of patent term