CN1736079A - 根据业务模式识别来共同定位和减载网站业务的装置和方法 - Google Patents

根据业务模式识别来共同定位和减载网站业务的装置和方法 Download PDF

Info

Publication number
CN1736079A
CN1736079A CN200380108306.9A CN200380108306A CN1736079A CN 1736079 A CN1736079 A CN 1736079A CN 200380108306 A CN200380108306 A CN 200380108306A CN 1736079 A CN1736079 A CN 1736079A
Authority
CN
China
Prior art keywords
website
websites
instruction
business
template
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.)
Pending
Application number
CN200380108306.9A
Other languages
English (en)
Inventor
D·M·迪亚斯
刘震
M·S·斯奎兰特
夏红辉
余顺争
张立
R·P·金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1736079A publication Critical patent/CN1736079A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/122Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • 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/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • 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/1021Server selection for load balancing based on client or server locations
    • 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/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • 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/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold 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

Abstract

本发明提供了用于根据模板来标识到网站的业务模式的装置和方法,所述模板描述了到达网站的业务的特性。基于这些模板,做出关于哪些网站应被共同定位以便最优化资源分配的判定。具体地说,其模板为互补的网站,即,在时间t1具有到达业务峰值的第一网站和在时间t1具有到达业务谷值的第二网站,被指定为共同定位的候选者。此外,本发明使用为网站的业务模式标识的模板来确定将业务减载到其他服务器的阈值。这些阈值包括在该处应执行减载的第一阈值、考虑到开始减载所需的提前时间的第二阈值以及考虑到停止所有将业务减载到其他服务器所需的延迟时间的第三阈值。

Description

