CN103858157B - 用于通信量引导器环境中的资源服务器的动态发现和配置的系统和方法 - Google Patents

用于通信量引导器环境中的资源服务器的动态发现和配置的系统和方法 Download PDF

Info

Publication number
CN103858157B
CN103858157B CN201280047085.8A CN201280047085A CN103858157B CN 103858157 B CN103858157 B CN 103858157B CN 201280047085 A CN201280047085 A CN 201280047085A CN 103858157 B CN103858157 B CN 103858157B
Authority
CN
China
Prior art keywords
server
source server
pond
source
traffic guide
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
CN201280047085.8A
Other languages
English (en)
Other versions
CN103858157A (zh
Inventor
A·斯瑞尼瓦桑
S·纳塔拉简
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 CN103858157A publication Critical patent/CN103858157A/zh
Application granted granted Critical
Publication of CN103858157B publication Critical patent/CN103858157B/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)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer And Data Communications (AREA)
  • User Interface Of Digital Computer (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Telephonic Communication Services (AREA)
  • Navigation (AREA)
  • Stored Programmes (AREA)

Abstract

这里描述了用于与负载均衡器或通信量引导器一起使用的系统和方法及其管理,其中,通信量引导器是作为基于软件的负载均衡器而提供的,该负载均衡器可以用于将快速的、可靠的、可伸缩的和安全的用于负载均衡互联网和其他通信量的平台交付给后端源服务器,诸如web服务器、应用服务器或其他资源服务器。根据实施例,所述系统包括具有一个或多个通信量引导器实例的通信量引导器,其被配置为从客户端接收请求并且将来自客户端的请求传送给具有一个或多个服务器池的源服务器。描述了用于在这样的通信量引导器或其他环境中提供主动‑被动路由、过载保护和速率加速、源服务器的动态发现、配置http负载均衡的灵活性、和/或动态高速缓存数据解压缩的系统和方法。

Description

用于通信量引导器环境中的资源服务器的动态发现和配置的 系统和方法
版权声明
本专利文档的公开内容的一部分包含受版权保护的资料。版权所有人不反对任何人如该专利文档或专利公开内容在专利商标局专利文件或记录中所登载的那样对它进行复制再现,但是保留所有其他版权权利。
优先权
本申请要求以下专利申请的优先权:2011年9月27日提交的题为“SYSTEMS ANDMETHODS FOR USE WITH AN APPLICATION SERVER TRAFFIC DIRECTOR(CORE FEATURES)”的美国临时专利申请No.61/539886;2011年9月27日提交的题为“SYSTEMS AND METHODS FORUSE WITH AN APPLICATION SERVER TRAFFIC DIRECTOR(ADMIN FEATURES)”的美国临时专利申请No.61/539900;2012年8月31日提交的题为“SYSTEM AND METHOD FOR PROVIDINGACTIVE-PASSIVE ROUTING IN A TRAFFIC DIRECTOR ENVIRONMENT”的美国专利申请No.13/601087;2012年8月31日提交的题为“SYSTEM AND METHOD FOR SURGE PROTECTION ANDRATE ACCELERATION IN A TRAFFIC DIRECTOR ENVIRONMENT”的美国专利申请No.13/601428;2012年8月31日提交的题为“SYSTEM AND METHOD FOR DYNAMIC DISCOVERY OFORIGIN SERVERS IN A TRAFFIC DIRECTOR ENVIRONMENT”的美国专利申请No.13/601530;2012年8月31日提交的题为“SYSTEM AND METHOD FOR PROVIDING FLEXIBILITY INCONFIGURING HTTP LOAD BALANCING IN A TRAFFIC DIRECTOR ENVIRONMENT”的美国专利申请No.13/601632;以及2012年9月24日提交的题为“SYSTEM AND METHOD FOR DYNAMICCACHE DATA DECOMPRESSION IN A TRAFFIC DIRECTOR ENVIRONMENT”的美国专利申请No.13/625716,这些专利申请均通过引用合并与此。
技术领域
本发明总体上涉及在应用服务器、中间件机器或其他计算环境中使用的负载均衡器或通信量引导器(traffic director),更特别地,涉及用于在通信量引导器或其他环境中提供主动-被动路由、过载保护和速率加速、源服务器的动态发现、配置http负载均衡的灵活性、和/或动态高速缓存数据解压缩的系统和方法。
背景技术
典型的企业级计算环境可以包括旨在被其他计算机或操作各种不同类型的计算装置的用户通过网络(例如,公司的内部以太网或互联网)访问的、许多不同类型的计算资源(例如,web服务器、应用服务器、数据库服务器或其他类型的资源服务器)。熟悉的例子是用户可以通过其经由互联网访问web服务器的客户端计算机(诸如配备有web浏览器应用程序的膝上型电脑)的使用。
如今的组织越来越依赖于他们的可以随时几乎从任何地方以高水平的性能获得的计算资源。确保高效率地分配这样的资源的任务通常需要使用负载均衡装置来根据其分发策略以公平的方式分发来自客户端的对于目标资源的请求。这些是可以与其一起使用本发明的实施例的环境的类型。
发明内容
本文中描述了用于与负载均衡器或通信量引导器一起使用的系统和方法及其管理。根据实施例,在本文中一些实施例中被称为“Oracle通信量引导器”(OTD)的通信量引导器是作为基于软件的负载均衡器而提供的,该负载均衡器可以用于将快速的、可靠的、可伸缩的和安全的用于负载均衡互联网和其他通信量的平台交付给后端源服务器,诸如web服务器、应用服务器或其他资源服务器。
通信量引导器的实施例在应用服务器、中间件机器和类似的高性能企业级计算环境(诸如Oracle WebLogic和Exalogic环境)中特别有用。
根据实施例,所述系统包括具有一个或多个通信量引导器实例的通信量引导器,其被配置为从客户端接收请求并且将来自客户端的请求传送给具有一个或多个服务器池的源服务器。根据实施例,所述系统包括:高速网络基础设施,其提供用于供源服务器在接收请求时使用的通信协议或套接字(socket);一个或多个协议终结器/仿真器,其用于与所述通信协议或套接字一起使用;以及入站套接字配置和出站套接字配置,其一起指示通信量引导器在将请求传送给源服务器中的特定源服务器时应使用哪个终结器/仿真器。
根据实施例,源服务器池被配置为:该池内的服务器中的至少一个或多个被分配为主服务器,并且该池内的服务器中的至少一个或多个其他服务器被分配为备用服务器。通信量引导器被配置为:它确定池中的主服务器的可用性,并且在池包括足够数量的可用主服务器时,将请求仅引导到主服务器。
根据实施例,通信量引导器处的通信量监视器监视通信量引导器实例与源服务器内的资源服务器中的一个或多个之间的通信量,包括连接的数量。通信量引导器可以设置控制通信量(包括连接的数量)的通信量速率,以提供过载保护或速率加速/减速。
根据实施例,健康检查子系统周期性地检查其配置的资源服务器的健康,并且还通过下述方式来尝试检测一个或多个池中的变化,即,将请求发送给被配置为池内的源服务器的任何新的服务器实例,接收适当的响应,并相应地更新配置。
根据实施例,所述系统包括:高速网络基础设施,其提供用于供源服务器在接收请求时使用的通信协议或套接字;一个或多个协议终结器/仿真器,其用于与所述通信协议或套接字一起使用;以及入站套接字配置和出站套接字配置,其一起指示通信量引导器在将请求传送给源服务器中的特定源服务器时应使用哪个终结器/仿真器。
根据实施例,通信量引导器可以被配置为:对存储在其高速缓存中的数据进行压缩,并且通过将来自源服务器的内容作为压缩数据提供,或者如果特定客户端优选接收该数据的非压缩版本,则通过在提供该数据之前动态地对该数据进行解压缩,来对来自客户端的请求做出响应。根据实施例,通信量引导器可以被配置为使用硬件辅助的压缩基元(primitive),以进一步改进其数据压缩和解压缩的性能。
附图说明
图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服务器、多媒体服务器、应用服务器、数据库服务器以及其他类型的资源。
根据实施例,通信量引导器可以执行诸如以下的任务:基于一种或多种负载均衡方法来将请求分发给源服务器;基于指定的规则对请求进行路由;高速缓存被频繁访问的数据;对通信量进行优先级排序;以及控制服务的质量。
从性能的角度来讲,根据实施例,通信量引导器可以包括使得它能够以低延迟处理大量通信量的架构。例如,可以针对用于在高性能计算环境(诸如,例如Oracle ExalogicElastic Cloud)内使用来对实施例进行优化,或者对实施例进行优化以与在使用高性能通信结构(诸如,例如InfiniBand)的后端的源服务器进行通信。根据实施例,为了支持高可用性,通信量引导器可以识别提供主动-被动或主动-主动故障转移的通信量引导器实例的故障转移组。当到网络的通信量的量增加时,可以通过重新配置通信量引导器与它可以将请求路由到其的附加的后端服务器、或者通过修改传送通信量的速率,来缩放通信量引导器环境。
从管理的角度来讲,根据实施例,通信量引导器被设计为容易安装、配置和使用;并且可以包括用于供管理员在管理通信量引导器实例时使用的简单的、向导(wizard)驱动的图形界面、以及鲁棒的命令行接口。对于任何特定组织,根据他们的业务要求,可以改变通信量引导器拓扑来解决他们的需要,所述业务要求诸如他们想使用通信量引导器来均衡对于其的请求的后端应用程序的数量、他们的内部要求(诸如安全性)、以及他们希望使用的通信量引导器特征。例如,简单的通信量引导器拓扑可以一开始利用在专用计算机节点上运行的、将客户端请求分发给后端的服务器池的单个通信量引导器实例。为了避免单个故障点,管理员可以配置在不同节点上运行的、形成主动-被动故障转移对的两个同源通信量引导器实例。为了改进资源利用率,管理员可以用两个虚拟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中所示的例子中,通信量引导器与两个池一起使用,这两个池包括(第一)应用服务器池170和(第二)web服务器池180,(第一)应用服务器池170具有在这里被指示为A172、B174、C176、D178的四个应用服务器,(第二)web服务器池180具有在这里被指示为A182、B184、C186的三个web服务器。根据其他实施例和例子,根据组织的特定需要,可以使用其他类型和数量的服务器池。
在图2中所示的例子中,拓扑包括两个通信量引导器实例(102和104),这两个通信量引导器实例形成主动-被动故障转移组150,并且包括用于接收客户端请求的单个虚拟IP地址190。当主动实例(在这个例子中,实例102)接收请求190、192、194时,它确定应向其发送该请求的服务器池,并基于被指定用于该池的负载分发方法将请求197、198转发给该池中的服务器之一。
尽管图2中所示的例子例示了后端的两个服务器池的使用,但是管理员可以将通信量引导器配置为将请求路由到多个池中的服务器。在图2中所示的主动-被动设置中,故障转移组中的一个节点在任何时间点都是冗余的。根据实施例,为了改进资源利用率,管理员可以用两个虚拟IP地址将这两个通信量引导器实例配置为主动-主动模式;在这种情况下,每个实例满足在一个虚拟IP地址上接收的请求,并作为另一实例的备用。
图3例示根据实施例的通信量引导器架构。根据实施例,通信量引导器可以包括使得它能够以低延迟处理大量通信量的架构。实施例还可以针对用于在高性能计算环境内使用进行优化,或者还可以被优化以通过使用高性能通信结构与后端的源服务器进行通信。
如图3中所示,根据实施例,通信量引导器可以包括一个或多个Netscape便携式运行时(NSPR)202和网络安全服务(NSS)206层。根据实施例,通信量引导器还可以包括HTTP引擎210和反向代理组件230,HTTP引擎210具有一个或多个接入控制212、日志记录214、HTTP压缩216、I/O过滤器218、错误处理220、速率整形222、入侵检测224或其他组件,反向代理组件230具有一个或多个http客户端232、响应客户端234、健康检查236、路由策略238、负载控制240、负载均衡器244、WLS支持246、粘性路由248或其他组件。根据实施例,通信量引导器还可以包括HTTP连接处理程序250,其具有一个或多个接受器线程252、工作线程254、维继线程256或其他组件。根据实施例,通信量引导器还可以包括TCP连接处理程序260,其具有一个或多个TCP线程262、负载均衡器264或其他组件。根据实施例,通信量引导器还可以包括一个或多个事件调度表270、动态配置272、监视274或其他组件。
将显而易见的是,根据其他实施例,可以使用另外的和/或不同的组件。
图4例示根据实施例的通信量引导器管理环境和接口。从管理的角度来讲,通信量引导器被设计为容易安装、配置和使用;并且可以包括用于供管理员在管理通信量引导器实例时使用的简单的、向导驱动的图形界面、以及鲁棒的命令行接口。如图4中所示,根据实施例,通信量引导器可以包括一个或多个通信量引导器实例280、281、282,其中,这些实例中的至少一个被指定为管理服务器(280),而其他实例则被指定为管理节点(281、282)。
根据实施例,管理环境284包括使得管理员290能够配置或以其他方式管理292通信量引导器或其实例294、296的管理接口285,管理接口285又包括管理控制台(GUI)286和/或命令行接口288中的一个或多个。
主动-被动路由
在一些主动/被动路由方法中,负载均衡器保持第一服务器集群作为主(即,主动)集群、另一服务器集群作为备用(即,被动)集群。这对于灾难恢复情况是有用的,由此,当主数据中心发生故障时,自动地将通信量路由到备用数据中心。根据实施例,通信量引导器采取具有细微差别的方法,通过该方法,通信量引导器仅在所有主动节点都发生故障之后才挑选备用节点。
根据实施例,在服务器池内,源服务器中的一些可以被指定为主服务器,而其他则被指定为备用服务器。如果至少一个主服务器是可用的,则通信量引导器将仅将请求路由到非备用服务器(即,主服务器)。然而,如果主服务器均不可用,则通信量引导器将将请求路由到池中的备用服务器。一旦任何主服务器再次变得可用,通信量引导器就将停止将请求发送到备用服务器,并且将将后面的请求路由到主服务器。
图5例示根据实施例的通信量引导器中的主动/被动路由的使用。如图5中所示,主动/被动环境可以包括在将请求路由到源服务器346时使用的通信量引导器340,其具有一个或多个通信量引导器实例342。源服务器可以被配置为一个或多个服务器池(这里被示为池A348和池B354),每个池具有一个或多个主服务器350、357以及一个或多个备用服务器356、358。
如图5中所示,通信量引导器可以被配置为:对于任何特定池(例如,池A),最初,如果在该池中至少一个主服务器是可用的,则通信量引导器将仅将请求344路由到非备用服务器(即,主服务器),并且将不将请求路由到备用服务器(这里为了例示将备用服务器加上了阴影)。
根据实施例,在一时间段之后,尽管一个或多个主服务器可能由于故障而变得不可用,但是如果至少一个主服务器是可用的,则通信量引导器将继续仅将请求路由360到该池中的主服务器。
在另一时间段之后,根据实施例,如果池中的所有主服务器都变得不可用,则通信量引导器将改为将请求路由364到池中的备用服务器。
图6进一步例示根据实施例的通信量引导器中的主动/被动路由的使用。如图6中所示,如果池中的所有主服务器都仍不可用,则通信量引导器将继续将请求路由366到池中的备用服务器。
当主服务器再次可用时,根据配置,通信量服务器可以在开始将通信量转发给(新的或现在可用的)主服务器之前延迟一时间段。在这种情况下,通信量引导器将继续370在一时间段内将请求路由到备用服务器,并且仍还不将请求路由到主服务器(这里为了例示将主服务器加上了阴影)。
随后,一旦至少一个主服务器再次完全可用,如果至少一个主服务器是可用的,则通信量引导器将再次仅将请求路由374到非备用服务器(即,主服务器),并且将不把请求路由到备用服务器。
根据实施例,在配置粘性路由的情况下,如果主服务器变得不可用,则粘到该服务器的所有后面的请求将不被拒绝,但是将被路由到其他主服务器,或者如果主服务器均不可用,则将被路由到备用服务器。因为转变源服务器可能不具有针对粘性请求存储的会话信息,所以这些会话在这种情况下将可能失败。然而,新的服务服务器可以质询发送方,并为这些粘性请求建立新的会话。仅当所有主服务器都不可用时,才将备用服务器用于路由。
根据实施例,为了配置用于与通信量引导器一起使用的主动/被动路由,可以在用于指定备用服务器的server.xml文件中的元素<origin-server>中添加被称为“backup-server”的元素,分别在表1和列表1中提供了该元素的参数和例子。
表1
列表1
图7是根据实施例的用于提供通信量引导器中的主动/被动路由的方法的流程图。如图7中所示,在步骤380,提供通信量引导器环境,其包括具有一个或多个通信量引导器实例的通信量引导器、以及具有一个或多个服务器池的源服务器。在步骤382,在主动/被动配置中,将一个或多个主服务器和一个或多个备用服务器分配给池。在步骤384,通信量引导器确定池中的主服务器的可用性,并且在池包括足够数量的可用主服务器时,仅将请求引导到主服务器。根据实施例,如果至少一个主服务器是可用的,则通信量引导器将仅将请求路由到非备用服务器(即,主服务器)。在步骤386,如果在池中存在的主服务器的数量不足(根据实施例,少于1个,即,没有主服务器),则通信量引导器将将请求引导到池中的备用服务器,直到主服务器的数量再次变得可用为止。此时,根据配置,在池包括足够数量的服务器时,通信量引导器可以再次仅将请求引导到主服务器。
过载保护
负载均衡器可以帮助防止否则将由例如到源服务器的通信量的意外过载而引起的服务器停用。根据实施例,通信量引导器通过监视到源服务器的通信量并且在必要时对连接进行排队以使得通信量不超过某些过载限制,来提供智能形式的过载保护。
根据实施例,当启用过载保护时,通信量引导器将不打开比所配置的能力更多的与服务器的并行连接。这个限制或最大能力可以由元素<max-connections>指定。如果源服务器达到其最大连接能力,则要求新连接的请求都将不被路由到该服务器,直到其现有连接中的一些已经被释放为止。如果所有的源服务器都已经达到它们的连接能力,则随后的需要新连接的请求将被拒绝,并且发送错误消息。
图8例示根据实施例的通信量引导器中的过载保护的使用。如图8中所示,提供通信量引导器环境,其包括具有一个或多个通信量引导器实例402的通信量引导器400、以及具有一个或多个服务器池422的源服务器420。每个服务器池可以包括一个或多个资源服务器424。
根据实施例,通信量引导器包括通信量监视器406,其使得通信量引导器能够监视通信量引导器实例与源服务器内的资源服务器中的一个或多个之间的通信量,包括连接406的数量。根据实施例,通信量引导器还包括可以用于对连接进行排队的连接队列408。
在操作期间,在来自客户端的请求被传送到源服务器时,通信量监视器接收描述引导器与资源服务器之间的通信量(包括连接的数量)的反馈430。如果通信量监视器确定引导器与特定资源服务器之间的通信量(包括连接的数量)超过对于该资源服务器允许的最大量,则通信量引导器可以临时将随后的通信量和连接远离资源服务器引导到连接队列434,这具有临时减少或限制436流到该资源服务器的通信量的效果。
根据实施例,通信量引导器可以可选地将信息消息442提供440给例如日志文件或管理员,以向它们通知通信量过载,并采取行动。通信量监视器可以继续监视到源服务器的通信量/连接,以用于随后在必要时对连接队列进行调整。
速率整形(加速/减速)
根据实施例,与压制具有大规模通信量的那些服务器相反,通信量引导器还通过逐渐地加速到新添加的服务器的通信量来支持请求速率加速,这使得可以舒缓地将服务器添加到源服务器池。请求速率加速度是自适应的,因为它可以合并若干个动态监视参数,诸如主动连接或当前负载的数量、源服务器的连接或能力的最大数。还可以将该特征扩展到提供请求速率减速,由此通信量引导器可以有效地缓降针对源服务器的通信量,以使得当其通信量例如出于定期维护的目的而完全停顿时,管理员可以使它离线。速率加速和减速两者可以一起用于对到源服务器的通信量的速率进行整形。
根据实施例,当源服务器在线时,通信量引导器将不立即以其全能力将请求发送到服务器,而是将在一时间段期间逐渐地提高发送速率。这可以提供几个益处:例如,当源服务器正在启动时,它将需要某一时间段来加载数据并分配各种资源;在这个热启动处理期间,源服务器的响应时间可能是缓慢的,并且将大量请求发送到服务器将使服务器性能甚至更加糟糕,并且可能引起服务器的意外行为。另外,如果源服务器有问题,则它可能未能对请求中的一些或大多数做出响应,并且其状态可能频繁地在“启动”和“停机”状态之间变化;对于这样的服务器,更好地不是在其“启动”状态开始时将许多请求发送给它。此外,如果使用负载均衡算法,诸如最小连接计数,则通信量引导器可以将许多请求发送到新的服务器,并且可以在开始时使服务器溢出,因为新的服务器的连接计数将为零;速率加速可以缓解这个问题。
根据实施例,通信量引导器将逐渐地提高到新的服务器的通信量速率,直到速率达到该服务器的配置的最大速率(最大连接)为止。速率加速可以经由连接能力调整来实现,并且能力的调整可以基于时间(即,按照每单位时间的固定值提高连接能力)、或者基于窗口(即,在它接收到某一数量的响应之后将连接能力增加一个值)。
图9例示根据实施例的通信量引导器中的速率加速的使用。如图9中所示,再次提供通信量引导器环境,其包括具有一个或多个通信量引导器实例452的通信量引导器450、以及具有一个或多个服务器池472的源服务器470。每个服务器池可以包括一个或多个(现有)资源服务器474。通信量引导器再次包括通信量监视器454,其使得通信量引导器能够监视通信量引导器实例与源服务器内的资源服务器中的一个或多个之间的通信量,包括连接456的数量。
根据实施例,通信量引导器可以设置通信量速率458,其一开始控制通信量引导器实例与源服务器内的一个或多个(现有)资源服务器之间的通信量,包括连接476的数量。
随后,如果通信量监视器确定在源服务器内存在481通信量引导器可以将通信量引导到其的另外的(新的)资源服务器480,则通信量监视器可以在逐渐地对通信量速率484进行整形或调整以引导通信量引导器实例与那些新的资源服务器486之间的通信量/连接之前等待一时间段,在一些实例中,使通信量保持为其初始速率482。
请求速率整形(加速/减速)不同于早先描述的过载保护特征——尽管两种机制都可以用于限制请求通信量,但是它们是基于不同的标准;具体地,速率整形基于请求性质来采取限制动作,而过载保护主要是基于到源服务器的并行连接的量。
根据实施例,可以使用用于连接能力调整的基于时间的方法和被称为“斜升时间(ramp-up-time)”的配置参数,该配置参数指定通信量引导器花费多久使发送速率斜升到服务器的配置能力:Adjusted-Connection-Capacity=MAX{(max-connections*MIN{1,server-up-time/ramp-up-time}),1}
当启用请求速率加速时,通信量引导器可以使用调整后的能力,而不是配置的硬限制(最大连接)来进行路由决定。如上所述,如果所有服务器都已经达到它们的调整后的连接能力,则新的请求将被拒绝。
根据实施例,为了配置用于与通信量引导器一起使用的过载保护和请求速率加速,可以在用于所需资源服务器的server.xml文件中的元素<origin-server>中添加被称为“max-connections”和“ramp-up-time”的元素,分别在表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响应标头的响应时,通信量引导器将首先使用散列值响应标头来确定集群是否已经被修改,如果如此,则将对其余的响应标头进行解析以确定关于该集群中的新添加的WebLogic服务器的JVMID、端口和附加信息,然后将这些服务器添加到服务器池,所述其余的响应标头例如:
x-weblogic-cluster-list;JVMID\!dns/hex-ip\!port\!https-port|JVMID\!dns/hex-ip\!port\!https-port
接着,通信量引导器使用来自源服务器的响应中的信息来更新其关于所发现的受管理服务器的配置。根据实施例,动态发现的源服务器继承所有的性质,例如,对于所配置的源服务器指定的权重或最大连接。
随后,每隔对源服务器池配置的周期性健康检查间隔,通信量引导器通过将动态发现的健康检查请求发送给池中被配置为源服务器的那些WebLogic服务器实例来尝试检测集群中的变化。如果响应指示自从前一次健康检查以来集群中有变化(诸如移除或添加受管理的服务器),则通信量引导器将用新的一组动态发现的源服务器来更新配置。
尽管以上描述使用WebLogic作为例示,但是根据其他实施例,可以使用类似的技术来发现服务器池内的其他类型的受支持的/识别的源服务器。动态发现的源服务器不被永久地存储在实例的配置的源服务器池定义中。就这点而论,当重新启动通信量引导器实例时,该实例的动态发现处理重新开始。
根据实施例,默认情况下,不启用动态发现特征。管理员可以通过使用管理控制台或命令行接口(CLI)来启用动态发现。当源服务器池被修改(这实际上是修改配置)时,为了使任何更新的源服务器池设置生效,应重新部署相应的配置。
图12例示根据实施例的通信量引导器中的源服务器的动态发现。如图12中所示,管理员290可以使用管理接口285来与通信量引导器600交互292并且管理通信量引导器600,管理接口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的性质(与所配置的资源服务器A的性质相同)。
随后,如果通信量引导器通过随后的健康检查625、626检测到池中的进一步变化,诸如新的资源服务器C624,则通信量引导器可以类似地将资源服务器C配置为源服务器,以使得其性质627也继承所配置的资源服务器A的性质(与所配置的资源服务器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结构的例子包括通过InfiniBand的互联网协议(IPoIB)和套接字直接协议(SDP)。
IPoIB协议用作InfiniBand层的顶部的接口,并且使得基于套接字的应用程序可以利用主机的TCP/IP协议堆栈,该TCP/IP协议堆栈然后被以对于该应用程序透明的方式转换为本机InfiniBand。SDP协议是基于套接字的接口的优化,并且使得所述系统可以绕过TCP/IP堆栈,改为通过在保持现有TCP流套接字语义的同时使用远程直存储器访问(RDMA)操作来将基于套接字的包直接转换为InfiniBand层。SDP协议具有绕过支持IPoIB必需的几个软件层的优点,这继而导致具有比IPoIB更好的延迟和吞吐量的SDP。
根据实施例,通信量引导器可以终止作为入站连接的入站(例如,通过IB仿真的以太网通信量(EoIB)),并且可以通过使用诸如IPoIB或SDP的协议作为出站连接的InfiniBand网络与源服务器进行通信。通信量引导器的集成的HTTP高速缓存和压缩能力使得特别适合于高性能计算环境(诸如Exalogic)的可变的入口和出口带宽要求。
图16例示根据实施例的通信量引导器的使用。如图16中所示,可以与具有高速InfiniBand网络基础设施682的高性能计算环境(诸如中间件机器(例如,Exalogic)680)组合使用具有一个或多个通信量引导器实例672的通信量引导器670。
根据实施例,通信量引导器包括一个或多个协议终结器/仿真器674(例如,一个或多个IPoIB和/或SDP终结器/仿真器)、入站套接字配置676、以及出站套接字配置677。源服务器683可以被提供为一个或多个服务器池684、685,其中,每个服务器池包括一个或多个资源服务器686、688。根据组织的特定需要,每个服务器池可以被配置为使用池内的那些源服务器将通过其从通信量引导器接收请求的通信协议/套接字(诸如传统的Inet套接字)或高速协议(诸如IPoIB或SDP)。在图16中所示的例子中,服务器池684中的源服务器被配置为使用SDP687,而服务器池685中的源服务器被配置为使用Inet689。根据其他实施例和例子,可以使用其他类型的协议/套接字。
当接收到针对特定源服务器的请求690时,通信量引导器使用其配置来确定适当的终结器/仿真器,并将请求692传送到高速InfiniBand网络基础设施,以用于通过其配置的协议/套接字693传送到源服务器。
根据实施例,为了配置入站连接,可以在server.xml文件中提供http监听器配置,分别在表4和列表4中提供了http监听器配置的参数和例子。
表4
列表4
根据实施例,为了配置出站连接,可以在server.xml文件中提供http协议配置,分别在表5和列表5中提供了http协议配置的参数和例子。在反向代理元素下,可以提供服务器池的列表,其中每个是源服务器池的定义。每个服务器池又可以包含多个源服务器元素。族元素指示用于连接到源服务器的套接字族。根据实施例,可能的值包括例如默认、Inet、Inet6或inet-SDP套接字。
表5
列表5
图17是根据实施例的使用通信量引导器的方法的流程图。如图17中所示,在步骤694,提供通信量引导器环境,其包括具有一个或多个通信量引导器实例的通信量引导器、以及具有一个或多个服务器池的源服务器。在步骤695,将一个或多个源服务器部署到具有高速(例如,InfiniBand)网络的高性能计算环境,诸如中间件机器(例如,Exalogic)。在步骤697,用一个或多个入站连接和出站连接以及用于与高速网络进行通信的协议终结器/仿真器来配置通信量引导器。在步骤698,通信量引导器终止入站(例如,EoIB)连接,并使用所配置的出站连接和终结器/仿真器将来自客户端的请求传送到源服务器。
动态高速缓存数据解压缩
根据实施例,通信量引导器可以被配置为通过将来自源服务器的内容作为压缩数据提供,或者如果特定客户端优选接收数据的非压缩变型的话则通过在提供该数据之前动态地对该数据进行解压缩,来对来自客户端的请求做出响应。
根据实施例,可以例如通过使用提供灵活性和互操作性的HTTP标头来在初始客户端请求中提供关于是提供压缩格式的数据、还是提供解压缩格式的数据的确定。这样的数据的压缩和解压缩可以被配置为与通信量引导器的内置HTTP高速缓存功能一起工作。
图18例示根据实施例的通信量引导器环境中的动态HTTP解压缩的使用。如图18中所示,根据实施例,通信量引导器900可以包括用于将客户端请求分发给源服务器910(包括资源服务器914的一个或多个池912)的一个或多个通信量引导器实例902。
根据实施例,通信量引导器包括可以被启用与源服务器中的一个或多个一起使用的高速缓存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 TrafficDirector环境的上下文下的特征,但是所描述的特征还可以用在其他计算环境的上下文下。许多修改和变型对于本领域的熟练从业者将是显而易见的。为了最佳地说明本发明的原理及其实际应用,选择并描述了实施例,从而使得本领域的其他技术人员能够针对各种实施例以及在适合于所设想的特定用途的各种修改的情况下理解本发明。意图是本发明的范围由权利要求书及其等同形式限定。

Claims (13)

1.一种通信量引导器,其从客户端接收请求并且将请求传送给多个源服务器池,每个源服务器池具有多个源服务器,所述通信量引导器包括:
配置模块,其存储有关所述多个源服务器池以及所述多个源服务器池的所述多个源服务器的信息;
HTTP连接处理模块,其接收来自所述客户端的HTTP请求;
HTTP引擎,其从所述HTTP连接处理模块接收所述HTTP请求;
所述HTTP引擎中的反向代理模块,其从所述多个源服务器池中选择所述请求应当被引导到的池并将所述请求转发给所述池中的所述多个源服务器中的一个或更多个源服务器;以及
所述反向代理模块中的健康检查子系统,其被配置为:
周期性地向所述多个源服务器池的所述多个源服务器中的每个源服务器发送HTTP健康检查请求;
从所述多个源服务器池的所述多个源服务器中的每个源服务器接收HTTP健康检查响应;
分析所述HTTP健康检查响应来确定是否任何新的服务器实例已经被配置为所述多个源服务器池中的源服务器,以及
如果所述HTTP健康检查响应指示新的服务器实例已经被配置为所述多个源服务器池中的源服务器,则自动更新所述配置模块以包括所述新的服务器实例。
2.根据权利要求1所述的通信量引导器,其中,所述健康检查子系统被配置为通过如下方式来分析所述HTTP健康检查响应:
分析所述HTTP健康检查响应中的散列值来确定源服务器池是否已经被修改,以及
如果所述源服务器池已经被修改,则解析所述HTTP健康检查响应来识别所述池中的任何新的服务器实例。
3.根据权利要求1所述的通信量引导器,其中,所述健康检查子系统被配置为使得自动更新所述配置模块以包括所述新的服务器实例包括以下中的至少一者:
从与所述新的服务器实例相同的源服务器池中的源服务器继承用于所述新的服务器实例的属性;
向所述新的服务器实例指派负载权重属性,其中,所述负载权重属性被所述通信量引导器用于控制到所述新的服务器实例的进入请求负载;
向所述新的服务器实例指派斜升属性,其中,所述斜升属性被所述通信量引导器用于延迟将进入请求负载施加到所述新的服务器实例;以及
向所述新的服务器实例指派备用属性,其中,所述备用属性指示所述通信量引导器将不会将请求路由到所述新的服务器实例,除非包含所述新的服务器实例的所述源服务器池中的未被指示为备用的所有其它源服务器都被标记为离线。
4.根据权利要求1所述的通信量引导器,其中,所述多个源服务器中的一个或更多个源服务器是WebLogic服务器,并且其中,每个WebLogic服务器能响应于健康检查请求而提供WebLogic特定的响应标头。
5.根据权利要求1所述的通信量引导器,其中所述配置模块被配置为由管理用户修改。
6.根据权利要求1所述的通信量引导器,还包括管理接口,所述管理接口被配置为允许管理用户启用所述多个源服务器池中的新的服务器实例的动态发现。
7.一种用于通信量引导器的方法,所述通信量引导器从客户端接收请求并且将请求传送给多个源服务器池,每个源服务器池具有多个源服务器,所述方法包括:
经由配置模块存储有关所述多个源服务器池以及所述多个源服务器池的所述多个源服务器的信息;
经由HTTP连接处理模块接收来自所述客户端的HTTP请求;
经由HTTP引擎从所述HTTP连接处理模块接收所述HTTP请求;
经由所述HTTP引擎中的反向代理模块从所述多个源服务器池中选择所述请求应当被引导到的池并将所述请求转发给所述池中的所述多个源服务器中的一个或更多个源服务器;
经由所述反向代理模块中的健康检查子系统:
周期性地从健康检查子系统向所述多个源服务器池的所述多个源服务器中的每个源服务器发送HTTP健康检查请求;
从所述多个源服务器池的所述多个源服务器中的每个源服务器接收HTTP健康检查响应;
分析所述HTTP健康检查响应来确定是否任何新的服务器实例已经被配置为所述多个源服务器池中的源服务器,以及
如果所述HTTP健康检查响应指示新的服务器实例已经被配置为所述多个源服务器池中的源服务器,则自动更新所述配置模块以包括所述新的服务器实例。
8.根据权利要求7所述的方法,其中,分析所述HTTP健康检查响应包括:
分析所述HTTP健康检查响应中的散列值来确定源服务器池是否已经被修改,以及
如果所述源服务器池已经被修改,则解析所述HTTP健康检查响应来识别所述池中的任何新的服务器实例。
9.根据权利要求7所述的方法,其中,自动更新所述配置模块以包括所述新的服务器实例包括以下中的至少一者:
从与所述新的服务器实例相同的源服务器池中的源服务器继承用于所述新的服务器实例的属性;
向所述新的服务器实例指派负载权重属性,其中,所述负载权重属性被所述通信量引导器用于控制到所述新的服务器实例的进入请求负载;
向所述新的服务器实例指派斜升属性,其中,所述斜升属性被所述通信量引导器用于延迟将进入请求负载施加到所述新的服务器实例;以及
向所述新的服务器实例指派备用属性,其中,所述备用属性指示所述通信量引导器将不会将请求路由到所述新的服务器实例,除非包含所述新的服务器实例的所述源服务器池中的未被指示为备用的所有其它源服务器都被标记为离线。
10.根据权利要求7所述的方法,其中,所述多个源服务器中的一个或更多个是WebLogic服务器,并且其中,每个WebLogic服务器响应于健康检查请求来提供WebLogic特定的响应标头。
11.根据权利要求7所述的方法,还包括:允许管理用户修改所述配置模块。
12.根据权利要求7所述的方法,还包括:经由管理接口允许管理用户启用所述多个源服务器池中的新的服务器实例的动态发现。
13.一种用于通信量引导器的设备,所述通信量引导器从客户端接收请求并且将请求传送给多个源服务器池,每个源服务器池具有多个源服务器,所述设备包括实现权利要求7-12中任一项所述的方法的装置。
CN201280047085.8A 2011-09-27 2012-09-26 用于通信量引导器环境中的资源服务器的动态发现和配置的系统和方法 Active CN103858157B (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,530 2012-08-31
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,087 2012-08-31
US13/601,632 2012-08-31
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/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,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/625,716 US9652293B2 (en) 2011-09-27 2012-09-24 System and method for dynamic cache data decompression in a traffic director environment
US13/625,716 2012-09-24
PCT/US2012/057373 WO2013049236A1 (en) 2011-09-27 2012-09-26 System and method for dynamic discovery and configuration of resource servers in a traffic director environment

Publications (2)

Publication Number Publication Date
CN103858157A CN103858157A (zh) 2014-06-11
CN103858157B true CN103858157B (zh) 2017-02-15

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 Before (2)

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 用于流量引导器环境中的流量的主动‑被动路由和控制的系统和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201280047076.9A Active CN103858104B (zh) 2011-09-27 2012-09-27 管理含GUI导航、属性表和Tab自动完成的服务器配置的系统和方法

Country Status (6)

Country Link
US (9) US8914521B2 (zh)
EP (4) EP2761450B1 (zh)
JP (9) JP6495010B2 (zh)
CN (4) CN103827828B (zh)
IN (1) IN2014CN01324A (zh)
WO (4) WO2013049233A2 (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
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
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
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
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
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
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
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
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US9003035B1 (en) 2010-09-28 2015-04-07 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 中兴通讯股份有限公司 一种业务节点及业务节点间用户协议消息同步的方法
US8914521B2 (en) * 2011-09-27 2014-12-16 Oracle International Corporation System and method for providing active-passive routing 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
CN108027805B (zh) * 2012-09-25 2021-12-21 A10网络股份有限公司 数据网络中的负载分发
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
US8667075B1 (en) * 2013-04-15 2014-03-04 Upfront Media Group, Inc. System and method for implementing a subscription-based social media platform
US8769031B1 (en) 2013-04-15 2014-07-01 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 山东中创软件工程股份有限公司 基于图形用户界面的负载均衡器的管理方法及装置
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10033627B1 (en) 2014-12-18 2018-07-24 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 日本電信電話株式会社 死活監視装置、死活監視システム、死活監視方法、及び死活監視方法プログラム
US9386006B1 (en) 2015-03-02 2016-07-05 Citrix Systems, Inc. Authentication mechanism for domain redirection of a representational state transfer (REST)-compliant client
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
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9887932B1 (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
US9887931B1 (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
WO2016183564A1 (en) 2015-05-14 2016-11-17 Walleye Software, LLC Data store access permission system with interleaved application of deferred access control filters
US10848574B2 (en) 2015-06-11 2020-11-24 Microsoft Technology Licensing, Llc Computing resource management system
US20160366246A1 (en) * 2015-06-11 2016-12-15 Microsoft Technology Licensing, Llc Computing resource deployment 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 キヤノン株式会社 サーバシステム、サーバシステムを制御する方法およびプログラム。
US11283900B2 (en) 2016-02-08 2022-03-22 Microstrategy Incorporated Enterprise performance and capacity testing
US10440153B1 (en) 2016-02-08 2019-10-08 Microstrategy Incorporated Enterprise health score and data migration
CN107181636B (zh) * 2016-03-10 2020-09-11 阿里巴巴集团控股有限公司 一种负载均衡系统中的健康检查方法及装置
CN107343012B (zh) 2016-04-28 2019-12-03 杭州海康威视数字技术股份有限公司 视频存储系统及其视频数据发送方法
US10512053B2 (en) * 2016-05-10 2019-12-17 Servicenow, Inc. System and method for selectively hibernating and restarting a node of an application instance
US20170331960A1 (en) * 2016-05-10 2017-11-16 Global Tel*Link Corp. Inmate voice and video call rating system and method
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
US10469513B2 (en) 2016-10-05 2019-11-05 Amazon Technologies, Inc. Encrypted network addresses
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
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
US10104710B1 (en) 2017-06-19 2018-10-16 Global Tel*Link Corporation Dual mode transmission in a controlled environment
US10333870B2 (en) 2017-07-06 2019-06-25 Global Tel*Link Corporation Presence-based communications in a controlled environment
US10866943B1 (en) 2017-08-24 2020-12-15 Deephaven Data Labs Llc Keyed row selection
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
CN107656810B (zh) * 2017-08-29 2021-01-08 山东师范大学 数据中心环境下保证延迟敏感程序服务质量的方法
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
US11210189B2 (en) 2019-08-30 2021-12-28 Microstrategy Incorporated Monitoring performance of computing systems
US11507295B2 (en) * 2019-08-30 2022-11-22 Microstrategy Incorporated Backup, restoration, and migration of computer 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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1251669A (zh) * 1997-03-21 2000-04-26 思维媒体公司 跟踪客户端与网络资源交互并创建客户端配置和资源数据库的方法和设备
EP1134658A2 (en) * 2000-03-14 2001-09-19 Sun Microsystems, Inc. A system and method for comprehensive availability management in a high-availability computer system
CN1285055C (zh) * 2000-07-17 2006-11-15 蚬壳星盈科技有限公司 用于动态配置服务器场的方法和系统
CN101346972A (zh) * 2005-12-22 2009-01-14 国际商业机器公司 用于收集数据以便特征化http会话工作负荷的方法和装置

Family Cites Families (123)

* 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 日本電気通信システム株式会社 情報処理装置のマイクロ診断方式
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
WO2001063485A2 (en) 2000-02-24 2001-08-30 Transfinity Corporation 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
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
US6658000B1 (en) 2000-06-01 2003-12-02 Aerocast.Com, Inc. Selective routing
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
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 クライアントサーバシステム、中継サーバ、接続先サーバの決定方法
US20020143965A1 (en) 2001-04-03 2002-10-03 International Business Machines Corporation Server application initiated affinity within networks performing workload balancing
US20020143953A1 (en) 2001-04-03 2002-10-03 International Business Machines Corporation Automatic 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
EP1402692A4 (en) 2001-06-04 2005-06-15 Nct Group Inc SYSTEM AND METHOD FOR INCREASING THE EFFECTIVE BANDWIDTH OF A COMMUNICATION 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
US7360121B2 (en) 2002-02-22 2008-04-15 Bea Systems, Inc. System for monitoring a subsystem health
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
US7395355B2 (en) 2002-07-11 2008-07-01 Akamai Technologies, Inc. Method for caching and delivery of compressed content in a content delivery network
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
WO2005017783A2 (en) * 2003-08-14 2005-02-24 Oracle International Corporation Hierarchical management of the dynamic allocation of resourses in a multi-node system
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
WO2005122523A1 (en) 2004-06-07 2005-12-22 Nokia Corporation 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
CN101346696B (zh) 2005-12-28 2013-10-02 国际商业机器公司 负荷分散型客户机服务器系统及负荷分散方法
US7979733B2 (en) * 2005-12-30 2011-07-12 Sap Ag Health check monitoring process
JP4715920B2 (ja) 2006-03-29 2011-07-06 富士通株式会社 設定方法および管理装置
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
US7865585B2 (en) 2007-03-12 2011-01-04 Citrix Systems, Inc. Systems and methods for providing dynamic ad hoc proxy-cache hierarchies
US7619545B2 (en) 2007-03-12 2009-11-17 Citrix Systems, Inc. Systems and methods of using application and protocol specific parsing for compression
JP5246157B2 (ja) 2007-04-04 2013-07-24 富士通株式会社 負荷分散システム
US7809820B2 (en) 2007-07-17 2010-10-05 Microsoft Corporation Optimizing encrypted wide area network traffic
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
US20110122893A1 (en) 2008-07-30 2011-05-26 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
US8914521B2 (en) * 2011-09-27 2014-12-16 Oracle International Corporation System and method for providing active-passive routing in a traffic director environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1251669A (zh) * 1997-03-21 2000-04-26 思维媒体公司 跟踪客户端与网络资源交互并创建客户端配置和资源数据库的方法和设备
EP1134658A2 (en) * 2000-03-14 2001-09-19 Sun Microsystems, Inc. A system and method for comprehensive availability management in a high-availability computer system
CN1285055C (zh) * 2000-07-17 2006-11-15 蚬壳星盈科技有限公司 用于动态配置服务器场的方法和系统
CN101346972A (zh) * 2005-12-22 2009-01-14 国际商业机器公司 用于收集数据以便特征化http会话工作负荷的方法和装置

Also Published As

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

Similar Documents

Publication Publication Date Title
CN103858157B (zh) 用于通信量引导器环境中的资源服务器的动态发现和配置的系统和方法
US10411956B2 (en) Enabling planned upgrade/downgrade of network devices without impacting network sessions
US10491523B2 (en) Load distribution in data networks
US20230069240A1 (en) Dynamic cloning of application infrastructures
CN108234208A (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