CN103858157B - 用于通信量引导器环境中的资源服务器的动态发现和配置的系统和方法 - Google Patents
用于通信量引导器环境中的资源服务器的动态发现和配置的系统和方法 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2041—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/274—Converting codes to words; Guess-ahead of partial word inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
- G06F9/45512—Command shells
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0853—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3409—Recording 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/3433—Recording 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/86—Event-based monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/10015—Access to distributed or replicated servers, e.g. using brokers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1034—Reaction 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中任一项所述的方法的装置。
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)
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)
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)
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 |
-
2012
- 2012-08-31 US US13/601,087 patent/US8914521B2/en active Active
- 2012-08-31 US US13/601,663 patent/US9069617B2/en active Active
- 2012-08-31 US US13/601,632 patent/US9128764B2/en active Active
- 2012-08-31 US US13/601,530 patent/US8914502B2/en active Active
- 2012-08-31 US US13/601,428 patent/US9733983B2/en active Active
- 2012-09-24 US US13/625,716 patent/US9652293B2/en active Active
- 2012-09-26 US US13/627,579 patent/US9311155B2/en active Active
- 2012-09-26 EP EP12773168.5A patent/EP2761450B1/en active Active
- 2012-09-26 CN CN201280047079.2A patent/CN103827828B/zh active Active
- 2012-09-26 WO PCT/US2012/057370 patent/WO2013049233A2/en active Application Filing
- 2012-09-26 JP JP2014532111A patent/JP6495010B2/ja active Active
- 2012-09-26 JP JP2014532113A patent/JP6198737B2/ja active Active
- 2012-09-26 CN CN201280047077.3A patent/CN103917956B/zh active Active
- 2012-09-26 EP EP12773171.9A patent/EP2761451B1/en active Active
- 2012-09-26 US US13/627,646 patent/US8782769B2/en active Active
- 2012-09-26 WO PCT/US2012/057375 patent/WO2013049238A2/en active Application Filing
- 2012-09-26 WO PCT/US2012/057373 patent/WO2013049236A1/en active Application Filing
- 2012-09-26 CN CN201280047085.8A patent/CN103858157B/zh active Active
- 2012-09-26 JP JP2014532114A patent/JP6047577B2/ja active Active
- 2012-09-26 EP EP12773170.1A patent/EP2761611B1/en active Active
- 2012-09-27 JP JP2014532121A patent/JP6124898B2/ja active Active
- 2012-09-27 IN IN1324CHN2014 patent/IN2014CN01324A/en unknown
- 2012-09-27 EP EP12784367.0A patent/EP2761452A2/en not_active Withdrawn
- 2012-09-27 WO PCT/US2012/057620 patent/WO2013049390A2/en active Application Filing
- 2012-09-27 CN CN201280047076.9A patent/CN103858104B/zh active Active
-
2014
- 2014-06-04 US US14/295,874 patent/US9477528B2/en active Active
-
2016
- 2016-09-28 JP JP2016189674A patent/JP6487401B2/ja active Active
- 2016-11-25 JP JP2016229210A patent/JP6377113B2/ja active Active
-
2017
- 2017-12-25 JP JP2017247800A patent/JP6506827B2/ja active Active
- 2017-12-25 JP JP2017247801A patent/JP6506383B2/ja active Active
-
2018
- 2018-02-23 JP JP2018030725A patent/JP6600373B2/ja active Active
Patent Citations (4)
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
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 |