根据业务模式识别来共同定位和减载网站业务的装置和方法
技术领域
本发明涉及用于根据业务模式识别来共同定位和减载网站业务的装置和方法。更具体地说,本发明涉及用于分析(profiling)网站、确定哪些网站应被共同定位以及何时应执行将Web业务减载到其他服务器的装置和方法。
背景技术
随着因特网及其应用的逐渐普及,分配资源以便提供服务质量(QoS)已变得更加困难。异类的因特网基础设施和应用以及用户行为加剧了资源分配问题的复杂性。
解决资源分配问题的一种方法是在多个实体(例如,网站)之间共享资源(例如,Web服务器),以便对于任何给定的实体,可以通过从其他实体借用资源来处理峰值负载状态。这种机制通常被称作共同定位。此范例中的一个重要问题涉及群集网站以便资源共享。即,标识哪些网站应共享资源通常是困难的和不精确的人工过程。
另一种方法(其是对共同定位的补充)包括以动态的方式将实体的工作减载到外部资源。借助减载,去往当前处于过载状态的特定Web服务器的网站业务被重定向到另一个服务器以执行对该业务的处理。减载的一个关键问题是确定在何处以及何时减载工作。用于确定在何处以及何时减载工作的已知机制通常落入负载平衡的领域,其中当前状态信息被用于确定工作负载是否应被平衡(通过将某些工作发送给其他服务器)。此类工作负载平衡机制是反应性的,并且在服务器变得过载之前,不会利用已知的业务模式来开始减载。
因此,具有一种用于确定哪些网站应被共同定位以及何时应将网站业务减载到其他Web服务器的改进的装置和方法是有利的。
发明内容
本发明提供了用于根据模板来标识到网站的业务模式的装置和方法,所述模板描述了到达网站的业务的特性。基于这些模板,做出关于哪些网站应被共同定位以便最优化资源分配的判定。具体地说,其模板为互补的网站,即,在时间t1具有到达业务峰值的第一网站和在时间t1具有到达业务谷值的第二网站,被指定为共同定位的候选者。
此外,本发明使用为网站的业务模式标识的模板来确定将业务减载到其他服务器的阈值。这些阈值包括在该处应执行减载的第一阈值、考虑到开始减载所需的提前时间的第二阈值以及考虑到停止所有将业务减载到其他服务器所需的延迟时间的第三阈值。
本发明的这些和其他的特征和优点将在以下对各优选实施例的详细说明中进行描述,或者由于以下对各优选实施例的详细说明,这些特征和优点对本领域的技术人员将变得显而易见。
附图说明
图1是其中可以实现本发明的分布式数据处理系统的示例性示意图;
图2是根据本发明的服务器计算设备的示例性方块图;
图3是根据本发明的客户机计算设备的示例性方块图;
图4A-4C是示例性商业网站在一周时间内的每小时点击的示例性示意图;
图5A-5C是图4A-4C中的示例性商业网站的每日时间序列图的示例性示意图;
图6是作为在示例性商业网站遇到的不同测量的日平均的函数的日变化系数的示例性示意图;
图7是作为在示例性商业网站遇到的不同测量的日平均的函数的日峰值对平均值比的示例性示意图;
图8是示出了从示例性商业网站收集以便用于群集网站的一天内每小时请求的示例性示意图;
图9是示出了图8的网站被群集到其中的四类请求模式的各模式的示例性示意图;
图10A是示出了用于图9的四类请求模式的四个模板的示例性示意图;
图10B是示出了通过将本发明的群集和分析应用到图4A-4C的网站的经验数据而生成的周中每一天的模式的示例性示意图;
图11是根据本发明的网站分类装置的示例性方块图;
图12是描述了本发明的示例性操作的流程图。
图13是描述了用于群集网站的本发明的示例性操作的流程图;
图14是描述了用于群集网站的本发明的示例性操作的流程图;
图15是描述了用于分类网站的本发明的示例性操作的流程图;
图16是描述了用于确定哪些网站是共同定位候选者的本发明的示例性操作的流程图;
图17是示出了根据示出的本发明的用于具有减载阈值的网站的模板的示意图;
图18是描述了用于根据本发明来减载业务的本发明的示例性操作的流程图;
图19是描述了用于共同定位与减载的组合的本发明的示例性操作的流程图;以及
图20是资源分配确定系统的方块图。
具体实施方式
本发明的各优选实施例在分布式数据处理环境中实现,其中业务数据被编译并用于分析、群集和分类网站。由于本发明在分布式数据处理环境中实现,首先将提供此环境的简要描述以便提供本发明在其中运行的环境。
现在参考附图,图1示出了其中可以实现本发明的数据处理系统网络的图形表示。网络数据处理系统100是其中可以实现本发明的计算机的网络。网络数据处理系统100包含网络102,网络102是用于在网络数据处理系统100内连接到一起的各种设备和计算机之间提供通信链路的介质。网络102可以包括诸如有线、无线通信链路或光缆之类的连接。
在所示实例中,服务器104与存储单元106一起与网络102相连。另外,客户机108、110和112与网络102相连。这些客户机108、110和112可以是例如个人计算机或网络计算机。在所示实例中,服务器104向客户机108-112提供诸如引导文件、操作系统映像以及应用程序之类的数据。客户机108、110和112是服务器104的客户机。网络数据处理系统100可以包括其他服务器、客户机以及未示出的其他设备。
在所示实例中,网络数据处理系统100是因特网,同时网络102代表全球范围内使用传输控制协议/网际协议(TCP/IP)协议集来相互通信的网络和网关的集合。因特网的核心是主节点或主机之间高速数据通信线路的主干,它由数以千计的商业、政府、教育以及其他路由数据和消息的计算机系统构成。当然,网络数据处理系统100也可以被实现为许多不同类型的网络,诸如例如企业内部互联网、局域网(LAN)或广域网(WAN)。图1旨在作为一个实例,并非旨在对本发明进行结构体系限制。
参考图2,图2示出了根据本发明的一个优选实施例,可以作为诸如图1的服务器104之类的服务器被实现的数据处理系统的方框图。数据处理系统200可以是对称多处理器(SMP)系统,其中包括多个与系统总线206相连的处理器202和204。可替代地,可以采用单处理器系统。同时与系统总线206相连的是存储器控制器/高速缓冲存储器208,其提供到本地存储器209的接口。I/O总线桥210与系统总线206相连并提供到I/O总线212的接口。存储器控制器/高速缓冲存储器208和I/O总线桥210可以如示出的那样被集成在一起。
与I/O总线212相连的外围组件互连(PCI)总线桥214提供了到PCI局部总线216的接口。许多调制解调器可以被连接到PCI局部总线216。典型的PCI总线实现将支持四个PCI扩展槽或附加连接器。通过经由附加连接器被连接到PCI局部总线216的调制解调器218和网络适配器220,可以提供到图1中的客户机108-112的通信链路。
附加的PCI总线桥222和224为附加的PCI局部总线226和228提供了接口,从附加的PCI局部总线226和228可以支持附加的调制解调器或网络适配器。以这种方式,数据处理系统200允许连接多台网络计算机。存储器映射的图形适配器230和硬盘232也可以如示出的那样直接或间接地与I/O总线212相连。
本领域的技术人员将理解,图2中所示的硬件可以有所变化。例如,除所示硬件之外或替代所示硬件,还可以使用诸如光盘驱动器之类的其他外围设备。所示实例并非旨在暗示本发明的体系结构限制。
图2所示的数据处理系统可以是例如IBM eServer pSeries系统,它是纽约阿蒙克的国际商业机器公司的产品,运行高级交互执行(AIX)操作系统或者LINUX操作系统。
现在参考图3,图3示出了其中可以实现本发明的数据处理系统的方块图。数据处理系统300是客户机计算机的一个实例。数据处理系统300采用外围组件互连(PCI)局部总线体系结构。尽管所示的实例采用了PCI总线,但也可以使用诸如加速图形端口(AGP)和工业标准体系结构(ISA)之类的其他总线体系结构。
处理器302和主存储器304通过PCI桥308与PCI局部总线306相连。PCI桥308还可以包括用于处理器302的集成存储器控制器和高速缓冲存储器。通过直接组件互连或附加板可以进行到PCI局部总线306的附加连接。在示出的实例中,局域网(LAN)适配器310、SCSI主机总线适配器312以及扩展总线接口314通过直接组件连接与PCI局部总线306相连。相反,音频适配器316、图形适配器318以及音频/视频适配器319通过插入扩展槽中的附加板与PCI局部总线306相连。扩展总线接口314为键盘和鼠标适配器320、调制解调器322以及附加存储器324提供连接。小型计算机系统接口(SCSI)主机总线适配器312为硬盘驱动器326、磁带驱动器328以及CD-ROM驱动器330提供连接。典型的PCI局部总线实现将支持三个或四个PCI扩展槽或附加连接器。
操作系统在处理器302上运行并用于协调和提供对图3中的数据处理系统300内的各种组件的控制。所述操作系统可以是可从市场上购买的操作系统,诸如Windows XP,其可以从Microsoft Corporation获得。诸如Java之类的面向对象的编程系统可以与所述操作系统一起运行,并从在数据处理系统300上执行的Java程序或应用来提供对操作系统的调用。“Java”是Sun微系统公司的商标。用于操作系统、面向对象的操作系统以及应用或程序的指令位于诸如硬盘驱动器326之类的存储设备中,并且可以被加载到主存储器304中以便由处理器302执行。
本领域的技术人员将理解,图3中的硬件可以根据实现而变化。除图3中所示的硬件之外或替代图3中所示的硬件,可以使用诸如快速只读存储器(ROM)、等效非易失性存储器或光盘驱动器之类的其他内部硬件或外围设备。同样,本发明的诸过程可以被应用到多处理器数据处理系统。
作为另一个实例,数据处理系统300可以是被配置成不依赖某些类型的网络通信接口也可引导的独立系统。作为进一步的实例,数据处理系统300可以是个人数字助理(PDA)设备,其配置有ROM和/或快速ROM以便提供用于存储操作系统文件和/或用户生成数据的非易失性存储器。
图3中示出的实例以及上述实例并非旨在暗示体系结构限制。例如,除采用PDA形式外,数据处理系统300还可以是笔记本计算机或手持计算机。数据处理系统300还可以是公用信息站或Web家电。
如上所述,本发明提供了一种用于分类网站的机制。这种分类是一种支持功能,用于在工作负载特性描述、性能建模、工作负载和性能预测、容量规划等中使用。基本上,这些各种功能中的每一种功能都涉及最优化资源利用并确保有足够的资源可用于处理网站所经历的业务,以便向客户端设备给出确定的服务水平。根据本发明的网站分类可以是用于确保网站的准确建模的基本支持功能,以便用于这些其他功能中。
本发明的一个基本部分是发现网站具有业务特性的重复模式,其可以用来帮助解决工作负载特性描述、性能建模、工作负载和性能预测以及容量规划的问题。这些模式可以存在于各种不同的测量,包括点击数、字节数、页面浏览数、访问数、每次访问的点击数、每次访问的页面浏览数、每次页面浏览的秒数、每次访问的秒数等。此外,这些模式可以存在于各种时间度量,包括每月、每周、每天、每小时等。为了说明业务特性的重复模式,将考虑多个示例性商业网站的一周时间间隔内的每小时点击数。
图4A-4C是示例性商业网站在一周时间内的每小时点击的示例性示意图。在图4A-4C中所示的图中,每小时点击数的测量被用来描述一周中每一天的来自客户端设备的进入请求模式的特性。
如可以从图4A-4C看到的,大量网站展示了这样的日访问模式:相对于一周中的其他各天,在星期六和星期日的请求率(包括点击和页面两者)有显著的下降。某些跨不同行业的网站通常具有明显的周末模式,如图4A和4B中的第一个图410、第三个图420、第九个图430以及第十一个图440所示,其中请求率在周末有显著的下降。其他网站(如450)具有较弱但依然很显著的周末模式,其在周末的请求率具有不太显著的下降。还有一些其他网站(如460)没有展示出任何周末模式。
对于不同时间度量,例如每天、每周、每月以及对于请求模式的其他测量,例如字节数、页面浏览数、访问数、每次访问的点击数等,类似的模式在业务数据中是普遍的。图5A-5C是对于各种测量的图4A-4C中的某些示例性商业网站的每日时间序列图的示例性示意图。从图5A-5C可以看出,在这些其他测量中存在对网站的不同程度的周末效应。某些具有周末模式的网站还展示出非常一致的周至周行为,其中请求测量值从一周到下一周没有很大改变。
简言之,根据图4A-4C和5A-5C中所示的经验数据,显然许多网站在其业务中经历了模式。除了上面的经验特性外,在网站的业务中,可以在不同时间度量处使用各种统计测量来标识和检查用户请求模式的某些最复杂的特性。这些特性包括,例如,业务变化度和峰值对均值比率,这些特性不是很明显并且只能从时间序列数据来计算。
请求时间序列的变化度的某些有用方面可以通过总体请求量的变化系数(CV,即,标准差对平均值的比率)来检查。例如,图6是不同测量(作为在示例性商业网站处遇到的这些测量的日平均值的函数)的日变化系数的示例性示意图。从图6可以看到,在某些测量(例如,日访问图610)下,不同的站点展示出完全不同的变化度但是类似的日平均值,而在某些其他测量(例如,日每次访问的页面浏览620)下,不同的站点展示出类似的变化度但不同的日平均值。
一种对请求模式中的突发性的粗略测量是某个时间间隔内的峰值请求率对平均值请求率的比率。此测量量化了相对于平均请求量的峰值请求量。图7是不同测量(作为在示例性商业网站处遇到的这些测量的日平均值的函数)的日峰值对平均值比率的示例性示意图。从图7可以观察到与图6类似的行为,即,各种测量的不同统计属性会提供完全不同的结果。
因此,虽然上面的经验和统计数据分析的结果清楚地说明了网站在其业务中经历的模式,但是大多数这些结果本身并不能容易地用作群集、分析和分类目的的基础。本发明提供了一种机制,用于利用这些业务模式来生成网站的准确模型,以便在工作负载特性描述、性能建模、工作负载和性能预测以及容量规划中使用。
本发明可以分成三个基本部分:群集网站、分析网站以及描述网站特性。描述网站特性的第一个步骤是根据获得的用于这些网站的业务数据来生成网站的群集。一旦群集被标识,每个群集或类被分析以获得该类的模板。此后,随着获得网站的新业务数据,该业务数据可以被与类的已建立模板相比较,以便将网站分类到已知类的一个类中。可替代地,如果网站中的比较结果显著地不同于所有已知的类,则可以使用该网站的业务数据来生成一个新的类。此分类然后可以被用来执行诸如工作负载特性描述、性能建模、工作负载和性能预测以及容量规划之类的功能,以便最佳地优化网站的可用资源。
如上所述,本发明的操作中的第一个步骤是从多个网站获得业务数据并根据其业务数据来群集网站。群集包括选择将用于群集网站的业务数据的测量,然后为每个网站标识关于此选择的测量的业务数据的模板。然后使用群集算法(其标识了给定容许量内彼此最相似的模板的组)来群集所述模板。这些组或类是将用于执行分析和分类的网站的群集。
如上所述,用来执行群集的业务数据的特定测量必须在执行群集之前被选择。根据所使用的测量数据的子集,可以获得不同的群集结果。例如,可以根据负载/请求模式、用户导航模式、站点超文本结构等来群集网站。这些群集中的每个群集都不相同并且可以被看作彼此互不相关。与本发明一起执行的特定群集可以根据本发明的特定实现以及对本发明的用户来说最重要的测量来选择。
在本发明的一个示例性实施例中,根据负载模式来执行群集。为此,每小时点击数被用作代表性的业务数据,以便描述进入请求业务模式的特性。图8是示出了从示例性商业网站收集的、在根据此示例性实施例来群集网站中使用的一天内每小时的请求的示例性示意图。
一旦将被用来执行群集的业务数据的测量被选择,则按照此选择的测量来分析该业务数据,以便在业务数据中标识模板或典型形状。此模板本质上是选择的测量的时间序列数据值,或者是选择的测量的这些时间序列数据值的函数。
在本发明的示例性实施例中,代表发生在Web服务器上的每小时请求模式分布的加权平均值的加权平均请求模式li(h)被用作网站的模板。加权平均请求模式li(h)可以使用以下方程得到:
l i ( h ) = S d = 1 D ( a i ( d ) / D ) ( x i ( h , d ) ) - - - ( 1 )
其中xi(h,d)表示来自经验数据的d天的第h个小时中第i个Web服务器接收的请求数,h=0,1,...,n,并且其中权ai(d)是站点i的d天的权,以便不同天的工作负载被规范化为同一平均值。此外,根据示例性实施例,峰值负载范围(regime)被确定为群集的中心,因为它们对Web服务器性能具有更显著的影响。因此,每个加权平均请求模式由其最大值来规范化并且其峰值时间业务模式被定义如下:
       gi(h)={li(h)/mi,li(h)/mi>0.5,
              {0.5,li(h)/mi[0.5           (2)
其中mi=maxh{li(h)}
峰值时间模式之间的不相似测量被定义为:
d i , j = min h d max h { | g i ( h ) - g i ( h + h d mod 24 ) | } - - - ( 3 )
其中,当比较来自不同Web服务器(具有例如时差)的两种业务模式时,hd被用作所需的小时移位。此不相似测量是网站i的规范化后的加权平均请求模式与网站j的规范化后的加权平均请求模式之间的最大值差的最小值,被移位以补偿时差(如果有)。此不相似测量被用来标识彼此最相似的规范化后的加权平均请求模式,以便将所述模式群集到网站的类中。
在示例性实施例中,根据不相似测量,使用完全链接或最远相邻算法来群集规范化后的加权平均请求模式。即,在第一个步骤中,每个模式代表其自己的群集,并且这些模式之间的距离由以上的方程3中给出的不相似测量来限定。然后,具有最小距离的两个模式被链接在一起。此新的群集与其他群集(或单个模式)之间的距离由各自群集中的任何两个模式之间的最大距离来限定,即,由最远相邻来限定。结果,在随后的步骤中,所述算法继续将越来越多的模式链接在一起,并且在预定的阈值内,继续聚集越来越大的群集。
在示例性实施例中,使用在完全链接算法中的阈值,图8中所示的请求模式被群集到四个不同的类中。图9是示出了图8的网站被群集到其中的这四种不同类请求模式的各模式的示例性示意图。根据图9,可以进行以下关于各种类的观察。对于类1模式,请求业务负载在中午增加到峰值水平,然后在下午显著下降。这暗示用户对此类网站的兴趣是瞬时的,就像每天查看天气预报一样。这些网站主要在其当地是大众化的。
对于类2模式,请求业务负载在中午增加到峰值水平,并且在下午仍继续保持在高水平,但在夜晚变得非常低。这暗示用户主要在工作时间对这些网站显示出兴趣。对于类3模式,请求业务负载在稍过中午之后增加到峰值水平并且在大部分下午都保持在高水平。在夜间,用户继续显示出对这些网站的某些兴趣。
对于类4模式,请求业务负载在很长一段时间(从午前到深夜)保持在高水平。这暗示大多数用户或者在工作时间或者在他们的业余时间访问这些网站,并且用户可能分布在整个国家甚至全世界。
通过做出此类关于网站(落入这些不同类中的每个类)的特性的观察,预测以后被分类到这些类中的某个类的网站的使用是可能的。因此,根据此类预测,可以采用各种测量来处理网站预期应经历的业务。
因此,根据本发明的一个优选实施例,网站的群集包括获得多个网站的业务数据,确定用作群集基础的业务数据的测量,按照所选择的测量来标识业务数据的模式,定义业务数据的不相似或相似关系,然后根据此不相似或相似关系来使用群集算法群集网站。一旦这些群集被标识,执行分析群集以标识可以用在网站的以后分类的群集的模板。
分析包括首先确定业务简档将基于其上的度量。在一个示例性实施例中,加权平均负载li(h)被用来生成用于网站的已标识类的简档。在生成类的简档时,将标识用于类的模板,该模板被定义为与类的所有成员最相似的请求模式。
一种发现用于类的模板的方法是简单地平均类的所有成员。虽然可以执行此方法以获得用于类的模板,但是对于类的模板来说,结果通常并不是一个很好的选择,因为类的外部成员可能远离此模板但接近其他类的模板。另一个基本考虑是,为不同类所确定的模板应该彼此远离。因此,确定用于类的模板,以使其最小化类中所有成员的最大值差。
假设Gk表示属于类k的请求模式组。尽管在特征上相似,但类k内的成员(即,网站)可能实际上位于不同的时区,或包括移位行为的任何其他来源。为了定义模板,需要首先确定正确的移位偏差
Figure A20038010830600201
以便在移位时,所有成员都具有最接近的特征。此移位偏差可以通过以下数学表达式来求出:
Min h i d , h i d , i , jc G K { max { i , jc G k } max h [ | g i ( h + h i d mod 24 ) - g i ( h + h j d mod 24 ) | ] }
...(4)
即,在移位
Figure A20038010830600203
时,类的任何两个成员之间的最大值差应被最小化。在一个示例性实施例中,特定的移位可以使用诸如以下说明的移位算法来确定。其他用于确定特定移位的算法可以在不偏离本发明的精神和范围的情况下使用。
在一个示例性实施例中,所述移位算法包括第一步骤,其中集合
Figure A20038010830600204
Figure A20038010830600205
是0到23之间的任意整数(可能的以小时为单位的移位)。然后,对于每个icGk,更新移位值hi d以使:
H i d = arg min h i d { max { i , jc G k } max h [ | g i ( h + h i d mod 24 ) - g i ( h + h j d mod 24 ) | ] }
...(5)
然后重复此步骤,直到{hi d,icGk}收敛成局部最优。
因此,对于每个icGk,选择 以便在移位时,成员i接近类的所有其他成员。然后,该过程被迭代地重复,直到不能获得进一步的改善为止。
一旦最优移位偏差
Figure A20038010830600208
被确定,类k的模板被定义为:
Tk ( h ) = 1 / 2 { max { g j ( h + h j d mod 24 ) } + min { g j ′ ( h + h j ′ d mod 24 ) } }
                                                    ...(6)
其中,h=0,1,...,23。即,所述模板是与类的所有成员的模式最相似的模式。图10A是示出了用于使用本发明的群集和分析来生成的图9的四类请求模式的四个模板的示例性示意图。将此相同的群集和分析应用到经验数据,可以为不同的业务效果生成不同的模板,诸如周中的天,月中的周,年中的月等。例如,如图10B所示,图10B示出了周中的天的模式,其通过将本发明的群集和分析应用到图4A-4C的网站的经验数据来生成。
用于使用上述群集和分析来生成的类的模板可以被用来识别进入请求模式。首先,模板被用来识别现有的样本并被用来检查此识别的结果是否与群集一致。此后,根据所述模板,请求模式被与请求的类相匹配。根据此匹配,可以根据作为类的一部分的其他网站的特性来辨别出网站业务的某些特性。
优选地,为了执行所述分类,以上等式1和2被用来计算新收集数据的规范化后的峰值时间请求模式。此后,等式3优选地被用来计算进入请求模式数据与用于四个模板的数据之间的距离量。根据这些距离量,可以标识最接近的匹配模板,并将进入请求模式分类到相应的类中。
由于预定的模板可能没有包括所有可能的请求模式,因此新的类型的请求模式或特别的请求模式可能远离所有预定的模板,即,最小距离大于阈值量。在这种情况下,可以将新的请求模式添加为用于新的请求模式类的新模板。
通过根据本发明来群集、分析和分类网站,可以基于落入相同类的网站来标识关于网站业务的特性。此分类可以与许多不同类型的应用一起使用,包括业务预测、容量规划、热点检测、动态减载、网站共同定位等。
就业务预测而言,容量规划中的一个关键问题是工作负载行为的预测。该预测机制需要捕获长期趋势、周期性、相关性和变化度的特性。很难使用单一技术来捕获所有的这些因素。因此,更准确的方法将是使用既适合宏观又适合微观水平统计的混合技术。虽然长期趋势可以使用线性回归方法来测量,在不同度量(例如,每月、每周、每日等)的周期性可以使用本发明的群集和分析技术来处理。
本发明的群集方法能够极大地简化容量规划任务。根据本发明,不同群集(或类)的模板(或简档)可以被用来分析每个单独简档的容量需求、比例因子的影响以及用于Web服务器场、群集等中的服务器的混合简档。当新用户出现时,本发明的分类技术可以用来确定该新用户的业务所属的群集,以便必要时调整容量需求。同样地,如果某些网站由于特殊事件、网站重新设计等而引起群集的变化,则短期容量规划决策也可以被很容易地调整。
由于特殊事件,例如,电子商务网站的假日减价,某些网站可能具有很重的负载,并且因此需要某些其他操作以便实现所需的服务质量。此类操作的实例包括减载和添加新的资源。此类特殊事件代表“热点”。借助热点检测,目标是检测热点以便触发处理这些热点的合适的机制。根据本发明的分析方法,一旦观察到当前工作负载显著偏离由模板描述的典型行为,这些热点可以被检测到。
如上所述,有些时候(例如遇到热点时)需要动态减载操作以便减轻服务器过载。实现此动态减载的一种方法是参考到服务器的可减载对象(例如,镜像)创建新的(或使用不同的)版本的网页,额外的负载可以被减载到该服务器上(例如,Akamai服务器)。借助正确使用本发明的模板,可以很容易地确定阈值(超过该阈值,业务应被减载)。此外,减载方案可以在服务器饱和之前开始,以便考虑到减载方案的延迟时间。此新的阈值,即,考虑到延迟时间的阈值,可以由模板与延迟时间共同确定。
对于网站共同定位,目的是在多个网站间共享资源,以便对于任何给定的网站,可以通过从其他实体借用资源来处理峰值负载状态。此范例中的一个重要问题涉及群集网站以便资源共享。根据观察到的业务模板,可以很容易地确定不同站点的峰值范围的特征,以及不同时间和不同地理时区的不同业务的峰值和谷值。然后,可以使用最优化工具来实现多个网站之间的负载平衡以获得最平坦的可能的总体峰值负载。最优化问题可以被看作普通的装箱问题,其中物品是模板。这也可以被表述为整数规划问题。
应当注意,虽然根据请求模式描述了本发明的以上实施例,但是本发明并不限于此。相反,任何用于网站的测量数据都可以用于执行本发明的群集、分析和分类。例如,本发明可以在服务器利用数据、带宽消耗数据等数据之上运行。
图11是根据本发明的网站分类装置的示例性方块图。图11中所示的单元可以在不偏离本发明的精神和范围的情况下,以硬件、软件或硬件和软件的任何组合的方式来实现。在一个优选实施例中,网站分类装置的单元被实现为由一个或多个处理器执行的软件指令。
如图11所示,网站分类装置包括控制器1110、输入/输出接口1120、网站数据存储装置1130、群集引擎1140、分析引擎1150以及分类引擎1160。各单元1110-1160通过控制/数据信号总线1170彼此通信。
控制器1110控制网站分类装置的整体运行,并协调其他单元1120-1160的运行。控制器1110通过输入/输出接口1120接收来自网站的网站业务数据,并将此网站业务数据存储在网站数据存储装置1130中。然后,控制器1110指示群集引擎1140群集网站,对于所述网站,数据被存储在网站数据存储装置1130中。
一旦群集被执行,并且网站被指派给网站的特定类,控制器1110指示分析引擎1150生成用于每个类的模板或简档。群集和分析可以在定期的基础上执行,以便当新的网站业务数据变得可用时,更新由网站分类装置维护的群集及其相对应的模板或简档。可替代地,群集和分析可以在每次接收到来自新网站的业务数据时被更新,以便将此新网站包括在由网站分类装置维护的群集和模板中。
当接收到来自新网站的业务数据时,该业务数据被与由网站分类装置维护的各种类的模板相比较。根据此比较,可以做出关于新网站的业务数据是否适合某一个类的模板或者是否完全与所述类的所有模板不相似的判定,以便保证根据该新网站的业务数据来创建新的类和模板。根据新网站的业务数据的此分类,新网站被指派给网站的特定类或被用于生成其自己的网站类。如上所述,此分类然后可以由不同的过程使用,以便执行诸如工作负载特性描述、性能建模、工作负载和性能预测、容量规划之类的资源管理功能。
图12是描述了本发明的示例性操作的流程图。如图12所示,本发明的操作开始于接收来自多个网站的网站业务数据(方块1210)。然后,使用以上讨论的群集技术来群集网站业务数据(方块1220)。对于每个群集或类,生成模板或简档(方块1230)。
然后,操作等待来自新网站的业务数据(方块1240)。然后判定是否接收到新网站的业务数据(方块1250)。如果否,则操作返回方块1240并继续等待来自新网站的业务数据。如果接收到新网站的业务数据,则根据现有的网站类对新网站的业务数据进行分类(方块1260)。然后操作结束。
图13是描述了用于群集网站的本发明的示例性操作的流程图。如图13所示,本发明的群集操作开始于选择业务数据测量,将借助其执行群集(方块1310)。然后,确定关于所选择的业务数据测量的新网站业务数据的模板(方块1320)。然后使用群集算法来群集所述模板(方块1330)。
图14是描述了用于分析网站的本发明的示例性操作的流程图。如图14所示,操作开始于确定业务简档将基于其上的度量(方块1410)。根据此选择的度量,在类中为每个网站的业务数据生成模板(方块1420)。然后,模板被移位一移位偏差量(如果必要)以补偿诸如不同时区之类的因素(方块1430)。然后,通过选择与类中的网站的所有模板最相似的简档来生成简档(方块1440)。可以为每类网站执行此操作。
图15是描述了用于分类网站的本发明的示例性操作的流程图。如图15所示,用于分类网站的操作开始于接收新网站的业务数据(方块1510)。生成用于新网站业务数据的模板(方块1520)并将其与用于现有网站类的模板进行比较(方块1530)。判定是否标识了匹配模板(方块1540)。如果是,网站被分类到与匹配模板相关联的类中(方块1550)。如果否,使用新网站的业务数据来生成新的类,作为生成用于新的类的模板的基础(方块1560)。然后操作结束。
因此,本发明提供了根据网站业务数据来群集、分析以及分类网站的机制。根据本发明,网站之间的相似性(关于它们所经历的业务)可以被确定以便用于预测和规划在将来极有可能经历的工作负载。因此,本发明提供了一种工具,通过该工具,可以根据Web服务器上所包含的网站执行对Web服务器的资源管理。
按照上述方式进行的网站的群集、分析和分类可以被应用到资源分配以获得用于一组网站的最优化资源分配。根据本发明,一旦通过上述机制获得了一组网站中的用于网站的模板,这些模板就可以被用来确定该组中的哪些网站是共同定位的候选者,以及何时应将业务减载到其他Web服务器。共同定位和减载的这些功能可以进一步组合以获得更为最优化的资源分配,以便为访问那些网站的客户端设备提供所需的服务质量(QoS)。
就共同定位而言,目的是根据与网站关联的模板来共同定位网站,这些网站在不同时间的业务具有峰值和谷值。即,目的是具有为两个或更多网站处理业务的单个服务器(或一组服务器),其中模板彼此互补以获得相当一致的资源利用或至少在全部时间段提供所需的服务质量。
可以求解共同定位问题的若干变型。一个实例是Web服务器必须具有给定的业务容量。这是典型的情况,其中Web服务器提供者想要在所有时间点保持一定容量以处理可能经历的任何非正常业务量。
本发明通过首先为考虑共同定位的每个网站确定业务的模板来求解此类共同定位问题。此模板通过网站的业务日志来确定。此模板可以通过上述的群集、分析和/或分类机制来获得。
一旦获得了用于在考虑中的每个网站的模板,则整数规划(IP)问题被用公式表示。此整数规划问题具有决策变量(其是网站到Web服务器的分配)。整数规划问题的约束是在任何时间点上对任何服务器的容量限制。目标函数是在不同服务器的服务器容量与峰值负载之间的最小距离的任何增函数。
在整数规划问题被用公式表示之后,使用最优或近似算法来求解该问题。求解整数规划问题的标准方法和算法包括分支定界法、割平面算法、线性规划张驰法等。
例如,假设有I个网站,其必须由总共J个服务器来提供服务,每个服务器具有容量Cj,其中j=1到J。假定网站i的业务可以由模板Ti(t)来描述特性,其中i=1到I。二元决策变量是xij,其中i=1到I并且j=1到J,这样,如果站点i被分配给服务器j,则xij=1,否则xij=0。
然后,共同定位问题可以被用公式表示为以下二元整数规划问题,其中b是目标利用:
min b
s . t . S i = 1 I x ij T i ( t ) [ bC j , j = 1 , . . . , J , tm 0 . S j = 1 J x ij = 1 , i = 1 , . . . , I . b [ 1
其中,xij是二元整数。
在以上方法中,目标函数也可以是另一负载平衡准则,诸如例如负载的经验方差。也可以在约束中引入某些松弛(slackness)以使峰值负载低于服务器容量一定的数量。以这种方式,请求的平均响应时间将具有上限。
共同定位问题的另一个实例是最小化Web服务器的总成本,假定不同的Web服务器具有不同的成本,并且如果向其分配至少一个网站,则引起成本。在这种情况下,共同定位问题可以按照以下方式来求解。
根据共同定位问题的先前变型,过程的第一步骤是为考虑共同定位的每个网站确定业务的模板。一旦模板被确定,整数规划问题就被用公式表示出来,其中所述决策变量再次是网站到Web服务器的分配。约束是在任何时间点上对任何服务器的容量限制。但是,目标函数是所有Web服务器(其被分配至少一个网站)的成本的和。此整数规划问题使用最优或近似算法来求解。
作为共同定位问题的此变型的一个实例,考虑上述情况,但是其中目标是最小化Web服务器的总成本,假定使用Web服务器j成本将为Pj,其中j=1到J。在此情况下,先前实例的目标函数由以下公式所取代:
S j = 1 J P j 1 ( S i = 1 I x ij > 0 ) ,
其中如果语句a为真,则函数1(a)等于1,否则为0。因此,二元整数规划问题可以由以下公式来表示:
min S j = 1 J P j 1 ( S i = 1 I x ij > 0 ) , s . t . S j = 1 J x ij T i ( t ) [ bc j , j = 1 , . . . , J , tm 0 . S j = 1 J x ij = 1 , i = 1 , . . . , I .
其中,xij是二元整数。
以上问题的一种更简单的形式是服务器容量相同并且服务器成本也相同。在这种情况下,所述问题简化为二维装箱问题,其中箱是服务器,物品是业务模板。因此,所述问题可以按照以下方式来求解。
首先,对于所有共同定位问题,确定用于考虑共同定位的网站的模板。然后,所述装箱问题被用公式表示出来,目标是最小化所使用的箱数。此后,所述二维装箱问题使用快速或近似算法来求解。此类快速和近似算法在本领域中是公知的,并且关于此类快速和近似算法的更多信息可以在例如E.G.Coffman,Jr.等人的“Approximation Algorithms for Bin-Packing--An Updated Survey”(装箱问题的近似算法-最新研究)(计算机系统设计的算法设计,由Ausiello、Lucertini和Serafini编辑,Springer-Verlag,1984)和“Fast algorithms for Bin Packing”(用于装箱的快速算法)(DavidS.Johnson,计算机和系统科学期刊8,272-314页,1974)中找到。
因此,如图16所示,对于共同定位问题的每个变型,用于确定网站到Web服务器的分配的操作,以及因此共同定位网站开始于确定被考虑的网站的模板(方块1610)。然后,共同定位问题作为整数规划问题被表述,所述整数规划问题具有目标函数,该目标函数体现了用于网站分配的期望最优化(方块1620)。整数规划问题被用公式表示出来,以使决策变量是网站到Web服务器的分配,并且约束是在任何时间点上对任何服务器的容量限制。一旦整数规划问题被用公式表示出来,就可以使用最优化和近似算法来对其进行求解(方块1630)。如上所述,当诸如容量和成本之类的某些特性被认为对所有服务器都相同时,整数规划问题可以被简化为装箱问题。
如上所述,本发明可以进一步应用于将业务减载到其他网站。减载机制包括,当网站变得具有很重的负载并且因此需要某些额外的服务容量以便实现所需的服务质量时,将进入请求的一部分重定向到备份或其他具有较轻负载的服务器。当减载机制启用时,通过例如使用HTTP重定向响应代码301或302来使客户机的浏览器在不同的Web服务器处重试请求,或者通过将负载平衡设备(如IBM网络分派器或Cisco全局定向器)置于Web服务器之前并使用这些设备的能力来在本发明的控制下将请求在不同时间发送给不同服务器,可以重定向请求。
关键问题涉及如何主动地检测或预测此类较重的负载情况,从而在适当的时间触发减载机制。根据本发明的减载将参考图17来描述,其示出了网站的模板,还示出了根据本发明的用于减载的阈值。
对于根据本发明的减载,用于考虑中的每个网站的业务的模板以上述方式从网站的业务日志来确定。图17示出了一个这样的用于网站的模板。在一个优选实施例中,按照每单位时间的请求数来确定模板。
根据业务强度来计算第一阈值1710,在该阈值以上,业务的一部分应从主Web服务器减载以保证服务质量(QoS)标准。根据总业务的边缘分布以及可减载的业务量来确定此阈值1710。更精确地,如果h1是阈值1710,a是可减载业务的比例,E[So]和E[Sno]是每个可减载请求和不可减载请求的预期服务要求,C是考虑到的瓶颈资源的容量,b是由系统要求保证的QoS所确定的目标资源利用,然后,第一阈值1710可以由以下公式确定:
h1=bC/(a E[So]+(1-a)E[Sno])
一旦第一阈值1710按照以上描述的方式被计算,根据从低到高的转变范围中的业务强度来计算第二阈值1720。根据从高到中间的转变范围中的业务强度来计算第三阈值1730。根据动态减载机制的反应时间以及业务的统计模式,第二阈值1720的计算考虑了提前时间以匹配阈值1710。类似地,根据动态减载机制的反应时间以及业务的统计模式,第三阈值1730的计算考虑了延迟时间。因此,第二阈值1720可以通过从阈值1710减去提前时间来计算,而第三阈值1730可以通过给阈值1710加上延迟时间来计算。
一旦确定了模板并计算了阈值,将检测从低到高范围以及从高到中间范围的联机转变。可以使用多种统计技术来执行所述检测。一种此类技术是变更点检测,其包括计算进入业务的边缘分布。使用此技术,将检测该边缘分布的偏差。关于变更点检测的更多信息可在例如Carlstein等人的“Change-Point Problem”(变更点问题)(IMS讲稿-系列专著,23卷,1994)中找到。一种检测转变的更简单的方法是计算业务强度的滑动平均。此滑动平均可以以非常粗略的时间度量(分钟或数十分钟的量级)进行。例如,计算滑动平均的一种方法是计算先前估计值和多个最近观察值的加权和。例如:
Estimatenew=c1T(t)+...+ckT{t-k+1)+
(1-c1-...-ck)Estimateadd
其中c1...ck是非负权。要求c1+...+ck[1。
使用以上方法,当业务强度超过阈值1720时启用减载机制,而当业务强度降到阈值1730以下时关闭该机制。
图18是描述了用于根据本发明来减载业务的本发明的示例性操作的流程图。如图18所示,操作开始于确定用于考虑到的每个网站的模板(方块1810)。基于总业务的边缘分布以及可减载的业务量,根据业务强度来计算第一阈值(方块1820)。然后,根据第一阈值以及减载机制的提前和延迟时间来计算第二和第三阈值(方块1830)。
此后,监视联机业务以确定是否存在从低到高范围和从高到中间范围的转变(方块1840)。判定是否检测到转变(方块1850)。如果否,则操作判定是否出现结束条件,例如,减载被禁用(方块1860)。如果是,则操作结束。否则,操作返回方块1840并继续监视转变。
如果检测到转变,判定其是否为从低到高的转变(方块1870)。如果是,则启用业务减载机制,并且将业务减载到另一服务器(方块1880)。如果转变不是从低到高,则转变是从高到中间的转变,并且减载机制被禁用(方块1890)。
因此,如上所述,根据网站业务日志来群集、分析以及分类网站以便由此生成用于网站业务的模板的本发明可以被应用到诸如共同定位和减载之类的资源分配机制。如上所述,本发明可以被进一步应用到共同定位和减载的组合。共同定位和减载的组合问题通常将在这样的情况中出现:Web服务器包含若干网站,并且当服务器的负载超过其容量时,服务器必须将可减载业务减载到其他Web服务器。对于此类情况,本发明可以以下面的方式实现,以便执行共同定位的网站的减载。
对于所有先前的机制,用于在考虑中的每个网站的模板必须被首先确定。然后用公式表达数学规划问题,其中决策变量是从网站到Web服务器的部分业务的分配。约束是在任何时间点对任何服务器的容量限制。目标函数是所有Web服务器(其被分配至少一个网站)的成本的和。
作为一个实例,假设与先前共同定位问题中描述的情况类似的情况。注意决策变量xij不再需要是二元整数。相反,xij表示来自可以被分配给服务器j的网站i的业务部分,其中i=1到I并且j=1到J。因此,0<=xij<=1,并且数学规划问题用如下公式表示:
min S j = 1 J P j 1 ( S i = 1 I x ij > 0 ) . s . t . S i = 1 I x ij T i ( t ) [ bC j , j = 1 , . . . , J , tm 0 . S j = 1 J x ij = 1 , i = 1 , . . . , I 0 < = x ij < = 1 , i = 1 , . . . , i , and , j = 1 , . . . , J .
数学规划问题一旦以公式表示,就可以使用最优化或近似算法来求解。数学规划问题具有线性约束,并且如果服务器成本被假设为与其利用成比例,则其变为线性规划问题。
对于每个网站,一个Web服务器被指定为其主服务器,业务的某些部分被分配给所述主服务器。分配给主服务器的业务部分还将被称为网站在其主服务器处的阈值1。
对于每个网站,根据从低到高的转变范围中的业务强度来计算阈值2,并且根据从高到中间的转变范围中的业务强度来计算阈值3。这些阈值考虑到了减载机制所需的提前和延迟时间。这些提前和延迟时间是动态减载机制、业务的统计模式以及网站在主服务器处的容量份额(在使用该服务器作为主服务器的所有其他网站之间)的反应时间的组合。
对于每个网站,从低到高范围和从高到低范围的联机转变都被检测。如先前所讨论的,所述检测可以使用诸如基于边缘分布或滑动平均技术的变更点检测之类的多种统计技术来完成。
对于每个网站,当业务强度超过阈值2时启用减载机制,或当业务强度降到阈值3以下时关闭减载机制。业务被减载到其的目的地以及发送到这些目的地的业务部分由先前求解的线性规划问题的解来限定。
图19是描述了用于共同定位与减载的组合的本发明的示例性操作的流程图。如图19所示,操作开始于确定用于在考虑中的每个网站的模板(方块1910)。然后,数学规划问题被用公式表示出来,其中决策变量是从网站到Web服务器的业务部分的分配(方块1920)。此数学规划问题的约束是在任何时间点对任何服务器的容量限制。目标函数是所有Web服务器(其被分配至少一个网站)的成本的和。
数学规划问题一旦被用公式表示出来,就可以使用最优化或近似算法来求解(方块1930)。然后,对于每个网站,一个Web服务器被指定为其主服务器,业务的某些部分被分配给所述主服务器(方块1940),并且网站的阈值1被定义为分配给其主服务器的该网站的业务部分(方块1950)。
对于每个网站,根据从低到高的转变范围中的业务强度来计算阈值2,并且根据从高到中间的转变范围中的业务强度来计算阈值3(方块1960)。这些阈值考虑到了减载机制所需的提前和延迟时间。对于每个网站,检测从低到高范围和从高到低范围的联机转变(方块1970)。当业务强度超过阈值2时启用减载机制,或当业务强度降到阈值3以下时关闭减载机制(方块1980)。
图20是资源分配确定系统的方块图。如图20所示,资源分配确定系统包括控制器2010、到图11的网站分类装置的接口2020、用于将资源分配消息发送到Web服务器和减载机制或从Web服务器和减载机制接收资源分配消息的输入/输出接口2030、共同定位确定装置2040以及减载启用装置2050。部件2010-2050通过控制/数据信号总线2060相互通信。
图20中所示的部件可以以硬件、软件或硬件和软件的任何组合来实现。在一个优选实施例中,部件2010-2050作为由一个或多个处理器执行的软件指令来实现。
控制器2010控制资源分配确定系统的总体运行并协调其他部件2020-2050的运行。控制器2010通过接口2030接收确定共同定位、减载或共同定位和减载的组合的请求,并指示部件2040-2050使用通过接口2020从网站分类装置获得的网站模板来确定共同定位和/或减载。部件2040和2050以先前描述的方式执行确定网站共同定位和/或减载的操作,并将结果返回到控制器2010。然后,控制器2010可以发送消息到Web服务器和/或减载机制,以便执行共同定位网站和/或将业务减载到其他Web服务器的操作。
因此,本发明提供了用于根据业务模式的模板(通过群集、分析和/或分类从网站的业务日志获得的网站业务数据来确定)来确定网站的共同定位的装置和方法。此外,本发明提供了用于根据网站的此类业务模式模板来确定将业务从一个Web服务器减载到其他Web服务器的装置和方法。借助本发明,可以执行网站的最优化共同定位和减载的动态确定以获得所需的有保证的服务质量。
重要的是注意到,虽然在完整功能的数据处理系统的情况下说明了本发明,本领域的技术人员将理解,可以以指令的计算机可读介质的形式和各种形式来发布本发明的诸过程,并且本发明均可等同地适用而与实际用于执行发布的信号承载介质的特定类型无关。计算机可读介质的实例包括可记录型介质,诸如软盘、硬盘驱动器、RAM以及CD-ROM和传输型介质,诸如数字和模拟通信链路。
出于示例和说明目的给出了对本发明的描述,并且所述描述并非旨在是穷举的或是将本发明限于所公开的形式。对于本领域的技术人员来说,许多修改和变化是显而易见的。实施例的选择和描述是为了最佳地解释本发明的原理、实际应用,并且当适合于所构想的特定使用时,使得本领域的其他技术人员能够理解本发明的具有各种修改的各种实施例。

Claims (37)

1.一种在计算机可读介质中用于将资源分配给多个网站的计算机程序产品,所述计算机程序产品包括:
第一指令,所述第一指令用于为所述多个网站中的每个网站标识业务模式;
第二指令,所述第二指令用于根据所述业务模式来为所述多个网站中的每个网站标识模板;以及
第三指令,所述第三指令用于根据为所述多个网站中的每个网站标识的所述模板来将资源分配给所述多个网站中的网站。
2.根据权利要求1的计算机程序产品,其中所述用于将资源分配给网站的第三指令包括:
这样的指令,所述指令用于根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站;以及
这样的指令,所述指令用于根据是共同定位的候选者的所述两个或更多网站的标识来将资源分配给所述两个或更多网站。
3.根据权利要求1的计算机程序产品,其中所述用于将资源分配给网站的第三指令包括:
这样的指令,所述指令用于根据网站的所述模板为所述多个网站中的每个网站计算第一阈值;
这样的指令,所述指令用于根据所述第一阈值来计算第二阈值,其中当网站的业务强度达到或超过所述第二阈值时,减载业务被启用;以及
这样的指令,所述指令用于根据所述第一阈值来计算第三阈值,其中当网站的业务强度达到或降到所述第三阈值以下时,减载业务被禁用。
4.根据权利要求2的计算机程序产品,其中所述用于将资源分配给网站的第三指令包括:
这样的指令,所述指令用于根据网站的所述模板为所述多个网站中的每个网站计算第一阈值;
这样的指令,所述指令用于根据所述第一阈值来计算第二阈值,其中当网站的业务强度达到或超过所述第二阈值时,减载业务被启用;以及
这样的指令,所述指令用于根据所述第一阈值来计算第三阈值,其中当网站的业务强度达到或降到所述第三阈值以下时,减载业务被禁用。
5.根据权利要求3的计算机程序产品,进一步包括:
第四指令,所述第四指令用于在Web服务器上监视所述多个网站中的一个网站的业务以判定该业务是否超过了所述第二阈值;以及
第五指令,所述第五指令用于当所述网站的所述业务超过了所述第二阈值时,将所述业务的至少一部分减载到另一个Web服务器。
6.根据权利要求5的计算机程序产品,进一步包括:
第六指令,所述第六指令用于在Web服务器上监视所述多个网站中的一个网站的业务以判定该业务是否降到所述第三阈值以下;以及
第七指令,所述第七指令用于当所述网站的所述业务降到所述第三阈值以下时,禁用将业务减载到另一个Web服务器。
7.根据权利要求2的计算机程序产品,其中所述用于根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站的指令包括:
这样的指令,所述指令用于标识在第一组时间段具有业务峰值的第一网站;以及
这样的指令,所述指令用于标识在不同于所述第一组时间段的第二组时间段具有业务峰值的第二网站。
8.根据权利要求7的计算机程序产品,其中所述第二网站在与所述第一网站具有业务峰值的时间近似相同的时间具有业务谷值。
9.根据权利要求2的计算机程序产品,其中所述用于根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站的指令包括:
这样的指令,所述指令用于标识所述两个或更多网站以使所述两个或更多网站位于其上的Web服务器的业务的容量保持恒定。
10.根据权利要求2的计算机程序产品,其中所述用于根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站的指令包括:
这样的指令,所述指令用于标识所述两个或更多网站以使所有包含所述多个网站的Web服务器的总成本被最小化。
11.根据权利要求2的计算机程序产品,其中所述用于根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站的指令包括:
这样的指令,所述指令用于以公式表示整数规划问题,所述整数规划问题具有:决策变量,其是所述多个网站到多个Web服务器的分配;约束,其是在任何时间点对任何服务器的容量限制;以及目标函数,其是所述多个Web服务器中的不同Web服务器的服务器容量与峰值负载之间的最小距离的增函数。
12.根据权利要求2的计算机程序产品,其中所述用于根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站的指令包括:
这样的指令,所述指令用于以公式表示整数规划问题,所述整数规划问题具有:决策变量,其是所述多个网站到多个Web服务器的分配;约束,其是在任何时间点对任何服务器的容量限制;以及目标函数,其是所有被分配至少一个网站的Web服务器的成本的和。
13.一种将资源分配给多个网站的方法,所述方法包括:
为所述多个网站中的每个网站标识业务模式;
根据所述业务模式来为所述多个网站中的每个网站标识模板;以及
根据为所述多个网站中的每个网站标识的所述模板来将资源分配给所述多个网站中的网站。
14.根据权利要求13的方法,其中将资源分配给网站包括:
根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站;以及
根据是共同定位的候选者的所述两个或更多网站的标识来将资源分配给所述两个或更多网站。
15.根据权利要求13的方法,其中将资源分配给网站包括:
根据网站的所述模板为所述多个网站中的每个网站计算第一阈值;
根据所述第一阈值来计算第二阈值,其中当网站的业务强度达到或超过所述第二阈值时,减载业务被启用;以及
根据所述第一阈值来计算第三阈值,其中当网站的业务强度达到或降到所述第三阈值以下时,减载业务被禁用。
16.根据权利要求14的方法,其中将资源分配给网站包括:
根据网站的所述模板为所述多个网站中的每个网站计算第一阈值;
根据所述第一阈值来计算第二阈值,其中当网站的业务强度达到或超过所述第二阈值时,减载业务被启用;以及
根据所述第一阈值来计算第三阈值,其中当网站的业务强度达到或降到所述第三阈值以下时,减载业务被禁用。
17.根据权利要求15的方法,进一步包括:
在Web服务器上监视所述多个网站中的一个网站的业务以判定该业务是否超过了所述第二阈值;以及
当所述网站的所述业务超过了所述第二阈值时,将所述业务的至少一部分减载到另一个Web服务器。
18.根据权利要求17的方法,进一步包括:
在Web服务器上监视所述多个网站中的一个网站的业务以判定该业务是否降到所述第三阈值以下;以及
当所述网站的所述业务降到所述第三阈值以下时,禁用将业务减载到另一个Web服务器。
19.根据权利要求14的方法,其中根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站包括:
标识在第一组时间段具有业务峰值的第一网站;以及
标识在不同于所述第一组时间段的第二组时间段具有业务峰值的第二网站。
20.根据权利要求19的方法,其中所述第二网站在与所述第一网站具有业务峰值的时间近似相同的时间具有业务谷值。
21.根据权利要求14的方法,其中根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站包括:
标识所述两个或更多网站以使所述两个或更多网站位于其上的Web服务器的业务的容量保持恒定。
22.根据权利要求14的方法,其中根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站包括:
标识所述两个或更多网站以使所有包含所述多个网站的Web服务器的总成本被最小化。
23.根据权利要求14的方法,其中根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站包括:
以公式表示整数规划问题,所述整数规划问题具有:决策变量,其是所述多个网站到多个Web服务器的分配;约束,其是在任何时间点对任何服务器的容量限制;以及目标函数,其是所述多个Web服务器中的不同Web服务器的服务器容量与峰值负载之间的最小距离的增函数。
24.根据权利要求14的方法,其中根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站包括:
以公式表示整数规划问题,所述整数规划问题具有:决策变量,其是所述多个网站到多个Web服务器的分配;约束,其是在任何时间点对任何服务器的容量限制;以及目标函数,其是所有被分配至少一个网站的Web服务器的成本的和。
25.一种用于将资源分配给多个网站的装置,所述装置包括:
这样的装置,所述装置用于为所述多个网站中的每个网站标识业务模式;
这样的装置,所述装置用于根据所述业务模式来为所述多个网站中的每个网站标识模板;以及
这样的装置,所述装置用于根据为所述多个网站中的每个网站标识的所述模板来将资源分配给所述多个网站中的网站。
26.根据权利要求25的装置,其中所述用于将资源分配给网站的装置包括:
这样的装置,所述装置用于根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站;以及
这样的装置,所述装置用于根据是共同定位的候选者的所述两个或更多网站的标识来将资源分配给所述两个或更多网站。
27.根据权利要求25的装置,其中所述用于将资源分配给网站的装置包括:
这样的装置,所述装置用于根据网站的所述模板为所述多个网站中的每个网站计算第一阈值;
这样的装置,所述装置用于根据所述第一阈值来计算第二阈值,其中当网站的业务强度达到或超过所述第二阈值时,减载业务被启用;以及
这样的装置,所述装置用于根据所述第一阈值来计算第三阈值,其中当网站的业务强度达到或降到所述第三阈值以下时,减载业务被禁用。
28.根据权利要求26的装置,其中所述用于将资源分配给网站的装置包括:
这样的装置,所述装置用于根据网站的所述模板为所述多个网站中的每个网站计算第一阈值;
这样的装置,所述装置用于根据所述第一阈值来计算第二阈值,其中当网站的业务强度达到或超过所述第二阈值时,减载业务被启用;以及
这样的装置,所述装置用于根据所述第一阈值来计算第三阈值,其中当网站的业务强度达到或降到所述第三阈值以下时,减载业务被禁用。
29.根据权利要求27的装置,进一步包括:
这样的装置,所述装置用于在Web服务器上监视所述多个网站中的一个网站的业务以判定该业务是否超过了所述第二阈值;以及
这样的装置,所述装置用于当所述网站的所述业务超过了所述第二阈值时,将所述业务的至少一部分减载到另一个Web服务器。
30.根据权利要求29的装置,进一步包括:
这样的装置,所述装置用于在Web服务器上监视所述多个网站中的一个网站的业务以判定该业务是否降到所述第三阈值以下;以及
这样的装置,所述装置用于当所述网站的所述业务降到所述第三阈值以下时,禁用将业务减载到另一个Web服务器。
31.根据权利要求26的装置,其中所述用于根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站的装置包括:
这样的装置,所述装置用于标识在第一组时间段具有业务峰值的第一网站;以及
这样的装置,所述装置用于标识在不同于所述第一组时间段的第二组时间段具有业务峰值的第二网站。
32.根据权利要求31的装置,其中所述第二网站在与所述第一网站具有业务峰值的时间近似相同的时间具有业务谷值。
33.根据权利要求26的装置,其中所述用于根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站的装置包括:
这样的装置,所述装置用于标识所述两个或更多网站以使所述两个或更多网站位于其上的Web服务器的业务的容量保持恒定。
34.根据权利要求26的装置,其中所述用于根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站的装置包括:
这样的装置,所述装置用于标识所述两个或更多网站以使所有包含所述多个网站的Web服务器的总成本被最小化。
35.根据权利要求26的装置,其中所述用于根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站的装置包括:
这样的装置,所述装置用于以公式表示整数规划问题,所述整数规划问题具有:决策变量,其是所述多个网站到多个Web服务器的分配;约束,其是在任何时间点对任何服务器的容量限制;以及目标函数,其是所述多个Web服务器中的不同Web服务器的服务器容量与峰值负载之间的最小距离的增函数。
36.根据权利要求26的装置,其中所述用于根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站的装置包括:
这样的装置,所述装置用于以公式表示整数规划问题,所述整数规划问题具有:决策变量,其是所述多个网站到多个Web服务器的分配;约束,其是在任何时间点对任何服务器的容量限制;以及目标函数,其是所有被分配至少一个网站的Web服务器的成本的和。
37.一种用于配置计算基础结构的方法,包括将计算机可读代码集成到计算系统中,其中所述代码结合所述计算系统能够执行以下步骤:
为所述多个网站中的每个网站标识业务模式;
根据所述业务模式来为所述多个网站中的每个网站标识模板;以及
根据为所述多个网站中的每个网站标识的所述模板来将资源分配给所述多个网站中的网站。
CN200380108306.9A 2002-12-10 2003-11-14 根据业务模式识别来共同定位和减载网站业务的装置和方法 Pending CN1736079A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/315,335 2002-12-10
US10/315,335 US7386611B2 (en) 2002-12-10 2002-12-10 Apparatus and methods for co-location and offloading of web site traffic based on traffic pattern recognition

Publications (1)

Publication Number Publication Date
CN1736079A true CN1736079A (zh) 2006-02-15

Family

ID=32468668

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200380108306.9A Pending CN1736079A (zh) 2002-12-10 2003-11-14 根据业务模式识别来共同定位和减载网站业务的装置和方法

Country Status (8)

Country Link
US (2) US7386611B2 (zh)
EP (1) EP1597889A1 (zh)
JP (1) JP4502815B2 (zh)
CN (1) CN1736079A (zh)
AU (1) AU2003292269A1 (zh)
CA (1) CA2508047A1 (zh)
TW (1) TWI243313B (zh)
WO (1) WO2004054197A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105847171A (zh) * 2016-03-28 2016-08-10 乐视控股(北京)有限公司 网络设备过载保护方法

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7734726B2 (en) * 2001-11-27 2010-06-08 International Business Machines Corporation System and method for dynamically allocating processing on a network amongst multiple network servers
US7792951B2 (en) * 2002-12-10 2010-09-07 International Business Machines Corporation Apparatus and methods for classification of web sites
US7386611B2 (en) * 2002-12-10 2008-06-10 International Business Machines Corporation Apparatus and methods for co-location and offloading of web site traffic based on traffic pattern recognition
JP4066932B2 (ja) 2003-11-10 2008-03-26 株式会社日立製作所 予測に基づいた計算機リソース配分方法
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US7490325B2 (en) 2004-03-13 2009-02-10 Cluster Resources, Inc. System and method for providing intelligent pre-staging of data in a compute environment
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8200805B2 (en) * 2004-06-28 2012-06-12 Neuse Douglas M System and method for performing capacity planning for enterprise applications
JP4756675B2 (ja) * 2004-07-08 2011-08-24 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ資源のキャパシティを予測するためのシステム、方法およびプログラム
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
US7805515B2 (en) * 2004-09-20 2010-09-28 Camiant, Inc. Method for dynamic rate adaptation based on selective passive network monitoring
CA2586763C (en) 2004-11-08 2013-12-17 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
US8631130B2 (en) 2005-03-16 2014-01-14 Adaptive Computing Enterprises, Inc. Reserving resources in an on-demand compute environment from a local compute environment
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9015324B2 (en) 2005-03-16 2015-04-21 Adaptive Computing Enterprises, Inc. System and method of brokering cloud computing resources
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
US8782120B2 (en) 2005-04-07 2014-07-15 Adaptive Computing Enterprises, Inc. Elastic management of compute resources between a web server and an on-demand compute environment
CA2603577A1 (en) 2005-04-07 2006-10-12 Cluster Resources, Inc. On-demand access to compute resources
US7725901B2 (en) * 2005-04-14 2010-05-25 International Business Machines Corporation Method and system for performance balancing in a distributed computer system
US7788667B2 (en) * 2005-04-22 2010-08-31 Gm Global Technology Operations, Inc. Extensible scheduling of tasks in time-triggered distributed embedded systems
US8719255B1 (en) * 2005-08-23 2014-05-06 Amazon Technologies, Inc. Method and system for determining interest levels of online content based on rates of change of content access
US8271865B1 (en) 2005-09-19 2012-09-18 Google Inc. Detection and utilization of document reading speed
US8670319B2 (en) * 2005-09-19 2014-03-11 Google, Inc. Traffic prediction for web sites
US7653659B2 (en) * 2005-12-12 2010-01-26 International Business Machines Corporation System for automatic arrangement of portlets on portal pages according to semantical and functional relationship
US8134928B1 (en) 2005-12-15 2012-03-13 Nvidia Corporation Technique for identifying a failed network interface card within a team of network interface cards
US7739099B2 (en) * 2005-12-22 2010-06-15 International Business Machines Corporation Method and system for on-line performance modeling using inference for real production IT systems
US8190724B2 (en) * 2006-10-13 2012-05-29 Yahoo! Inc. Systems and methods for establishing or maintaining a personalized trusted social network
US8117486B2 (en) * 2007-04-10 2012-02-14 Xerox Corporation Method and system for detecting an anomalous networked device
US8432788B2 (en) * 2007-05-18 2013-04-30 Nvidia Corporation Intelligent failback in a load-balanced networking environment
US8300647B2 (en) * 2007-05-18 2012-10-30 Nvidia Corporation Intelligent load balancing and failover of network traffic
US8200694B1 (en) 2007-07-23 2012-06-12 Google Inc. Identification of implicitly local queries
US9178848B1 (en) 2007-07-23 2015-11-03 Google Inc. Identifying affiliated domains
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US20090198559A1 (en) * 2008-02-06 2009-08-06 Disney Enterprises, Inc. Multi-resolutional forecasting system
US8788490B1 (en) 2008-06-27 2014-07-22 Google Inc. Link based locale identification for domains and domain content
US7970905B2 (en) * 2008-07-03 2011-06-28 International Business Machines Corporation Method, system and computer program product for server selection, application placement and consolidation planning of information technology systems
US20100138575A1 (en) * 2008-12-01 2010-06-03 Micron Technology, Inc. Devices, systems, and methods to synchronize simultaneous dma parallel processing of a single data stream by multiple devices
TWI601024B (zh) * 2009-07-06 2017-10-01 Alibaba Group Holding Ltd Sampling methods, systems and equipment
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US9323994B2 (en) * 2009-12-15 2016-04-26 Micron Technology, Inc. Multi-level hierarchical routing matrices for pattern-recognition processors
US20130013444A1 (en) * 2009-12-23 2013-01-10 Telefonaktiebolaget L M Ericsson (Publ) Service Selection for Reduced Composition Cost
US9350627B2 (en) * 2010-04-15 2016-05-24 Bmc Software, Inc. Automated service time estimation method for IT system resources
US9363312B2 (en) 2010-07-28 2016-06-07 International Business Machines Corporation Transparent header modification for reducing serving load based on current and projected usage
US8700782B2 (en) 2010-08-18 2014-04-15 Microsoft Corporation Directing modalities over different networks in multimodal communications
JP5511609B2 (ja) 2010-09-27 2014-06-04 インターナショナル・ビジネス・マシーンズ・コーポレーション ウェブ・ページ作成システム、方法及びプログラム
US8578028B2 (en) 2011-01-06 2013-11-05 International Business Machines Corporation Techniques for provisioning cloud computing environment resources based on social media analysis
US20120072544A1 (en) * 2011-06-06 2012-03-22 Precision Networking, Inc. Estimating application performance in a networked environment
US8645950B2 (en) * 2011-06-28 2014-02-04 Microsoft Corporation Virtual machine image analysis
US9936329B2 (en) * 2012-03-09 2018-04-03 Nokia Technologies Oy Methods, apparatuses, and computer program products for operational routing between proximate devices
US9319274B1 (en) * 2012-03-29 2016-04-19 Emc Corporation Method and system for dynamic provisioning using server dormant mode for virtual server dormancy
JP5949115B2 (ja) * 2012-05-07 2016-07-06 富士ゼロックス株式会社 通信管理システム及びプログラム
US10652318B2 (en) * 2012-08-13 2020-05-12 Verisign, Inc. Systems and methods for load balancing using predictive routing
US10261938B1 (en) 2012-08-31 2019-04-16 Amazon Technologies, Inc. Content preloading using predictive models
US9195564B2 (en) 2012-09-04 2015-11-24 International Business Machines Corporation Advanced notification of workload
CN104239019B (zh) * 2013-06-21 2017-11-03 华为技术有限公司 搜索请求生成方法和系统
EP2830285A1 (en) * 2013-07-25 2015-01-28 Thomson Licensing Method for caching of data items in a cloud based data processing system and corresponding device
US9407676B2 (en) * 2013-11-25 2016-08-02 At&T Intellectual Property I, Lp Method and apparatus for distributing media content
US9350792B2 (en) * 2014-04-16 2016-05-24 Go Daddy Operating Company, LLC Method for location-based website hosting optimization
US9654587B2 (en) 2014-04-16 2017-05-16 Go Daddy Operating Company, LLC System for location-based website hosting optimization
JP6619938B2 (ja) * 2015-02-13 2019-12-11 株式会社日立システムズ リソース制御システムおよびリソース制御方法
JP6451497B2 (ja) * 2015-05-20 2019-01-16 富士通株式会社 情報処理装置、情報処理プログラム、及びデータセンタシステム
JP6539363B2 (ja) * 2017-04-07 2019-07-03 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正通信検知方法、不正通信検知システム及びプログラム
JP6494821B2 (ja) * 2017-04-07 2019-04-03 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正通信検知基準決定方法、不正通信検知基準決定システム及びプログラム
CN109005678B (zh) 2017-04-07 2022-05-27 松下电器(美国)知识产权公司 非法通信检测方法、非法通信检测系统以及记录介质
EP3609139B1 (en) * 2017-04-07 2022-03-30 Panasonic Intellectual Property Corporation of America Method for determining reference for unauthorized communication detection, system for determining reference for unauthorized communication detection, and program
US11411850B2 (en) 2018-03-14 2022-08-09 Nec Corporation Traffic analysis apparatus, method, and program
US11347541B2 (en) * 2019-01-31 2022-05-31 Walmart Apollo, Llc Methods and apparatus for virtual machine rebalancing

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0944381A (ja) * 1995-07-31 1997-02-14 Toshiba Corp データ格納方法およびデータ格納装置
US6185601B1 (en) * 1996-08-02 2001-02-06 Hewlett-Packard Company Dynamic load balancing of a network of client and server computers
US6240454B1 (en) * 1996-09-09 2001-05-29 Avaya Technology Corp. Dynamic reconfiguration of network servers
US6058423A (en) * 1996-12-23 2000-05-02 International Business Machines Corporation System and method for locating resources in a distributed network
US6112238A (en) * 1997-02-14 2000-08-29 Webtrends Corporation System and method for analyzing remote traffic data in a distributed computing environment
US6119143A (en) * 1997-05-22 2000-09-12 International Business Machines Corporation Computer system and method for load balancing with selective control
US6578077B1 (en) * 1997-05-27 2003-06-10 Novell, Inc. Traffic monitoring tool for bandwidth management
US6351775B1 (en) * 1997-05-30 2002-02-26 International Business Machines Corporation Loading balancing across servers in a computer network
US6253230B1 (en) * 1998-09-22 2001-06-26 International Business Machines Corporation Distributed scalable device for selecting a server from a server cluster and a switched path to the selected server
US6263361B1 (en) * 1998-11-19 2001-07-17 Ncr Corporation Method for calculating capacity measurements for an internet web site
US6728748B1 (en) * 1998-12-01 2004-04-27 Network Appliance, Inc. Method and apparatus for policy based class of service and adaptive service level management within the context of an internet and intranet
US6308210B1 (en) * 1998-12-10 2001-10-23 International Business Machines Corporation Method and apparatus for traffic control and balancing for an internet site
US6393479B1 (en) * 1999-06-04 2002-05-21 Webside Story, Inc. Internet website traffic flow analysis
JP2001051890A (ja) * 1999-08-10 2001-02-23 Toshiba Corp 仮想分散ファイルサーバシステム
US6374297B1 (en) * 1999-08-16 2002-04-16 International Business Machines Corporation Method and apparatus for load balancing of web cluster farms
US6801945B2 (en) * 2000-02-04 2004-10-05 Yahoo ! Inc. Systems and methods for predicting traffic on internet sites
US6816905B1 (en) * 2000-11-10 2004-11-09 Galactic Computing Corporation Bvi/Bc Method and system for providing dynamic hosted service management across disparate accounts/sites
US7103651B2 (en) * 2000-11-30 2006-09-05 Nortel Networks Limited Method and apparatus for discovering client proximity network sites
US6877035B2 (en) * 2001-01-29 2005-04-05 International Business Machines Corporation System for optimal resource allocation and planning for hosting computing services
US7406532B2 (en) 2001-02-16 2008-07-29 Infrastructure Innovations, Llc Auto control of network monitoring and simulation
US6778991B2 (en) * 2001-09-27 2004-08-17 I2 Technologies Us, Inc. Dynamic load balancing using semantic traffic monitoring
US6947985B2 (en) * 2001-12-05 2005-09-20 Websense, Inc. Filtering techniques for managing access to internet sites or other software applications
US7096200B2 (en) * 2002-04-23 2006-08-22 Microsoft Corporation System and method for evaluating and enhancing source anonymity for encrypted web traffic
US7433304B1 (en) * 2002-09-06 2008-10-07 Packeteer, Inc. Classification data structure enabling multi-dimensional network traffic classification and control schemes
US7792951B2 (en) 2002-12-10 2010-09-07 International Business Machines Corporation Apparatus and methods for classification of web sites
US7386611B2 (en) 2002-12-10 2008-06-10 International Business Machines Corporation Apparatus and methods for co-location and offloading of web site traffic based on traffic pattern recognition

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105847171A (zh) * 2016-03-28 2016-08-10 乐视控股(北京)有限公司 网络设备过载保护方法

Also Published As

Publication number Publication date
EP1597889A1 (en) 2005-11-23
CA2508047A1 (en) 2004-06-24
US20080091826A1 (en) 2008-04-17
AU2003292269A1 (en) 2004-06-30
US20040111508A1 (en) 2004-06-10
JP4502815B2 (ja) 2010-07-14
US8352607B2 (en) 2013-01-08
JP2006518887A (ja) 2006-08-17
US7386611B2 (en) 2008-06-10
TWI243313B (en) 2005-11-11
WO2004054197A1 (en) 2004-06-24
TW200422860A (en) 2004-11-01

Similar Documents

Publication Publication Date Title
CN1736079A (zh) 根据业务模式识别来共同定位和减载网站业务的装置和方法
Reid et al. Launching genomics into the cloud: deployment of Mercury, a next generation sequence analysis pipeline
Kaur et al. Data placement in era of cloud computing: a survey, taxonomy and open research issues
US9058216B2 (en) Method for estimating job run time
US20200057675A1 (en) Workflow optimization
Ardagna et al. Per-flow optimal service selection for web services based processes
Peng et al. Improving protein function prediction using domain and protein complexes in PPI networks
CN101080736A (zh) 自动地将网格作业的投标请求分配给多个网格供应商并分析响应以选择获胜网格供应商
WO2016110234A1 (zh) 面向云平台应用的服务推荐方法、设备及系统
US7716151B2 (en) Apparatus, method and product for optimizing software system workload performance scenarios using multiple criteria decision making
CN1975676A (zh) 多节点计算机系统和用于监视其性能的方法
Nadeem et al. Optimizing execution time predictions of scientific workflow applications in the grid through evolutionary programming
Baughman et al. Profiling and predicting application performance on the cloud
Ouadah et al. Combining skyline and multi-criteria decision methods to enhance web services selection
Pommier et al. RAMI: a tool for identification and characterization of phylogenetic clusters in microbial communities
CN113673857A (zh) 一种面向数据中台的服务感知与资源调度系统及方法
Birkmaier et al. Towards a robust digital production and logistics network by implementing flexibility measures
KR101894772B1 (ko) 이율배반 특성을 가지는 건설요소기술 및 제품에 대한 qfd-topsis 웹기반 품질평가 방법
Markov et al. Looper: An end-to-end ml platform for product decisions
Salehnia et al. An optimal task scheduling method in IoT-Fog-Cloud network using multi-objective moth-flame algorithm
Yan et al. Deadline Guarantee Enhanced Scheduling of Scientific Workflow Applications in Grid.
Gu et al. Intelligent scheduling method for life science automation systems
Lindgren et al. Key aspects of software release planning in industry
US20110167014A1 (en) Method and apparatus of adaptive categorization technique and solution for services selection based on pattern recognition
Tang et al. Open-source benchmarking of IBD segment detection methods for biobank-scale cohorts

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication