用于提供所要求的能力的万维网服务器的远程动态配置的制作方法

文档序号:6415753阅读:231来源:国知局
专利名称:用于提供所要求的能力的万维网服务器的远程动态配置的制作方法
技术领域
本发明涉及网络服务领域,具体涉及服务器的远程和动态配置,用于促进所要求的服务器能力。
背景技术
许多公司提供托管服务,以向客户提供安全、强壮和灵活的基础结构,这种基础结构中托管了各种应用,例如,万维网应用,诸如在线银行、在线购物、信息服务和托管服务之类,所述托管服务诸如“为所使用的能力付费”,它使得客户能够仅仅为它们使用的处理能力付费,并且使得所述客户可以以节省成本的方式部署最新的设备。托管服务通过下述方式向许多企业提供了内部地建立和运行它们的技术基础结构的替代方案通过接进在其他公司的数据中心的计算机系统以提供软件应用和诸如服务器的硬件资源的管理。这些服务器和服务的管理和操纵向许多托管公司提供了极大的挑战,因为在诸如服务器场之类的环境内的服务器的管理和操纵的关键问题是服务器的刚性的基础结构和架构,这是因为服务器与服务器正在发表的数据相关联地扮演的角色的定义。
资源向例如支持特定客户的产品的万维网服务器的刚性分配可能导致低效使用昂贵的万维网服务器资源,它的使用未达到其全部能力,而支持其他产品的其他万维网服务器伸展到断点。而且,今天的当前现代万维网服务器软件是复杂和灵活的,并且可以通过应用协议接口(API)被配置和扩展以促进在基本超文本标记语言(HTML)页面的标准服务之外的强大处理。但是,当前的部署实践和技术要求使用配置文件或二进制注册表来手动配置万维网服务器,因此万维网服务器在它们的处理对于特定网站的请求的操作期间保持静态。当用于特定HTML页面或不同的网站URL的附加或不同资源需要发表或者需要向或从服务器池增加或去除新的服务器的时候,必须重新启动服务器以使得任何改变生效。这需要服务器场(server farm)管理员方面的很大的管理努力,因为需要大量的时间来手动配置服务器,并且关闭服务器和重新启动服务器以允许任何改变生效不总是方便的,因为这会导致服务丢失一段时间。
美国专利申请公开US 2002/0002602(2602)描述了一种系统,用于响应于客户的请求而对于所述客户提供网页,从多个合作的万维网服务器以协作的方式指定用于提供网页的资源,并且保持可靠的连接以便服务器和客户保持同步并且不丢失信息。为了使得上述发生以便万维网服务器处理URL和将所述URL与数据源相关联,所述万维网服务器要求人为干预,并且万维网服务器需要被关闭和重新启动以使得改变生效。

