CN103827828B - 用于在流量指挥站环境中提供负载平衡与数据压缩的灵活性的系统及方法 - Google Patents

用于在流量指挥站环境中提供负载平衡与数据压缩的灵活性的系统及方法 Download PDF

Info

Publication number
CN103827828B
CN103827828B CN201280047079.2A CN201280047079A CN103827828B CN 103827828 B CN103827828 B CN 103827828B CN 201280047079 A CN201280047079 A CN 201280047079A CN 103827828 B CN103827828 B CN 103827828B
Authority
CN
China
Prior art keywords
server
flow director
client
request
data
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.)
Active
Application number
CN201280047079.2A
Other languages
English (en)
Other versions
CN103827828A (zh
Inventor
B·库克雷贾
P·孔达杜
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
Oracle International 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 Oracle International Corp filed Critical Oracle International Corp
Publication of CN103827828A publication Critical patent/CN103827828A/zh
Application granted granted Critical
Publication of CN103827828B publication Critical patent/CN103827828B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2041Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • 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/1034Reaction to server failures by a load balancer

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Computer And Data Communications (AREA)
  • User Interface Of Digital Computer (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Hardware Redundancy (AREA)
  • Telephonic Communication Services (AREA)
  • Debugging And Monitoring (AREA)
  • Navigation (AREA)
  • Stored Programmes (AREA)

Abstract

本文所描述的是供用于负载平衡器或流量指挥站及其管理的系统及方法,其中流量指挥站是作为基于软件的负载平衡器提供的,它可以用于交付快速、可靠、可缩放且安全的平台,用于负载平衡到后端起源服务器的互联网及其它流量,其中的起源服务器诸如web服务器、应用服务器或其它资源服务器。根据一种实施例,所述系统包括具有一个或多个流量指挥站实例的流量指挥站,其中流量指挥站配置为从客户端接收请求并且把请求传送到具有一个或多个服务器池的起源服务器。描述了用于在这种流量指挥站或其它环境中提供主动‑被动路由、浪涌保护和速率加速、起源服务器的动态发现、配置http负载平衡时的灵活性和/或动态高速缓存数据解压缩的系统及方法。

Description

用于在流量指挥站环境中提供负载平衡与数据压缩的灵活性 的系统及方法
版权声明
本专利文档公开内容的一部分包含受版权保护的素材。版权所有人不反对任何人对专利文档或专利公开内容按照在专利商标局的专利文件或记录中出现那样进行的传真复制,但是除此之外在任何情况下都保留所有版权。
优先权保护
本申请要求以下专利申请的优先权利益:于2011年9月27日提交且标题为“SYSTEMS AND METHODS FOR USE WITH AN APPLICATION SERVER TRAFFIC DIRECTOR(COREFEATURES)”的美国临时专利申请No.61/539,886;于2011年9月27日提交且标题为“SYSTEMSAND METHODS FOR USE WITH AN APPLICATION SERVER TRAFFIC DIRECTOR(ADMINFEATURES)”的美国临时专利申请No.61/539,900;于2012年8月31日提交且标题为“SYSTEMAND METHOD FOR PROVIDING ACTIVE-PASSIVE ROUTING IN A TRAFFIC DIRECTORENVIRONMENT”的美国专利申请No.13/601,087;于2012年8月31日提交且标题为“SYSTEMAND METHOD FOR SURGE PROTECTION AND RATE ACCELERATION IN A TRAFFIC DIRECTORENVIRONMENT”的专利申请No.13/601,428;于2012年8月31日提交且标题为“SYSTEM ANDMETHOD FOR DYNAMIC DISCOVERY OF ORIGIN SERVERS IN A TRAFFIC DIRECTORENVIRONMENT”的美国专利申请No.13/601,530;于2012年8月31日提交且标题为“SYSTEMAND METHOD FOR PROVIDING FLEXIBILITY IN CONFIGURING HTTP LOAD BALANCING IN ATRAFFIC DIRECTOR ENVIRONMENT”的美国专利申请No.13/601,632;及于2012年9月24日提交且标题为“SYSTEM AND METHOD FOR DYNAMIC CACHE DATA DECOMPRESSION IN ATRAFFIC DIRECTOR ENVIRONMENT”的美国专利申请No.13/625,716,这些申请中每一个通过引用被结合于此。
技术领域
本发明一般而言涉及用在应用服务器、中间件机器或其它计算环境中的负载平衡器或流量指挥站,而且更具体地说,涉及用于在流量指挥站或其它环境中提供主动-被动路由、浪涌保护和速率加速、起源服务器的动态发现、配置http负载平衡的灵活性和/或动态高速缓存数据解压缩的系统及方法。
背景技术
典型的企业级计算环境会包括许多不同类型的计算资源(例如,web服务器、应用服务器、数据库服务器或者其它类型的资源服务器),这些资源要由其它计算机或者操作各种不同类型计算设备的用户经网络(例如,公司的内部以太网,或者互联网)访问。一个熟悉的例子是客户端计算机的使用,诸如配备web浏览器应用的笔记本电脑,通过该web浏览器应用,用户可以经互联网访问web服务器。
如今的机构越来越依赖于他们的计算资源不论什么时候都可以具有高性能水平地、很容易地从几乎任何地点获得。确保这种资源有效分配的任务常常需要使用负载平衡设备根据其分配策略以公平的方式分配客户端对目标资源的请求。这些是本发明实施例可以与其一起使 用的环境的类型。
发明内容
本文所描述的是供用于负载平衡器或流量指挥站及其管理的系统及方法。根据一种实施例,流量指挥站,在本文有些实施例中被称为“Oracle流量指挥站”(OTD),是作为一种基于软件的负载平衡器提供的,它可以用于交付快速、可靠、可缩放且安全的平台,用于负载平衡到后端起源服务器的互联网及其它流量,其中起源服务器诸如web服务器、应用服务器或其它资源服务器。
流量指挥站的实施例在应用服务器、中间件机器及类似的高性能企业级计算环境,诸如Oracle WebLogic和Exalogic环境,中特别有用。
根据一种实施例,该系统包括具有一个或多个流量指挥站实例的流量指挥站,流量指挥站配置为从客户端接收请求并把请求传送到具有一个或多个服务器池的起源服务器。根据一种实施例,该系统包括提供由起源服务器在接收请求时使用的通信协议或套接字的高速网络基础设施;供所述通信协议或套接字使用的一个或多个协议终接器/仿真器;及入站套接字配置和出站套接字配置,这两个配置一起指示流量指示器应当使用哪个终接器/仿真器把请求传送到特定的起源服务器。
根据一种实施例,起源服务器池配置为使得该池中至少一个或多个服务器被指定为主服务器,而且该池中至少一个或多个其它服务器被指定为备用服务器。流量指挥站配置为使得它确定池中主服务器的可用性,并且在池包括足量的可用主服务器时把请求只指引到主服务器。
根据一种实施例,位于流量指挥站的流量监视器监视流量指挥站实例与起源服务器中一个或多个资源服务器之间的流量,包括连接的个数。流量指挥站可以设置控制流量的流量速率,包括连接的个数,以便提供浪涌保护,或者速率加速/减速。
根据一种实施例,健康检查子系统周期性地检查其所配置的资源服务器的健康状况,并且还通过向池中配置为起源服务器的任何新服务器实例发送请求、接收适当的响应并且相应地更新配置来尝试检测一个或多个池中的变化。
根据一种实施例,该系统包括高速网络基础设施,该基础设施提供由起源服务器在接收请求时使用的通信协议或套接字;供所述通信协议或套接字使用的一个或多个协议终接器/仿真器;及入站套接字配置和出站套接字配置,这两个配置一起指示流量指示器应当使用哪个终接器/仿真器把请求传送到特定的起源服务器。
根据一种实施例,流量指挥站可以配置为压缩存储在其高速缓存中的数据,并且通过把来自起源服务器的内容作为压缩数据提供或者,如果特定的客户端更愿意接收数据的非压缩变体的话,通过在提供它之前动态解压缩该数据对来自客户端的请求作出响应。根据一种实施例,流量指挥站可以配置为使用硬件辅助的压缩基元,以进一步改善其数据压缩和解压缩的性能。
附图说明
图1根据一种实施例说明了包括负载平衡器或流量指挥站的计算环境。
图2根据一种实施例说明了流量指挥站对一个或多个池或起源服务器的使用。
图3根据一种实施例说明了流量指挥站体系架构。
图4根据一种实施例说明了流量指挥站管理环境和接口。
图5根据一种实施例说明了流量指挥站中主动/被动路由的使用。
图6根据一种实施例进一步说明了流量指挥站中主动/被动路由的使用。
图7是根据一种实施例、用于在流量指挥站中提供主动/被动路由的方法的流程图。
图8根据一种实施例说明了流量指挥站中浪涌保护的使用。
图9根据一种实施例说明了流量指挥站中速率加速的使用。
图10是根据一种实施例、用于在流量指挥站中提供浪涌保护的方法的流程图。
图11是根据一种实施例、用于在流量指挥站中提供速率加速的方法的流程图。
图12根据一种实施例说明了流量指挥站中起源服务器的动态发现。
图13根据一种实施例进一步说明了流量指挥站中起源服务器的动态发现。
图14是根据一种实施例、用于在流量指挥站中提供起源服务器的动态发现的方法的流程图。
图15是根据一种实施例、用于在流量指挥站中提供起源服务器的动态发现的另一种方法的流程图。
图16根据一种实施例说明了流量指挥站的使用。
图17是根据一种实施例、用于使用流量指挥站的方法的流程图。
图18根据一种实施例说明了流量指挥站环境中动态HTTP解压缩的使用。
图19是根据一种实施例、用于在流量指挥站环境中提供动态HTTP解压缩的方法的流程图。
图20根据一种实施例说明了对供流量指挥站环境中动态HTTP解压缩使用的硬件基元的支持。
具体实施例
如上所述,如今的机构越来越依赖于他们的计算资源在无论什么时候都可以具有高性能水平地、很容易地从几乎任何地点获得。确保这种资源有效分配的任务常常需要使用负载平衡设备根据其分配策略以公平的方式分配客户端对目标资源的请求。
本文所描述的是供负载平衡器或流量指挥站及其管理使用的系统及方法。根据一种实施例,流量指挥站,在本文有些实施例中被称为“Oracle流量指挥站”(OTD),是作为一种基于软件的负载平衡器提供的,它可以用于交付快速、可靠、可缩放且安全的平台,用于负载平衡到后端起源服务器的互联网及其它流量,其中起源服务器诸如web服务器、应用服务器或其它资源服务器。
流量指挥站的实施例在应用服务器、中间件机器及类似的高性能企业级计算环境,诸如Oracle WebLogic和Exalogic环境,中特别有用。
根据一种实施例,流量指挥站充当诸如超文本传输协议(HTTP)和超文本传输协议安全(HTTPS)请求的流量的入口点,这些请求是从客户端或者客户端设备接收的,用于传送到充当起源服务器的资源或资源服务器的后端。每个流量指挥站包括一个或多个由配置定义的流量指挥站实例,其中该配置提供关于那个实例的各种元素的信息,诸如监听者、起源服务器、故障转移组,以及日志。
可以和该系统一起使用的客户端类型的例子包括计算机服务器、笔记本电脑、诸如智能电话的便携式设备,以及其它类型的计算设备,这些设备中的一些可以包括例如用于访问web服务器的web浏览器应用。
可以用作起源服务器的资源类型的例子包括轻量级目录访问协议(LDAP)服务器、web服务器、多媒体服务器、应用服务器、数据库服务器,以及其它类型的资源。
根据一种实施例,流量指挥站可以执行任务,诸如基于一种或多种负载平衡方法把请求分配到起源服务器;基于规定的规则路由请求;高速缓存被频繁访问的数据;给流量排优先级;以及控制服务质量。
从性能的角度看,根据一种实施例,流量指挥站可以包括使其能够以低等待时间处理大量流量的体系架构。例如,实施例可以为了在高性能计算环境,诸如像OracleExalogoc Elastic Cloud,中使用或 者为了利用高性能通信构架,诸如像InfiniBand,与位于后端的起源服务器通信而进行优化。根据一种实施例,为了支持高可用性,流量指挥站可以识别流量指挥站实例中提供主动-被动或主动-主动故障转移的故障转移组。随着到网络的流量量增加,流量指挥站环境可以通过利用它可以把请求路由到其的附加后端服务器重新配置流量指挥站,或者通过修改流量传送的速率,而被缩放。
从管理的角度看,根据一种实施例,流量指挥站设计为容易安装、配置和使用;并且可以包括简单的、向导驱动的图形接口,以及健壮的命令行接口,让管理员在管理流量指挥站实例的时候使用。对于任何特定的机构,依赖于他们的商业需求,诸如他们想为其使用流量指挥站来平衡请求的后端应用的个数、诸如安全性的内部需求,以及他们希望使用的流量指挥站特征,流量指挥站的拓扑结构可以变化,以解决他们的需求。例如,一种简单的流量指挥站拓扑结构可能最初使用运行在专用计算节点上并且向位于后端的服务器池分配客户端请求的单个流量指挥站实例。为了避免单点故障,管理员可以配置运行在不同节点上并且形成主动-被动故障转移对的两个同源流量指挥站实例。为了改善资源利用率,管理员可以利用两个虚拟IP地址配置处于主动-主动模式的两个流量指挥站实例。
术语表
根据一种实施例,使用以下术语。很显然,根据其它实施例,附加的和/或不同的术语也可以使用。
配置:确定流量指挥站实例的运行时行为的可配置元素(例如,元数据)的集合。根据一种实施例,一种典型的配置包含流量指挥站应当在其上监听请求的监听者的定义(例如,IP地址与端口的组合),连同关于请求应当发送至的位于后端的服务器的信息。当流量指挥站实例启动时,以及在处理客户端请求时,流量指挥站可以读取该配置。
实例(流量指挥站实例):根据配置实例化并且部署在管理节点 或管理服务器上的流量指挥站服务器。
集群:根据同一个配置创建的两个或多个流量指挥站实例的集合。
故障转移组:通过虚拟IP地址(VIP)分组的两个或多个流量指挥站示例。根据一种实施例,故障转移组在主动-被动模式中提供高可用性;其中请求在VIP接收并路由到被指定为主实例的实例;如果该主实例不可到达,则请求路由到备用实例。根据一种实施例,对于主动-主动故障转移,需要两个故障转移组,每个组具有唯一的VIP,但是两个组包括具有颠倒的主和备用角色的相同节点;故障转移组中的每个实例对于一个VIP被指定为主实例,对于另一个VIP被指定为备用的。
管理服务器:托管包括管理控制台和命令行接口在内的接口的专门配置的流量指挥站实例,管理员可通过这些接口创建流量指挥站配置、把它们部署成作为管理节点上的实例,并且管理这些实例。
管理节点:被指定为管理员可以在其上部署流量指挥站实例的主机的物理服务器。根据一种实施例,在给定的节点上,管理员只能部署一种配置的一个实例。
INSTANCE_HOME:管理服务器或管理节点上管理员的选择的一个目录,其中存储关于流量指挥站实例的配置数据与二进制文件。
ORACLE_HOME:管理员的选择的一个目录,管理员在其中安装流量指挥站二进制文件。
管理控制台:管理服务器上基于web的图形接口,管理员可以使用它来创建、部署和管理流量指挥站实例。
客户端:根据一种实施例,把请求(例如,HTTP和HTTPS请求)发送到流量指挥站实例的代理(例如,web浏览器或应用)。可以与本系统一起使用的客户端类型的例子包括计算机服务器、笔记本电脑、诸如智能电话的便携式设备,以及其它类型的计算设备,这些设备中的一些可以包括例如用于访问web服务器的web浏览器应用。
起源服务器:根据一种实施例,位于后端的资源或服务器,流量指挥站把它从客户端接收到的请求转发到其,并且从其接收对客户端请求的响应。可以用作起源服务器的资源类型的例子包括轻量级目录访问协议(LDAP)服务器、web服务器、多媒体服务器、应用服务器、数据库服务器,以及其它类型的资源。
起源-服务器池:托管相同的应用或服务并且管理员可以通过使用流量指挥站进行负载平衡的起源服务器的集合。根据一种实施例,流量指挥站基于特定于那个池的负载分配方法把客户端请求分配到起源-服务器池中的服务器。
虚拟服务器:流量指挥站实例中提供唯一的IP地址(或主机名)与端口组合的虚拟实体,通过其,流量指挥站可以为对一个或多个域的请求进行服务。根据一种实施例,一个节点上的流量指挥站实例可以包含多个虚拟服务器。管理员可以专门为每个虚拟服务器配置诸如进入的连接的最大个数的配置,并且还可以定制每个虚拟服务器如何处理请求。
图1根据一种实施例说明了包括负载平衡器或流量指挥站的计算环境。如图1中所示,根据一种实施例,流量指挥站100(在本文有些实施例中被称为Oracle流量指挥站(OTD))可以部署在一个或多个物理计算机服务器101(或者包括处理器(CPU)、内存和储存器的类似计算设备)上,并且可以包括一个或多个流量指挥站实例102、104,流量指挥站实例又可以利用高可用性心跳或类似手段106彼此通信。
对于任何特定的机构,依赖于他们的商业需求,诸如他们想为其使用流量指挥站来平衡请求的后端应用的个数、诸如安全性的内部需求,以及他们希望使用的流量指挥站特征,流量指挥站的拓扑结构可以变化,以解决他们的需求。后端可以包括一个或多个起源服务器110,其例子可以包括LDAP服务器114、web服务器118、多媒体服务器122、应用服务器126以及数据库服务器128。根据一种实施 例,应用服务器可以是WebLogic服务器(WLS)。依赖于机构的特定需求,可以使用其它类型的起源服务器,以及应用服务器。每个起源服务器可以经诸如以太网网络的内部网络130彼此通信,并且与流量指挥站通信。
根据一种实施例,流量指挥站可以经外部网络136、互联网138,以及在许多机构的情况下是防火墙139,从客户端134接收请求。可以与本系统一起使用的客户端类型的例子包括计算机服务器、笔记本电脑、诸如智能电话的便携式设备,以及其它类型的计算设备,这些设备中的一些可以包括例如用于访问web服务器的web浏览器应用。
图2根据一种实施例说明了流量指挥站对一个或多个池或起源服务器的使用。在图2所说明的例子中,流量指挥站与两个池一起使用,包括具有在这里指示为A172、B174、C176、D178的四个应用服务器的(第一)应用服务器池170;及具有在这里指示为A182、B184、C186的三个web服务器的(第二)web服务器池。根据其它实施例和例子,依赖于机构的特定需求,可以使用其它类型与数量的池和服务器。
在图2所说明的例子中,拓扑结构包括形成主动-被动故障转移组150并且包括用于客户端请求接收的单个虚拟IP地址190的两个流量指挥站实例(102和104)。当主动实例(在这个例子中是实例102)接收请求190、192、194时,它确定请求应当发送至的服务器池,并且基于为那个池规定的负载分配方法把请求197、198转发到那个池中的一个服务器。
虽然图2中所示的例子说明了位于后端的两个服务器池的使用,但是管理员可以把流量指挥站配置为把请求路由到多个池中的服务器。在图2所说明的主动-被动设置中,在任何时间点故障转移组中都有一个节点是冗余的。根据一种实施例,为了改善资源利用率,管理员可以利用两个虚拟IP地址在主动-主动模式中配置两个流量指挥站实例;在这种场景下,每个实例设法满足(cater to)在一个虚拟 IP地址上接收的请求,并且备份另一个实例。
图3根据一种实施例说明了流量指挥站体系架构。根据一种实施例,流量指挥站可以包括使它能够以低等待时间处理大流量量的体系架构。实施例还可以为了在高性能计算环境中使用或者为了利用高性能通信构架与位于后端的起源服务器通信而进行优化。
如图3中所示,根据一种实施例,流量指挥站可以包括一个或多个Netscape便携式运行时(NSPR)202和网络安全性服务(NSS)206层。根据一种实施例,流量指挥站还可以包括具有一个或多个访问控制212、日志214、HTTP压缩216、I/O过滤器218、错误处理220、速率整形222、入侵检测224或其它部件的HTTP引擎210;以及具有一个或多个http客户端232、响应客户端234、健康检查236、路由策略238、负载控制240、负载平衡器244、WLS支持246、粘性路由248或其它部件的反向代理服务器部件230。根据一种实施例,流量指挥站还可以包括具有一个或多个接收器线程252、工作者线程254、保持活动线程256或其它部件的HTTP连接处理器250。根据一种实施例,流量指挥站还可以包括具有一个或多个TCP线程262、负载平衡器264或其它部件的TCP连接处理器260。根据一种实施例,流量指挥站还可以包括一个或多个事件调度270、动态配置72、监视274或其它部件。
很显然,根据其它实施例,可以使用附加的和/或不同的部件。
图4根据一种实施例说明了流量指挥站管理环境和接口。从管理的角度看,流量指挥站设计为容易安装、配置和使用;并且可以包括简单的、向导驱动的图形接口,以及健壮的命令行接口,让管理员在管理流量指挥站实例的时候使用。如图4中所示,根据一种实施例,流量指挥站可以包括一个或多个流量指挥站实例280、281、282,其中这些实例中至少一个被指定为管理服务器(280),而其它实例被指定为管理节点(281、282)。
根据一种实施例,管理环境284包括管理接口285,管理接口285又包括管理控制台(GUI)286和/或命令行接口288中的一个或 多个,使管理员290能够配置或以别的方式管理292流量指挥站,或者其实例294、296。
主动-被动路由
在有些主动-被动路由方法中,负载平衡器维持第一服务器集群作为主(即,主动)集群,而另一个服务器集群作为备用(即,被动)集群。这是灾难性恢复的情形下是有用的,由此,当主数据中心发生故障时,流量自动地路由到备用的数据中心。根据一种实施例,流量指挥站采用细致入微的(nuanced)方法,由此,流量指挥站只有在所有主动节点都发生故障之后才挑选备用节点。
根据一种实施例,在服务器池中,一些起源服务器可以被规定为主服务器,而其它被规定为备用服务器。如果至少一个主服务器可用,则流量指挥站将把请求只路由到非备用服务器(即,路由到主服务器)。但是,如果没有主服务器可用,则流量指挥站将把请求路由到池中的备用服务器。一旦有任何主服务器再次变得可用,流量指挥站就将停止把请求发送到备用服务器,并且将把后续请求路由到该主服务器。
图5根据一种实施例说明了流量指挥站中主动/被动路由的使用。如图5中所示,主动/被动环境可以包括在把请求路由到起源服务器346时使用的、具有一个或多个流量指挥站实例342的流量指挥站340。起源服务器可以配置为一个或多个服务器池(在这里示为池A348和池B354),每个池具有一个或多个主服务器350、357以及一个或多个备用服务器356、358。
如图5中所说明的,流量指挥站可以配置为使得,对于任何特定的池(例如,池A),如果那个池中至少有一个主服务器可用,则最初流量指挥站将把请求只路由344到非备用服务器(即,主服务器),并且将不把请求路由到(为了说明,在这里加阴影的)备用服务器。
根据一种实施例,在一段时间之后,虽然一个或多个主服务器可 能由于故障而变得不可用,但是如果至少有一个主服务器可用,则流量指挥站将继续只把请求路由360到那个池中的主服务器。
在另一段时间之后,根据一种实施例,如果池中所有主服务器都变得不可用,则流量指挥站将代替地把请求路由364到该池中的备用服务器。
图6根据一种实施例进一步说明了流量指挥站中主动/被动路由的使用。如图6中所示,如果池中所有主服务器仍然不可用,则流量指挥站将继续把请求路由366到该池中的备用服务器。
当一个主服务器再次变得可用时368,依赖于配置,流量服务器可以在开始把流量转发到(新的或者以别的方式现在可用的)主服务器之前延迟一段时间。在这种情况下,流量指挥站将继续370把请求路由到备用服务器一段时间,并且还不把请求路由到(为了说明,在这里加阴影的)主服务器。
随后,一旦至少一个主服务器再次完全可用,如果至少一个主服务器可用,则流量指挥站将再次把请求只路由到非备用服务器(即,主服务器),并且将不把请求路由到备用服务器。
根据一种实施例,在配置粘性路由的情况下,如果一个主服务器变得不可用,则粘着到该服务器的所有后续请求将不被拒绝,而是将路由到其它主服务器或者如果没有主服务器可用的话就路由到备用服务器。由于过渡起源服务器可能没有为粘性请求存储的会话信息,因此,在这种情况下,会话将有可能失败。但是,新的提供服务的服务器可以挑战(challenge)发送者并且建立用于那些粘性请求的新会话。备用服务器将只在所有主服务器都不可用的时候才用于路由。
根据一种实施例,为了配置供流量指挥站使用的主动/被动路由,称为“backup-server”的元素可以添加在server.xml文件中的元素<origin-server>中,用于规定备用服务器,其参数和例子分别在表1和列表1中提供。
表1
列表1
图7是根据一种实施例、用于在流量指挥站中提供主动/被动路由的方法的流程图。如图7中所示,在步骤380,提供流量指挥站环境,包括具有一个或多个流量指挥站实例的流量指挥站,以及具有一个或多个服务器池的起源服务器。在步骤382,以主动-被动配置,一个或多个主服务器及一个或多个备用服务器被指定给一个池。在步骤384,流量指挥站确定池中主服务器的可用性,并且在该池包括足量的可用主服务器时把请求只送往主服务器。根据一种实施例,如果至少一个主服务器可用,则流量指挥站将把请求只路由到非备用服务器(即,主服务器)。在步骤386,如果池中主服务器数量不足(根据一种实施例,这是小于一,即,没有主服务器),则流量指挥站将把请求送往池中的备用服务器,直到主服务器的个数变得再次可用。在那个时候,依赖于配置,在池包括足量服务器的时候,流量指挥站可以再次把请求只送往主服务器。
浪涌保护
负载平衡器可以帮助防止将由于到例如起源服务器的非预期流量浪涌造成的服务器耗损。根据一种实施例,通过监视到起源服务器的流量并且在需要的时候给连接排队,使得流量不超过某个浪涌限值,流量指挥站提供了智能的浪涌保护形式。
根据一种实施例,当启用浪涌保护时,流量指挥站将不打开比所配置容量更多的到服务器的并发连接。这个限值或最大容量可以由元素<max-connections>规定。如果起源服务器达到其最大连接容量, 则不会有需求新连接的请求被路由到这个服务器,直到其现有连接中的一些被释放。如果所有起源服务器都已经达到它们的连接容量,则需要新连接的后续请求将被拒绝,并发送错误消息。
图8根据一种实施例说明了流量指挥站中浪涌保护的使用。如图8中所示,提供流量指挥站环境,包括具有一个或多个流量指挥站实例402的流量指挥站400,以及具有一个或多个服务器池422的起源服务器420。每个服务器池可以包括一个或多个资源服务器424。
根据一种实施例,流量指挥站包括流量监视器404,该监视器使流量指挥站能够监视流量指挥站实例与起源服务器中一个或多个资源服务器之间的流量,包括连接406的个数。根据一种实施例,流量指挥站还包括连接队列408,这个队列可以用于把连接排队。
在操作过程中,在来自客户端的请求传送到起源服务器的同时,流量监视器接收反馈430,该反馈描述流量指挥站与资源服务器之间的流量,包括连接的个数。如果流量监视器确定流量指挥站与特定资源服务器之间的流量,包括连接的个数,超过那个资源服务器所允许的最大数量,则流量指挥站可以暂时性地把后续流量和连接指离该资源服务器并且送往连接队列434,这个队列具有暂时性地减少或限制436流到那个资源服务器的流量量的效果。
根据一种实施例,流量指挥站可以可选地例如向日志文件或者向管理员提供440翔实的消息442,以通知他们流量浪涌以及采取的动作。流量监视器可以继续监视到起源服务器的流量/连接,用于随后在需要的时候对连接队列进行调整。
速率整形(加速/减速)
根据一种实施例,流量指挥站还支持请求速率加速,与用大量流量淹没那些服务器形成对比,通过逐渐加速到新添加的服务器的流量,这允许服务器到起源服务器池的适度添加。请求速率加速是自适应的,因为它可以结合多个动态监视的参数,诸如主动连接的个数或者当前的负载、连接的最大个数或者起源服务器的容量。该特征还可 以扩展成提供请求速率减速,由此流量指挥站可以有效地斜坡减少(ramp down)送往一个起源服务器的流量,使得在其流量完全停顿时管理员可以让它脱机,例如,为了所计划的维护目的。速率加速和减速一起可以用于整形流量到起源服务器的速率。
根据一种实施例,当起源服务器变得联机时,流量指挥站将不立即以其全容量向该服务器发送请求,而是经一段时间逐渐增加发送速率。这可以提供几个好处:例如,当起源服务器起动时,它将需要某个时间段来加载数据并分配各种资源;在这个热身过程中,起源服务器的响应时间会慢,并且向该服务器发送大量请求将使该服务器的性能甚至更差并且可能造成该服务器非预期的行为。此外,如果起源服务器有问题,则它有可能不能响应请求中的一些或全部,而且其状态可能在“UP”和“DOWN”状态之间频繁地改变;对于这种服务器,最好不要在其“UP”状态开始时向其发送许多请求。此外,如果使用诸如最少连接计数的负载平衡算法,则流量指挥站可以向新服务器发送许多请求并且可以在开始时候就向该服务器泛洪(flood),因为新服务器的连接计数将是零;速率加速可以减轻这个问题。
根据一种实施例,流量指挥站将逐渐增加到新服务器的流量速率,直到速率达到该服务器的配置的最大速率(max-connections)。速率加速可以经连接容量调整来实现,而且容量的调整可以是基于时间的(即,按每个单位时间固定值地增加连接容量)或者是基于窗口的(即,在其接收到某个数量的响应之后增加连接容量一个值)。
图9根据一种实施例说明了流量指挥站中速率加速的使用。如图9中所示,同样提供了流量指挥站环境,包括具有一个或多个流量指挥站实例452的流量指挥站450,以及具有一个或多个服务器池472的起源服务器470。每个服务器池可以包括一个或多个(现有的)资源服务器474。流量指挥站同样包括流量监视器454,该监视器使流量指挥站能够监视流量指挥站实例与起源服务器中一个或多个资源服 务器之间的流量,包括连接456的个数。
根据一种实施例,流量指挥站可以设置最初控制流量指挥站实例与起源服务器中一个或多个(现有)资源服务器之间流量的流量速率458,包括连接476的个数。
随后,如果流量监视器确定流量指挥站可以向其送流量的起源服务器中附加(新)资源服务器480的存在481,则流量监视器可以等一段时间,在有些情况下,在逐步整形或调整指引流量指挥站实例与那些新资源服务器486之间的流量/连接的流量速率484之前,把流量维持在其初始速率482。
请求速率整形(加速/减速)与前面描述过的浪涌保护特征不同–虽然这两个机制都可以用于限制请求流量,但它们是基于不同的准则;具体而言,速率整形基于请求的属性采取限制动作,而浪涌保护主要是基于到起源服务器的并发连接的数量。
根据一种实施例,可以使用用于连接容量调节的基于时间的方法以及称为“ramp-up-time”的配置参数,该参数规定流量指挥站花多少时间把发送速率斜坡上升到服务器的配置容量:
Adjusted-Connection-Capacity=MAX{(max-connections*MIN{1,server-up-time/ramp-up-time}),1}
当启用请求速率加速时,调整后的容量而不是配置的硬限值(最大连接)会被流量指挥站用于作路由决定。如上所述,如果所有服务器都到达它们的调整后的连接容量,则新请求将被拒绝。
根据一种实施例,为了配置供流量指挥站使用的浪涌保护和请求速率加速,称为“max-connections”和“ramp-up-time”的元素可以加在用于期望资源服务器的server.xml文件中的元素<origin-server>中,其参数和例子分别在表2和列表2中提供。
表2
列表2
图10是根据一种实施例、用于在流量指挥站中提供浪涌保护的方法的流程图。如图10中所示,在步骤490,提供流量指挥站环境,,包括具有一个或多个流量指挥站实例的流量指挥站,以及具有一个或多个服务器池的起源服务器。在步骤492,位于流量指挥站的流量监视器监视流量指挥站实例与起源服务器中的一个或多个资源服务器之间的流量,包括连接的个数。在步骤494,如果流量监视器确定流量指挥站实例与特定的资源服务器之间的流量,包括连接的个数,超过那个资源服务器允许的最大量,则流量指挥站将暂时地把后续流量和连接指离该资源服务器并且送往连接队列。在步骤496,流量指挥站可以可选地向例如日志文件或者向管理员提供翔实的消息,以通知流量浪涌,并且将继续监视到起源服务器的流量/连接,用于随后在需要的时候对连接队列进行调整。
图11是根据一种实施例、用于在流量指挥站中提供速率加速的方法的流程图。如图11中所示,在步骤502,同样提供流量指挥站 环境,包括具有一个或多个流量指挥站实例的流量指挥站,以及具有一个或多个服务器池的起源服务器。在步骤504,利用来自流量监视器的信息,流量指挥站可以设置最初控制流量指挥站实例与起源服务器中的一个或多个资源服务器之间的流量,包括连接的个数,的流量速率。在步骤506,流量监视器可以确定起源服务器中流量指挥站可以把流量送往其的附加(新)资源服务器的存在。在步骤508,在逐渐整形或调整流量速率之前,流量指挥站可以等待一段时间,以指引流量指挥站实例和那些新资源服务器之间的流量/连接。
虽然在图11中没有说明,但是如上所述,根据一种实施例,类似的技术可用于监视并逐步整形或调整流量速率,以便减速流量到现有资源服务器的流量,例如,使得服务器在其流量完全停顿时可以脱机。
起源服务器的动态发现
根据一种实施例,通过动态发现起源服务器并且检测它们的服务器类型和/或其它属性,流量指挥站使得管理员容易把起源服务器添加到服务器池。
例如,根据一种实施例,当管理员启用动态发现时,流量指挥站可以动态地发现服务器池中被支持的/识别出的应用服务器。从流量服务器的角度看,知道它是充当通用应用服务器类型的代理服务器(即,代理)还是识别出的诸如WebLogic服务器的服务器类型是有用的,因为它帮助流量指挥站应用特定于服务器类型的路由、节流及其它优化。这种优化可以由系统自动地应用,而不需要管理员进一步的手动配置。
从向后端起源服务器作出请求的客户端的角度看,虽然那些请求由流量服务器稍有些透明地路由到起源服务器,但是流量指挥站发现起源服务器类型以及应用特定于服务器的优化的能力在使用识别出的服务器类型的任何时候都提供性能优点。
根据一种实施例,如果管理员想创建代表所识别出的被管理服务 器类型,例如WebLogic服务器,的集群的起源服务器池,他们不需要将集群中的每个被管理的服务器规定为起源服务器。而是,把被管理的服务器中任何一个规定为该池中的起源服务器就足够了。然后,流量指挥站可以动态地发现该集群中其它WebLogic服务器实例的存在,并且把客户端请求既分配到配置为起源服务器的被管理的服务器,又分配到同一集群中动态发现的被管理的服务器。
类似地,当启用动态发现时,如果集群中被管理的服务器中任何一个被停止、添加或除去,则管理员不需要更新起源-服务器池的定义。
根据使用WebLogic服务器的一种实施例,每个WebLogic服务器实例包括其自己的反向代理服务器模块或插件,它可以把进入的HTTP流量代理到后端应用服务器,并且可以响应于健康检查请求而提供特定于WebLogic的响应首部。例如,x-weblogic-jvmid响应首部可以指示当前WebLogic服务器节点的JVMID;x-weblogic-cluster-hash响应首部可以提供WebLogic集群节点的哈希值并且因此指示集群何时被修改;而x-weblogic-cluster-list响应首部可以返回对应于一个集群中那些WebLogic服务器的JVMID列表。
当动态发现对WebLogic环境中的起源服务器池启用时,流量指挥站可以如下发现池中剩余的WebLogic起源服务器:
首先,当流量指挥站实例起动时,通过向每个已配置的起源服务器发送HTTP健康检查请求,它检查池中所规定的起源服务器是否是WebLogic管理的服务器,以及该服务器是否属于一个集群。对于任何特定的起源-服务器池,流量指挥站发送的用于动态发现的HTTP请求类型都可以是当前为那个池配置的健康检查请求类型。利用类似于以上所述那些的响应首部,起源服务器的响应将指示那个服务器是否是WebLogic管理的服务器。如果起源服务器是属于一个集群的WebLogic管理的服务器,则该响应也将包括该集群中被管理的服务器的列表。
根据一种实施例,当流量指挥站接收到具有x-weblogic-cluster- hash和x-weblogic-cluster-list响应首部的响应时,流量指挥站将首先使用哈希值响应首部来确定集群是否被修改,并且,如果是的话就将解析剩余的响应首部,例如,
x-weblogic-cluster-list;JVMID\!dns/hex-ip\!port\!https-
port|JVMID\!dns/hex-ip\!port\!https-port
以确定用于该集群中新添加的WebLogic服务器的JVMID、端口以及附加信息,然后把这些添加到服务器池。
接下来,流量指挥站使用来自起源服务器的响应中的信息关于发现的被管理的服务器更新其配置。根据一种实施例,动态发现的起源服务器继承了为所配置的起源服务器规定的所有属性,例如,权重或最大连接。
随后,在为起源-服务器池配置的每个周期性的健康检查间隔,通过向池中配置为起源服务器的那些WebLogic服务器实例发送动态发现健康检查请求,流量指挥站尝试检测集群中的变化。如果响应指示从前一次健康检查开始集群中的变化,诸如被管理的服务器的去除或添加,则流量指挥站将利用新的动态发现的起源服务器集合更新配置。
虽然以上描述使用WebLogic作为一种说明,但是根据其它实施例,类似的技术可以用于发现服务器池中其它类型的被支持/被识别的起源服务器。动态发现的起源服务器不是永久性地存储在实例的配置中的起源-服务器池定义中。照此,当流量指挥站实例重新启动时,由那个实例进行的动态发现过程重新开始。
根据一种实施例,动态发现特征不缺省启用。管理员可以通过使用管理控制台或命令行接口(CLI)来启动动态发现。当起源-服务器池被修改时,这实际上是修改配置,因此,为了让任何更新后的起源-服务器池设置生效,对应的配置应当重新部署。
图12根据一种实施例说明了流量指挥站中起源服务器的动态发现。如图12中所示,管理员290可以利用管理接口285与流量指挥站600交互292并管理其,管理接口285又包括管理控制台(GUI) 和/或命令行接口中的一个或多个。流量指挥站可以包括一个或多个流量指挥站实例602,并且可以把请求传送到具有一个或多个服务器池610的起源服务器608。每个服务器池可以包括一个或多个(现有的)资源服务器,诸如资源服务器A612。
根据一种实施例,流量指挥站包括健康检查子系统604,以及配置606,其中该配置提供关于流量指挥站实例的各种元素的信息,诸如监听者、起源服务器、故障转移组,及日志。
配置最初可以被管理员修改,以指示特定的起源-服务器池包括特定的资源服务器。然后,在为那个起源-服务器池配置的每个周期性健康检查间隔,例如,通过发送HTTP健康检查请求613并且从资源服务器A接收适当的响应614,健康检查子系统检查其配置的资源服务器中每一个的健康状况。
根据一种实施例,当启用动态发现时,在为那个起源-服务器池配置的每个周期性健康检查间隔,通过向该池中配置为起源服务器的任何新服务器实例发送动态发现健康检查请求616并且接收适当的响应617,流量指挥站还尝试检测池中的变化,诸如资源服务器B615。动态发现的服务器只适用于通过其发现该节点的服务器池。然后,流量指挥站将利用这个新的动态发现的起源服务器集合620更新618其配置。
根据使用WebLogic服务器实例的一种实施例,当动态发现对一个起源-服务器池启用时,健康检查子系统检查该池中规定的起源服务器是否是WebLogic管理的服务器,以及所述服务器是否属于一个集群。如上所述,起源服务器的响应首部可以指示那个服务器是WebLogic管理的服务器并且,如果起源服务器是属于一个集群的WebLogic管理的服务器,则响应还将包括该集群中被管理的服务器的列表。
图13根据一种实施例进一步说明了流量指挥站中起源服务器的动态发现。如前所述,当启用动态发现时,在为一个起源-服务器池配置的每个周期性健康检查间隔,通过向任何新的服务器实例发送动 态发现健康检查请求,并且利用新的动态发现的起源服务器集合更新其配置,流量指挥站检查它配置的资源服务器中每一个的健康状况,并且还尝试检测池中的变化。
如图13中进一步示出的,配置可以包括用于池中每个配置的起源服务器的属性,在这个例子中包括资源服务器A属性622。根据一种实施例,动态发现的起源服务器继承了为所配置的起源服务器规定的所有属性,例如,权重或最大连接。例如,流量指挥站可以动态地把所发现的资源服务器B配置为起源服务器,使得其属性623继承所配置的资源服务器A的那些属性(与其相同)。
随后,如果流量指挥站检测到池中进一步的变化,诸如新的资源服务器C624,则通过后续的健康检查625、626,流量指挥站可以类似地把资源服务器C配置为起源服务器,使得其属性627也继承所配置的资源服务器A的那些属性(与其相同)。
根据一种实施例中,可以与所配置或发现的资源服务器关联的服务器属性类型的例子包括:
权重:起源服务器可以配置为具有不同的负载权重–依赖于所配置的权重,流量指挥站将把进入的请求负载送往这个服务器。
斜坡上升时间:起源服务器可以配置为具有斜坡上升时间,使得进入的请求负载不立即送往该起源服务器。
最大连接:起源服务器可以配置为支持最大并发连接个数。
备用服务器:一个池中的一个起源服务器可以配置为备用服务器,在这种情况下,流量指挥站将不把请求路由到那个服务器,除非池中所有其它不指示为备用服务器的服务器都标记为脱机。
根据使用WebLogic的一种实施例,如果起源服务器的响应指示服务器是WebLogic管理的服务器并且属于一个集群,则响应还将包括该集群中被管理的服务器的列表。流量指挥站使用来自起源服务器的响应中的信息,以利用发现的被管理的服务器来更新其配置。例如,如果一个特定的起源服务器池具有配置:
列表3
那么,如果流量指挥站发现了运行在“nsapi.us.oracle.com:7012”的WebLogic服务器节点,则它将利用与“nsapi.us.oracle.com:7011”相同的(即,继承的)属性来配置那个起源服务器。
图14是根据一种实施例、用于在流量指挥站中提供起源服务器的动态发现的方法的流程图。如图14中所示,在步骤632,提供流量指挥站环境,包括具有一个或多个流量指挥站实例的流量指挥站,以及具有一个或多个服务器池的起源服务器。在步骤634,流量指挥站(根据一种实施例,其健康检查子系统)在启动时和/或周期性地请求起源服务器中先前已经被管理员配置的那些资源服务器的健康检查。在步骤636,流量指挥站的健康检查子系统接收来自位于起源服务器的一个或多个动态发现的资源服务器(例如,WebLogic服务器)的响应。在步骤638,流量指挥站使用从动态发现的资源服务器接收到信息更新流量指挥站配置,包括在适当的时候继承来自先前配置的起源服务器的属性。
图15是根据一种实施例、用于在流量指挥站中提供起源服务器的动态发现的另一种方法的流程图。特别地,图15说明了使用WebLogic服务器的实施例,使得,当对一个起源-服务器池启用动态发现时,流量指挥站可以发现该池中新的或者附加的WebLogic起源 服务器。
如图15中所示,在步骤642,流量服务器起动并且调用健康检查子系统(步骤643),以便对已配置的池执行健康检查(步骤644)。
在步骤645,如果健康检查完成,则系统可以前去加载现有的配置(步骤646、647)、加载新的配置(步骤648、650)或者执行动态重新配置(步骤649)。
在步骤651,如果起源服务器是WebLogic服务器,并且配置为集群(步骤653),则该过程比较集群列表(步骤656),并且在适当的时候利用新节点更新配置(步骤657、659)。否则,服务器可以标记为联机并且该过程可以继续(步骤652、654、658)。
根据一种实施例,为了动态发现供流量指挥站使用的动态发现路由,称为“dynamic-server-discovery”的元素可以为那个服务器规定,其例子在表3中提供。
表3
对于高性能计算环境配置负载平衡
根据一种实施例,当用作用于高性能计算环境,诸如具有高速InfiniBand网络基础设施的Exalogic中间件机器,的局部负载平衡器时,流量指挥站的负载平衡可以设计成与该环境的网络体系架构无缝地工作。
InfiniBand是提供点到点双向串行链路并且一般性地设计成用于具有高速外设备,诸如盘,的处理器的连接的开关构架通信链路。不同的协议可以用于经InfiniBand架构通信,其例子包括经 InfiniBand的互联网协议(IPoIB),以及套接字直接协议(SDP)。
IPoIB协议用作InfiniBand层上面的接口,并且允许基于套接字的应用使用主机的TCP/IP协议栈,然后该TCP/IP协议栈以对应用透明的方式被翻译成本地InfiniBand。SDP协议是基于套接字的接口的一种优化,并且允许系统绕过TCP/IP堆栈,而是利用远程直接存储器访问(RDMA)操作把基于套接字的分组直接翻译成InfiniBand层,同时维持现有的TCP流套接字语义。SDP协议具有绕过支持IPoIB必需的几个软件层的优点,这又导致SDP具有比IPoIB更好的等待时间和吞吐量。
根据一种实施例,作为入站连接,流量指挥站可以终止入站,例如经IB仿真的以太网流量,并且,作为出站连接,可以利用诸如IPoIB或SDP的协议经InfiniBand网络与其它起源服务器通信。流量指挥站集成的HTTP高速缓存与压缩能力使其特别适用于诸如Exalogic的高性能计算环境的可变出口和入口带宽需求。
图16根据一种实施例说明了流量指挥站的使用。如图16中所示,具有一个或多个流量指挥站实例672的流量指挥站670可以结合具有高速InfiniBand网络基础设施682的高性能计算环境,诸如中间件机器(例如,Exalogic)680,使用。
根据一种实施例,流量指挥站包括一个或多个协议终接器/仿真器674(例如,一个或多个IPoIB和/或SDP终接器/仿真器)、入站套接字配置676和出站套接字配置677。起源服务器683可以作为服务器池684、685中的一个或多个提供,其中每个服务器池包括一个或多个资源服务器686、688。依赖于机构的特定需求,每个服务器池可以配置为使用通信协议/套接字,诸如传统的Inet套接字,或者作为替代,诸如IPoIB或SDP的高速协议,通过这些套接字或协议,那个池中的那些起源服务器将从流量指挥站接收请求。在图16所说明的例子中,服务器池684中的起源服务器配置为使用SDP687,而服务器池685中的起源服务器配置为使用Inet689。根据其 它实施例与例子,其它类型的协议/套接字也可以使用。
当接收到送往一个特定起源服务器的请求690时,流量指挥站使用它的配置确定适当的终接器/仿真器,并且把请求692传送到高速InfiniBand网络基础设施,用于经其配置的协议/套接字693传送到起源服务器。
根据一种实施例,为了配置入站连接,http监听者配置可以在server.xml文件中提供,其参数和例子分别在表4和列表4中提供。
表4
列表4
根据一种实施例,为了配置出站连接,http监听者配置可以在server.xml文件中提供,其参数和例子分别在表5和列表5中提供。在反向代理服务器元素下可以提供服务器池的列表,每个都是一个起源服务器池的定义。Family元素指示用于连接到起源服务器的套接字族。根据一种实施例,可能的值包括,例如,缺省的inet、inet6或inet-SDP套接字。
表5
列表5
图17是根据一种实施例、用于使用流量指挥站的方法的流程 图。如图17中所示,在步骤694,提供流量指挥站环境,包括具有一个或多个流量指挥站实例的流量指挥站,以及具有一个或多个服务器池的起源服务器。在步骤695,一个或多个起源服务器部署到具有高速(例如,InfiniBand)网络的高性能计算环境,诸如中间件机器(例如,Exalogic)。在步骤697,流量指挥站配置为具有一个或多个入站和出站连接,以及协议终接器/仿真器,用于与高速网络通信。在步骤698,流量指挥站终止入站(例如,EoIB)连接,并且利用所配置的出站连接以及终接器/仿真器把请求从客户端传送到起源服务器。
动态高速缓存数据解压缩
根据一种实施例,流量指挥站可以配置为,通过作为压缩数据或者,如果特定客户端更愿意接收数据的非压缩版本的话,通过在提供之前动态地解压缩数据来提供来自起源服务器的内容,对来自客户端的请求作出响应。
根据一种实施例,关于是以压缩还是解压缩格式提供数据的决定可以在初始的客户端请求中提供,例如,通过HTTP首部的使用,这提供了灵活性和互操作性。这种数据的压缩和解压缩可以配置为与流量指挥站内置的HTTP高速缓存功能性一起工作。
图18根据一种实施例说明了流量指挥站环境中动态HTTP解压缩的使用。如图18中所示,根据一种实施例,流量指挥站900可以包括一个或多个流量指挥站实例902,用于把客户端请求分配到包括资源服务器914的一个或多个池912的起源服务器910。
根据一种实施例,流量指挥站包括高速缓存904,它可以被启用,供起源服务器中的一个或多个使用。虽然在图18中示为被若干个流量指挥站实例共享的单个高速缓存,但是根据一种实施例,可以使用若干个这种高速缓存,和/或每个流量指挥站实例可以具有其自己的高速缓存。
根据一种实施例,当启用高速缓存时,当客户端请求被传送920 到起源服务器并且,响应于该请求,内容从那些起源服务器返回922时,流量指挥站可以在其高速缓存中根据其配置高速缓存对应于起源服务器内容的数据的一个或多个集合。作为一个说明性例子,特定的起源服务器可以配置为把图像文件(例如,GIF文件)和其它内容提供给客户端,并且流量指挥站可以配置为在其高速缓存中高速缓存从那个特定的起源服务器接收到的图像文件一具体时段。
根据一种实施例,流量指挥站作为存储器内的数据库操作,这意味着高速缓存数据需要使用计算机存储器,并且这又影响系统成本及性能。为了解决这个问题,根据一种实施例,流量指挥站可以在高速缓存压缩的数据926、927、928之前压缩要存储在其高速缓存中的数据。这减少了所需的总高速缓存尺寸,并且由此减少了存储器需求和/或允许更大量的数据条目存储在特定的高速缓存尺寸中。
根据一种实施例,响应于来自客户端的请求,依赖于客户端的需求,或者以其压缩格式,或者以解压缩格式,高速缓存的数据可以随后提供给客户端。
例如,虽然有些(例如,浏览器)客户端可以接受响应中的压缩数据,但其它客户端(例如,移动电话)可能需要响应数据以非压缩格式提供。
如图18中所示,根据一种实施例,客户端A930可以向流量指挥站指示响应可以包括压缩数据932。根据一种实施例,这种指示可以作为请求组成部分的一部分(例如,在HTTP流量的情况下是HTTP请求首部)由客户端传送到流量指挥站。作为响应,流量指挥站可以把请求传送给起源服务器,以获得响应,或者,如果流量指挥站确定数据的拷贝目前以压缩格式(例如,压缩数据A926)存储在其高速缓存中,则它可以以压缩格式向客户端返回936那个数据。
如图18中进一步示出的,根据一种实施例,客户端B940可以向流量指挥站指示响应不能包括压缩数据(即,只有非压缩的数据是可以接受的)942。根据一种实施例,这种指示可以类似地作为请求组成部分的一部分,例如HTTP请求首部,由客户端传送到流量指 挥站。作为响应,流量指挥站可以同样或者把该请求传送到起源服务器,以获得响应,或者,如果流量指挥站确定数据的拷贝目前以压缩格式(例如,压缩数据B927)存储在其高速缓存中,则它解压缩那个数据944并且把该数据解压缩后的变体返回946给客户端。
虽然在图18中说明为来自客户端的肯定指示,例如,通过HTTP请求首部的使用,但是,根据一种实施例,该系统还可以识别缺省值,例如,缺省地只有非压缩数据应当被认为是客户端可接受的,除非客户端另外地指示,并且相应地操作。
利用以上功能性,高速缓存不需要为了适合不同客户端的需求而以两种不同的(例如,压缩的对非压缩的)格式存储数据,而是只需要在其高速缓存中存储单个压缩数据实例/格式,并且依赖于作出请求的特定客户端的需求把数据解压缩。
图19是根据一种实施例、用于在流量指挥站环境中提供动态HTTP解压缩的方法的流程图。如图19中所示,在步骤950,提供流量指挥站环境,包括具有一个或多个流量指挥站实例的流量指挥站,以及具有一个或多个资源服务器池的起源服务器。在步骤952,流量指挥站被启用,以执行从起源服务器接收到的内容或数据的高速缓存和压缩,并且在处理来自客户端的请求的过程中,在流量指挥站的高速缓存中存储一个或多个压缩数据。在步骤954,流量指挥站可以从客户端接收对特定内容或数据的请求,连同关于客户端是否接受作为压缩数据的响应和/或需要解压缩数据的指示。在步骤956,如果所请求的内容在高速缓存中,则流量指挥站可以利用高速缓存中所存储的数据向客户端提供响应,包括,如果客户端指示需要解压缩数据,则作为准备响应的一部分动态地解压缩高速缓存的数据。
对硬件辅助的压缩基元的支持
根据一种实施例,流量指挥站可以配置为使用硬件辅助的压缩基元,例如,Intel的集成性能基元(IPP),以便进一步改善其数据压缩和解压缩的性能,包括以上所述的HTTP高速缓存与动态解压缩 特征。
根据一种实施例,计算机硬件,诸如处理器,可以与压缩/解压缩库关联,该压缩/解压缩库又可以用于改善某些处理器上压缩和解压缩操作的性能。例如,有些计算机硬件制造商提供了供其产品使用的zlib库(例如,Intel提供其IPP库,这个库可以在启动期间预先加载到系统中)。根据一种实施例,如果压缩/解压缩库可用,则流量指挥站可以使用该库改善其压缩和解压缩操作的性能。
图20根据一种实施例说明了对供流量指挥站环境中动态HTTP解压缩使用的硬件基元的支持。如图20中所示,流量指挥站可以在包括处理器972的计算机服务器970上提供。根据一种实施例,该系统包括压缩/解压缩库974(例如,zlib库)。当流量指挥站需要压缩或解压缩内容或数据时,例如,在向客户端作出响应而解压缩高速缓存数据时,它可以使用980、982压缩/解压缩库来利用由处理器提供的硬件辅助的压缩基元。
本发明可以方便地利用一种或多种常规的通用或专用数字计算机、计算设备、机器或微处理器实现,包括根据本公开内容教义编程的一个或多个处理器、存储器和/或计算机可读存储介质。如软件领域的技术人员将认识到的,适当的软件编码可以很容易地由熟练的程序员基于本公开内容的教义来准备。
在有些实施例中,本发明包括计算机程序产品,这是其上/其中存储了指令的非临时性存储介质或计算机可读介质,这些指令可用于编程计算机,以执行本发明的任何一个过程。存储介质可以包括,但不限于,任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微型硬盘,以及磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪存存储器设备、磁或光卡、纳米系统(包括分子存储IC),或者适于存储指令和/或数据的任何类型的介质或设备。
以上对本发明的描述是为了说明了描述的目的而提供的。它不是穷尽性的或者要把本发明限定到所公开的精确形式。虽然所述实施例中有一些在Oracle流量指挥站环境的背景下描述了特征,但所述特 征还可以用在其它计算环境的背景下。许多修改和变化对本领域技术人员都将是显然的。实施例的选择与描述是为了最好地解释本发明的原理及其实践应用,由此使本领域其他技术人员能够理解本发明的各种实施例以及适于预期特定用途的各种修改。本发明的范围要由以下权利要求要求及其等价物来定义。

Claims (24)

1.一种用在包括流量指挥站部件的计算环境中的系统,包括:
流量指挥站,其具有一个或多个流量指挥站实例,配置为从客户端接收请求并且把请求传送到具有一个或多个服务器池的起源服务器并且其中,所述多个流量指挥站实例使用高可用性心跳来彼此通信;
高速网络基础设施,其提供供起源服务器在接收请求时使用的通信协议或套接字;
一个或多个协议终接器/仿真器,其供用于所述通信协议或套接字;及
所述流量指挥站中的入站套接字配置和出站套接字配置;
其中所述流量指挥站当接收到针对特定起源服务器的请求时,操作来:
确定所述一个或多个服务器池中与要将所述请求传送到的所述特定起源服务器相关联的服务器池,
基于所述入站套接字配置和出站套接字配置确定用于所述服务器池的协议终接器/仿真器,以及
使用所述协议终接器/仿真器将所述请求传送到所述服务器池中基于针对所述服务器池指定的负载分配技术选择的服务器。
2.如权利要求1所述的系统,其中该系统包括在包括InfiniBand网络基础设施的高性能计算环境中。
3.如权利要求1所述的系统,其中每个服务器池包括一个或多个资源服务器,而且每个服务器池配置为使用特定的通信协议或套接字。
4.如权利要求1所述的系统,其中通信协议或套接字包括经InfiniBand的互联网协议(IPoIB)。
5.如权利要求1所述的系统,其中通信协议或套接字包括套接字直接协议(SDP)。
6.一种用在包括流量指挥站部件的计算环境中的方法,包括步骤:
提供具有一个或多个流量指挥站实例的流量指挥站,该流量指挥站配置为从客户端接收请求并且把请求传送到具有一个或多个服务器池的起源服务器,并且其中,所述多个流量指挥站实例使用高可用性心跳来彼此通信;
提供高速网络基础设施,该高速网络基础设施提供供起源服务器在接收请求时使用的通信协议或套接字;
提供供用于所述通信协议或套接字的一个或多个协议终接器/仿真器;及
提供所述流量指挥站中的入站套接字配置与出站套接字配置;
其中所述流量指挥站当接收到针对特定起源服务器的请求时,操作来:
确定所述一个或多个服务器池中与要将所述请求传送到的所述特定起源服务器相关联的服务器池,
基于所述入站套接字配置和出站套接字配置确定用于所述服务器池的协议终接器/仿真器,以及
使用所述协议终接器/仿真器将所述请求传送到所述服务器池中基于针对所述服务器池指定的负载分配技术选择的服务器。
7.如权利要求6所述的方法,其中所述方法被执行在包括InfiniBand网络基础设施的高性能计算环境中。
8.如权利要求6所述的方法,其中每个服务器池包括一个或多个资源服务器,而且每个服务器池配置为使用特定的通信协议或套接字。
9.如权利要求6所述的方法,其中通信协议或套接字包括经InfiniBand的互联网协议(IPoIB)。
10.如权利要求6所述的方法,其中通信协议或套接字包括套接字直接协议(SDP)。
11.一种用在包括流量指挥站部件的计算环境中的设备,包括:
用于提供具有一个或多个流量指挥站实例的流量指挥站的装置,该流量指挥站配置为从客户端接收请求并且把请求传送到具有一个或多个服务器池的起源服务器,并且其中,所述多个流量指挥站实例使用高可用性心跳来彼此通信;
用于提供高速网络基础设施的装置,该高速网络基础设施提供供起源服务器在接收请求时使用的通信协议或套接字;
用于提供供用于所述通信协议或套接字的一个或多个协议终接器/仿真器的装置;及
用于提供所述流量指挥站中的入站套接字配置与出站套接字配置的装置;
其中所述流量指挥站当接收到针对特定起源服务器的请求时,操作来:
确定所述一个或多个服务器池中与要将所述请求传送到的所述特定起源服务器相关联的服务器池,
基于所述入站套接字配置和出站套接字配置确定用于所述服务器池的协议终接器/仿真器,以及
使用所述协议终接器/仿真器将所述请求传送到所述服务器池中基于针对所述服务器池指定的负载分配技术选择的服务器。
12.一种在流量指挥站环境中提供动态数据压缩的系统,包括:
流量指挥站,其具有多个流量指挥站实例,所述多个流量指挥站实例使用单个IP地址用于从客户端接收请求,其中,所述流量指挥站配置为把来自客户端的请求传送到具有一个或多个服务器池的起源服务器;
高速缓存,其能够被启用以供起源服务器中的一个或多个使用,所述高速缓存用于高速缓存对应于起源服务器内容的一个或多个数据集合,其中,如果所述高速缓存被启用,则流量指挥站在高速缓存数据之前压缩要在高速缓存中存储的数据;并且
其中所述流量指挥站被配置为:
从所述客户端接收指示所述客户端接受压缩数据还是非压缩数据的请求,以及
将高速缓存的数据以基于来自客户端的指示的格式提供给所述客户端。
13.如权利要求12所述的系统,其中,响应于需要非压缩数据的特定客户端,流量指挥站把请求传送到起源服务器,以获得响应,或者,如果流量指挥站确定该数据的拷贝目前以压缩格式存储在其高速缓存中,则解压缩那个数据并且把该数据的解压缩变体返回给客户端。
14.如权利要求12所述的系统,其中所述指示能够由客户端作为HTTP请求首部的一部分传送到流量指挥站。
15.如权利要求12所述的系统,其中每个起源服务器能够配置为向客户端提供图像文件和其它内容,并且流量指挥站能够配置为响应于请求而把从那个起源服务器接收到的文件的选择高速缓存在其高速缓存中特定的时间段。
16.如权利要求12所述的系统,其中流量指挥站配置为使用硬件辅助的压缩基元来进一步改善其数据压缩和解压缩的性能。
17.如权利要求16所述的系统,其中该系统包括压缩/解压缩库,而压缩/解压缩库又能够用于改善某些处理器上的压缩和解压缩操作的性能。
18.一种用于在流量指挥站环境中提供动态数据解压缩的方法,包括:
提供具有多个流量指挥站实例的流量指挥站,所述多个流量指挥站实例使用单个IP地址用于从客户端接收请求,其中,所述流量指挥站配置为把来自客户端的请求传送到具有一个或多个服务器池的起源服务器;
提供高速缓存,该高速缓存能够被启用,供起源服务器中的一个或多个使用,所述高速缓存用于高速缓存对应于起源服务器内容的一个或多个数据集合,其中,如果高速缓存被启用,则流量指挥站在高速缓存数据之前压缩要在高速缓存中存储的数据;并且
其中所述流量指挥站被配置为:
从所述客户端接收指示所述客户端接受压缩数据还是非压缩数据的请求,以及
将高速缓存的数据以基于来自客户端的指示的格式提供给所述客户端。
19.如权利要求18所述的方法,其中,响应于需要非压缩数据的特定客户端,流量指挥站把请求传送到起源服务器,以获得响应,或者,如果流量指挥站确定该数据的拷贝目前以压缩格式存储在其高速缓存中,则解压缩那个数据并且把该数据的解压缩变体返回给客户端。
20.如权利要求18所述的方法,其中所述指示能够由客户端作为HTTP请求首部的一部分传送到流量指挥站。
21.如权利要求18所述的方法,其中每个起源服务器能够配置为向客户端提供图像文件和其它内容,并且流量指挥站能够配置为响应于请求而把从那个起源服务器接收到的文件的选择高速缓存在其高速缓存中特定的时间段。
22.如权利要求18所述的方法,其中流量指挥站配置为使用硬件辅助的压缩基元来进一步改善其数据压缩和解压缩的性能。
23.如权利要求22所述的方法,进一步包括提供压缩/解压缩库,而压缩/解压缩库又能够用于改善某些处理器上压缩和解压缩操作的性能。
24.一种用于在流量指挥站环境中提供动态数据解压缩的设备,包括:
用于提供具有多个流量指挥站实例的流量指挥站的装置,所述多个流量指挥站实例使用单个IP地址用于从客户端接收请求,其中,所述流量指挥站配置为把来自客户端的请求传送到具有一个或多个服务器池的起源服务器;
用于提供高速缓存的装置,该高速缓存能够被启用以供起源服务器中的一个或多个使用,所述高速缓存用于高速缓存对应于起源服务器内容的一个或多个数据集合,其中,如果高速缓存被启用,则流量指挥站在高速缓存数据之前压缩要在高速缓存中存储的数据;并且
其中所述流量指挥站被配置为:
从所述客户端接收指示所述客户端接受压缩数据还是非压缩数据的请求,以及
将高速缓存的数据以基于来自客户端的指示的格式提供给所述客户端。
CN201280047079.2A 2011-09-27 2012-09-26 用于在流量指挥站环境中提供负载平衡与数据压缩的灵活性的系统及方法 Active CN103827828B (zh)

Applications Claiming Priority (15)

Application Number Priority Date Filing Date Title
US201161539900P 2011-09-27 2011-09-27
US201161539886P 2011-09-27 2011-09-27
US61/539,900 2011-09-27
US61/539,886 2011-09-27
US13/601,087 2012-08-31
US13/601,632 US9128764B2 (en) 2011-09-27 2012-08-31 System and method for providing flexibility in configuring HTTP load balancing in a traffic director environment
US13/601,087 US8914521B2 (en) 2011-09-27 2012-08-31 System and method for providing active-passive routing in a traffic director environment
US13/601,530 2012-08-31
US13/601,632 2012-08-31
US13/601,428 2012-08-31
US13/601,428 US9733983B2 (en) 2011-09-27 2012-08-31 System and method for surge protection and rate acceleration in a traffic director environment
US13/601,530 US8914502B2 (en) 2011-09-27 2012-08-31 System and method for dynamic discovery of origin servers in a traffic director environment
US13/625,716 2012-09-24
US13/625,716 US9652293B2 (en) 2011-09-27 2012-09-24 System and method for dynamic cache data decompression in a traffic director environment
PCT/US2012/057375 WO2013049238A2 (en) 2011-09-27 2012-09-26 System and method for providing flexibility in load balancing and data compression in a traffic director environment

Publications (2)

Publication Number Publication Date
CN103827828A CN103827828A (zh) 2014-05-28
CN103827828B true CN103827828B (zh) 2017-09-12

Family

ID=47912446

Family Applications (4)

Application Number Title Priority Date Filing Date
CN201280047079.2A Active CN103827828B (zh) 2011-09-27 2012-09-26 用于在流量指挥站环境中提供负载平衡与数据压缩的灵活性的系统及方法
CN201280047077.3A Active CN103917956B (zh) 2011-09-27 2012-09-26 用于流量引导器环境中的流量的主动‑被动路由和控制的系统和方法
CN201280047085.8A Active CN103858157B (zh) 2011-09-27 2012-09-26 用于通信量引导器环境中的资源服务器的动态发现和配置的系统和方法
CN201280047076.9A Active CN103858104B (zh) 2011-09-27 2012-09-27 管理含GUI导航、属性表和Tab自动完成的服务器配置的系统和方法

Family Applications After (3)

Application Number Title Priority Date Filing Date
CN201280047077.3A Active CN103917956B (zh) 2011-09-27 2012-09-26 用于流量引导器环境中的流量的主动‑被动路由和控制的系统和方法
CN201280047085.8A Active CN103858157B (zh) 2011-09-27 2012-09-26 用于通信量引导器环境中的资源服务器的动态发现和配置的系统和方法
CN201280047076.9A Active CN103858104B (zh) 2011-09-27 2012-09-27 管理含GUI导航、属性表和Tab自动完成的服务器配置的系统和方法

Country Status (6)

Country Link
US (9) US8914502B2 (zh)
EP (4) EP2761451B1 (zh)
JP (9) JP6198737B2 (zh)
CN (4) CN103827828B (zh)
IN (1) IN2014CN01324A (zh)
WO (4) WO2013049238A2 (zh)

Families Citing this family (142)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8929524B2 (en) 2004-04-27 2015-01-06 Value-Added Communications, Inc. System and method for determining and associating tariff rates for institutional calls
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US8433771B1 (en) 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
JP2012128721A (ja) * 2010-12-16 2012-07-05 Sony Computer Entertainment Inc 情報処理装置、情報処理システム、情報処理方法、プログラム及び情報記憶媒体
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
CN102957718B (zh) * 2011-08-23 2018-04-03 中兴通讯股份有限公司 一种业务节点及业务节点间用户协议消息同步的方法
US8914502B2 (en) * 2011-09-27 2014-12-16 Oracle International Corporation System and method for dynamic discovery of origin servers in a traffic director environment
US8761101B1 (en) * 2011-10-13 2014-06-24 Excelfore Corporation Network based machine-to-machine system for monitoring
US9923826B2 (en) * 2011-10-14 2018-03-20 Citrix Systems, Inc. Systems and methods for dynamic adaptation of network accelerators
US8914497B1 (en) * 2011-12-15 2014-12-16 Amazon Technologies, Inc. System and method for throttling service requests having non-uniform workloads
US9094262B2 (en) * 2011-12-30 2015-07-28 Certona Corporation Fault tolerance and maintaining service response under unanticipated load conditions
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
WO2014052099A2 (en) * 2012-09-25 2014-04-03 A10 Networks, Inc. Load distribution in data networks
US9515867B2 (en) * 2012-11-14 2016-12-06 Verizon Patent And Licensing Inc. Intelligent command builder and executer
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US20140331078A1 (en) * 2013-01-24 2014-11-06 Uri Cohen Elastic Space-Based Architecture application system for a cloud computing environment
US8769031B1 (en) 2013-04-15 2014-07-01 Upfront Media Group, Inc. System and method for implementing a subscription-based social media platform
US8667075B1 (en) * 2013-04-15 2014-03-04 Upfront Media Group, Inc. System and method for implementing a subscription-based social media platform
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
WO2015042349A1 (en) 2013-09-20 2015-03-26 Oracle International Corporation Multiple resource servers with single, flexible, pluggable oauth server and oauth-protected restful oauth consent management service, and mobile application single sign on oauth service
US8990376B1 (en) 2013-11-01 2015-03-24 Microsoft Technology Licensing, Llc Managing server membership
US9686581B2 (en) 2013-11-07 2017-06-20 Cisco Technology, Inc. Second-screen TV bridge
US10432452B2 (en) * 2014-04-11 2019-10-01 Oracle International Corporation System and method for enabling application-to-application communication in an enterprise computer system
US10222935B2 (en) 2014-04-23 2019-03-05 Cisco Technology Inc. Treemap-type user interface
US9286001B2 (en) * 2014-06-30 2016-03-15 Microsoft Licensing Technology Llc Effective range partition splitting in scalable storage
CN104270259A (zh) * 2014-09-18 2015-01-07 杭州华为数字技术有限公司 一种关联属性取值确定方法与自适配管理系统
US10382591B2 (en) * 2014-10-13 2019-08-13 International Business Machines Corporation Transparent inline content inspection and modification in a TCP session
CN104468735B (zh) * 2014-11-19 2018-07-17 山东中创软件工程股份有限公司 基于图形用户界面的负载均衡器的管理方法及装置
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
CN104580194B (zh) * 2014-12-31 2017-11-24 北京四达时代软件技术股份有限公司 面向视频应用的虚拟化资源管理方法及装置
US11023117B2 (en) * 2015-01-07 2021-06-01 Byron Burpulis System and method for monitoring variations in a target web page
JP2016148973A (ja) * 2015-02-12 2016-08-18 日本電信電話株式会社 死活監視装置、死活監視システム、死活監視方法、及び死活監視方法プログラム
US9485244B2 (en) 2015-03-02 2016-11-01 Citrix Systems, Inc. Executing an operation over file repositories located in different authentication domains using a representational state transfer (REST)-compliant client
US9386006B1 (en) 2015-03-02 2016-07-05 Citrix Systems, Inc. Authentication mechanism for domain redirection of a representational state transfer (REST)-compliant client
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9887931B1 (en) * 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887932B1 (en) * 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US11023462B2 (en) 2015-05-14 2021-06-01 Deephaven Data Labs, LLC Single input graphical user interface control element and method
US20160366246A1 (en) * 2015-06-11 2016-12-15 Microsoft Technology Licensing, Llc Computing resource deployment system
US10848574B2 (en) 2015-06-11 2020-11-24 Microsoft Technology Licensing, Llc Computing resource management system
US10298539B2 (en) 2015-07-09 2019-05-21 Microsoft Technology Licensing, Llc Passive delegations and records
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US10757064B2 (en) 2015-11-04 2020-08-25 Oracle International Corporation Communication interface for handling multiple operations
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10459905B2 (en) 2016-01-07 2019-10-29 Bank Of America Corporation Centralized hierarchical configuration system for applications in a distributed network
JP6639245B2 (ja) * 2016-01-18 2020-02-05 キヤノン株式会社 サーバシステム、サーバシステムを制御する方法およびプログラム。
US10440153B1 (en) 2016-02-08 2019-10-08 Microstrategy Incorporated Enterprise health score and data migration
US11283900B2 (en) 2016-02-08 2022-03-22 Microstrategy Incorporated Enterprise performance and capacity testing
CN107181636B (zh) * 2016-03-10 2020-09-11 阿里巴巴集团控股有限公司 一种负载均衡系统中的健康检查方法及装置
CN107343012B (zh) * 2016-04-28 2019-12-03 杭州海康威视数字技术股份有限公司 视频存储系统及其视频数据发送方法
US20170331960A1 (en) * 2016-05-10 2017-11-16 Global Tel*Link Corp. Inmate voice and video call rating system and method
US10512053B2 (en) * 2016-05-10 2019-12-17 Servicenow, Inc. System and method for selectively hibernating and restarting a node of an application instance
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US9612927B1 (en) * 2016-09-14 2017-04-04 International Business Machines Corporation Managing server processes with proxy files
US10616320B2 (en) * 2016-09-16 2020-04-07 Oracle International Corporation System and method for restful management distributed collection in an application server environment
US10505961B2 (en) 2016-10-05 2019-12-10 Amazon Technologies, Inc. Digitally signed network address
US10372520B2 (en) 2016-11-22 2019-08-06 Cisco Technology, Inc. Graphical user interface for visualizing a plurality of issues with an infrastructure
US10739943B2 (en) 2016-12-13 2020-08-11 Cisco Technology, Inc. Ordered list user interface
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10574724B2 (en) 2017-01-06 2020-02-25 Western Digital Technologies, Inc. Automatic discovery of management nodes and generation of CLI using HA module
US9787671B1 (en) 2017-01-30 2017-10-10 Xactly Corporation Highly available web-based database interface system
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
JP6474446B2 (ja) * 2017-03-28 2019-02-27 株式会社大一商会 遊技機
CN106911710A (zh) * 2017-03-30 2017-06-30 福州大学 面向cloudstack的数据流量监听方法
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
CN106993000A (zh) * 2017-05-26 2017-07-28 山东浪潮商用系统有限公司 解决反序列化漏洞的方法、反向代理服务器及系统
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10104710B1 (en) 2017-06-19 2018-10-16 Global Tel*Link Corporation Dual mode transmission in a controlled environment
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
US10333870B2 (en) 2017-07-06 2019-06-25 Global Tel*Link Corporation Presence-based communications in a controlled environment
US10241965B1 (en) 2017-08-24 2019-03-26 Deephaven Data Labs Llc Computer data distribution architecture connecting an update propagation graph through multiple remote query processors
CN107656810B (zh) * 2017-08-29 2021-01-08 山东师范大学 数据中心环境下保证延迟敏感程序服务质量的方法
US10586033B2 (en) * 2017-08-29 2020-03-10 International Business Machines Corporation Automatic upgrade from one step authentication to two step authentication via application programming interface
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
JP6958413B2 (ja) 2018-02-19 2021-11-02 富士通株式会社 情報処理装置、情報処理システム、及びプログラム
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US10862867B2 (en) 2018-04-01 2020-12-08 Cisco Technology, Inc. Intelligent graphical user interface
US10917409B2 (en) * 2018-04-19 2021-02-09 Microsoft Technology Licensing, Llc System and method to securely execute datacenter management operations remotely
US10761614B2 (en) * 2018-06-13 2020-09-01 Fortinet, Inc. Enhanced context-based command line interface auto-completion using multiple command matching conditions
US10938626B2 (en) 2018-07-25 2021-03-02 Microsoft Technology Licensing, Llc Fast failover for gateway instances
US11113119B2 (en) * 2018-09-17 2021-09-07 International Business Machines Corporation Managing computer resources
CN109246323B (zh) * 2018-09-25 2020-09-11 国家电网有限公司客户服务中心 一种应用于异地双活话务平台的用户接入中心分配方法
US10719340B2 (en) * 2018-11-06 2020-07-21 Microsoft Technology Licensing, Llc Command bar user interface
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
CN111225003B (zh) * 2018-11-23 2022-12-27 京东科技控股股份有限公司 一种nfs节点配置方法和装置
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
CN109688219B (zh) * 2018-12-24 2021-12-21 国云科技股份有限公司 一种适用于多云管理的网络负载均衡器统一管理方法
US11323431B2 (en) 2019-01-31 2022-05-03 Citrix Systems, Inc. Secure sign-on using personal authentication tag
US10938923B2 (en) 2019-04-17 2021-03-02 Home Depot Product Authority, Llc Customizable router for managing traffic between application programming interfaces
US11106455B2 (en) 2019-08-15 2021-08-31 Microstrategy Incorporated Integration of containers with external elements
US11288053B2 (en) 2019-08-15 2022-03-29 Microstrategy Incorporated Conversion and restoration of computer environments to container-based implementations
US11637748B2 (en) 2019-08-28 2023-04-25 Microstrategy Incorporated Self-optimization of computing environments
US11507295B2 (en) * 2019-08-30 2022-11-22 Microstrategy Incorporated Backup, restoration, and migration of computer systems
US11210189B2 (en) 2019-08-30 2021-12-28 Microstrategy Incorporated Monitoring performance of computing systems
US11467930B2 (en) * 2019-09-11 2022-10-11 EMC IP Holding Company LLC Distributed failover of a back-end storage director
US11354216B2 (en) 2019-09-18 2022-06-07 Microstrategy Incorporated Monitoring performance deviations
US11360881B2 (en) 2019-09-23 2022-06-14 Microstrategy Incorporated Customizing computer performance tests
US11438231B2 (en) 2019-09-25 2022-09-06 Microstrategy Incorporated Centralized platform management for computing environments
US11800354B2 (en) * 2020-04-10 2023-10-24 T-Mobile Usa, Inc. Systems and methods for improved access to customer registration information
US11178222B1 (en) 2020-04-28 2021-11-16 International Business Machines Corporation Controlling a server response latency
TWI766387B (zh) * 2020-10-07 2022-06-01 智捷科技股份有限公司 一種具延遲感知負載平衡的反向代理方法和存儲裝置
CN113485865B (zh) * 2021-09-06 2021-12-07 中航信移动科技有限公司 基于正向代理服务器访问第三方应用的数据处理系统
US11954473B2 (en) 2021-09-20 2024-04-09 Microstrategy Incorporated Deployment architecture for multi-tenant cloud computing systems
US11861342B2 (en) 2022-01-28 2024-01-02 Microstrategy Incorporated Enhanced cloud-computing environment deployment
US20240036873A1 (en) * 2022-07-26 2024-02-01 Dell Products L.P. Dynamic recommendations for faster issue identification and resolution
US20240069940A1 (en) * 2022-08-29 2024-02-29 Microsoft Technology Licensing, Llc. Native ui autocompletion through direct communication with the shell

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1444813A (zh) * 2000-06-01 2003-09-24 奥罗卡斯特.Com公司 选择性路由选择
WO2004008334A1 (en) * 2002-07-11 2004-01-22 Akamai Technologies, Inc. Method for caching and delivery of compressed content in a content delivery network
CN101755418A (zh) * 2007-07-17 2010-06-23 微软公司 优化加密广域网络通信

Family Cites Families (124)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0736159B2 (ja) 1985-12-13 1995-04-19 富士通株式会社 デ−タ処理二重化方式
JPH09259095A (ja) 1996-03-21 1997-10-03 Oki Electric Ind Co Ltd 中央処理システム
JP2872113B2 (ja) 1996-06-12 1999-03-17 日本電気通信システム株式会社 情報処理装置のマイクロ診断方式
US5796952A (en) 1997-03-21 1998-08-18 Dot Com Development, Inc. Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US6061721A (en) * 1997-10-06 2000-05-09 Sun Microsystems, Inc. Bean-based management system
JP3539857B2 (ja) 1997-12-25 2004-07-07 セイコーインスツルメンツ株式会社 間欠送り機構
JP2000020201A (ja) 1998-06-29 2000-01-21 Hitachi Ltd 情報処理装置における表示方法
JP2000099435A (ja) 1998-09-18 2000-04-07 Nippon Telegr & Teleph Corp <Ntt> サーバ切り替え装置および方法とサーバ切り替えプログラムを記録した記録媒体
JP2000172619A (ja) * 1998-12-03 2000-06-23 Ntt Communicationware Corp 端末装置、サーバ、クライアントサーバシステムおよび記録媒体
US6701438B1 (en) 1999-06-14 2004-03-02 Sun Microsystems, Inc. Methods and apparatus for providing customizable security and logging protocols in a servlet engine
US20010049741A1 (en) * 1999-06-18 2001-12-06 Bryan D. Skene Method and system for balancing load distribution on a wide area network
US6560717B1 (en) 1999-12-10 2003-05-06 Art Technology Group, Inc. Method and system for load balancing and management
US20040049598A1 (en) 2000-02-24 2004-03-11 Dennis Tucker Content distribution system
GB2360369A (en) 2000-03-10 2001-09-19 Omnis Technology Corp A system for distributing requests from one or more clients amongst a plurality of server processes
US6691244B1 (en) 2000-03-14 2004-02-10 Sun Microsystems, Inc. System and method for comprehensive availability management in a high-availability computer system
US7158926B2 (en) 2000-05-05 2007-01-02 Sun Microsystems, Inc. Cluster availability model
US6880086B2 (en) 2000-05-20 2005-04-12 Ciena Corporation Signatures for facilitating hot upgrades of modular software components
US20010049732A1 (en) 2000-06-01 2001-12-06 Raciborski Nathan F. Content exchange apparatus
US7099915B1 (en) * 2000-06-30 2006-08-29 Cisco Technology, Inc. Server load balancing method and system
US7693976B2 (en) 2000-07-11 2010-04-06 Ciena Corporation Granular management of network resources
CN1285055C (zh) 2000-07-17 2006-11-15 蚬壳星盈科技有限公司 用于动态配置服务器场的方法和系统
US6880156B1 (en) 2000-07-27 2005-04-12 Hewlett-Packard Development Company. L.P. Demand responsive method and apparatus to automatically activate spare servers
US20030046394A1 (en) * 2000-11-03 2003-03-06 Steve Goddard System and method for an application space server cluster
US20020055982A1 (en) * 2000-11-03 2002-05-09 The Board Of Regents Of The University Of Nebraska Controlled server loading using L4 dispatching
JP2002163241A (ja) 2000-11-29 2002-06-07 Ntt Data Corp クライアントサーバシステム
US20020116397A1 (en) * 2000-12-21 2002-08-22 Berg Mitchell T. Method and system for communicating an information packet through multiple router devices
US7984147B2 (en) 2000-12-29 2011-07-19 Hewlett-Packard Development Company, L.P. Apparatus and method for identifying a requested level of service for a transaction
US6880013B2 (en) * 2000-12-29 2005-04-12 International Business Machines Corporation Permanent TCP connections across system reboots
US20020122388A1 (en) 2001-03-05 2002-09-05 Taher Behbehani Dynamically reconfigurable intelligent content-based network
JP2002269061A (ja) * 2001-03-08 2002-09-20 Ntt Comware Corp クライアントサーバシステム、中継サーバ、接続先サーバの決定方法
US20020143953A1 (en) 2001-04-03 2002-10-03 International Business Machines Corporation Automatic affinity within networks performing workload balancing
US20020143965A1 (en) 2001-04-03 2002-10-03 International Business Machines Corporation Server application initiated affinity within networks performing workload balancing
US20020152307A1 (en) 2001-04-12 2002-10-17 Doyle Ronald Patrick Methods, systems and computer program products for distribution of requests based on application layer information
WO2002099591A2 (en) 2001-06-04 2002-12-12 Nct Group, Inc. System and method for increasing the effective bandwidth of a communications network
US7392546B2 (en) * 2001-06-11 2008-06-24 Bea Systems, Inc. System and method for server security and entitlement processing
US7774492B2 (en) * 2001-07-26 2010-08-10 Citrix Systems, Inc. System, method and computer program product to maximize server throughput while avoiding server overload by controlling the rate of establishing server-side net work connections
US7343487B2 (en) 2001-10-10 2008-03-11 Nokia Corporation Datacast distribution system
US7139809B2 (en) 2001-11-21 2006-11-21 Clearcube Technology, Inc. System and method for providing virtual network attached storage using excess distributed storage capacity
US7321926B1 (en) 2002-02-11 2008-01-22 Extreme Networks Method of and system for allocating resources to resource requests
US7360122B2 (en) 2002-02-22 2008-04-15 Bea Systems, Inc. Method for initiating a sub-system health check
JP3828444B2 (ja) * 2002-03-26 2006-10-04 株式会社日立製作所 データ通信中継装置及びシステム
US6868439B2 (en) 2002-04-04 2005-03-15 Hewlett-Packard Development Company, L.P. System and method for supervising use of shared storage by multiple caching servers physically connected through a switching router to said shared storage via a robust high speed connection
WO2003105004A1 (en) 2002-06-06 2003-12-18 Crescendo Networks Ltd. System and method for connecting multiple slow connections to multiple fast connections
US7020706B2 (en) 2002-06-17 2006-03-28 Bmc Software, Inc. Method and system for automatically updating multiple servers
JP2004030204A (ja) 2002-06-25 2004-01-29 Jmnet Inc 負荷分散装置及びそれに接続するノードコンピュータ
US20040024861A1 (en) 2002-06-28 2004-02-05 Coughlin Chesley B. Network load balancing
US20040153558A1 (en) 2002-10-31 2004-08-05 Mesut Gunduc System and method for providing java based high availability clustering framework
US7289445B2 (en) 2002-11-25 2007-10-30 Intel Corporation Managing a protocol control block cache in a network device
US7870241B2 (en) * 2002-11-27 2011-01-11 International Business Machines Corporation Automated power control policies based on application-specific redundancy characteristics
JP4108486B2 (ja) 2003-01-08 2008-06-25 Necインフロンティア株式会社 Ipルータ、通信システム及びそれに用いる帯域設定方法並びにそのプログラム
US7937551B2 (en) * 2003-01-21 2011-05-03 Dell Products L.P. Storage systems having differentiated storage pools
US7478151B1 (en) * 2003-01-23 2009-01-13 Gomez, Inc. System and method for monitoring global network performance
US7937493B2 (en) 2003-08-14 2011-05-03 Oracle International Corporation Connection pool use of runtime load balancing service performance advisories
CA2534807C (en) * 2003-08-14 2010-12-14 Lakshminarayanan Chidambaran On demand node and server instance allocation and de-allocation
DE10349005C5 (de) * 2003-10-17 2013-08-22 Nec Europe Ltd. Verfahren zur Überwachung eines Netzwerks
US7616625B1 (en) 2003-10-22 2009-11-10 Sprint Communications Company L.P. System and method for selective enhanced data connections in an asymmetrically routed network
JP2005141441A (ja) 2003-11-06 2005-06-02 Hitachi Ltd 負荷分散システム
US7017327B2 (en) 2003-12-10 2006-03-28 Deere & Company Hybrid electric tool carrier
US20050188295A1 (en) 2004-02-25 2005-08-25 Loren Konkus Systems and methods for an extensible administration tool
US20050213507A1 (en) * 2004-03-25 2005-09-29 International Business Machines Corporation Dynamically provisioning computer system resources
JP4520899B2 (ja) * 2004-04-27 2010-08-11 株式会社日立製作所 クラスタ制御方法、クラスタ制御プログラム、クラスタシステムおよび待機サーバ
US7664948B2 (en) 2004-05-21 2010-02-16 Bea Systems, Inc. Certificate lookup and validation
EP1763776B1 (en) * 2004-05-21 2019-07-31 Oracle International Corporation Service oriented architecture
US20060062177A1 (en) 2004-06-07 2006-03-23 Sarvesh Asthana Apparatus, and an associated method, for communicating data in header-reduced form
US7779081B2 (en) 2004-07-16 2010-08-17 International Business Machines Corporation Method, system, and program for forwarding messages between nodes
JP4491308B2 (ja) 2004-09-24 2010-06-30 富士通株式会社 ネットワーク監視方法及びその装置
US20060106769A1 (en) 2004-11-12 2006-05-18 Gibbs Kevin A Method and system for autocompletion for languages having ideographs and phonetic characters
US8458467B2 (en) * 2005-06-21 2013-06-04 Cisco Technology, Inc. Method and apparatus for adaptive application message payload content transformation in a network infrastructure element
US20060153068A1 (en) * 2004-12-17 2006-07-13 Ubiquity Software Corporation Systems and methods providing high availability for distributed systems
US20060190579A1 (en) 2005-02-23 2006-08-24 Alcatel Assisted command script template creation
US7464303B2 (en) 2005-06-09 2008-12-09 International Business Machines Corporation Autonomically adjusting configuration parameters for a server when a different server fails
US8266327B2 (en) 2005-06-21 2012-09-11 Cisco Technology, Inc. Identity brokering in a network element
US7702947B2 (en) 2005-11-29 2010-04-20 Bea Systems, Inc. System and method for enabling site failover in an application server environment
US8140624B2 (en) 2005-12-01 2012-03-20 Computer Associates Think, Inc. Automated deployment and configuration of applications in an autonomically controlled distributed computing system
US7756972B2 (en) 2005-12-06 2010-07-13 Cisco Technology, Inc. System for power savings in server farms
US20070150600A1 (en) 2005-12-22 2007-06-28 International Business Machines Corporation Method and apparatus for collecting data for characterizing HTTP session workloads
JP5065050B2 (ja) 2005-12-28 2012-10-31 インターナショナル・ビジネス・マシーンズ・コーポレーション クライアント・サーバ・システムにおける負荷分散
US7979733B2 (en) * 2005-12-30 2011-07-12 Sap Ag Health check monitoring process
WO2007110942A1 (ja) * 2006-03-29 2007-10-04 Fujitsu Limited ネットワークシステムにおけるサーバ管理プログラム
JP4519098B2 (ja) * 2006-03-30 2010-08-04 株式会社日立製作所 計算機の管理方法、計算機システム、及び管理プログラム
CN102684988B (zh) 2006-04-26 2015-02-11 日本电信电话株式会社 负荷控制装置及其方法
US20070260702A1 (en) * 2006-05-03 2007-11-08 University Of Washington Web browser architecture for virtual machine access
US20070288604A1 (en) * 2006-06-08 2007-12-13 Jeffrey Mark Achtermann Method for determining optimal number of connections in multi-connection download configuration
JP4943079B2 (ja) 2006-07-25 2012-05-30 エヌ・ティ・ティ・コミュニケーションズ株式会社 センサ情報変換装置、センサ情報変換方法、及びセンサ情報通知方法
JP4690960B2 (ja) * 2006-07-28 2011-06-01 株式会社日立製作所 情報処理装置における表示方法
JP4916809B2 (ja) 2006-08-04 2012-04-18 日本電信電話株式会社 負荷分散制御装置および方法
US7640354B2 (en) 2006-12-01 2009-12-29 Microsoft Corporation Scalable differential compression of network data
US7619545B2 (en) 2007-03-12 2009-11-17 Citrix Systems, Inc. Systems and methods of using application and protocol specific parsing for compression
US7865585B2 (en) 2007-03-12 2011-01-04 Citrix Systems, Inc. Systems and methods for providing dynamic ad hoc proxy-cache hierarchies
JP5246157B2 (ja) * 2007-04-04 2013-07-24 富士通株式会社 負荷分散システム
US7954014B2 (en) * 2007-09-18 2011-05-31 Sap Ag Health check framework for enterprise systems
JP2009116703A (ja) * 2007-11-07 2009-05-28 Ricoh Co Ltd 情報処理装置、情報処理方法及びプログラム
JP5082111B2 (ja) * 2008-01-31 2012-11-28 テックファーム株式会社 コンピュータシステム、サービス利用装置、制御方法、及びプログラム
US20090204885A1 (en) 2008-02-13 2009-08-13 Ellsworth Thomas N Automated management and publication of electronic content from mobile nodes
JP2009193427A (ja) 2008-02-15 2009-08-27 Casio Comput Co Ltd 電子機器の設定装置、設定方法、及び設定プログラム
US8621598B2 (en) * 2008-03-12 2013-12-31 Intuit Inc. Method and apparatus for securely invoking a rest API
US20090259736A1 (en) 2008-04-15 2009-10-15 Juniper Networks, Inc. Label-based target host configuration for a server load balancer
CN101291253B (zh) 2008-06-06 2011-04-20 中兴通讯股份有限公司 一种网管客户端基于图形界面的人机命令交互方法
US8095935B2 (en) 2008-06-26 2012-01-10 Microsoft Corporation Adapting message delivery assignments with hashing and mapping techniques
US9294705B2 (en) 2008-06-27 2016-03-22 Universal Electronics Inc. System and method for ubiquitous appliance control
WO2010012998A1 (en) 2008-07-30 2010-02-04 British Telecommunications Public Limited Company Header compression scheme
JP2010039661A (ja) * 2008-08-04 2010-02-18 Fujitsu Ltd サーバ負荷分散装置,方法およびプログラム
JP2010055499A (ja) * 2008-08-29 2010-03-11 Hitachi Ltd システム構築支援方法及びシステム構築支援システム
US8984046B2 (en) 2008-09-12 2015-03-17 International Business Machines Corporation Process management using representation state transfer architecture
JP2010113495A (ja) 2008-11-06 2010-05-20 Nomura Research Institute Ltd クラスタシステムおよびクラスタ制御方法
US8200800B2 (en) 2009-03-12 2012-06-12 International Business Machines Corporation Remotely administering a server
US8059653B1 (en) 2009-03-12 2011-11-15 Brocade Communications Systems, Inc. Transaction and connection independent protocol load balancing
US8230336B2 (en) 2009-04-22 2012-07-24 Microsoft Corporation Efficient discovery, display, and autocompletion of links to wiki resources
US8078870B2 (en) * 2009-05-14 2011-12-13 Microsoft Corporation HTTP-based authentication
US9122537B2 (en) 2009-10-30 2015-09-01 Cisco Technology, Inc. Balancing server load according to availability of physical resources based on the detection of out-of-sequence packets
US8078902B2 (en) 2009-10-30 2011-12-13 Verizon Patent And Licensing, Inc. Fault surveillance and automatic fail-over processing in broker-based messaging systems and methods
US9219948B2 (en) 2009-11-17 2015-12-22 Broadcom Corporation Method and system for compression and decompression for handling web content
US20110145786A1 (en) 2009-12-15 2011-06-16 Microsoft Corporation Remote commands in a shell environment
US8463887B2 (en) * 2009-12-23 2013-06-11 Citrix Systems, Inc. Systems and methods for server surge protection in a multi-core system
JP2011150472A (ja) * 2010-01-20 2011-08-04 Nec Software Chubu Ltd ウェブサービスシステム、サーバ選択基準決定装置、サーバ選択基準決定方法およびプログラム
GB201004449D0 (en) 2010-02-22 2010-05-05 Corbett Sean Data accelerator
JP2011186810A (ja) 2010-03-09 2011-09-22 Fujitsu Ltd 負荷分散装置、負荷分散方法及び負荷分散プログラム
US8260757B1 (en) 2010-04-22 2012-09-04 Wal-Mart Stores, Inc. Data access layer
US8533337B2 (en) 2010-05-06 2013-09-10 Citrix Systems, Inc. Continuous upgrading of computers in a load balanced environment
US8549148B2 (en) 2010-10-15 2013-10-01 Brocade Communications Systems, Inc. Domain name system security extensions (DNSSEC) for global server load balancing
US9705977B2 (en) 2011-04-20 2017-07-11 Symantec Corporation Load balancing for network devices
US8693981B1 (en) 2011-06-17 2014-04-08 Cellco Partnership Monitoring persistent client connection status in a distributed server environment
US8775628B2 (en) * 2011-08-31 2014-07-08 Metaswitch Networks Ltd. Load balancing for SIP services
US8914502B2 (en) * 2011-09-27 2014-12-16 Oracle International Corporation System and method for dynamic discovery of origin servers in a traffic director environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1444813A (zh) * 2000-06-01 2003-09-24 奥罗卡斯特.Com公司 选择性路由选择
WO2004008334A1 (en) * 2002-07-11 2004-01-22 Akamai Technologies, Inc. Method for caching and delivery of compressed content in a content delivery network
CN101755418A (zh) * 2007-07-17 2010-06-23 微软公司 优化加密广域网络通信

Also Published As

Publication number Publication date
JP2014534492A (ja) 2014-12-18
WO2013049390A2 (en) 2013-04-04
US9733983B2 (en) 2017-08-15
CN103827828A (zh) 2014-05-28
US20130080566A1 (en) 2013-03-28
US20130080510A1 (en) 2013-03-28
EP2761611A1 (en) 2014-08-06
JP6377113B2 (ja) 2018-08-22
JP6506827B2 (ja) 2019-04-24
EP2761611B1 (en) 2021-01-27
JP6047577B2 (ja) 2016-12-21
WO2013049390A3 (en) 2013-08-01
JP2017062840A (ja) 2017-03-30
JP6124898B2 (ja) 2017-05-10
JP2017010587A (ja) 2017-01-12
JP2014529145A (ja) 2014-10-30
US8914521B2 (en) 2014-12-16
US9128764B2 (en) 2015-09-08
JP2018125006A (ja) 2018-08-09
US9477528B2 (en) 2016-10-25
CN103858104A (zh) 2014-06-11
US8914502B2 (en) 2014-12-16
CN103858157B (zh) 2017-02-15
US20130080901A1 (en) 2013-03-28
US9311155B2 (en) 2016-04-12
US20130080656A1 (en) 2013-03-28
JP6495010B2 (ja) 2019-04-03
IN2014CN01324A (zh) 2015-04-24
JP2018067959A (ja) 2018-04-26
EP2761451A2 (en) 2014-08-06
WO2013049238A2 (en) 2013-04-04
US20130080628A1 (en) 2013-03-28
CN103917956B (zh) 2017-07-28
WO2013049236A1 (en) 2013-04-04
EP2761452A2 (en) 2014-08-06
EP2761450B1 (en) 2019-10-30
JP2014530434A (ja) 2014-11-17
EP2761450A2 (en) 2014-08-06
JP6600373B2 (ja) 2019-10-30
US8782769B2 (en) 2014-07-15
JP2014534491A (ja) 2014-12-18
JP6198737B2 (ja) 2017-09-20
US9069617B2 (en) 2015-06-30
US9652293B2 (en) 2017-05-16
JP2018067960A (ja) 2018-04-26
EP2761451B1 (en) 2019-10-30
CN103858104B (zh) 2017-06-27
US20130080514A1 (en) 2013-03-28
JP6506383B2 (ja) 2019-04-24
WO2013049233A3 (en) 2013-08-01
JP6487401B2 (ja) 2019-03-20
US20130080627A1 (en) 2013-03-28
US20140289838A1 (en) 2014-09-25
WO2013049238A3 (en) 2013-07-11
US20130081128A1 (en) 2013-03-28
CN103917956A (zh) 2014-07-09
CN103858157A (zh) 2014-06-11
WO2013049233A2 (en) 2013-04-04

Similar Documents

Publication Publication Date Title
CN103827828B (zh) 用于在流量指挥站环境中提供负载平衡与数据压缩的灵活性的系统及方法
US10491523B2 (en) Load distribution in data networks
US10411956B2 (en) Enabling planned upgrade/downgrade of network devices without impacting network sessions
US9692830B2 (en) Systems and methods for identifying and characterizing client devices
CN104054316B (zh) 用于对sms中心进行负载平衡和建立虚拟专用网络的系统和方法
US20140280988A1 (en) System and method for parallel multiplexing between servers in a cluster
CN103338252B (zh) 一种分布式数据库并发存储虚拟请求机制的实现方法
CN103248670B (zh) 计算机网络环境下的连接管理服务器和连接管理方法
CN108833462A (zh) 一种面向微服务的自注册服务发现的系统及方法
CN108512865B (zh) 一种Java应用服务器的EJB容器系统的数据传输方法及装置
CN108234208A (zh) 基于业务的资源管理的可视化负载均衡部署方法及系统
CN114422575B (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
GR01 Patent grant
GR01 Patent grant