[go: up one dir, main page]

CN1205565C - 客户机/服务器网络中服务器对象之间的工作负荷管理 - Google Patents

客户机/服务器网络中服务器对象之间的工作负荷管理 Download PDF

Info

Publication number
CN1205565C
CN1205565C CNB981228070A CN98122807A CN1205565C CN 1205565 C CN1205565 C CN 1205565C CN B981228070 A CNB981228070 A CN B981228070A CN 98122807 A CN98122807 A CN 98122807A CN 1205565 C CN1205565 C CN 1205565C
Authority
CN
China
Prior art keywords
server
workload management
client
group
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CNB981228070A
Other languages
English (en)
Other versions
CN1226702A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1226702A publication Critical patent/CN1226702A/zh
Application granted granted Critical
Publication of CN1205565C publication Critical patent/CN1205565C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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/1006Server selection for load balancing with static server selection, e.g. the same server being selected for a specific client
    • 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
    • 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/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/1038Load balancing arrangements to avoid a single path through a load balancer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

描述为工作负荷管理而配置的对象服务器组,在其中该服务器组向可能希望调用该组以执行某些工作的客户输出一个对象标记。该对象标记具有一个指向一个工作负荷管理部件的字段,工作负荷管理部件于网间协议(IP)层在该组服务器之间执行工作负荷管理。

Description

客户机/服务器网络中 服务器对象之间的工作负荷管理
本发明涉及客户机/服务器(也称为“分布式”)计算,在其中,例如,一个计算设备(“客户”)请求另一个计算设备(“服务器”)执行一部分客户的工作。
过去几年中,客户机/服务器计算已在信息技术领域中变得越来越重要。这种类型的分布式计算允许某个计算机上运行的一个过程(“客户”)把其工作的一部分委托到在另一个计算机上运行的另一个过程(“服务器”),例如,由于后者可能更适合执行该工作。客户机和服务器也可能是在同一物理计算机上运行的二个过程。
通过采用周知的称为面向对象的程序设计(OOP)的计算机编程技术,客户机/服务器计算的好处得到进一步的提高,OOP允许客户机和服务器位于不同的(多机种的)“平台”上。平台是计算机用以完成其工作的具体硬件/软件/操作系统/通信协议的组合。OOP允许客户机应用程序以及服务器应用程序在它们各自的平台上操作,不必操心客户机应用程序的工作请求将如何和服务器应用程序通信以及如何由服务器应用程序接收。类似地,服务器应用程序不必操心OOP系统将如何接收、变换服务器应用程序的处理结果并发送回到请求的客户应用程序上。
美国专利5,440,744号和欧洲专利公开申请EP0677,943 A2解释了如何和多机种客户机/服务器系统集成的OOP技术的细节。这二篇资料是本文的参考文献。然而,下面将给出基本体系结构的一个例子,以便理解本发明的环境的前后关系。在该例子中,客户机和服务器位于不同的计算机上,但是,如果它们位于相同的计算机上,会应用相同的软件体系结构。
如图1中所示,客户计算机10(它例如可能是一台在其上安装着IBM OS/2操作系统的个人计算机)具有某个在它的操作系统上运行的应用程序40(“IBM”和“OS/2”是国际商用机器公司的商标)。应用程序40周期地请求在服务器计算机20执行工作和/或从服务器回送应用程序40接着使用的数据。服务器计算机20例如可以是一台在IBM的MVS操作系统下运行的高性能大型计算机(“MVS”也是IBM公司的商标)。对于本发明的目的,是否通过用户交互利用第一应用程序40启动由服务器实施的通信服务请求,或者是否由应用程序40独立地操作用户接口并在运行该程序期间自动地作出请求,是没有关系的。
当客户计算机10希望对服务器计算机20的服务作出请求时,第一应用程序40通知第一逻辑装置50所需的服务。具体做的例子可以是,向第一逻辑装置发送远程过程名及输入输出参数表。接着,第一逻辑装置50参照存储部件60中存储的可使用的通信服务的解说处理寻找并建立与服务器计算机20的必要通信的任务。所有可能的服务被定义为各对象类70的内聚(cohesive)框架。在该过程期间,第一逻辑装置确定一个对象标记,该对象标记具有一个识别服务器计算机20的组元(服务器地址)并具有另一个识别位于服务器计算机20上的特定服务器对象的组元(对象关键字)。以这种方式定义服务可在性能上和可重复使用性上产生许多优点。
为了建立和服务器20的必要通信,第一逻辑装置50确定需要使用框架中的那个对象类,然后产生该对象的一个事例,并产生一条发送给该对象的报文以使该对象调用它的各方法中的一个方法。这导致通过连接装置80建立与服务器计算机20的连接,并相继地向第二逻辑装置90发送某个请求。
第二逻辑装置90接着把该请求传送到在服务器计算机20上运行的第二应用程序100(以下称为服务应用),从而服务应用100可以执行该请求所需的具体任务,例如运行某个数据检索过程。一旦完成该任务,该服务应用可能需要把结果送回到客户计算机10。在执行所需的任务期间以及在向客户计算机10回送结果时,服务器应用程序100和第二逻辑装置90交互。第二逻辑装置90建立各对象的事例,并且随服务器应用程序100的需要调用这些对象的适当方法,对象事例是从存储在存储部件110中的各对象类的内聚框架建立的。
利用上述的技术,客户应用程序40不对通信体系结构暴露。此外,服务应用100是通过它的环境下的标准机制调用的;它不知道它正被远程调用。
对象管理组(OMG)是涉及到如图1中所示的多机种平台上的客户机/服务器计算的各个方面的各种机构的国际合作组织。OMG已经颁布各种客户机(例如10)和服务器(例如20)通信(在OOP形式下)的标准。作为这些标准的一部分,已经定义了对象请求代理器(Broker),其被称为公用对象请求代理器体系结构或简写为CORBA,它在客户机和服务器之间提供面向对象的桥路。对象请求代理器(ORB)把客户机和服务器同面向对象的实施细节隔绝起来,完成第一和第二逻辑装置50和90以及连接装置80的至少一部分的工作。
常常配置重复的服务器资源(以多个服务器的形式),以使“服务器”能够同时处理大量的客户请求并且能够容忍故障(若一个服务器是出故障的,可以使另一个服务器取而代之)。各个客户机认为它们和单个“服务器”通信,但是,事实上,多个(或成组的)服务器处理许多请求(这些服务器可以位于不同的计算机上,或者可以是在同一计算机上运行独立的过程)。在这个意义上,派往“服务器”的各个客户请求是朝向一个中央网关(对于组成“服务器”的所有服务器计算机它是公用的),该中央网关执行工作负荷管理以及负荷平衡,以便根据任何周知的工作负荷平衡策略(或多种策略的组合),诸如循环方法策略,把客户请求分配到组里的不同服务器中,在循环策略中轮流地向各个服务器分配请求。在调度新的请求时,组中各服务器的当前工作负荷也是一个常采用的因素(即,把新请求分配给一个具有低当前工作负荷的服务器)。所采用的平衡策略/平衡策略集的具体细节是由配置“服务器”系统结构的人选择的,该人及典型地是系统管理员。
作为CORBA标准的一部分,定义了ORB之间的通信协议,称之为通用对象请求代理器间协议(GIOP)。该协议基本上是一个报文表,客户ORB和服务器ORB可以互相发送这些报文。当把因特网当作客户ORB和服务器ORB之间的传递媒体时,需要把GIOP变换到TCP/IP层(TCP/IP是因特网业务的基础)。这种变换被称为因特网对象请求代理器间(Inter-Orb)协议(IIOP)。
从而,所有的已知工作负荷管理网关,例如上述所述的管理网关都在IIOP层执行工作负荷管理策略。也就是说,IIOP网关接收来自客户ORB的用户请求并且接着着手把服务器组中的一个服务器分配给该请求,所有的一切都在IIOP层发生。一旦IIOP网关选择出该组中的一个服务器,为了把该请求发送到该选定的服务器网关必须接着生成另一个IIOP请求。为了把进入的客户请求重定向到选定的服务器,IIOP网关必须对每个客户请求中所包括的参数表编组及去编组,从而在网关处需要大量的工作,这放慢整个系统的动作并造成低效设计。
1997年9月宣布的IBM的Component Broker Series(IBM的一个商标)产品涉及到对客户ORB增添特别的功能,以允许在一组对象服务器中实施工作负荷管理。这样,对于具有该附加功能的客户,免除掉了需要经过网关路由器传送请求。请参见1997年5月8日提交的美国专利申请S.N.853,102。但是,这种方法只能应用于安装着该特别功能的客户机,而不能应用到涉及到大范围的客户的环境中。不具有该附加功能的客户仍旧必须经过这种IBM产品中的IIOP路由器发送它们的请求。
从而,现有技术中需要一种方法,以便在更有效的方式下允许大范围的客户访问工作负荷管理服务器组中的各个资源。
根据第一方面,本发明提供了一种面向对象的客户机/服务器计算环境中在一组对象服务器之间执行工作负荷管理的方法,所述方法特征在于包括步骤:
接收客户请求;
访问一个事先由所述一组服务器输出的一个指针,所述指针指向一个工作负荷管理部件;
利用所述工作负荷管理部件对所述客户请求执行工作负荷管理以便从所述一组服务器中选出应用来满足该请求的服务器,所述工作负荷管理在网间协议(IP)层上进行;以及
把所述客户请求传送到所述选出的服务器。
根据第二方面,本发明提供了一组配置成用于工作负荷管理的对象服务器,其中该组服务器向希望调用该组以执行某些工作的客户输出一个对象标记,该对象标记具有一个指向工作负荷管理部件的字段,该工作负荷管理部件在网间协议(IP)层执行该组服务器之间的工作负荷管理。
根据第三方面,本发明提供了一种用于在面向对象的客户机/服务器计算环境中的一组对象服务器之间执行工作负荷管理的设备,所述设备特征在于包括:
用于接收客户请求的装置;
用于从所述一组服务器向客户机输出一个指针的装置,所述指针指向一个工作负荷管理部件;
用于利用所述工作负荷管理部件对所述客户请求进行工作负荷管理以便从所述一组服务器中选出应用来满足该请求的服务器的装置,所述工作负荷管理在网间协议(IP)层上进行;以及
用于把所述客户请求传送到所述选出的服务器的装置。
通过在IP层执行工作负荷管理,由于编组及去编组参数表所涉及到的处理量保持为最小,可以快速地和有效地把请求发送到服务器组中的选定对象服务器。此外,不需要为了实现这种有效的工作负荷管理而对客户增添额外的软件。
通过下述对各最佳实施方式的详细说明可更好地理解本发明,各最佳实施方式是参照下述附图呈现的。
图1是周知的采用着对象技术的多机种客户机/服务器体系结构的方块图;
图2是一个方块图,表示本发明的第一最佳实施方式的软件单元;
图3是一个方块图,表示本发明的第二最佳实施方式的软件单元;
图4是表示根据图2的第一最佳实施方式的对象标记的IIOP简表的一些字段;
图5是一个流程图,表示图2和图4的第一最佳实施方式的操作期间所采取的步骤;
图6是表示根据图3的第二最佳实施方式的对象标记的IIOP简表的一些字段;以及
图7是一个流程图,表示图3和图6的第二最佳实施方式的操作期间所采取的步骤。
图2中第一最佳实施方式的服务器组23包括多个对象服务器23a-23c,如上面所解释,每个对象服务器是为了对客户请求服务而设置的。图2的客户21a、21b和21c类似于图1中所示的客户,即各具有一个应用层、一个代理(proxy)对象以及一个ORB层(后二个单元对应于图1中的部件50、60、70和80)。在图1的这种现有技术配置中,当第一应用程序40希望使一个服务器做它的一部分工作时,它向代理对象发送一条规定要做什么的报文。代理对象从该请求中寻找一个对象标记(其事先由某服务器输出)并把该对象标记传送给ORB,ORB利用该对象标记中所包含的服务器地址把该请求路由选择到该服务器上。该对象标记还包括对象关键字,后者标识为处理客户请求该服务器应调用那个对象。
在图2中,当把对象服务器组23a-23c对待成用于工作负荷管理目的的一组对象时,工作负荷平衡属性和一个类相联系,当在服务器设置该类时记录该类。此属性是一个布尔值,其确定该类的对象是否适用于工作负荷平衡。例如,可定义一个IDL(接口定义语言)接口“Workload Balanced”,必须进行工作负荷平衡的对象类必须从该接口继承。当从某服务器ORB向各客户ORB输出一个对象标记时,服务器ORB检查相关的对象是否属于配置成适用于工作负荷管理(平衡)的一类。若它不属于,则根据常规过程输出该对象标记。但是,若它属于,必须在带有一个IIOP简表下输出该对象标记,该IIOP简表在某些字段中含有一定的值,如后面所说明的那样。
在图2中,服务器组23向各个客户21a-21c输出一个内部可操作的对象标记(IOR),从而各客户明白为作出请求应如何和该服务器组接触。如图4所示,输出的IOR包含一个IIOP简表41,后者具有一个主机名字段411,该主机名字段411包含着一个含有IP路由器22的服务器过程(通常称为IP喷射器(sprayer))的IP地址。备择地,主机名字段411可包括一个用于该服务器组的名字(例如,SG1.1),通过访问一个标准域名服务器(DNS)客户可把该名解成IP路由器22的IP地址。IIOP简表41还包括一个端口号字段412,其含有该IP路由器22用来“收听”进入的IIOP请求的端口号。此外,IIOP简表41具有一个对象关键字字段413,其含有一个标识该服务器组的标识符(从而该服务器组能够识别它先前已输出的各对象关键字,从而可为它们构造本地对象,与对由其它服务器输出的对象构造代理相异)。
从而,当客户21b的ORB对服务器组23作出某请求时,该客户ORB首先和位于IPR(即由对象标记指向的服务器过程)的包含着IP路由器22的服务器过程接触。接着,IP路由器22利用(上面所述的)工作负荷管理策略作出为对该特定的客户请求服务应选择那个对象服务器的决策。该工作负荷管理决策是在TCP/IP层进行的。也就是说,该IP路由器22查看该服务器组23中的每个对象服务器1至n的IP地址(IP1至IPn),做出工作负荷管理决策以在该服务器组中选择一个具体的对象服务器,然后简单地把来自IPR的请求传送到选定对象服务器的IP地址。路由器22在该服务器组23中的各个对象服务器的IP地址之间作出工作负荷平衡。
IP路由器22可使用IBM的交互式网络调度程序的网络调度功能(在“交互式网络调度程序用户指南”中说明,IBM资料GC31-8496-00),并由ISS(交互式对话支持)工作负荷监视代理(agent)提供和该服务器组中每个对象服务器有关的工作负荷信息。可在含有对象服务器的每个计算机上运行一个ISS工作负荷监视。该代理发出可配置的命令组以确定计算机的工作负荷。例如,该代理可以确定其在上面运行的计算机的CPU使用率和/或对该服务器已作出的和/或长期连接的数量。IP路由器22利用该采集的工作负荷数据,从而做出在某具体时间选择组中那个对象服务器的有关决策。另外,可以把“交互式网络调度程序”的IP路由器配置成具有一个“粘性”端口,从而来自某给定客户IP地址的所有请求都重定向到一个相同的服务器。
现结合图5的流程图说明在一组服务器对象之间进行工作负荷管理所涉及的步骤。在该例中,客户21b对服务器组23做出请求。
在步骤51,客户21b的ORB访问先前由服务器组23输出到客户21b的IOR的IIOP简表41。在该IIOP简表41的字段411中,客户21b的ORB判定IP路由器22位于IP地址IPR并且该IP路由器22正在监听端口PORTR上的IIOP请求。从而,客户21b的ORB产生一个IIOP请求,并且利用从IIOP简表41获悉的TCP/IP连接信息把请求发送到IP路由器22。
当IP路由器22接收该请求时,它利用工作负荷管理数据选择组23的对象服务器23a至23c中的一个对象服务器(步骤52)。接着,IP路由器22把客户21b的IIOP请求重定向到选出的对象服务器的IP地址(步骤53)。然后,选定的对象服务器会使用对象关键字字段413中的对象关键字OK23,以标识该选定的对象服务器上的要被调用的具体对象(这是作为组23的一个成员的该对象服务器上的那个输出图4中所示的对象标记的对象)。
因为服务器组标识符包含在工作负荷可管理对象组的对象关键字中,选出的服务器可以判定该对象是由服务器中的一个成员输出的,并且据此建立或激励一个本地对象而不是一个远程对象的一个代理。
应该注意到,在该第一实施方式中,一旦IP路由器22选择出服务器组23中的一个服务器,IP路由器22不必为了把请求发送到选出的服务器而必须在IIOP层生成一个请求。替代地,IP路由器22在不必对该请求做进一步的处理变到IIOP层下简单地把该客户请求重定向到该选出服务器的IP地址上。IP路由器和选定的服务器之间的通信位于IP层。这对进入的IIOP客户请求造成非常快的和非常有效的再路由选择。一旦建立和该选定服务器的连接,在该连接的生命周期内IIOP请求被重定向到该服务器。
在图3的第二最佳实施方式中,当服务器组的ORB输出一个需要工作负荷管理的IOR时,该IOR把请求客户指向一个执行工作负荷管理的动态域名服务器(DNS)32。
具体地,图6的IOR的IIOP简表61含有一个字段611中的标识该服务器组的主机名(例如,SG1.1),一个规定在和某服务器连接期间所使用的一个端口号的端号字段612以及一个对象关键字字段613。当客户31c的ORB希望对服务器组33发送一个请求时,访问图6的IOR。由于在字段611中存储着主机名(而不是IP地址),该ORB把主机名SG1.1发送到动态DNS32(图7流程图的步骤71,该流程图示出第二最佳实施方式的操作)。动态DNS32得到服务器组33的主机名并进行分解以便动态地选择出服务器组33的对象服务器中的一个IP地址(IP1至IPn)(步骤72)。也就是说,通过考虑服务器组33中的各个对象服务器的IP地址并且从中选择出一个,在动态DNS32中执行工作负荷管理。
更具体地,常规DNS会接收作为输入的主机名并且总把相同的IP地址提供为输出。但是,动态DNS会把主机名作为输入并寻找在该主机名下存储的多个IP地址(服务器组中的每个服务器各有一个IP地址)。动态DNS考虑每个IP地址,并根据选定的工作负荷管理策略(或策略组)选出其中的一个IP地址输出到客户31c的ORB。可以把IBM的交互式网络调度程序的交互式对话支持(ISS)子例程用作为动态DNS。
一旦客户31c的ORB接收到选定服务器33b的IP地址,客户31c产生一个IIOP请求并且利用在IOR的IIOP简表的字段612中规定的端口号PORT1.1把该请求发送到对象服务器33b(步骤73)。该选定的对象服务器接着会使用对象关键字字段613中的对象关键字OK33去标识要调用的该选定对象服务器上的具体对象(这是作为组33的一个成员的该对象服务器上的那个输出图6中所示的对象标记的对象)。
请注意,在第二实施方式中,必须在IIOP层发生的只有一个请求流,即从客户31c到服务器33b的请求流。动态DNS32和客户31c之间的通信位于IP层。这造成非常快地和非常有效地把客户请求分配给服务器组中一个经过工作负荷平衡选择的服务器。一旦建立和该选定服务器的连接,在该连接的生命周期内IIOP请求被重定向到该服务器。
通过在动态DNS的后面设置多个IP路由器可把所说明的二种实施方式组合起来。这些IP路由器应该依次地放在公用后端服务器组的前面。

Claims (11)

1.一种面向对象的客户机/服务器计算环境中在一组对象服务器之间执行工作负荷管理的方法,所述方法特征在于包括步骤:
接收客户请求;
访问一个事先由所述一组服务器输出的一个指针,所述指针指向一个工作负荷管理部件;
利用所述工作负荷管理部件对所述客户请求执行工作负荷管理以便从所述一组服务器中选出应用来满足该请求的服务器,所述工作负荷管理在网间协议(IP)层上进行;以及
把所述客户请求传送到所述选出的服务器。
2.权利要求1的方法,其特征在于,所述指针是对象标记。
3.权利要求2的方法,其特征在于,所述对象标记具有一个主机名字段,该字段包含一个IP路由器的名字或IP地址。
4.权利要求2的方法,其特征在于,所述对象标记具有一个主机名字段,该字段包含一个标识所述服务器组的标识符。
5.权利要求1的方法,其特征在于,所述工作负荷管理部件是一个IP路由器。
6.权利要求1的方法,其特征在于,所述工作负荷管理部件是一个动态域名服务器。
7.一组配置成用于工作负荷管理的对象服务器,其特征在于,所述组向希望调用该组以执行某些工作的客户输出一个对象标记,所述对象标记具有一个指向一个工作负荷管理部件的字段,该工作负荷管理部件在网间协议(IP)层执行所述组之间的工作负荷管理。
8.权利要求7的对象服务器组,其特征在于,所述对象标记具有一个主机名字段,该字段包含一个IP路由器的名字或IP地址。
9.权利要求7的对象服务器组,其特征在于,所述对象标记具有一个主机名字段,该字段包含一个标识所述一组服务器的标识符。
10.权利要求7的对象服务器组,其特征在于,所述工作负荷管理部件是一个动态域名服务器。
11.一种用于在面向对象的客户机/服务器计算环境中的一组对象服务器之间执行工作负荷管理的设备,所述设备特征在于包括:
用于接收客户请求的装置;
用于从所述一组服务器向客户机输出一个指针的装置,所述指针指向一个工作负荷管理部件;
用于利用所述工作负荷管理部件对所述客户请求进行工作负荷管理以便从所述一组服务器中选出应用来满足该请求的服务器的装置,所述工作负荷管理在网间协议(IP)层上进行;以及
用于把所述客户请求传送到所述选出的服务器的装置。
CNB981228070A 1998-02-19 1998-11-26 客户机/服务器网络中服务器对象之间的工作负荷管理 Expired - Lifetime CN1205565C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/025,904 US6003083A (en) 1998-02-19 1998-02-19 Workload management amongst server objects in a client/server network with distributed objects
US09/025,904 1998-02-19

Publications (2)

Publication Number Publication Date
CN1226702A CN1226702A (zh) 1999-08-25
CN1205565C true CN1205565C (zh) 2005-06-08

Family

ID=21828691

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB981228070A Expired - Lifetime CN1205565C (zh) 1998-02-19 1998-11-26 客户机/服务器网络中服务器对象之间的工作负荷管理

Country Status (5)

Country Link
US (1) US6003083A (zh)
JP (1) JPH11312153A (zh)
KR (1) KR100330936B1 (zh)
CN (1) CN1205565C (zh)
GB (1) GB2334604B (zh)

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3494562B2 (ja) * 1997-10-15 2004-02-09 株式会社東芝 ネットワーク管理システム
US6088805A (en) * 1998-02-13 2000-07-11 International Business Machines Corporation Systems, methods and computer program products for authenticating client requests with client certificate information
US6339826B2 (en) * 1998-05-05 2002-01-15 International Business Machines Corp. Client-server system for maintaining a user desktop consistent with server application user access permissions
US6163810A (en) * 1998-06-02 2000-12-19 At&T Corp. System and method for managing the exchange of information between multicast and unicast hosts
JP3786328B2 (ja) * 1998-07-27 2006-06-14 株式会社日立製作所 サーバおよび通信制御方法
US6397203B1 (en) * 1998-09-30 2002-05-28 International Business Machines Corporation Defining object classes to match corresponding specialized data types in a relational database
AU1119100A (en) * 1998-10-16 2000-05-08 Objectera, Inc. Connection concentrator for distributed object systems
US6731627B1 (en) 1998-11-17 2004-05-04 Cisco Technology, Inc. Virtual loop carrier system
US6907609B1 (en) * 1999-02-01 2005-06-14 Iona Technologies Plc. Object request dispatch using matching of a segmented object key
ATE518182T1 (de) * 1999-02-26 2011-08-15 Henry Haugland Massenerzeugung einzelner virtuellen servern, virtuellen webseiten sowie virtuellen webobjekten
KR100609552B1 (ko) * 1999-10-11 2006-08-04 엘지엔시스(주) 금융업무 분산처리장치 및 분산처리방법
US6985940B1 (en) * 1999-11-12 2006-01-10 International Business Machines Corporation Performance testing of server systems
US7062556B1 (en) * 1999-11-22 2006-06-13 Motorola, Inc. Load balancing method in a communication network
US6970932B1 (en) 1999-12-14 2005-11-29 Microsoft Corporation Non-delegable client requests to servers storing local information only
US6668275B1 (en) * 1999-12-17 2003-12-23 Honeywell International Inc. System and method for multiprocessor management
KR20010057769A (ko) * 1999-12-23 2001-07-05 오길록 웹 환경에서 자바 서블릿을 이용한 동질 자바 응용서버들의 부하 분산방법
US7076650B1 (en) * 1999-12-24 2006-07-11 Mcafee, Inc. System and method for selective communication scanning at a firewall and a network node
CN1115839C (zh) * 2000-01-28 2003-07-23 国际商业机器公司 均衡镜象服务器负载的方法及装置
US7254607B2 (en) * 2000-03-30 2007-08-07 United Devices, Inc. Dynamic coordination and control of network connected devices for large-scale network site testing and associated architectures
USRE42153E1 (en) * 2000-03-30 2011-02-15 Hubbard Edward A Dynamic coordination and control of network connected devices for large-scale network site testing and associated architectures
US8010703B2 (en) 2000-03-30 2011-08-30 Prashtama Wireless Llc Data conversion services and associated distributed processing system
US7209959B1 (en) 2000-04-04 2007-04-24 Wk Networks, Inc. Apparatus, system, and method for communicating to a network through a virtual domain providing anonymity to a client communicating on the network
US7062541B1 (en) 2000-04-27 2006-06-13 International Business Machines Corporation System and method for transferring related data objects in a distributed data storage environment
JP4292693B2 (ja) * 2000-07-07 2009-07-08 株式会社日立製作所 計算機資源分割装置および資源分割方法
CN1249576C (zh) * 2000-07-27 2006-04-05 Bea系统公司 用于对请求进行集中和负载均衡的系统和方法
US20020042839A1 (en) * 2000-10-10 2002-04-11 Christopher Peiffer HTTP multiplexor/demultiplexor
US7383355B1 (en) * 2000-11-01 2008-06-03 Sun Microsystems, Inc. Systems and methods for providing centralized management of heterogeneous distributed enterprise application integration objects
US8583745B2 (en) * 2000-11-16 2013-11-12 Opendesign, Inc. Application platform
US7543304B2 (en) * 2000-12-14 2009-06-02 Borland Software Corporation Method for efficient location of corba objects based on an unmarshaled object key in a request
US6961939B2 (en) * 2001-02-05 2005-11-01 Sun Microsystems, Inc. Techniques for transmission of message fragments between object request brokers
US7809854B2 (en) * 2002-02-12 2010-10-05 Open Design, Inc. Logical routing system
JP2002269059A (ja) * 2001-03-08 2002-09-20 Ntt Comware Corp クライアントサーバシステム、中継サーバ、クライアント端末装置の接続先サーバ決定方法
US20030055969A1 (en) * 2001-09-17 2003-03-20 International Business Machines Corporation System and method for performing power management on a distributed system
US7065047B2 (en) * 2001-10-22 2006-06-20 Pctel, Inc. System and method of providing computer networking
CA2372092C (en) * 2002-02-15 2010-04-06 Cognos Incorporated A queuing model for a plurality of servers
US7099816B2 (en) * 2002-06-17 2006-08-29 International Business Machines Corporation Method, system and article of manufacture for an analytic modeling technique for handling multiple objectives
US20040006622A1 (en) * 2002-07-03 2004-01-08 Burkes Don L. Optimized process for balancing load for data mirroring
US20040122950A1 (en) * 2002-12-20 2004-06-24 Morgan Stephen Paul Method for managing workloads in an autonomic computer system for improved performance
KR20040074752A (ko) * 2003-02-18 2004-08-26 엘지엔시스(주) 금융업무 서버시스템의 부하 분산장치 및 분산방법
US20040260745A1 (en) * 2003-06-18 2004-12-23 Gage Christopher A. S. Load balancer performance using affinity modification
US7475108B2 (en) * 2003-06-26 2009-01-06 International Business Machines Corporation Slow-dynamic load balancing method
US7580905B2 (en) * 2003-12-15 2009-08-25 Intel Corporation Adaptive configuration of platform
US20050216908A1 (en) * 2004-03-25 2005-09-29 Keohane Susann M Assigning computational processes in a computer system to workload management classes
US20050216314A1 (en) * 2004-03-26 2005-09-29 Andrew Secor System supporting exchange of medical data and images between different executable applications
CN1728133B (zh) * 2004-07-27 2010-04-28 武征 面向对象的信息服务器、其制作方法及浏览器
WO2006030679A1 (ja) * 2004-09-17 2006-03-23 Sanyo Electric Co., Ltd. 通信端末
US8019636B2 (en) * 2004-09-28 2011-09-13 International Business Machines Corporation Method, system and program product for planning and managing a call center study
US8311822B2 (en) * 2004-11-02 2012-11-13 Nuance Communications, Inc. Method and system of enabling intelligent and lightweight speech to text transcription through distributed environment
US7636325B2 (en) * 2004-12-07 2009-12-22 Hewlett-Packard Development Company, L.P. Determining highest workloads for nodes in an overlay network
US9160792B2 (en) * 2005-04-05 2015-10-13 International Business Machines Corporation On-demand global server load balancing system and method of use
KR100654391B1 (ko) * 2005-04-22 2006-12-06 이광훈 클러스터 시스템 제어 방법 및 상기 제어 방법을 수행하는컴퓨터 판독 가능한 기록 매체를 포함하는 클러스터 시스템
CN100421399C (zh) * 2005-05-27 2008-09-24 腾讯科技(深圳)有限公司 一种分布式群组通信管理系统以及创建群组的方法
US8539075B2 (en) 2006-04-21 2013-09-17 International Business Machines Corporation On-demand global server load balancing system and method of use
US7756973B2 (en) * 2006-04-27 2010-07-13 International Business Machines Corporation Identifying a configuration for an application in a production environment
US9846846B2 (en) * 2006-11-14 2017-12-19 International Business Machines Corporation Method and system for analyzing contact studies
KR100825963B1 (ko) * 2006-12-08 2008-04-29 주식회사 타오네트웍스 분산 흐름 제어 시스템
US8332520B2 (en) 2007-01-19 2012-12-11 International Business Machines Corporation Web server for managing session and method thereof
JP4722973B2 (ja) * 2008-08-12 2011-07-13 株式会社日立製作所 リクエスト処理方法及び計算機システム
US8687639B2 (en) * 2009-06-04 2014-04-01 Nvidia Corporation Method and system for ordering posted packets and non-posted packets transfer
US20110063305A1 (en) * 2009-09-16 2011-03-17 Nvidia Corporation Co-processing techniques on heterogeneous graphics processing units
US8532098B2 (en) * 2009-11-30 2013-09-10 Nvidia Corporation System and method for virtual channel communication
US9176909B2 (en) * 2009-12-11 2015-11-03 Nvidia Corporation Aggregating unoccupied PCI-e links to provide greater bandwidth
US9331869B2 (en) * 2010-03-04 2016-05-03 Nvidia Corporation Input/output request packet handling techniques by a device specific kernel mode driver
US8726284B2 (en) * 2010-06-10 2014-05-13 Microsoft Corporation Managing requests based on request groups
US9171350B2 (en) 2010-10-28 2015-10-27 Nvidia Corporation Adaptive resolution DGPU rendering to provide constant framerate with free IGPU scale up
US9330031B2 (en) 2011-12-09 2016-05-03 Nvidia Corporation System and method for calibration of serial links using a serial-to-parallel loopback

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU628753B2 (en) * 1990-08-14 1992-09-17 Digital Equipment Corporation Method and apparatus for implementing server functions in a distributed heterogeneous environment
GB2288477A (en) * 1994-04-05 1995-10-18 Ibm Communications system for exchanging data between computers in a network.
GB2305270A (en) * 1995-09-15 1997-04-02 Ibm Bridge for a client-server environment
US5799149A (en) * 1996-06-17 1998-08-25 International Business Machines Corporation System partitioning for massively parallel processors
GB2320594A (en) * 1996-12-20 1998-06-24 Ibm Dispatching client method calls to parallel execution threads within a server
US5790425A (en) * 1997-02-19 1998-08-04 Sun Microsystems, Inc. Generic server benchmarking framework in a client-server environment

Also Published As

Publication number Publication date
KR100330936B1 (ko) 2002-04-01
GB2334604A (en) 1999-08-25
JPH11312153A (ja) 1999-11-09
GB2334604B (en) 2002-09-25
GB9827100D0 (en) 1999-02-03
US6003083A (en) 1999-12-14
CN1226702A (zh) 1999-08-25
KR19990072264A (ko) 1999-09-27

Similar Documents

Publication Publication Date Title
CN1205565C (zh) 客户机/服务器网络中服务器对象之间的工作负荷管理
US7065568B2 (en) System and method for managing states and user context over stateless protocols
US6327622B1 (en) Load balancing in a network environment
EP0479660B1 (en) Distributed configuration profile for computing system
US7827217B2 (en) Method and system for a grid-enabled virtual machine with movable objects
EP2321937B1 (en) Load balancing for services
US7207040B2 (en) Multi-CPUs support with thread priority control
US7966617B2 (en) Tunable engine and program product for resolving prerequisites for client devices in an open service gateway initiative (OSGi) framework
US6708171B1 (en) Network proxy
CN1511283A (zh) 用于连接不同对象类型的服务器和客户机的方法和网桥
WO2003058462A1 (en) System for optimizing the invocation of computer-based services deployed in a distributed computing environment
US20040019887A1 (en) Method, system, and program for loading program components
CN1317849C (zh) 一种网络管理系统和方法
CN117221325A (zh) 一种基于网关的自定义负载均衡装置、方法、设备及存储介质
US7260621B1 (en) Object-oriented network management interface
WO2000075802A1 (en) Adaptive and scalable server control
GB2322719A (en) Establishing a process using software agent control
CN113535429A (zh) 数据处理方法、装置、设备、介质及程序产品
Govindaraju et al. On the Performance of Remote Method Invocation for Large-Scale Scientific Applications
Indurkar et al. CS590L–Distributed Component Architecture
d’Amorim et al. A Design for JTrader, an Internet Trading Service
WO2001040932A2 (en) A system and method for controlling a plurality of servers
Ramakrishna et al. Dynamic Load Balancing And Availability In Cloud Computing
MXPA06007915A (en) Method and system for a grid-enabled virtual machine with movableobjects
WO2004079482A2 (en) Method and apparatus for distributing logical units in a grid

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20050608

CX01 Expiry of patent term