发明内容
按照本发明,现在提供了一种用于远程和动态配置服务器以促进所需要的服务器能力的方法,包括步骤(a)客户器件从在通信网络中的第一服务器请求资源;(b)第一服务器从客户器件接收对于所述资源的请求;(c)第一服务器将对于资源的客户请求动态内容模块,所述动态内容模块用于识别可以提供所请求的资源的可用第三服务器,并且将所请求的资源路由到客户器件;(d)从第一和第三服务器整理来自第一和第三服务器的性能数据,并且第一服务器向第二服务器报告所述性能数据;(e)第二服务器分析在步骤(d)整理的性能数据以确定第一和第三服务器的执行能力,并且识别第一或第三服务器是否已经达到了预定的门限;以及(f)第二服务器响应于步骤(e)而调整第一服务器或第三服务器的分配,并且向第一服务器的动态配置模块发出对于第一服务器或第三服务器的配置更新指令,并且确定资源更新是否成功。
本发明有益地允许最佳化服务器性能,以便可以根据服务器的性能来从服务器池分配或解除分配所述服务器,所述性能例如服务器是否扩展能力,或等同地,服务器是否没有被完全使用。而且,通过使用模块化的自主计算部件,系统能够在关闭的和不可预测的条件下配置和重新配置其本身。而且,所述方法允许对于硬件资源或数据资源进行改变而不需要像其他现有技术系统那样重新启动服务器。
优选的是,本发明提供了动态内容模块,用于从动态配置模块请求第三服务器的连接配置文件。这允许第一服务器确定哪个数据源服务器具有客户所请求的资源。
优选的是,本发明提供了调整从一个自由的服务器池或向一个自由的服务器资源池分配或解除分配第一服务器和第三服务器之一或两者。本发明因此可以监控服务器的性能,并且根据服务器的工作负荷添加附加的资源或解除分配资源。
优选的是,本发明提供了从第一服务器分离所请求的资源,以允许引入新服务或去除冗余的服务。
在另一个方面,本发明提供了一种用于远程和动态配置服务器以提供所需要的能力的系统,所述系统包括客户器件,用于请求和接收在通信网络中的资源,所述系统还包括第一服务器,所述第一服务器包括动态内容模块、动态配置模块和报告模块;用于将对于资源的客户请求路由到所述动态内容模块的装置;所述动态内容模块用于识别可以提供所请求的资源的第三服务器的装置和用于检索与在所述动态配置模块中存储的第三服务器相关联的连接配置文件的装置;所述报告模块用于从第一服务器和第三服务器整理性能数据的装置和用于将所述性能数据路由到第二服务器的装置;第二服务器,包括分析模块、资源分配模块和资源更新模块,所述第二服务器向所述分析模块发送性能数据;分析模块用于确定第一服务器和第三服务器的执行能力的装置和用于识别第一服务器和第三服务器是否已经达到预定门限的装置;所述资源分配模块用于响应于识别装置而调整第一服务器和第三服务器之一或两者的分配的装置;资源更新模块用于向第一服务器的动态配置模块发出用于第一服务器和第三服务器之一或两者的配置更新指令的装置和用于确定资源更新是否成功的装置;包括一个或多个资源的第三服务器和用于第三服务器向第一服务器提供所请求的资源的装置。
另一个优点是HTTP URL可以被服务器处理和与远程数据源相关联而不必重新启动服务器或不要求人为干预。本发明的另一个优点是对于数据源的动态的即插即用的安全和集中管理,以便在工作中服务网站。本发明的另一个优点是提供对于其他机制的多个协议支持——诸如FTP、XML和SOAP——和文件共享。


