CN1277198C - 服务器的选择和配置 - Google Patents

服务器的选择和配置 Download PDF

Info

Publication number
CN1277198C
CN1277198C CNB028110315A CN02811031A CN1277198C CN 1277198 C CN1277198 C CN 1277198C CN B028110315 A CNB028110315 A CN B028110315A CN 02811031 A CN02811031 A CN 02811031A CN 1277198 C CN1277198 C CN 1277198C
Authority
CN
China
Prior art keywords
server
module
suitable server
identifier
move
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.)
Expired - Fee Related
Application number
CNB028110315A
Other languages
English (en)
Other versions
CN1513140A (zh
Inventor
蒂莫西·G·德博尔
蒂莫西·M·弗朗西斯
谢尔登·B·沃斯尼克
袁兆聪
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 CN1513140A publication Critical patent/CN1513140A/zh
Application granted granted Critical
Publication of CN1277198C publication Critical patent/CN1277198C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation 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 software capabilities, i.e. software resources associated or available to the machine

Abstract

本发明提供了一种用于方便地管理配置和选择运行模块的服务器的机制。本发明提供了一种用于管理多个服务器的方法,包括:接收用于配置适合于运行一个模块的适当服务器的请求;从包括多个适当服务器的标识符的表格中定位所述适当服务器的标识符;配置适当服务器以运行所述模块。

Description

服务器的选择和配置
技术领域
本发明涉及一种计算机编程的代码,具体涉及用于配置和选择服务器以在计算机软件环境中运行软件模块的方法和系统。
背景技术
诸如用于Java或HTML的软件的用于开发软件的软件开发环境是公知的。软件开发环境的一个示例是可以从Sun微系统获得的J2EETM(Java 2平台企业版)。J2EE包括用于开发多层基于万维网的软件的一组服务、应用程序接口(API)和协议。
服务器是网络连接的计算机,它具有用于管理资源的服务器软件。例如,文件服务器包括计算机、服务器和用于存储文件以便用户可以通过网络在文件服务器上存储文件的数据存储器件。打印服务器包括计算机和用于管理打印机网络的服务器软件。网络服务器包括计算机和用于管理网络通信量的服务器软件。数据库服务器用于处理数据块查询。服务器专用于执行它们预定的服务器任务。对于一些操作系统,单个计算机可以同时执行或运行几个服务器或程序。计算机可以用于执行或运行几个不同类型的服务器,并且可能是同时地。在这种情况下的服务器可以指的是执行任务的软件而不是计算机和服务器的组合。为了简单,以下将服务器软件称为“服务器”。
调配(deployment)是这样的处理,其中在软件开发环境中的服务器被配置来运行以下称为“模块”的软件模块。配置服务器的任务可以被软件开发队伍的成员执行。存在几种模块,诸如EJB(企业Java Beans)、WEB(因特网万维网信息)和应用客户程序。一个模块可以包括具有计算机编程代码或软件、计算机可执行代码或计算机可读数据的计算机编程文件。计算机文件可以被组织在具有子目录的目录中。
参见图3,块300描述了驻留在计算机的存储器中的现有技术的软件开发环境。可以理解环境300可以驻留在各种网络连接的计算机的存储器中,并且环境300不仅仅限于驻留在单个计算机上。块(block)302、304、306和308描述各种模块。模块(module)302和308表示WEB类型的模块。模块304表示EJB类型的模块。模块306表示数据类型的模块。块310和314表示环境300的各种类型的服务器。服务器310和314每个具有分别具有配置文件312和316。服务器310表示可以从IBM公司获得的WebsphereTM应用服务器。服务器312表示也可以从IBM公司获得的DB2TM(数据库)服务器。箭头318、320和322表示一个服务器已经被调配或配置来运行一个特定的模块或多个模块。箭头318和320表示服务器310已经被配置或调配来分别执行或运行模块302和304。箭头310表示服务器314已经被调配或配置来运行模块306。开发环境300的服务器还必须被配置来执行模块310。也可以说,模块310还必须被调配来在服务器上运行。配置文件312和316用于表示哪些模块可以由服务器310和314分别运行。如果软件开发人员向被配置来执行模块的服务器发送请求,则被配置的服务器将执行这个模块。但是如果服务器还没有被配置来执行所述模块,则所述服务器不执行所述模块。为了具有适当的服务器运行模块308,软件开发人员必须首先改变适当的服务器的配置文件。因此每次一个新的模块要被服务器运行,则必须修改适当的服务器的配置文件。在软件开发周期期间,许多模块被建立和需要测试。每次新模块被建立和需要被测试时修改各种适当的服务器的配置文件是不方便的,尤其是当多个软件开发人员被涉及在开发各种模块的时候。
现有技术提供了用于在软件开发环境中配置和选择服务器的不完美的机制。软件开发人员被要求花费宝贵的时间来执行这样的任务:配置适当的服务器以便在新开发的模块可以由所述服务器执行或运行之前执行或运行这些模块,这可以导致当涉及多个开发人员时的混淆。当开发环境包括多种类型的服务器时,现有技术的机制变得有问题和不方便,并且软件开发人员工作来满足开发和通过充分测试的模块的期限。
发明内容
本发明的目的在于提供一种用于配置和选择适合于运行各种模块的适当的服务器的机制。
本发明提供一种用于管理多个服务器的方法,包括:接收用于配置适合于运行一个模块的服务器的请求,该模块具有一标识符;通过从包括多个适当服务器的标识符的表格中定位所述适当服务器的标识符来选择一适当服务器;将所定位的适当服务器的标识符和模块的标识符插入到一优先表以使得这些标识符关联起来,所述优先表包括对应于模块标识符的服务器标识符,其中,除非所述信息已经存在并且在所述优先表中被关联起来,否则就插入所述信息;以及配置适当服务器以运行所述模块。
本发明还提供一种工作连接到计算机可读存储器的计算机系统,所述计算机系统用于管理多个服务器,所述计算机系统包括:用于指令计算机系统接收用于配置适合于运行一个模块的服务器的请求的装置,该模块具有一标识符;用于指令计算机系统通过从包括多个适当服务器的标识符的表格中定位所述适当服务器的标识符来选择一适当服务器的装置;用于指令计算机系统将所定位的适当服务器的标识符和模块的标识符插入到一优先表以使得这些标识符关联起来的装置,所述优先表包括对应于模块标识符的服务器标识符,其中,除非所述信息已经存在并且在所述优先表中被关联起来,否则就插入所述信息;以及用于指令计算机系统配置适当服务器以运行所述模块的装置。
本发明提供了一种用于配置和选择适合于运行各种模块的适当的服务器的方法。所述方法可以确实地包括在可以配置和选择软件环境中的各种服务器的可执行程序中。可以从查找表识别适当的服务器。各种查找表可以彼此适当组合地被实现和使用,例如备份表、优选表和优先表。
备份表包括用于识别对应于模块类型的适当服务器类型的标识符。如果适当的服务器不能从软件环境被容易地定位,则可以从备份表定位和识别适当的服务器的类型,并且可以随后建立适当的服务器以运行所述模块。备份表可以包括各种类型的服务器和服务器可以执行的对应类型的模块的预定标识符,或者可以不包括用户必须将默认表中所需要的标识符插入其中的可标识的服务器。
优选表包括用于识别对应于模块名称的适当服务器的名称。可以建立服务器选择逻辑以便定位或识别适当服务器,在查看备份表之前查看优选表。如果优选表不提供适当服务器的标识符,则使用备份表。优选表可以包括服务器的各种标识符或名称以及服务器可以执行的模块的对应标识符或名称的预定标识。或者,优选表可以不包括服务器的标识符和对应的模块的标识符,其中用户必须在默认表中插入所需要的标识符。
优先表可以被用作一个列表,它包括先前建立的适当服务器的标识符,其中软件开发人员可以将适当服务器区分优先次序。如果使用所有三种表格,则可以建立服务器选择逻辑以便定位或识别适当服务器,在查看优选表或备份表之前查看优先表。如果优先表不包括适当服务器的标识符,则在查看备份表之前查看优选表。如果优选表不包括适当服务器的标识符,则查看备份表以定位适当服务器的标识符。优先表可以包括各种服务器的预定的标识符或名称,或可以不包括被标识的服务器,其中用户必须在优先表中插入所需要的标识符。
通过参照附图和说明本发明的优选实施例,可以获得对于本发明的这些和其他方面的更好地理解。
附图说明
下列附图是本发明的实施例,其中:
图1说明了一个计算机系统;
图2说明了图1的计算机的结构;
图3说明了现有技术的软件开发环境;
图4说明了调配者软件例程和调配数据,用于在软件开发环境中建立服务器以调配模块;
图5说明了用于建立服务器以调配模块的流程图。
具体实施方式
参见图1,其中说明了适合于本发明的优选实施例的传统计算机网络。传统的计算机系统100经由适当的网络连接112、116和网络114工作连接到联网的计算机118。网络114是传统的网络,诸如局域网、广域网、内联网、因特网等或其方便组合。网络114提供了用于向计算机系统100传送数据和从计算机系统100传送数据的方便机制。可以理解,本发明的另一个实施例可以包括不经由网络连接112连接到网络114的计算机系统100,只要数据经由键盘/鼠标106或经由诸如软盘110的可拆卸计算机可读介质被直接输入到计算机系统100的存储器。
为了方便,本发明的优选实施例的方面可以分布在经由网络114或网络的组合与计算机系统100交互的不同的联网计算机中。但是,为了方便说明本发明的优选实施例,图5的流程图将一般被实现在计算机系统100中。
计算机系统100包括计算机104,它与诸如显示终端102或打印机108的各种输出器件、与网络114和与诸如键盘/鼠标106或盘110的各种输入器件通信。其他器件可以包括各种计算机外围器件,诸如扫描器、CD-ROM驱动器等等。
参见图2,描述了适合于本发明的优选实施例的计算机104的结构。计算机104包括总线206,它工作地相互连接计算机104的各种子系统或部件,诸如中央处理单元(CPU)202,存储器204、网络接口(I/F)208和输入/输出接口210。
CPU 202是商业可以获得的适合与在此所述的操作的中央处理单元。CPU 202的其他变化可以包括多个CPU。可以包括适合的支持电路或部件来用于将CPU 202适配与计算机104的子系统获得最佳的性能。
输入/输出(I/O)接口210启动在计算机104的各种子系统和诸如键盘/鼠标106的各种输入/输出器件之间的通信。输入/输出接口包括视频卡,用于工作地与显示单元102接口,并且最好包括用于读取诸如软盘110或CD的适当的可拆卸的计算机可读介质的盘驱动单元。可拆卸介质110提供编程指令,用于由CPU 202后续执行来配置和启动系统104以获得在图5的流程图中所述的功能,或者如果期望的话,可拆卸介质110可以提供可拆卸的数据存储器。
与通信套件(communications suite)214组合的网络接口208启动(enable)在计算机104和经由网络114工作连接的其他计算机之间的适当的通信。传统的网络接口的示例包括以太网卡、令牌环卡、调制解调器等。选用地,网络接口208也可以启动检索所发送的程序指令或数据以配置和启动计算机104来实现本发明的优选实施例。选用地,在可操作地联网以形成分布式计算环境的各种计算机系统中可以启动本发明的优选实施例的方面。
存储器204包括:易失和永久存储器,用于存储程序指令216,程序指令216用于指令CPU 202、诸如数据仓库的数据结构218、操作系统212和通信套件214。优选的是,存储器204包括随机存取存储器(RAM)、只读存储器(ROM)和硬盘存储器的组合。可以理解,程序指令216可以经由输入/输出接口210从诸如插入到软盘驱动器中的图1的软盘110的输入/输出器件被提供到存储器204,或者经由网络接口208从网络114被下载到存储器204。
操作系统212适当地与CPU 202合作来启动与计算机104的各种子系统的各种工作接口,并且用于提供各种操作功能,诸如多任务事务等。通信套件214通过与操作系统212和网络接口208的交互提供适当的通信协议以启动经由网络114与联网的计算器件的适当通信,所述通信协议诸如TCP/IP、以太网、令牌网等。
参见图4,其中说明了本发明的一个优选实施例的软件开发环境。图4包括图4A和图4B。方框400描述了软件开发环境。块402表示具有脉冲‘WEBMODULE_1’的模块。可以明白,本发明可以用于还没有开发的类型的模块,并且为了简化本发明的操作的说明,模块的名称将用于识别这个模块。本发明不限于使用名称来识别模块,可以使用适当的标识符来识别模块。块404表示具有名称‘WEB MODULE_2’的模块。块406表示具有名称‘EJBMODULE’的模块。块408表示具有名称‘WEB MODULE_3’的模块。块410表示包括计算机数据的具有名称‘DATA MODULE’的模块。
块412表示具有名称‘WAS SERVER_1’的服务器。可以明白,为了简化本发明的操作的说明,服务器的名称将用于识别服务器。本发明不限于使用名称来识别服务器,并且可以使用适当的标识符来识别服务器。块414表示具有名称‘TOMCAT SERVER’的服务器。块416表示具有名称‘WASSERVER_2’的服务器。块418表示具有名称‘DB2SERVER’的服务器。
箭头420表示当前被配置来运行模块的服务器。服务器412当前被配置来运行模块404和406。服务器414当前被配置来运行模块408。服务器416当前被配置来运行模块404和408。服务器418当前被配置来运行模块410。还要选择和配置一个服务器来运行模块402。因此,当软件开发人员请求运行模块404时,服务器412或416可以运行模块404。但是,当软件开发人员请求运行模块402时,没有服务器响应于这个请求,除非块450的一个表格用于选择和配置适合于运行模块的适当的服务器,这将在图5所述的流程图中描述。
块429表示以各种形式表达的计算机指令。块430描述了一个软件例程,以下称为“例程”,它包括用于执行图5所示的流程图的计算机程序指令。块430的指令被以诸如Java的适当的计算机程序语言所写。块430的指令随后被变换、编译或转换以产生由中央处理器202执行的指令,这些指令以下称为“可执行代码”434。代码434随后被放置在如图2所示的计算机104的存储器204中。可执行代码434将被用于指导CPU 202执行图5的流程图中所述的步骤。块432表示执行图5的流程图中所述的步骤的一组子例程432。
块450描述一组表,它们将由块430的指令使用来选择和配置适当的服务器。为了提供对于本发明的操作的简化的说明,由块452、454和456来描述各个表格,每个表格被名称识别。具有数据的表格的名称将用于识别表格。本发明不限于使用名称来识别表格,并且可以使用适当标识符来识别表格。表格可以是查找表、文件、列表、地图或适当的数据库。
块452表示具有软件环境400的服务器的名称或标识符的优先表。表452不是环境400的所有被识别的服务器的列表。表452包括作为优先服务器的、由用户识别的被识别服务器的列表。例程430将查看表452以选择适当的服务器,这将在图5中说明。包括在表452中的数据可以由用户经由图1的键盘或鼠标106读取、编辑或修改并且随后更新或存储,这可以经由例程430的适当的子例程432完成,或可以经由例程430按照图5所述的步骤来完成。表452包括以优选的分层的顺序放置的适当的服务器的名称,其中最上面定位的用户识别的服务器将被初始选择以调配模块。但是,如果最上面定位的用户识别的服务器不适合(即服务器当前未被配置来运行模块),则查看表452中的下一个(即较低的)被识别的服务器的适合性。用户确定在表452中被列出或被识别的适当服务器的选择的优先分层顺序。当用户请求运行一个模块时,表452被初始地查看以定位或识别可以运行所述模块的适当服务器。如果表格452不能提供一个适当服务器,则可以查看表454或表456以定位一个适当服务器。计算机编程领域的普通技术人员可以建立表452,使得服务器的标识符与排序相关联,并且其他的适当形式的排序可以用于表452。
块454表示具有数据对的优选表,其中每对数据包括模块的名称和标识符,并且包括对应于所述模块的名称的优选的适当服务器的名称。表454用于识别可以在环境400中运行的模块,并且用于识别优选的适当服务器。当用户请求运行一个模块并且不能从表454识别所述模块时,则可以查看表456来配置一个适当服务器以运行所述模块。例如,当需要运行WEB MODULE_2时,WAS SERVER_1将被用于运行WEB MODULE_2。可以明白,可以通过在模块中插入表454的部分来替换表454。为了便于说明本发明的操作,将使用表454。可以明白,本发明的范围可以覆盖本发明的实施例,其中表454的部分可以被嵌入到不同的模块中。例如,一个模块可以具有一个调配标识符,它将提供用于识别用于这个模块的优选服务器的方便机制。
块456表示一个包括数据对的备份表,其中每对数据包括模块类型的标识符和对应于模块类型的标识符的服务器类型的标识符。表456的目的是提供被公知为能够支持模块类型的服务器类型的列表。表456包括由代码434的创建者提供的数据,诸如一个数据库,其中数据不能被写入到表456。可以明白,表456可以被适配使得代码434可以向表456写入数据。如果表452是空的或在表454中未识别一个适当服务器,则代码434引用表456以获得能够运行一个模块的适当服务器的标识符。当需要运行一个模块并且不能从表456定位所述模块类型的标识符时,则可以向用户提供选择用于运行所述模块的适当服务器的机会。
参见图5,其中描述了图解用于选择和配置服务器以在图4所述的软件环境400中运行模块的过程的流程图。图5包括图5A-5H。图5的流程图是本发明的一个优选实施例。所述流程图用于选择和/或配置一个适当服务器来运行一个模块。图4的例程430将包括计算机编程的代码或用于编码图5的流程图的指令。编程的代码将用于指导图2的计算机104的CPU 202来获得图5的流程图中图解的操作。
参见图5A,优选实施例的处理从S500开始。图5所述的操作将由图4的软件例程430执行,除非说明书中有说明。
S502接收运行一个模块的请求。所述请求可以由用户经由键盘/鼠标106来提供或经由图1的网络114从联网的计算机118来提供。如果用户还没有准备好马上运行或执行所述模块,则所接收的请求可以是配置一个适当服务器的请求,并且具有在后续时间的运行所述模块的选项。S502可以被适配来使得所述例程可以等待接收运行模块或配置适当服务器以运行模块或两者的请求。
S504确定是否在图4的软件环境400中存在当前被配置来运行所述模块的任何适当的服务器。如果不存在当前被配置来运行所述模块的适当服务器,则处理继续到S506。如果存在任何被配置来运行所述模块的适当服务器,则处理继续到图5E的S538。通过进行到S506,已经确定不存在被定义或配置来运行所述模块的适当服务器。结果,必须建立一个新的适当服务器,或者必须配置还没有被配置来运行所述模块的现有的适当服务器。通过进行到S538,已经确定存在可以运行所述模块的多个适当服务器(或至少一个服务器)。
S506定位适合于运行所述模块的一个适当服务器。可以从图4的优先表452来定位所述适当服务器的名称。为了简化本发明的优选实施例的操作,可以从表450去除优先表452,并且可以从图5的流程图去除S504、S506、S508、S510、S512、S514和S516,并且处理可以从S502进行到S518,然后随后进行到步骤S520到S532。但是,通过包括S502-S516,本发明提供了操作的附加模式。
例如,假定用户需要运行模块404WEB MODULE_2。在S506中,将查看表452,其中定位了WAS SERVER_1。因为WAS SERVER_1是事先被配置来运行WEB MODULE_2的适当服务器,因此WAS SERVER_1运行WEBMODULE_2,并且处理继续到图5B的S510。假定如果用户需要运行模块WEB MODULE_3,则查看表452。在后者的情况下,表452的输入项将以优先的方式循环,其中可以找出不能从表452识别或定位任何适当服务器,然后处理继续到图5C的S518。
S508在被执行时确定是否从表452定位了所述适当服务器的被定位的名称(即标识符)。如果定位了所述名称,则处理继续到图5B的S510。如果未定位所述名称,则处理继续到图5C的S518。
当未从表452定位或识别一个适当服务器时,程序流继续到图5B的S510。S510向图4的优选表454插入适当服务器的被定位名称。下一次需要运行同一模块时执行S510,因此表454将在一个位置提供用于所述模块的适当服务器的标示。S510可以包括将所述适当服务器的配置文件适配来运行所述模块,以便当请求所述适当服务器运行所述模块时,所述适当服务器可以查看它的配置和运行所述模块。在修改表454之后,S512配置其名称具有所述适当服务器的被定位名称的服务器。S514向所述适当服务器发送命令以便随后运行或执行所述模块。S516停止所述例程430。处理也可以继续到S502,其中例程430可以保持在等待状态直到它接收到运行另一个模块或配置另一个服务器的另一个请求。
当表452不从图5B的S508提供一个适当服务器的标示时,程序流继续到图5C的S518。S518的执行定位适合于运行所述模块的一个适当服务器的类型。因为未从优先表452定位所述适当服务器,因此可以从图4的备份表456定位所述适当服务器的类型。S520确定是否从表456定位了所述适当服务器的被定位类型。如果从表454定位所述适当服务器的类型,则处理继续到S522。如果未从表454定位所述适当服务器的类型,则处理继续到图5D的S534。S522建立从表456识别或定位的适当服务器的被定位类型的一个服务器。所建立的适当服务器变为图4的软件环境400的另一个服务器。S524向图4的优先表452插入所建立的服务器的名称,以便下一次同一模块需要被运行时,可以从表452识别所述适当服务器的名称。S526向图4的优选表454中插入所建立的适当服务器的名称,以便下一次需要运行同一模块时,可以从表454识别一个适当服务器的名称。S526提供一种方式来在如果未来某个时间用户已经改变了表452的情况下,更新表454。S528配置所建立的适当服务器以运行所述模块。S530执行所建立的适当服务器,其中所执行的被建立的适当服务器运行或执行所述模块。S532停止例程430。处理也可以继续到S502,在这种情况下,例程430可以保持在等待状态中直到它接收到运行另一个模块或配置另一个服务器的另一个请求。
当图5C的S520不从表456定位一个适当服务器时,程序流继续到图5D的S534。S534指示失败条件,因为未从表456定位所述适当服务器的类型。S536停止例程430。处理也可以继续到S502,在这种情况下,例程430可以保持在等待状态直到它接收到了运行或调配另一个模块的另一个请求。S534也可以被适配来允许用户选择一个适当服务器,因为表456不能提供适当服务器的标示。
如果图5A的S506确定存在一个适当服务器,则程序流继续到图5E的S538。S538确定是否存在当前被配置来运行所述模块的一个适当服务器。如果存在当前被配置来运行所述模块的一个适当服务器,则处理进行到S540。如果存在多个当前被配置来运行所述模块的适当服务器,则处理继续到S546。S538及其更高的步骤用于向软件例程430的操作增加附加的特征。S540向优选表454插入当前配置的适当服务器的名称,以便下一次需要运行同一个模块时,可以从表454识别所述适当服务器的名称。S542执行当前配置的适当服务器以运行或执行所述模块。S544停止例程430。处理也可以继续到S502,在这种情况下,例程430可以保持在等待状态中直到它接收到运行或调配另一个模块的另一个请求。
当表454未识别一个适当服务器时程序流继续到图5F的S546,其中在S546随后查看表452。S546从表454定位适合于运行所述模块的一个适当服务器的名称。S548确定是否从表454定位了适当服务器的名称。如果从表454定位了适当服务器的名称,则处理继续到S550。如果从表454未定位所述名称,则处理继续到S554。S550执行具有所述适当服务器的所定位名称的一个服务器,其中被执行的服务器执行所述模块。S552停止例程430。处理也可以继续到S502,在这种情况下,例程430可以保持在等待状态中直到它接收到运行或调配另一个模块的另一个请求。
当表454未识别一个适当服务器时程序流继续到图5G的S554,其中在S554查看表452。S554定位适合于运行所述模块的一个适当服务器的名称。可以从图4的优先表452定位适当服务器的名称。S556确定是否从表452定位了适当服务器的名称。如果定位了所述名称,则处理继续到S558。如果未定位所述名称,则处理继续到S564。S558向图4的优选表454插入适当服务器的所定位名称,以便下一次需要运行同一模块时,可以从表454定位所述适当服务器。S560执行具有所述适当服务器的被定位名称的一个服务器,其中这个服务器运行所述模块。S562停止例程430。处理也可以继续到S502,在这种情况下,例程430可以保持在等待状态中直到它接收到运行或调配另一个模块的另一个请求。
当表452未识别一个适当服务器时程序流继续到图5H的S564,其中处理继续到作为识别一个适当服务器的最后一个位置的S564。S564选择适合于运行所述模块的任何适当服务器的名称。S566向图4的优选表454插入所选择的任何适当服务器的名称。S568执行由所选择的任何适当服务器的名称识别的一个适当服务器,其中所述具有所选择名称的适当服务器运行或执行所述模块。S570停止例程430。处理也可以继续到S502,在这种情况下,例程430可以保持在等待状态中直到它接收到运行或调配另一个模块的另一个请求。
为了简化本发明的操作的说明,使用包括本发明的方法的一个示例将涉及软件开发环境。可以明白,由本发明的优选实施例提供的方法可以被应用到其他的软件系统,诸如软件代理。
可以明白一些元素的变化可能适配本发明的具体条件或功能。本发明的思想可以进一步扩展到多种清楚地在本发明的范围内的其他应用。在已经参照所实现的本发明的优选实施例说明了本发明后,对本领域内的技术人员显而易见的是:在不脱离本发明的优选实施例中所述的基本思想的情况下,可以进行许多修改和改进。因此,由专利证书意欲保护的内容应当由权利要求唯一限定。

Claims (11)

1.一种用于管理多个服务器的方法,包括:
接收用于配置适合于运行一个模块的服务器的请求,该模块具有一标识符;
通过从包括多个适当服务器的标识符的表格中定位所述适当服务器的标识符来选择一适当服务器;
将所定位的适当服务器的标识符和模块的标识符插入到一优先表以使得这些标识符关联起来,所述优先表包括对应于模块标识符的服务器标识符,其中,除非所述信息已经存在并且在所述优先表中被关联起来,否则就插入所述信息;以及
配置适当服务器以运行所述模块。
2.按照权利要求1的方法,其中所述表格和所述优先表是同一个。
3.按照权利要求1的方法,其中所述表格还包括对应于适当服务器标识符的模块标识符。
4.按照权利要求1或3的方法,还包括:
建立所述适当服务器;以及
使得所述适当服务器运行所述模块。
5.按照权利要求3的方法,其中:
所述适当服务器的标识符识别服务器的类型;以及
所述模块标识符识别模块的类型。
6.按照权利要求5的方法,还包括:
使用包括适当服务器的优先标识符的优先表来:
在从所述表格中识别适当服务器的标识符之前识别优先的适当服务器;
配置从优先表中识别的服务器以运行所述模块;
使得从优先表中识别的适当服务器运行所述模块;
使用所述优选表来:
在从所述表格中识别所述适当服务器之前从所述优选表中识别一适当服务器;
配置从所述优选表中识别的一服务器以运行所述模块;
使得从所述优选表中识别的所述适当服务器运行所述模块。
7.按照权利要求3的方法,其中:
适当服务器的标识符识别服务器的名称;以及
模块标识符识别模块的名称。
8.按照权利要求7的方法,还包括:
使用包括适当服务器的优先标识符的优先表来:
在从所述表格中识别适当服务器之前从优选表识别适当服务器;
配置从优先表中识别的服务器以运行所述模块;
使得从优先表中识别的适当服务器运行所述模块;
使用包括对应于模块类型的服务器类型的备份表来:
当所述表格不提供适当服务器的标识符时识别对应于模块类型的适当服务器的类型;
配置从备份表识别的服务器以运行所述模块;
使得从备份表识别的适当服务器运行所述模块。
9.按照权利要求1的方法,其中所述表格包括适当服务器的优先标识符,所述方法还包括:
建立所述适当服务器;以及
使得适当服务器运行模块。
10.按照权利要求9的方法,还包括:
使用优选表来:
当所述表格未提供适当服务器的标识符时从优选表识别优选的适当服务器;
配置从优选表识别的服务器以运行所述模块;
使得从优选表识别的适当服务器运行所述模块;
使用包括对应于模块类型的服务器类型的备份表来:
当所述表格未提供适当服务器的标识符时从备份表识别优选的适当服务器的类型;
配置从备份表识别的服务器以运行所述模块;
使得从备份表识别的适当服务器运行所述模块。
11.按照权利要求6、8或10的方法,其中在软件开发环境中执行所述方法。
CNB028110315A 2001-05-30 2002-05-03 服务器的选择和配置 Expired - Fee Related CN1277198C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CA2,349,086 2001-05-30
CA2349086A CA2349086C (en) 2001-05-30 2001-05-30 Selection and configuration of servers

Publications (2)

Publication Number Publication Date
CN1513140A CN1513140A (zh) 2004-07-14
CN1277198C true CN1277198C (zh) 2006-09-27

Family

ID=4169147

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028110315A Expired - Fee Related CN1277198C (zh) 2001-05-30 2002-05-03 服务器的选择和配置

Country Status (8)

Country Link
US (1) US8819196B2 (zh)
EP (1) EP1397742B1 (zh)
JP (1) JP2005512165A (zh)
CN (1) CN1277198C (zh)
AT (1) ATE428975T1 (zh)
AU (1) AU2002312870A1 (zh)
CA (1) CA2349086C (zh)
WO (1) WO2002097621A2 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1738258A4 (en) 2004-03-13 2009-10-28 Cluster Resources Inc SYSTEM AND METHOD IMPLEMENTING OBJECT TRIGGERS
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
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
CA2586763C (en) 2004-11-08 2013-12-17 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US7698430B2 (en) 2005-03-16 2010-04-13 Adaptive Computing Enterprises, Inc. On-demand 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
EP3203374B1 (en) 2005-04-07 2021-11-24 III Holdings 12, LLC On-demand access to compute resources
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
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
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
US9959147B2 (en) * 2010-01-13 2018-05-01 Vmware, Inc. Cluster configuration through host ranking
US10678645B2 (en) 2017-11-09 2020-06-09 Bank Of America Corporation Dynamic rerouting of the execution for automated server builds
US10491468B2 (en) * 2017-11-13 2019-11-26 Bank Of America Corporation Dynamic server allocation for automated server builds

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774689A (en) * 1995-09-22 1998-06-30 Bell Atlantic Network Services, Inc. Network configuration management system for digital communication networks
US5838907A (en) 1996-02-20 1998-11-17 Compaq Computer Corporation Configuration manager for network devices and an associated method for providing configuration information thereto
US5964872A (en) 1996-03-15 1999-10-12 Novell, Inc. Method and system for tailoring common environments
US6029196A (en) * 1997-06-18 2000-02-22 Netscape Communications Corporation Automatic client configuration system
US6327622B1 (en) * 1998-09-03 2001-12-04 Sun Microsystems, Inc. Load balancing in a network environment
US6931381B1 (en) * 1999-03-11 2005-08-16 American Express Travel Related Services Company, Inc. Methods and apparatus for authenticating the download of information onto a smart card
AU3527200A (en) * 1999-03-12 2000-09-28 Sun Microsystems, Inc. Resource locator
US6442685B1 (en) * 1999-03-31 2002-08-27 International Business Machines Corporation Method and system for multiple network names of a single server
US6374300B2 (en) * 1999-07-15 2002-04-16 F5 Networks, Inc. Method and system for storing load balancing information with an HTTP cookie
JP3769999B2 (ja) * 1999-09-30 2006-04-26 富士通株式会社 サービス振り分け装置
JP3463803B2 (ja) * 1999-11-09 2003-11-05 松下電器産業株式会社 クラスタサーバ装置
WO2001040954A1 (en) * 1999-12-06 2001-06-07 Warp Solutions, Inc. System and method for directing a client to a content source
US6842769B1 (en) * 2000-05-05 2005-01-11 Interland, Inc. Automatically configured network server
US6785713B1 (en) * 2000-05-08 2004-08-31 Citrix Systems, Inc. Method and apparatus for communicating among a network of servers utilizing a transport mechanism
US7693976B2 (en) * 2000-07-11 2010-04-06 Ciena Corporation Granular management of network resources
JP2002091936A (ja) * 2000-09-11 2002-03-29 Hitachi Ltd 負荷分散装置及び負荷見積もり方法
US7139792B1 (en) * 2000-09-29 2006-11-21 Intel Corporation Mechanism for locking client requests to a particular server
US20020174247A1 (en) * 2001-04-02 2002-11-21 Bo Shen System and method for dynamic routing to service providers
US6810333B2 (en) * 2002-02-12 2004-10-26 General Electric Company Method, system, storage medium, and data signal for supplying a multi-component composition
JP4278452B2 (ja) * 2003-08-04 2009-06-17 株式会社日立製作所 計算機システム

Also Published As

Publication number Publication date
JP2005512165A (ja) 2005-04-28
ATE428975T1 (de) 2009-05-15
US20040133665A1 (en) 2004-07-08
US8819196B2 (en) 2014-08-26
CA2349086A1 (en) 2002-11-30
CN1513140A (zh) 2004-07-14
WO2002097621A2 (en) 2002-12-05
CA2349086C (en) 2011-02-01
AU2002312870A1 (en) 2002-12-09
WO2002097621A3 (en) 2003-11-06
EP1397742A2 (en) 2004-03-17
EP1397742B1 (en) 2009-04-15

Similar Documents

Publication Publication Date Title
CN1277198C (zh) 服务器的选择和配置
US6671749B2 (en) Peripheral driver installation method and system
Carzaniga et al. Designing distributed applications with mobile code paradigms
EP0447038B1 (en) A system for establishing a communication path in a closely coupled computer system
CN1677277B (zh) 服务提供方法、服务提供商设备、信息处理方法和设备
US6212536B1 (en) Method for generating web browser sensitive pages
US7185007B2 (en) Information processing apparatus, information processing method, information processing program service providing apparatus, service providing method, service providing program and recording medium
CN100487689C (zh) 用于环球网服务结构中的包容器选择器及其选择方法
EP1492001A2 (en) Software image creation in a distributed build environment
CN101459750B (zh) 信息处理设备和信息处理方法
JP5381329B2 (ja) 画像形成装置、認証システム、認証制御方法、及び認証制御プログラム
US20030115199A1 (en) Device search system
CN1455331A (zh) 可扩展的设备驱动器
US8095934B2 (en) Data delivery system, data delivery method, and computer program product
CN1252565A (zh) 用于客户和自适应同步和转换服务器的方法、装置
US10768974B2 (en) Specifying an order of a plurality of resources in a transaction according to distance
US20090138548A1 (en) Apparatus, method, and computer program product for processing information
US7042586B2 (en) Network based system and method for universal printing
JPH08235112A (ja) 計算機システムの分散ジョブ管理方式
Cisco Updating the Mainframe Application Software
Cisco Updating the Mainframe Application Software
Cisco Updating the Mainframe Application Software
Cisco Updating the Mainframe Application Software
CN1197959A (zh) 商业非标准字符处理装置和系统及计算机可读存储介质
CN111176591A (zh) 基于cups系统的打印审计方法、装置、设备及介质

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060927

Termination date: 20120503