CN1662885A - 用于信息流的卸载处理的方法和装置 - Google Patents

用于信息流的卸载处理的方法和装置 Download PDF

Info

Publication number
CN1662885A
CN1662885A CN03814705.XA CN03814705A CN1662885A CN 1662885 A CN1662885 A CN 1662885A CN 03814705 A CN03814705 A CN 03814705A CN 1662885 A CN1662885 A CN 1662885A
Authority
CN
China
Prior art keywords
unloading
task
unloading equipment
equipment
unload
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
CN03814705.XA
Other languages
English (en)
Other versions
CN100474257C (zh
Inventor
J·阿布佳尼克
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of CN1662885A publication Critical patent/CN1662885A/zh
Application granted granted Critical
Publication of CN100474257C publication Critical patent/CN100474257C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

一种系统,包括与卸载控制器耦合的许多卸载设备。所述卸载控制器分析进入的信息流,以寻找可卸载的任务;如果检测到可卸载的任务,这些可卸载的任务被卸载给这些卸载设备之一,用于处理。

Description

用于信息流的卸载处理的方法和装置
                             领域
本发明的实施例一般涉及计算机联网,更具体地说,涉及一种用于将任务或操作的处理从应用服务器或服务器群集(cluster)卸载(off-load)给卸载设备的系统和方法。
                             背景
为了提高web站点的容量,在主机站点处部署多个服务器或部署服务器群集是很普遍的。图1展示了包括这种服务器群集的常规服务器集合系统(serverhosting system)100的示范实施例。服务器集合系统100包括多个服务器180——包括服务器180a、180b、...、180n,它们跟交换和负载平衡器140(为容易理解,它在这里将只被称作“交换器”)耦合。服务器180a-n中的每个服务器通过在提供点到点连接的链路160而与交换器140耦合。交换器140与路由器20耦合,路由器20又与因特网5耦合。为服务器群集180a-n分配单一IP(网际协议)地址或虚拟IP地址(VIP),并且,送往服务器群集180a-n或起源于服务器群集180a-n的所有网络信息通信量都流经交换器140。例如,见“因特网工程任务组请求注解(IETF RFC)791,网际协议”。所以,对于正在访问服务器集合系统100的那些客户机10而言,服务器群集180a-n看来似乎是单一的网络资源。
当客户机10尝试与服务器集合系统100建立连接时,在路由器20处接收包括连接请求的数据包——例如TCP(传输控制协议)SYN,并且,路由器20将该数据包传送到交换器140。例如,见“IETF RFC 792,传输控制协议”。交换器140将选择服务器180a-n中的一个服务器来处理该客户机的请求,并且,为了选择服务器180,交换器140使用负载平衡机制来平衡这多个服务器180a-n之间的客户机请求。交换器140可能使用“相互影响”(transactional)负载平衡法,其中,至少部分地根据服务器180a-n中的每个服务器上的负载,来将客户机请求选择性地转送到一个服务器180。可选地,交换器140可能使用“应用-知晓的”(application-aware)或“内容-知晓的”(content-aware)负载平衡法,其中,根据与客户机请求相关联的应用,将客户机请求转送到服务器180——即,将该客户机请求发送到提供客户机10所启动或请求的应用(例如,web服务)的服务器180或多个服务器之一。交换器140也可能只按循环法来在服务器180a-n之中分配客户机请求,而不是使用上述负载平衡方案之一。
如上所述,通过连同一个或多个负载平衡机制来使用这种服务器群集180a-n,可以改善web站点的性能。在群集180a-n中的所有服务器180之间分配与处理客户机请求相关联的工作负荷。但是,由于要处理通常发生的和/或经常需要执行的任务,服务器群集180a-n仍然可能会不堪重负。这类通常发生的任务的例子包括内容-知晓的路由选择决定(作为内容-知晓的负载平衡方案的一部分)、用户鉴定与验证、以及XML处理操作(例如,证实和变换)。例如,见“可扩展标记语言(XML)1.0,第2版本,万维网协会,2000年10月”。
通常,每当客户机请求与web站点的主机服务器连接时(例如,可能发生在用户鉴定时),或者一当在服务器集合系统处接收到每个数据包(或数据包流)时(例如,可能发生在内容路由选择决定时),就执行上述任务以及其他任务,而不考虑该客户机正在请求的特定的服务和/或资源。这样,这些操作在本质上很具有重复性,并且,对于被大量访问的web站点,这类操作可能会给主机应用服务器带来沉重的负担。与处理通常发生的任务相关联的这种负担会消耗该主机服务器群集中可用的颇有价值的、但有限的处理资源,并且,相应地,这种负担可能会导致用于处理客户机请求的等待时间增加以及/或者客户机尝试访问web站点的访问时间增加。
                           附图简述
图1是示意图,展示了常规服务器集合系统的示范实施例。
图2是示意图,展示了包括许多卸载设备的服务器集合系统的实施例。
图3是示意图,展示了卸载控制器的实施例。
图4是框图,展示了卸载任务的方法的实施例。
图5是框图,展示了该卸载任务的方法的另一个实施例。
图6是示意图,展示了包括许多XML卸载设备的服务器集合系统的实施例。
图7是框图,展示了卸载XML任务的方法的实施例。
                          详细说明
图2展示了服务器集合系统200的实施例。服务器集合系统200包括许多卸载设备290,每个卸载设备专用于执行所选择的一个任务或一组任务,以下将解释这一点。相应地,从服务器集合系统200的一个或多个应用服务器280卸载这些所选择的操作的执行,从而保存计算资源并允许更多资源被专用于处理客户机事物。所以,通过将一个或多个任务从主应用服务器或服务器群集卸载给卸载设备290(尤其是对于经常需要执行的和高度重复的任务),可以减少与服务于客户机请求相关联的等待时间,以及客户机访问时间。
参考图2,服务器集合系统200与路由器20耦合,路由器20又与因特网5或其他网络耦合。路由器20可能包括现有技术中已知的任何合适的路由设备(包括任何可购买到的、现成的路由器)。服务器集合系统200可由与因特网5连接的一台或多台客户机10来进行访问。虽然服务器集合系统200被展示为与因特网5耦合,但是,应该理解到服务器集合系统200可以与任何计算机网络或多个计算机网络耦合。举例来讲,服务器集合系统200可以与局域网(LAN)、广域网(WAN)和/或城域网(MAN)耦合。
服务器集合系统200包括交换和负载平衡器240,交换和负载平衡器240与路由器20耦合。为容易理解,交换和负载平衡器240在这里将只被称作“交换器”。交换器240包括卸载控制器300,或者与卸载控制器300耦合。以下将详细地解释卸载控制器300的操作。服务器集合系统200还包括一个或多个服务器280-包括服务器280a、280b、...、280n。服务器280a-n中的每个服务器通过提供点到点连接的链路260而与交换器240耦合。可选地,网络(附图中未示出)可以将服务器280a-n与交换器240耦合。
服务器280可包括现有技术中已知的任何合适的服务器或其他计算设备(包括众多可购买到的、现成的服务器中的任何一个服务器)。为服务器群集280a-n分配单一IP(网际协议)地址或虚拟IP地址(VIP),并且,送往服务器组280a-n的或起源于服务器组280a-n的所有网络信息通信量都流经交换器240。所以,对于正在访问服务器集合系统200的那些客户机10而言,服务器组280a-n看上去是单个网络资源。
许多卸载设备290(包括卸载设备290a、290b、...、290m)也与交换器240耦合。卸载设备290a-m中的每个卸载设备通过提供点到点连接的链路260而与交换器240耦合。可选地,卸载设备290a-m可通过网络(附图中未示出)而与交换器240耦合。任何合适数量的卸载设备290都可以与交换器240耦合。服务器集合系统200的架构是可升级的和可抵抗故障的。如果需要额外的卸载处理性能,则可以简单地将适当数量的卸载设备290加入服务器集合系统200,并且,如果卸载设备290a-m之一发生故障,则服务器集合系统200的操作将不会发生中断,因为发生故障的设备的工作负荷可以被分配在剩余的卸载设备290之中。
每个卸载设备290包括能够接收数据并能够根据从交换器240接收的命令来对该数据执行任务或操作的任何合适的设备或电路。可以由卸载设备290来确定结果,该结果可以提供给卸载控制器300和/或交换器240。只举例来讲,可以由卸载设备290来执行的任务包括内容-知晓的路由选择决定、用户鉴定与验证、XML证实、XML变换、以及其他操作。例如,卸载设备290可包括微处理器、专用集成电路(ASIC)或现场可编程门阵列(FPGA)。但是,应该理解:这种卸载设备290可包括另一种设备或系统(例如,服务器)的一部分,或者与另一种设备或系统(例如,服务器)结合。另外,应该理解:卸载设备290可以在硬件、软件或其组合中加以实现。
现在参考图3,展示了卸载控制器300的实施例。如上所述,卸载控制器300构成交换器240的一部分,或者与交换器240耦合。如图3所示,卸载控制器300可包括分析单元310、配置表320和选择单元330。
当从因特网5接收信息流(即一个或多个数据包的流)时,分析单元310分析这些进入的数据包,并“寻找”可以被卸载给卸载设备190之一的任务。为了识别这种任务,分析单元310可以搜索建议能被卸载的任务的数据模式。可选地,进入的数据包可包括指出该数据包包括可以被卸载给卸载设备290的操作的调用(例如,过程调用)或命令,并且,分析单元310将搜索这种调用或命令。但是,应该理解:在所接收的信息流中搜索某一数据模式或搜索对应于可卸载的任务的调用仅仅是如何可以在所接收的信息流内识别可卸载的任务的例子。分析单元310可以使用任何其他合适的方法和/或设备来识别所接收的信息流中的可卸载的任务。
可以被卸载给卸载设备290的任何上述任务在这里将被称作“可卸载的任务”(或“可卸载的操作”)。大批网络处理任务(例如,内容-知晓的路由选择决定、用户鉴定与验证、XML证实和XML变换)可以是可卸载的任务。如上所述,这些网络处理任务往往是高度重复的,并且,在常规系统中,这些操作可能会给服务器群集280a-n带来沉重的负担。通常将会有预定义的一组可卸载的任务,并且,这些可卸载的任务中的每个可卸载的任务可以由卸载设备290中的任何一个卸载设备来进行处理(即,每个卸载设备290可以处理任一任务)。在备择实施例中,由卸载设备290中的所选择的一个卸载设备或所选择的一组卸载设备来处理每个可卸载的任务(即,每个卸载设备290可以处理特定的任务或一组任务)。
如果进入的信息流中的数据模式与这些规定的可卸载的任务之一相匹配或建议这些规定的可卸载的任务之一,或者如果在指示出将要执行可卸载的任务的该进入的信息流中发现调用,则将由卸载设备290a-m之一来执行该可卸载的任务。为了处理该可卸载的任务,该进入的信息流中的数据的至少一部分和命令被转送到可卸载的设备290a-m之一。该命令(它由卸载控制器300和/或交换器240来提供)通知接收卸载设备290将要对该数据包数据执行哪项卸载任务。例如,可以在配置表320(以下将详细描述)中执行查找操作,以确定:将要利用该数据包数据将哪个命令转送到合适的卸载设备290。如下所述,由选择单元330来选择将接收该数据包数据和命令的卸载设备290。
在一个实施例中,分析单元310可以分析搜索可卸载的任务的进入的数据包流的网络层7应用数据(例如,URI(通用资源标识符))。见“因特网工程任务组请求注解(IETF RFC)1630,WWW中的通用资源标识符,1994年6月”。如果URI中的数据模式与可卸载的任务相匹配或建议可卸载的任务,则可以在配置表320内执行查找操作,以确定:将要利用该数据包数据将哪个命令转送到所选择的卸载设备290。
配置表320可以构建命令,或者将命令提供给卸载设备290a-m。配置表320可包括一系列条目,每个这样的条目识别可卸载的任务(或对应于可卸载的任务的数据模式或调用)和对应于该可卸载的任务的命令。如果在进入的信息流中检测到指示出该可卸载的任务的数据模式或调用,则对应的命令将要被转送到所选择的卸载设备290。该命令将指示这个所选择的卸载设备290:将要根据被识别的任务、数据模式或调用而采用什么操作(例如用户鉴定、XML证实等)。虽然这里被描述为具有许多条目,每个条目识别一可卸载的任务和对应的命令,但是,应该理解:配置表320可包括能够为被检测到的可卸载的任务生成或提供适当命令的任何合适的硬件、软件或其组合。
选择单元330确定哪个卸载设备290应该处理被检测到的可卸载的任务。来自进入的信息流的数据或该数据的一部分、以及对应于在该进入的信息流内发现的可卸载的任务的命令被转送到所选择的卸载设备290,用于处理。选择单元330可只根据循环排序法而将可卸载的任务分配给卸载设备290a-m(即在所有卸载设备290a-m之间连贯分配,而不考虑卸载设备290a-m上的负载和/或正在被卸载的任务)。作为选择,如下所述,选择单元330可以使用一个或多个负载平衡机制。
在选择卸载设备290的过程中,选择单元330可以使用相互影响负载平衡法(transactional load balancing),以便至少部分根据卸载设备290a-m中的每个卸载设备上的当前负载来将可卸载的任务分配给卸载设备290。在卸载设备290a-m中的每个卸载设备能够处理所有可卸载的任务(即,它们都具有相同的性能)的情况下,相互影响负载平衡法可能是合适的。代替相互影响负载平衡法的是,或者除此以外,选择单元330还可以使用内容-知晓的负载平衡法,以便至少部分根据可卸载的任务本身来将可卸载的任务分配给卸载设备290。在每个卸载设备290适应处理特殊类型的可卸载的任务或一小类的这些任务的情况下,内容-知晓的负载平衡法可能是合适的。
如果卸载设备290a-m中的每个卸载设备专用于处理一种类型的可卸载的任务(或一类任务),则对于每项可卸载的任务,配置表320可包括专用于处理那项任务的那个(或那些)卸载设备。当对可卸载的任务在配置表320内执行查找时,可以从配置表320的合适的条目中读取对应的命令和卸载设备290。应该注意,如前面所提出的,两个或更多的卸载设备290可以被分配给对一种类型的可卸载的任务的处理,并且,在这种实例中,选择单元330仍然可以在这些被分配的卸载设备290之间执行相互影响负载平衡法。
参照图4,可以更好地理解服务器集合系统200的操作,更具体地说,可以更好地理解卸载设备290a-m和卸载控制器300的操作。图4示出框图,展示了卸载任务的方法400的实施例。
参考图4中的方框405,在交换器240处接收信息流——该信息流可包括一个或多个数据包。可以从尝试与服务器集合系统200建立连接的客户机10或从具有在进行中的已建立的对话的客户机10接收该信息流。如方框410所示,该信息流内的数据包数据由分析单元310来加以分析,以搜索或识别该接收的信息流内的任何可卸载的任务。例如,如上所述,分析单元310可搜索建议或指示出可卸载的任务的数据模式,或者,分析单元310可搜索对应于可卸载的任务的调用或命令。参考标号415,如果数据包不包括可卸载的操作,则这个或这些数据包仅仅被转送到合适的服务器280(见方框420)——这由交换器240来确定。交换器240可以执行相互影响负载平衡法和/或内容-知晓的负载平衡法,以确定服务器280a-n中的哪个服务器应该接收这个被转送的信息流,这种负载平衡法独立于卸载控制器300在卸载设备290a-m之间执行的任何负载平衡法。当然,应该理解:如前面所提出的,卸载设备290a-m中的一个或多个卸载设备可以连同卸载控制器300,在服务器280a-n之间的负载平衡中发挥作用(例如,作出内容路由选择决定)。
再次参考图4中的参考标号415,如果在进入的信息流中识别出可卸载的任务,则卸载控制器300可提供对应于该被检测到的可卸载的任务的命令,如方框425所示。如上所述,通过在配置表320内执行查找,可以发现合适的命令。
参考方框430,由选择单元330来选择卸载设备290a-m中的一个卸载设备,以处理被检测到的可卸载的任务。同样,选择单元330可以利用相互影响负载平衡法和/或内容-知晓的负载平衡法来选择卸载设备290,或者,选择单元330可以按循环法来分配可卸载的任务。如上所述,也可以从配置表330中识别合适的卸载设备290,尽管选择单元330仍然可以执行某种负载平衡法。
如方框435所示,卸载控制器300将命令以及进入的信息流中的数据包数据的至少一部分提供给所选择的卸载设备290。所选择的卸载设备290接收该命令和数据包数据,并且响应于此而执行可卸载的任务。如方框440所示,所选择的卸载设备290可以确定结果,该结果可以由卸载控制器300来接收。该结果可以指示出内容路由选择决定、用户鉴定或证实决定、XML证实、XML变换、或其他决定或变量。
参考方框445,卸载控制器300(和/或交换器240)将处理该结果,并采取任何合适的动作。例如,该数据包数据和(如果必要的话)该结果可以只被转送到服务器280,用于进一步处理。接收该数据包数据和结果的服务器280可能已由执行内容路由选择操作的所选择的卸载设备290确定(或者如上所述,已由交换器240根据其他策略而加以选择)。进一步举例来讲,卸载控制器300可以根据从所选择的卸载设备290接收的结果来向客户机发送响应,这可能发生在用户鉴定期间(见以下的图5)。
以上在包括可卸载的单一的可识别的任务的信息流的上下文环境中描述了图4中的方法400。但是,应该理解:信息流可包括任何数量的可卸载的任务。如果在信息流内发现多个可卸载的任务(或建议可卸载的任务的调用、命令和/或数据模式),则可以为这些被检测到的可卸载的任务中的每项任务提供命令。将选择卸载设备290来处理这些可卸载的任务中的每项可卸载的任务,尽管单个卸载设备290可以处理这些被检测到的任务中的两项或更多任务。卸载控制器300(和/或交换器240)将接收关于正在被处理的每项可卸载的任务的结果,并且相应地将采取关于每项任务的适当的动作。
图5展示了卸载任务的方法500的另一个实施例。图5所示的方法500类似于以上根据图4而示出和描述的方法400,并且,相似的元素保留相同的数字标识。此外,在关于图5的下文中,将不重复以上根据图4而描述的那些元素的说明。
参考图5中的方框505,在已从所选择的卸载设备290接收结果(见方框440)之后,卸载控制器300和/或交换器240向客户机发送响应。例如,如果进入的信息流要求证实操作(例如,XML证实),并且该证实任务曾被卸载给所选择的卸载设备290用于处理,那么,被发送到该客户机的响应可指出该信息流数据曾是无效的。这样,可以执行可卸载的任务(在这个特定的实例中,是证实操作),而无须牵连服务器群集280a-n。但是,现在参考参考标号510,如果该信息流却实要求进一步的处理,则这个或这些数据包以及(如果必要的话)该结果可以被转送到合适的服务器280,如方框515所示。如果该信息流不要求额外的动作,则处理完成,如方框520所示。
图6展示了服务器集合系统600的实施例,服务器集合系统600利用许多卸载设备来卸载规定的一类可卸载的任务。更具体地说,服务器集合系统600将XML处理卸载给XML卸载设备690。同样,图7展示了卸载XML处理的方法700的实施例。由于根据XML标记语言而加以开发的应用程序的数量或开发以利用XML标记语言的应用程序的数量正在迅速扩大,本领域的普通技术人员将会理解到:将任务卸载给一个或多个卸载设备的这个例子的效用。
参考图6,服务器集合系统600与路由器20耦合,路由器20又与因特网5或其他网络耦合。路由器20可包括现有技术中已知的任何合适的路由选择设备(包括任何可购买到的、现成的路由器)。服务器集合系统600可由与因特网5连接的一台或多台客户机10访问。虽然服务器集合系统600被展示为与因特网5耦合,但是,应该理解:服务器集合系统600可以与任何计算机网络或多个计算机网络耦合。举例来讲,服务器集合系统600可以与局域网(LAN)、广域网(WAN)和/或城域网(MAN)耦合。
服务器集合系统600包括交换和负载平衡器640,交换和负载平衡器640跟路由器20耦合。为容易理解,交换和负载平衡器640在这里将只被称作“交换器”。交换器640包括XML控制器645,或者与XML控制器645耦合。XML控制器645的操作方式类似于以上根据图2和图3所示的卸载控制器300而描述的方式。
服务器集合系统600还包括一个或多个服务器680——包括服务器680a、680b、...、680n。服务器680a-n中的每个服务器通过链路660而与交换器640耦合,每个链路660在其间提供点到点连接。作为选择,网络(附图中未示出)可以将服务器680a-n与交换器640耦合。服务器680可包括现有技术中已知的任何合适的服务器或其他计算设备(包括众多可购买到的、现成的服务器中的任何一种服务器)。为服务器群集680a-n分配单一IP地址或VIP,并且,对于正在访问服务器集合系统600的那些客户机10而言,服务器群集680a-n看上去是单一的网络资源。
许多XML卸载设备690(包括XML卸载设备690a、690b、...、690m)与交换器640耦合。每个XML卸载设备690通过链路660而与交换器640耦合,每个链路660在其间提供点到点连接。作为选择,XML卸载设备690可通过网络(附图中未示出)而与交换器640耦合。任何合适数量的XML卸载设备690都可以与服务器集合系统600耦合。服务器集合系统600的架构是可升级的和可抵抗故障的。如果需要额外的XML处理性能,则简单地将适当数量的XML卸载设备690加入服务器集合系统600,并且,如果XML卸载设备690a-m之一发生故障,则服务器集合系统600的操作将不会发生中断,因为发生故障的设备的工作负荷可以被分配在剩余的XML卸载设备690之中。
每个XML卸载设备690包括能够接收数据并能够根据从XML控制器645和/或交换器640接收的命令来对该数据执行XML操作(例如,证实、变换等)的任何合适的设备或电路。可由XML卸载设备690来确定结果,该结果又可被提供给XML控制器645和/或交换器640。例如,XML卸载设备690可包括微处理器、ASIC或FPGA,尽管应该理解:这种XML卸载设备690可包括另一种设备或系统(例如,服务器)的一部分,或者与另一种设备或系统(例如,服务器)结合。应该进一步理解:XML卸载设备690可以在硬件、软件或其组合中加以实现。
参照图7,可以更好地理解服务器集合系统600的操作;如上所述,图7示出框图,说明了卸载XML处理的方法700的实施例。参考图7中的方框705,在交换器640处接收信息流(包括一个或多个数据包)。可以从尝试与服务器集合系统600建立连接的客户机10或从具有在进行中的已建立的对话的客户机10接收信息流。如方框710所示,信息流内的数据包数据被加以分析,以搜索或识别该接收的信息流内的任何可卸载的XML任务。例如,可以分析数据包数据,以搜索建议或指示出可卸载的XML任务的数据模式;或者,可以分析数据包数据,以搜索对应于可卸载的XML任务的调用或命令。
参考参考标号715,如果信息流不包括可卸载的XML任务,则这个或这些数据包仅仅被转送到合适的服务器680(见方框720)-这由交换器640确定。交换器640可执行相互影响负载平衡法和/或内容-知晓的负载平衡法,以确定服务器680a-n中的哪个服务器应该接收这个被转送的信息流。同样应该理解:这种负载平衡法可以独立于XML控制器645正在XML卸载设备690a-m之间执行的任何负载平衡法;另外,XML卸载设备690中的一个或多个XML卸载设备(或其他卸载设备)可以连同XML控制器645而在服务器680a-n之间的负载平衡中发挥作用(例如,作出内容路由选择决定)。
再次参考图7中的参考标号715,如果在该进入的信息流中识别出可卸载的XML任务,则XML控制器645可提供对应于该被检测到的XML操作的命令,如方框725所示。如上所述,通过在XML控制器645的配置表内执行查找,可以发现合适的命令。
参考方框730,选择XML卸载设备690a-m中的一个XML卸载设备,以处理被检测到的可卸载的XML任务。如前所述,可以使用相互影响负载平衡法和/或内容-知晓的负载平衡法来选择XML卸载设备690,或者,可卸载的XML任务可以按循环法而被分配给XML卸载设备690a-m。如上所述,也可以从XML控制器645内的配置表中识别合适的XML卸载设备690,尽管仍然可以执行某种负载平衡法。
如方框735所示,XML控制器645将命令以及进入的信息流中的数据包数据的至少一部分提供给所选择的XML卸载设备690。所选择的XML卸载设备690接收该命令和数据包数据,并且响应于此来执行XML任务。如方框740所示,所选择的XML卸载设备690可以确定结果,该结果可以由XML控制器645来接收。参考方框745,XML控制器645(和/或交换器640)将处理该结果,并采取任何适当的动作。该数据包数据和(如果必要的话)该结果可以被转送到服务器680,用于进一步处理。
举例来讲(不作限制),可以由XML卸载设备690来执行的XML处理包括证实和变换。如果XML文档遵循XML标准的句法,则它是“合式的”(well-formed);并且,如果合式的XML文档包含适当的文档类型定义和/或模式,则它是“有效的”(valid)。当接收表示XML文档的一个或多个数据包时,可能希望在将数据发送到应用服务器680之前证实该XML文档是有效的。为了执行这种XML证实操作,XML控制器645将把该数据包数据(它包括XML数据流)和对应的证实命令(例如,“<validation/>”)发送到所选择的XML卸载设备690。所选择的XML卸载设备690将处理该信息,并将有效的(例如,“<valid/>”)或无效的(例如,“<invalid/>”)响应返回给XML控制器745。
也可能有必要根据定义的模板或样式表(stylesheet)来将XML数据流变换成另一种格式。为了在不同的XML数据格式之间执行变换,XML控制器645将把一个或多个数据包以及变换指令(例如,“<transform/>”)发送到所选择的XML卸载设备690。所选择的XML卸载设备690将执行该变换,并把经变换的XML数据流或文档返回到XML控制器645。
以上在包括可卸载的单个的、可识别的XML任务的数据包的上下文环境中描述了图7中的方法700。但是,应该理解:信息流可包括任何数量的可卸载的XML任务。如果在信息流内发现多个可卸载的XML任务(或建议可卸载的XML任务的调用、命令和/或数据模式),则可以为这些被检测到的可卸载的XML任务中的每个可卸载XML任务提供命令。将选择XML卸载设备690来处理这些可卸载的XML任务中的每个可卸载的XML任务,尽管单个XML卸载设备690可以处理这些被检测到的操作中的两项或更多操作。XML控制器645(和/或交换器640)将接收关于正在被处理的每个可卸载的XML任务的结果,并且相应地将采取关于每项操作的适当的动作。应该进一步理解:服务器集合系统600(包括XML卸载设备690a-m)不局限于XML处理的卸载,因为非XML操作也可以被卸载给XML卸载设备690(或其他卸载设备)。
这里已描述包括许多卸载设备的服务器集合系统的实施例、以及将任务卸载给卸载设备的方法的实施例,因此,本领域的普通技术人员将会理解其各种优点。通过将对一组可卸载的任务的处理分配给许多卸载设备,可保存服务器集合系统的计算资源,以便可以更有效率地利用这些资源(例如,应用服务器或服务器组),来运行客户机请求和执行其他任务。具有根据这些所揭示的实施例的许多卸载设备的服务器集合系统是容易升级的,并有高度的容错能力。
前面的详细说明和附图只是起说明的作用,而不是起限制的作用。它们的主要目的是提供对这些所揭示的实施例的清晰、全面的理解,其中没有不必要的限制作用。在不脱离这些所揭示的实施例的精神和所附权利要求书的范围的前提下,本领域的技术人员可以设计对这里所描述的实施例以及选择性布置的众多添加、删除和修改。

Claims (64)

1.一种方法,其特征在于,包括:
识别所接收的信息流中的可卸载的任务,所接收的信息流包括数据;以及,
如果识别出可卸载的任务,则:
选择卸载设备,以及
将所述数据的至少一部分提供给所选择的卸载设备。
2.如权利要求1所述的方法,其特征在于,进一步包括:
如果识别出可卸载的任务,则将对应于该识别出的可卸载的任务的命令提供给所选择的卸载设备。
3.如权利要求1所述的方法,其特征在于,进一步包括:从所选择的卸载设备接收结果。
4.如权利要求3所述的方法,其特征在于,进一步包括:将所述结果和所述数据转送到服务器。
5.如权利要求3所述的方法,其特征在于,进一步包括:向客户机发送响应。
6.如权利要求1所述的方法,其特征在于,进一步包括:
如果没有识别出可卸载的任务,则将所述数据提供给服务器。
7.如权利要求1所述的方法,其特征在于,进一步包括:根据循环排序法来选择卸载设备。
8.如权利要求1所述的方法,其特征在于,进一步包括:使用相互影响负载平衡法来选择卸载设备。
9.如权利要求1所述的方法,其特征在于,进一步包括:使用内容-知晓的负载平衡法来选择卸载设备。
10.一种方法,其特征在于,包括:
在所接收的信息流中搜索对应于可卸载的任务的数据模式,所接收的信息流包括数据;以及
如果该信息流包括所述数据模式,则:
选择卸载设备,以及
将所述数据的至少一部分提供给所选择的卸载设备。
11.如权利要求10所述的方法,其特征在于,进一步包括:
如果所接收的信息流包括数据模式,则将对应于所述可卸载的任务的命令提供给所选择的卸载设备。
12.如权利要求10所述的方法,其特征在于,进一步包括:从所选择的卸载设备接收结果。
13.如权利要求12所述的方法,其特征在于,进一步包括:将所述结果和所述数据转送到服务器。
14.如权利要求12所述的方法,其特征在于,进一步包括:向客户机发送响应。
15.如权利要求10所述的方法,其特征在于,进一步包括:
如果所接收的信息流不包括可卸载的任务,则将所述数据提供给服务器。
16.如权利要求10所述的方法,其特征在于,进一步包括:根据循环排序法来选择卸载设备。
17.如权利要求10所述的方法,其特征在于,进一步包括:使用相互影响负载平衡法来选择卸载设备。
18.如权利要求10所述的方法,其特征在于,进一步包括:使用内容-知晓的负载平衡法来选择卸载设备。
19.一种方法,其特征在于,包括:
在所接收的信息流中搜索对应于可卸载的任务的调用,信息流包括数据;以及
如果所接收的信息流包括所述调用,则:
选择卸载设备,以及
将所述数据的至少一部分提供给所选择的卸载设备。
20.如权利要求19所述的方法,其特征在于,进一步包括:
如果所接收的信息流包括所述调用,则将对应于所述可卸载的任务的命令提供给所选择的卸载设备。
21.如权利要求19所述的方法,其特征在于,进一步包括:从所选择的卸载设备接收结果。
22.如权利要求21所述的方法,其特征在于,进一步包括:将所述结果和所述数据转送到服务器。
23.如权利要求21所述的方法,其特征在于,进一步包括:向客户机发送响应。
24.如权利要求19所述的方法,其特征在于,进一步包括:
如果所接收的信息流不包括所述调用,则将所述数据提供给服务器。
25.如权利要求19所述的方法,其特征在于,进一步包括:根据循环排序法来选择卸载设备。
26.如权利要求19所述的方法,其特征在于,进一步包括:使用相互影响负载平衡法来选择卸载设备。
27.如权利要求19所述的方法,其特征在于,进一步包括:使用内容-知晓的负载平衡法来选择卸载设备。
28.一种方法,其特征在于,包括:
识别所接收的信息流中的可卸载的XML任务,所接收的信息流包括数据;以及
如果识别出可卸载的XML任务,则:
选择卸载设备,以及
将所述数据的至少一部分提供给所选择的卸载设备。
29.如权利要求28所述的方法,其特征在于,进一步包括:
如果识别出可卸载的XML任务,则将对应于可卸载的XML任务的命令提供给所选择的卸载设备。
30.如权利要求28所述的方法,其特征在于,进一步包括:从所选择的卸载设备接收结果。
31.如权利要求30所述的方法,其特征在于,进一步包括:将所述结果和所述数据转送到服务器。
32.如权利要求30所述的方法,其特征在于,进一步包括:向客户机发送响应。
33.如权利要求28所述的方法,其特征在于,进一步包括:
如果没有识别出可卸载的XML任务,则将所述数据提供给服务器。
34.如权利要求28所述的方法,其特征在于,进一步包括:根据循环排序法来选择卸载设备。
35.如权利要求28所述的方法,其特征在于,进一步包括:使用相互影响负载平衡法来选择卸载设备。
36.如权利要求28所述的方法,其特征在于,进一步包括:使用内容-知晓的负载平衡法来选择卸载设备。
37.如权利要求28所述的方法,其特征在于,所述可卸载的XML任务包括XML证实和XML变换。
38.一种系统,其特征在于,包括:
多个卸载设备,这些卸载设备中的每个卸载设备与交换器耦合;
与所述交换器耦合的服务器;以及
与所述交换器耦合的卸载控制器,所述卸载控制器识别所接收的信息流中的可卸载的任务,并且,如果识别出可卸载的任务,则:
从所述多个卸载设备中选择一个卸载设备,以及
将所接收的信息流中所包含的数据的至少一部分提供给所选择的卸载设备。
39.如权利要求38所述的系统,其特征在于,所述卸载控制器将对应于识别出的可卸载的任务的命令提供给所选择的卸载设备。
40.如权利要求38所述的系统,其特征在于,所述卸载控制器从所选择的卸载设备接收结果。
41.如权利要求40所述的系统,其特征在于,所述卸载控制器将所述结果和所述数据转送到该服务器。
42.如权利要求40所述的系统,其特征在于,所述卸载控制器向客户机发送响应。
43.如权利要求38所述的系统,其特征在于,如果没有识别出可卸载的任务,所述卸载控制器将所述数据提供给服务器。
44.如权利要求38所述的系统,其特征在于,所述卸载控制器根据循环排序法来选择卸载设备。
45.如权利要求38所述的系统,其特征在于,所述卸载控制器使用相互影响负载平衡法来选择卸载设备。
46.如权利要求38所述的系统,其特征在于。所述卸载控制器使用内容-知晓的负载平衡法来选择卸载设备。
47.如权利要求38所述的系统,其特征在于,当识别可卸载的任务时,所述卸载控制器在所接收的信息流中搜索对应于所述可卸载的任务的数据模式。
48.如权利要求38所述的系统,其特征在于,当识别可卸载的任务时,所述卸载控制器在所接收的信息流中搜索对应于所述可卸载的任务的调用。
49.如权利要求38所述的系统,其特征在于,所述卸载控制器构成交换器的一部分。
50.如权利要求38所述的系统,其特征在于,所述卸载控制器包括:
分析单元,用于识别所接收的信息流中的可卸载的任务;以及
选择单元,用于选择卸载设备来处理识别出的可卸载的任务。
51.如权利要求50所述的系统,其特征在于,所述卸载控制器进一步包括配置表,所述配置表包括多个条目,这些条目中的每个条目识别可卸载的任务和对应的命令。
52.如权利要求51所述的系统,其特征在于,每个条目进一步识别对应的卸载设备。
53.如权利要求38所述的系统,其特征在于,所述卸载控制器与网络耦合。
54.如权利要求53所述的系统,其特征在于,所述网络包括因特网。
55.如权利要求38所述的系统,其特征在于,至少一个卸载设备包括XML卸载设备。
56.一种制造物件,其特征在于,包括:
具有内容的介质,当被设备访问时,所述内容使所述设备执行下述动作:
识别所接收的信息流中的可卸载的任务,所接收的信息流包括数据;以及,
如果识别出可卸载的任务,则:
        选择卸载设备,以及
        将所述数据的至少一部分提供给所选择的卸载设备。
57.如权利要求56所述的制造物件,其特征在于,当内容被访问时,所述内容进一步使所述设备执行下述动作:
如果识别出可卸载的任务,则将对应于该识别出的可卸载的任务的命令提供给所选择的卸载设备。
58.如权利要求56所述的制造物件,其特征在于,当内容被访问时,所述内容进一步使所述设备从所选择的卸载设备接收结果。
59.如权利要求58所述的制造物件,其特征在于,当内容被访问时,所述内容进一步使所述设备将所述结果和所述数据转送到服务器。
60.如权利要求58所述的制造物件,其特征在于,当内容被访问时,所述内容进一步使所述设备向客户机发送响应。
61.如权利要求56的制造物件,其特征在于,当内容被访问时,所述内容进一步使所述设备执行下述动作:
如果没有识别出可卸载的任务,则将所述数据提供给服务器。
62.如权利要求56的制造物件,其特征在于,当内容被访问时,所述内容进一步使所述设备根据循环排序法来选择卸载设备。
63.如权利要求56所述的制造物件,其特征在于,当内容被访问时,所述内容进一步使所述设备使用相互影响负载平衡法来选择卸载设备。
64.如权利要求56所述的制造物件,其特征在于,当内容被访问时,所述内容进一步使所述设备使用内容-知晓的负载平衡法来选择卸载设备。
CN03814705.XA 2002-06-24 2003-05-15 用于信息流的卸载处理的方法和系统 Expired - Fee Related CN100474257C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/178,997 US20030236813A1 (en) 2002-06-24 2002-06-24 Method and apparatus for off-load processing of a message stream
US10/178,997 2002-06-24

Publications (2)

Publication Number Publication Date
CN1662885A true CN1662885A (zh) 2005-08-31
CN100474257C CN100474257C (zh) 2009-04-01

Family

ID=29734836

Family Applications (1)

Application Number Title Priority Date Filing Date
CN03814705.XA Expired - Fee Related CN100474257C (zh) 2002-06-24 2003-05-15 用于信息流的卸载处理的方法和系统

Country Status (6)

Country Link
US (1) US20030236813A1 (zh)
EP (1) EP1522019A2 (zh)
CN (1) CN100474257C (zh)
AU (1) AU2003230407A1 (zh)
TW (1) TWI230898B (zh)
WO (1) WO2004001590A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107832150A (zh) * 2017-11-07 2018-03-23 清华大学 一种计算任务动态分区策略

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7467406B2 (en) * 2002-08-23 2008-12-16 Nxp B.V. Embedded data set processing
US7774831B2 (en) * 2002-12-24 2010-08-10 International Business Machines Corporation Methods and apparatus for processing markup language messages in a network
FI116426B (fi) * 2003-05-02 2005-11-15 Nokia Corp Laitteenhallinnan aloittaminen hallintapalvelimen ja asiakkaan välillä
EP1566940A1 (en) * 2004-02-20 2005-08-24 Alcatel Alsthom Compagnie Generale D'electricite A method, a service system, and a computer software product of self-organizing distributing services in a computing network
US20050251857A1 (en) * 2004-05-03 2005-11-10 International Business Machines Corporation Method and device for verifying the security of a computing platform
US7548977B2 (en) * 2005-02-11 2009-06-16 International Business Machines Corporation Client / server application task allocation based upon client resources
US7770000B2 (en) * 2005-05-02 2010-08-03 International Business Machines Corporation Method and device for verifying the security of a computing platform
US8667184B2 (en) 2005-06-03 2014-03-04 Qnx Software Systems Limited Distributed kernel operating system
US7840682B2 (en) * 2005-06-03 2010-11-23 QNX Software Systems, GmbH & Co. KG Distributed kernel operating system
US20070226745A1 (en) * 2006-02-28 2007-09-27 International Business Machines Corporation Method and system for processing a service request
US8127021B2 (en) * 2006-03-18 2012-02-28 Metafluent, Llc Content aware routing of subscriptions for streaming and static data
US8875135B2 (en) * 2006-04-17 2014-10-28 Cisco Systems, Inc. Assigning component operations of a task to multiple servers using orchestrated web service proxy
US8266630B2 (en) * 2007-09-03 2012-09-11 International Business Machines Corporation High-performance XML processing in a common event infrastructure
US11323510B2 (en) 2008-02-28 2022-05-03 Level 3 Communications, Llc Load-balancing cluster
US8489750B2 (en) 2008-02-28 2013-07-16 Level 3 Communications, Llc Load-balancing cluster
US9910708B2 (en) * 2008-08-28 2018-03-06 Red Hat, Inc. Promotion of calculations to cloud-based computation resources
US8139583B1 (en) * 2008-09-30 2012-03-20 Extreme Networks, Inc. Command selection in a packet forwarding device
US9264835B2 (en) 2011-03-21 2016-02-16 Microsoft Technology Licensing, Llc Exposing off-host audio processing capabilities
GB2496537B (en) * 2011-04-27 2014-10-15 Seven Networks Inc System and method for making requests on behalf of a mobile device based on atmoic processes for mobile network traffic relief
US9244745B2 (en) * 2011-06-16 2016-01-26 Kodak Alaris Inc. Allocating tasks by sending task-available messages requesting assistance with an image processing task from a server with a heavy task load to all other servers connected to the computer network
US20130173806A1 (en) * 2011-12-31 2013-07-04 Level 3 Communications, Llc Load-balancing cluster
US9135084B2 (en) * 2013-01-13 2015-09-15 Verizon Patent And Licensing Inc. Service provider class application scalability and high availability and processing prioritization using a weighted load distributor and throttle middleware
US9858052B2 (en) * 2013-03-21 2018-01-02 Razer (Asia-Pacific) Pte. Ltd. Decentralized operating system
US9065829B2 (en) * 2013-03-21 2015-06-23 Nextbit Systems Inc. Automatic resource balancing for multi-device applications
US9225638B2 (en) 2013-05-09 2015-12-29 Vmware, Inc. Method and system for service switching using service tags
US9571386B2 (en) 2013-07-08 2017-02-14 Nicira, Inc. Hybrid packet processing
US11496606B2 (en) 2014-09-30 2022-11-08 Nicira, Inc. Sticky service sessions in a datacenter
US9825810B2 (en) 2014-09-30 2017-11-21 Nicira, Inc. Method and apparatus for distributing load among a plurality of service nodes
US9774537B2 (en) 2014-09-30 2017-09-26 Nicira, Inc. Dynamically adjusting load balancing
US20160112502A1 (en) * 2014-10-20 2016-04-21 Cisco Technology, Inc. Distributed computing based on deep packet inspection by network devices along network path to computing device
US10594743B2 (en) * 2015-04-03 2020-03-17 Nicira, Inc. Method, apparatus, and system for implementing a content switch
US10853125B2 (en) * 2016-08-19 2020-12-01 Oracle International Corporation Resource efficient acceleration of datastream analytics processing using an analytics accelerator
US10797966B2 (en) 2017-10-29 2020-10-06 Nicira, Inc. Service operation chaining
US11012420B2 (en) 2017-11-15 2021-05-18 Nicira, Inc. Third-party service chaining using packet encapsulation in a flow-based forwarding element
US10659252B2 (en) 2018-01-26 2020-05-19 Nicira, Inc Specifying and utilizing paths through a network
US10797910B2 (en) 2018-01-26 2020-10-06 Nicira, Inc. Specifying and utilizing paths through a network
US10728174B2 (en) 2018-03-27 2020-07-28 Nicira, Inc. Incorporating layer 2 service between two interfaces of gateway device
US10805192B2 (en) 2018-03-27 2020-10-13 Nicira, Inc. Detecting failure of layer 2 service using broadcast messages
US11595250B2 (en) 2018-09-02 2023-02-28 Vmware, Inc. Service insertion at logical network gateway
US10944673B2 (en) 2018-09-02 2021-03-09 Vmware, Inc. Redirection of data messages at logical network gateway
US11360796B2 (en) 2019-02-22 2022-06-14 Vmware, Inc. Distributed forwarding for performing service chain operations
US11283717B2 (en) 2019-10-30 2022-03-22 Vmware, Inc. Distributed fault tolerant service chain
US11140218B2 (en) 2019-10-30 2021-10-05 Vmware, Inc. Distributed service chain across multiple clouds
US11223494B2 (en) 2020-01-13 2022-01-11 Vmware, Inc. Service insertion for multicast traffic at boundary
US11153406B2 (en) 2020-01-20 2021-10-19 Vmware, Inc. Method of network performance visualization of service function chains
US11659061B2 (en) 2020-01-20 2023-05-23 Vmware, Inc. Method of adjusting service function chains to improve network performance
US11438257B2 (en) 2020-04-06 2022-09-06 Vmware, Inc. Generating forward and reverse direction connection-tracking records for service paths at a network edge
US11611625B2 (en) 2020-12-15 2023-03-21 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
US11734043B2 (en) 2020-12-15 2023-08-22 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3741953A1 (de) * 1986-12-19 1988-06-30 Nippon Telegraph & Telephone Multiprozessorsystem und verfahren zur arbeitslastverteilung bei einem solchen
EP0272836B1 (en) * 1986-12-22 1994-03-02 AT&T Corp. Controlled dynamic load balancing for a multiprocessor system
DE59310083D1 (de) * 1993-09-24 2000-09-07 Siemens Ag Verfahren zum Lastausgleich in einem Multiprozessorsystem
US6185619B1 (en) * 1996-12-09 2001-02-06 Genuity Inc. Method and apparatus for balancing the process load on network servers according to network and serve based policies
GB2309558A (en) * 1996-01-26 1997-07-30 Ibm Load balancing across the processors of a server computer
US5828847A (en) * 1996-04-19 1998-10-27 Storage Technology Corporation Dynamic server switching for maximum server availability and load balancing
US5774660A (en) * 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US5864535A (en) * 1996-09-18 1999-01-26 International Business Machines Corporation Network server having dynamic load balancing of messages in both inbound and outbound directions
US6182029B1 (en) * 1996-10-28 2001-01-30 The Trustees Of Columbia University In The City Of New York System and method for language extraction and encoding utilizing the parsing of text data in accordance with domain parameters
GB2320112B (en) * 1996-12-07 2001-07-25 Ibm High-availability computer server system
US6026404A (en) * 1997-02-03 2000-02-15 Oracle Corporation Method and system for executing and operation in a distributed environment
US6286033B1 (en) * 2000-04-28 2001-09-04 Genesys Telecommunications Laboratories, Inc. Method and apparatus for distributing computer integrated telephony (CTI) scripts using extensible mark-up language (XML) for mixed platform distribution and third party manipulation
WO1998040850A2 (en) * 1997-03-13 1998-09-17 Whitney Mark M A system for, and method of, off-loading network transactions from a mainframe to an intelligent input/output device, including off-loading message queuing facilities
US6167488A (en) * 1997-03-31 2000-12-26 Sun Microsystems, Inc. Stack caching circuit with overflow/underflow unit
US6192415B1 (en) * 1997-06-19 2001-02-20 International Business Machines Corporation Web server with ability to process URL requests for non-markup language objects and perform actions on the objects using executable instructions contained in the URL
US6006264A (en) * 1997-08-01 1999-12-21 Arrowpoint Communications, Inc. Method and system for directing a flow between a client and a server
US6631424B1 (en) * 1997-09-10 2003-10-07 Fmr Corp. Distributing information using a computer
US6178160B1 (en) * 1997-12-23 2001-01-23 Cisco Technology, Inc. Load balancing of client connections across a network using server based algorithms
US6208644B1 (en) * 1998-03-12 2001-03-27 I-Cube, Inc. Network switch providing dynamic load balancing
US6292822B1 (en) * 1998-05-13 2001-09-18 Microsoft Corporation Dynamic load balancing among processors in a parallel computer
US6249844B1 (en) * 1998-11-13 2001-06-19 International Business Machines Corporation Identifying, processing and caching object fragments in a web environment
US6209124B1 (en) * 1999-08-30 2001-03-27 Touchnet Information Systems, Inc. Method of markup language accessing of host systems and data using a constructed intermediary
US20020107990A1 (en) * 2000-03-03 2002-08-08 Surgient Networks, Inc. Network connected computing system including network switch
US6732175B1 (en) * 2000-04-13 2004-05-04 Intel Corporation Network apparatus for switching based on content of application data
US7146422B1 (en) * 2000-05-01 2006-12-05 Intel Corporation Method and apparatus for validating documents based on a validation template
US20040117427A1 (en) * 2001-03-16 2004-06-17 Anystream, Inc. System and method for distributing streaming media
US20030074467A1 (en) * 2001-10-11 2003-04-17 Oblak Sasha Peter Load balancing system and method for data communication network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107832150A (zh) * 2017-11-07 2018-03-23 清华大学 一种计算任务动态分区策略

Also Published As

Publication number Publication date
TW200414028A (en) 2004-08-01
TWI230898B (en) 2005-04-11
EP1522019A2 (en) 2005-04-13
US20030236813A1 (en) 2003-12-25
WO2004001590A2 (en) 2003-12-31
AU2003230407A1 (en) 2004-01-06
WO2004001590A3 (en) 2004-03-18
CN100474257C (zh) 2009-04-01
AU2003230407A8 (en) 2004-01-06

Similar Documents

Publication Publication Date Title
CN1662885A (zh) 用于信息流的卸载处理的方法和装置
JP3980596B2 (ja) サーバを遠隔かつ動的に構成する方法およびシステム
DE69814900T2 (de) Verfahren und system zur unterstützung verteilter software- entwicklung ohne bewusstsein der verteilten charakteristik der software
US6138159A (en) Load direction mechanism
CA2279382C (en) Web request broker controlling multiple processes
EP0817043B1 (en) Apparatus and method for operating an aggregation of server computers using a dual-role proxy server computer
CA2486434C (en) A computing services grid
EP2321937B1 (en) Load balancing for services
CN1631016A (zh) 用于基于内容交换的网络设备
US6704764B1 (en) Method and apparatus for a servlet server class
US20060230077A1 (en) Load distribution system, and event processing distribution control apparatus, and an event processing distribution control program
JPH10149296A (ja) サーバ・コンピュータ集約トポロジーを識別するための方法及び装置
JP4398354B2 (ja) 中継システム
CN101079901A (zh) 验证客户端请求已被路由传送到适当的服务器的方法和装置
CN102577237A (zh) 网站托管服务调度方法、应用访问处理方法、装置及系统
CN101242392A (zh) 用于系列服务消息处理的方法、设备和系统
WO2007073429A2 (en) Distributed and replicated sessions on computing grids
CA2352755A1 (en) Network management system
WO2008103565A1 (en) Dispatching client requests to appropriate server-side methods
CN101296176A (zh) 一种基于群集的数据处理方法和装置
US6934761B1 (en) User level web server cache control of in-kernel http cache
US8566833B1 (en) Combined network and application processing in a multiprocessing environment
US20030023798A1 (en) Method, system, and program products for distributed content throttling in a computing environment
CN111708962A (zh) 骨架屏的渲染方法、装置、设备及存储介质
CN111641669B (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090401

Termination date: 20170515

CF01 Termination of patent right due to non-payment of annual fee