现在参照附图来仅仅举例说明本发明,其中
图1图解了其中可以按照本发明的优选实施例实现本发明的服务器场;图2图解了用于详细说明按照本发明的优选实施例的系统的部件的概览的方框图;图3图解了用于详细说明按照本发明的优选实施例的、图2的万维网服务器的动态内容模块的功能的流程图;图4图解了用于详细说明按照本发明的优选实施例的、图2的万维网服务器的报告模块的功能的流程图;图5图解了用于详细说明按照本发明的优选实施例的、图2的管理服务器的分析模块的功能的流程图;图6图解了用于详细说明按照本发明的优选实施例的、图2的管理服务器的资源分配模块的功能的流程图;图7图解了用于详细说明按照本发明的优选实施例的、图2的管理服务器的资源更新模块的功能的流程图。
具体实施例方式
图1图解了可以实现本发明的服务器场。所述服务器场包括多个客户器件100和105,它们连接到诸如因特网110的网络。客户器件100和105通过在网络110上发送和接收对于资源的请求来执行交易。路由器115和120提供了在网络110和局域网(LAN)125之间的连接,所述局域网可以是高速以太网或任何其他适当的传输介质或拓扑。路由器115和120接收输入的请求,并且通过网络135向路由器/防火墙130转发所述请求,路由器/防火墙130将所述请求过滤而提供到服务器145-155。本发明具体化了用于服务器145-155的中央控制点的管理服务器140。服务器140-155可以实现一个或多个服务器技术,包括例如UNIX,它是美国和其他国家中的Open Group的注册商标;Novell,它是在美国和其他国家中的Novell公司的注册商标;或Windows NT,它是在美国和其他国家或两者中的微软公司的注册商标;和/或对等的联网布置。虽然已经参照服务器场说明了本发明,但是本发明可以等同地被应用到普遍计算环境以及其他服务器联网布置。
应用数据被存储在与服务器140-155分离的一个或多个数据源服务器175和180中的数据存储器中。从在网络160上的服务器145-155的任何一个发送请求。所述请求被路由器/防火墙165接收,并且通过另外的网络170路由到适当的数据源服务器175和180,它们存储由一个或多个客户器件100和105请求的资源。
参见图2,示出了所述系统的示意图。所述系统包括模块化自主计算部件,用于提供自诊断能力以检测服务器145-155的性能问题。而且,通过使用模块化部件,所述系统能够提供数据源的“即插即用”,以容易引入新服务。
所述系统包括服务器145,它具有报告模块205,用于在所分配的服务器池中整理来自每个服务器145-155的性能和请求数据;动态内容模块215,用于通过最适当的接口发送对于资源的请求,以使用服务器145-155的本地数据访问能力或通过建立和管理到远程服务器本身的连接来访问被请求的资源;动态配置模块216,用于更新、处理和存储在所分配的服务器池中的每个服务器的配置文件;客户器件100,用于从服务器请求资源。所述配置文件用于保存特定服务器145-155的配置设置,诸如注册、端口设置、安装路径、验证设置、用户设置、SMPT设置、连接设置、万维网浏览器设置和在设置中的日志。
所述系统还包括管理服务器140,用于提供用于可用的服务器池中的所有服务器的中央控制点;分析模块230,用于分析来自报告模块205的性能和请求数据;资源分配模块235,用于确定在自由服务器资源池中是否存在要添加到所分配的服务器池的自由资源或是否需要解除分配一个服务器和将其放回所述自由服务器资源池;资源更新模块240,用于确定是否已经成功地向或从所述可用的资源池分配或解除分配资源;以及管理客户245,用于向所述系统输入人为配置任务。管理客户245可以从服务器管理员接收管理请求。管理客户作为图形用户界面,并且在提供到管理服务器的管理上提供很大的灵活性,诸如使用在服务器145-155和管理服务器140之间的标准HTTP连接经由因特网提供在远处的另一个站点中的连接。为了仅仅使得被授权的管理员能够进行配置改变,可以向安全目录提供一个接口,用于处理验证和授权请求(在附图中未示出)。
使用作为在HTTP会话上的传送机制220和225的扩展标记语言(XML)将数据流220和225发送到服务器145-155和管理服务器140,或者将其从服务器145-155和管理服务器140发送出来。XML是在万维网上的结构化文件和数据的通用格式。XML使用类似于HTML的标签,并且允许以许多人可以明白的方式来结构化数据。可以在万维网联盟找到关于XML的进一步的信息。
客户器件100向服务器145发送对于特定资源的请求。可以被服务器145-155接收的一种这样的请求是HTTP URL,例如,请求HTML页面的http//www.ibm.com。为了允许服务器翻译所述HTTP URL,所述服务器使用域名服务(DNS),它将因特网域名翻译为网络地址,诸如129.42.19.99。所述资源可以是标准的HTML页面或.exe文件。服务器145从客户器件100和105接收对于资源的请求,所述请求被发送到动态内容模块215。
虽然图2图解了管理服务器140和服务器145,但是应当明白,所述系统可以包括如图1所示的多个服务器145-155,每个服务器包括如图2所示的模块。
现在参照图3来说明动态内容模块215的操作。应当注意,在图3中的虚线表示数据流,单实线表示控制流。动态内容模块215在步骤300从客户器件接收对于资源的请求,并且在步骤305比较在服务器145上存储的内容与所请求的资源。例如,如果客户从www.ibm.com/news/today.html请求资源,则动态内容模块比较在服务器上存储的today.html页面和在源服务器上存储的today.html页面以确定是否已经更新了today.html页面,向客户器件发送最新的today.html页面。在步骤310,服务器确定是否已经高速缓冲存储了内容,并且在步骤360确定所高速缓冲存储的内容是否是当前和最新的。如果所述高速缓冲存储器是当前的,则控制进行到步骤355,并且从内容高速缓冲存储器350检索所请求的资源,同样,如果内容未被高速缓冲存储,则在步骤315识别包括所请求的资源的服务器。而且,在步骤355,向报告模块205发送涉及服务器145的行为的信息。所述信息可以包括这样的数据,诸如对于诸如产品之类的每个资源的请求数量、服务器响应所需要的时间或所请求的服务的类型,诸如HTTP或文件传送协议(FTP)。
为了使得服务器145能够识别数据源服务器175,所述服务器在步骤325从连接配置存储器320检索源服务器的连接配置文件。在步骤330对于内容请求执行预处理。在步骤335,向数据源服务器175发送请求,在步骤340,服务器145从源服务器接收客户器件300请求的内容。所检索的内容被存储在内容高速缓冲数据存储器350中,或者,现有的内容在步骤345被以所检索的内容刷新,并且被存储在内容高速缓冲数据存储器350中。
返回步骤355,关于在步骤300从客户器件100请求的资源的信息以及性能信息被发送到报告模块210。参照图4,在步骤400,报告模块205从动态内容模块215接收内容信息,并且记录所述信息。这些细节在步骤405被存储在服务器统计数据存储器中,并且与每个服务器145-155相关联的服务器统计(响应时间、所请求的页面的数量、多少次、什么页面、哪个服务器、服务器配置细节和性能数据)在步骤410经由XML数据流220被发送到管理服务器140。
参见图5,管理服务器140的分析模块230接收在XML数据流220中的服务器统计,并且,分析模块230在步骤500分析所述服务器统计以在步骤505确定服务器145-155是否已经达到预定的门限,如果服务器的性能还没有达到预定的门限,则控制返回步骤500,否则控制进行到步骤510,并且分析模块230分析服务器的当前配置设置,并且向资源分配模块235发送所述服务器的配置设置。
参见图6,在步骤600,如果已经超过性能门限或者如果一个服务器应当从所分配的服务器的当前池被去除和返回到自由资源池,则资源分配模块235确定新的服务器是否应该被加到服务器145-155的当前的池。如果分析模块230确定要增加附加的服务器,则控制进行到步骤605,并且资源分配模块在步骤610识别是否存在备用资源。备用资源可以例如是附加服务器或等同地是一些其他的硬件资源。如果不能定位备用资源,则控制进行到步骤630,并且在步骤635,一个例外误差被产生和显示在管理控制台245中,以警告技术人员资源更新失败。返回步骤610,如果已经定位了备用资源,则控制进行到步骤615,选择新的服务器,并且从特定服务器140-155的配置数据库615请求关于服务器的配置设置文件的信息。在步骤620,一旦已经接收到配置设置文件,则所述配置设置文件使用所选择的服务器的当前指令被更新,并且经由XML数据流225被发送到资源更新模块240和动态配置模块126。
参见图7,在步骤700,经由XML数据流225向服务器145的动态配置模块216发送配置更新信息。资源更新模块240在步骤710等待来自服务器145的确认。如果在步骤715配置更新成功,则控制进行到步骤720,更新配置数据库730。返回步骤720,如果来自服务器145的确认成功,则控制也进行到步骤735,并且进行对于负荷平衡基础结构的配置更新请求。等同地,如果在步骤720更新不成功,则控制进行到步骤745,并且产生例外处理警告,并且在步骤750认为资源更新失败。
权利要求
1.一种用于远程和动态配置服务器以促进所需要的服务器能力的方法,包括步骤(a)客户器件从在通信网络中的第一服务器请求资源;(b)第一服务器从客户器件接收对于所述资源的请求;(c)第一服务器将对于资源的客户请求动态内容模块,所述动态内容模块用于识别可以提供所请求的资源的可用第三服务器,并且将所请求的资源路由到客户器件;(d)从第一和第三服务器整理来自第一和第三服务器的性能数据,并且第一服务器向第二服务器报告所述性能数据;(e)第二服务器分析在步骤(d)整理的性能数据以确定第一和第三服务器的执行能力,并且识别第一或第三服务器是否已经达到了预定的门限;以及(f)第二服务器响应于步骤(e)而调整第一服务器或第三服务器的分配,并且向第一服务器的动态配置模块发出对于第一服务器或第三服务器的配置更新指令,并且确定资源更新是否成功。
2.按照权利要求1的方法,其中,所述动态内容模块还包括从动态配置模块请求用于第三服务器的连接配置文件。
3.按照权利要求1的方法,其中,所述动态配置模块存储用于第一服务器和第三服务器之一或两者的配置设置。
4.按照权利要求1的方法,其中,调整第一服务器和第三服务器之一或两者的分配还包括从自由服务器池分配附加服务器。
5.按照权利要求1的方法,其中,调整第一服务器和第三服务器之一或两者的分配还包括从所分配的资源池向自由服务器资源池解除分配第一服务器或第三服务器。
6.按照权利要求1或2的方法,其中,第一服务器和第二服务器通过XML数据流彼此通信。
7.按照权利要求1的方法,其中,第二服务器是管理服务器,用于提供用于一个或多个第一服务器的中央控制点。
8.按照权利要求1的方法,其中,所请求的资源被与第一服务器分离,以允许引入新服务或去除冗余的服务。
9.按照权利要求1的方法,其中,第一服务器是多个服务器。
10.按照权利要求1的方法,其中,第三服务器是多个服务器。
11.一种用于远程和动态配置服务器以提供所需要的能力的系统,所述系统用于客户器件,所述客户器件用于请求和接收在通信网络中的资源,所述系统还包括第一服务器,所述第一服务器包括动态内容模块、动态配置模块和报告模块;所述第一服务器还包括用于将对于资源的客户请求路由到所述动态内容模块的装置;所述动态内容模块用于识别可以提供所请求的资源的第三服务器的装置和用于检索与在所述动态配置模块中存储的第三服务器相关联的连接配置文件的装置;以及所述报告模块用于从第一服务器和第三服务器整理性能数据的装置和用于将所述性能数据路由到第二服务器的装置;第二服务器,包括分析模块、资源分配模块和资源更新模块,所述第二服务器向所述分析模块发送性能数据;第二服务器还包括分析模块用于确定第一服务器和第三服务器的执行能力的装置和用于识别第一服务器和第三服务器是否已经达到预定门限的装置;所述资源分配模块用于响应于识别装置而调整第一服务器和第三服务器之一或两者的分配的装置;以及资源更新模块用于向第一服务器的动态配置模块发出用于第一服务器和第三服务器之一或两者的配置更新指令的装置和用于确定第一服务器和第三服务器之一或两者的分配或解除分配是否成功的装置;以及包括一个或多个资源的第三服务器和用于第三服务器向第一服务器提供所请求的资源的装置。
12.按照权利要求11的系统,其中,用于调整第一服务器和第三服务器之一或两者的分配的装置还包括从自由服务器池分配附加服务器的装置。
13.按照权利要求11的系统,其中,用于调整第一服务器和第三服务器之一或两者的分配的装置还包括用于从所分配的资源池向自由服务器资源池解除分配第一服务器或第三服务器之一或两者的装置。
14.按照权利要求11的系统,其中,用于在第一服务器和第二服务器之间通信的装置是通过XML数据流。
15.按照权利要求11的系统,其中,用于所述连接配置文件的装置包括用于第一服务器和第三服务器的连接设置。
16.按照权利要求11的系统,其中,所述动态配置模块提供用于存储用于第一服务器和第三服务器的配置设置的装置。
17.按照权利要求11的系统,其中,第二服务器是管理服务器,用于提供用于第一服务器和第三服务器的中央控制点的装置。
18.按照权利要求11的系统,其中,用于所请求的资源的装置被与第一服务器分离,以允许用于引入新服务或去除冗余的服务的装置。
19.按照权利要求11的系统,其中,第一服务器是多个服务器。
20.按照权利要求11的系统,其中,第三服务器是多个服务器。
21.一种计算机程序产品,包括在计算机可读存储介质上存储的计算机程序代码,它当在数据处理系统上被执行时指令所述数据处理系统执行权利要求1的方法。
全文摘要
本发明涉及用于远程和动态配置万维网服务器以促进所需要的能力的方法和系统。本发明提供了对于下述问题的解决方案关于服务器的刚性基础结构和架构的、在诸如服务器场的环境内的一个或多个服务器的管理和操纵的问题,这是由于服务器与服务器正在发表的数据相关联地扮演的角色的定义。以模块化的自主计算部件的形式提供了一种解决方案,以允许服务器处理URL,并且允许所述服务器将其与远程数据源相关联而不必重新启动或人为干预服务器,并且允许通过下述方式来引入新的服务和/或硬件资源通过整理和分析从服务器收集的性能数据以确定服务器是否结束或在使用。
文档编号G06F9/50GK1679300SQ03820990
公开日2005年10月5日 申请日期2003年8月29日 优先权日2002年9月7日
发明者尼古拉斯·J·米奇利 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1