用于管理集群计算机的配置的方法、控制器、设备和计算机程序的制作方法

文档序号:7606551阅读:218来源:国知局
专利名称:用于管理集群计算机的配置的方法、控制器、设备和计算机程序的制作方法
技术领域
本发明涉及用于管理集群计算机的配置的方法、用于管理集群计算机的配置的控制器、用于管理集群计算机的配置的设备、以及由计算机可读并编码用于执行计算机进程的指令的计算机程序的计算机程序分布介质,所述计算机进程用于管理集群计算机的配置。
背景技术
在诸如计算机网络、电信系统和无线电信系统的很多应用中都使用了集群计算机。
集群计算机的配置管理是一项费力的任务。集群计算机的配置管理包括集群计算机的软件配置管理。于在运行的计算机中的软件配置管理和作用分配的进程相关的配置信息被称为计算机的配置数据。配置数据包括部署数据结构。利用部署数据结构能够执行配置管理。部署数据结构定义了诸如节点和/或进程的功能实体的配置,所述功能实体存在于集群计算机中。
传统的大型系统已经支持配置数据的管理。典型地,在用户接口和软件自身中存在一些支持,以允许基于例如节点类型或功能单元类型的概念创建预定的部署数据结构。然而,关于有效配置结构的规则或多或少与软件代码是硬连线的。这个方法使系统不灵活。只要需要改变预定的配置结构以引入例如新的节点类型或功能单元类型,就必须改变相关的软件代码。
配置数据的数量随计算机的规模和计算机的数量而增长。如果在一台计算机中有几十个或者甚至几百个节点,则对于运营商而言,手动地创建和维护配置数据是非常费力的。被管理对象的数量在数量级上高于节点的数量在配置中有几百个或几千个对象。因而,一个问题是怎样使配置数据的管理对运营商而言更加简单。

发明内容
本发明提供了一种改进的用于管理集群计算机的配置的方法、控制器、设备和计算机程序。
依据本发明的一个实施例,提供了一种用于管理集群计算机的配置的方法。该方法包括将配置信息定义为集群计算机的功能实体的部署原型;识别集群计算机的配置所需的预定部署原型;克隆所识别的部署原型,以创建用于集群计算机的部署数据结构;以及依据所创建的部署数据结构管理集群计算机的配置。
依据本发明的另一个实施例,提供了一种用于管理集群计算机的配置的控制器。该控制器被配置为定义配置信息作为集群计算机的功能实体的部署原型;识别集群计算机的配置所需的预定部署原型;克隆所识别的部署原型,以创建用于集群计算机的部署数据结构;并且依据所创建的部署数据结构管理集群计算机的配置。
依据本发明的另一个实施例,提供了一种用于管理集群计算机的配置的设备。该设备包括用于定义配置信息为集群计算机功能实体的部署原型的装置;用于识别集群计算机的配置所需的预定部署原型的装置;用于克隆所识别的部署原型以创建用于集群计算机的部署数据结构的装置;以及用于依据所创建的部署数据结构管理集群计算机的配置的装置。
依据本发明的另一个实施例,提供了一种由计算机可读的、并编码用于执行计算机进程的指令的计算机程序的计算机程序分布介质,所述计算机进程用于管理集群计算机的配置。该进程包括定义配置信息为集群计算机的功能实体的部署原型;识别集群计算机的配置所需的预定部署原型;克隆所识别的部署原型,以创建用于集群计算机的部署数据结构;并且依据所创建的部署数据结构管理集群计算机的配置。
本发明提供了多个优点。当应用本发明时,无需把任何配置规则与软件进行硬连线。创建部署数据结构不及利用现有技术费力。


本发明的实施例将参考附图在下面予以描述,其中图1示意了依据本发明一个实施例的部署数据结构;图2表示了依据本发明一个实施例的控制器、集群计算机、部署原型和部署数据结构;图3是表示依据本发明一个实施例的用于管理集群计算机配置的方法的信号序列图;图4表示了依据本发明一个实施例的部署原型和部署数据结构。
具体实施例方式
所描述的实施例可应用于集群计算机。计算机指的是包括工作存储器、中央处理单元和系统时钟的数字电子设备。很多外围设备可以被或可以不被连接至计算机。现在,集群计算机被使用在很多应用中,包括计算机网络、电信系统和无线电信系统。集群指的是,单个计算机正在互相通信和/或执行给予集群计算机的整个数据处理任务的单独部分。集群计算机之间的通信可以利用任何适合该目的的通信技术予以实现,诸如LAN(局域网)、以太网、因特网,或一些其它有线通信技术,或一些适合的无线通信技术。
集群计算机应用的一个例子是现代移动电信系统。这种系统可以是,例如,GSM(全球移动通信系统)、GPRS(通用分组无线业务)或UMTS(通用移动通信系统)。例如,移动电信系统中的集群计算机可以通过专用网络或通过虚拟专用网络互相通信。Nokia制造这种移动电信系统网络,该移动电信系统网络包括通过使用例如因特网协议(IP)互相通信的集群计算机或网络单元。这种集群计算机可构成例如核心网的一部分、或无线接入网的一部分、或甚至整个核心网或整个无线接入网。
Nokia拥有被称为NokiaFlexiPlatformTM的产品平台,利用该平台能够实现这些实施例。这个平台使用服务可用性(SA)论坛的开放的、标准的接口规范。一个这样的规范是应用接口规范(AIS)。为了了解更多的信息,在地址为www.saforum.org的SA论坛网站上可以发现SA论坛的讨论。
如果需要,关于无线系统的更多信息可以在商业文献中获得,例如Juha Korhonen3G Mobile Communications,Artech House2001,ISBN1-580530287-X中。然而,这些实施例不局限于所提及的示例系统,而且本领域的技术人员也能够把指令应用于包含集群计算机的其它系统。
图1介绍了属于集群计算机的计算机的一种可能的部署数据结构。集群100是大量节点102和服务组104的逻辑集合。服务组104是被用以对大量服务单元106分组的逻辑实体,所述服务单元106互相保护免于故障,以提供一个或多个服务实例108。服务单元106是把表示硬件(除了节点的任何一种)或软件资源(例如进程)的组件110封装进一个管理单元的逻辑实体。服务单元106是冗余的基本单位。
图2表示了控制器200、集群计算机218、220、222、224、226,部署原型214和部署数据结构216。控制器200被用于管理集群计算机218、220、222、224、226的配置。控制器200自身可以是计算机。控制器200也可以构成集群计算机的一台计算机中的一部分。如在图2中所描述的,控制器200可以以集中方式予以实现,即被作为一个网络单元。然而,控制器200也可以以分布方式予以实现,即控制器200的功能可以被分布在独立的控制器网络单元和至少一台集群计算机之间,或在集群计算机之间。通常,在计算机实现中,利用至少一个处理器和软件实现控制器200的结构和功能。其它实现可能性包括位于电路板上的一个或多个特定用途集成电路(ASIC)。控制器200也可以包括诸如其它集成电路的其它硬件部分,例如时钟电路和通信接口。因而,控制器200的构件包括硬件组件、ASIC块和软件模块。在选择实现组合方面,本领域的技术人员将考虑,例如,基于控制器200的尺寸和功率消耗的需求、所需的处理能力、制造成本和产量等。
在其最简单的构造中,控制器200是负责依据部署原型214创建所需部署数据结构216的软件应用。控制器软件编码用于执行计算机进程的指令的计算机程序,所述计算机进程用于管理集群计算机的配置。控制器可以在由计算机可读的计算机程序分布介质上予以实现。分布介质可以是诸如,例如,计算机可读存储器、计算机可读软件分布包、计算机可读信号、计算机可读电信信号或计算机可读压缩软件包的任何已知的用于软件分布的介质。
在无线系统中,控制器200可以在例如一个网络单元中或在无线系统的网络管理系统中运行。控制器200可以例如手动地或通过操作系统启动脚本而起动。
控制器200被配置为定义配置信息为用于集群计算机218、220、222、224、226的功能实体的部署原型214。如在图2中所示,一个控制器200可以控制集群计算机的多个配置。在我们的例子的第一种配置中,有三个集群计算机218、220、222,而在第二种配置中,有两个集群计算机224、226。显然,在这个上下文中,以及在整个说明书中,仅可能示意非常简单的例子。然而,实际上,集群计算机218、220、222、224、226的数量可能高得多,并且部署原型214和部署数据结构216也可能更加复杂。
功能实体包括节点、服务组、服务单元、服务实例、组件、软件资源、硬件资源、管理单元和进程。这个列表不必是穷尽的,因为集群计算机的功能实体指的是在集群计算机中存在的、能够被控制器200配置的任何配置项。
当形成部署原型214时,应用被称为原型的创造性设计模型。原型设计模型在Gamma E.、Helm R.、Johnson R.和Vlissides J.DesignPatternsElements of Reusable Object-Oriented Software,Addison-Wesley 1995,ISBN0201633612,第三章第117-126页中予以描述,所述内容在此引作参考。原型设计模型的目的是指定要通过使用原型实例创建的对象的类型,并且通过复制这个原型来创建新的对象。当利用原型技术时,对象被克隆。首先,创建原型对象,然后这个原型对象复制自身(=克隆对象),以创建新的对象。这可以以这种方式实现,即为原型定义克隆方法,并且控制器200请求执行原型的克隆方法,以这种方式创建拷贝。
如较早所提及的,控制器200被配置成定义配置信息为集群计算机218、220、222、224、226的功能实体的部署原型214。这以这种方式得以完成,即控制器200的运营商可以手动地或者半自动地创建部署原型214,这些部署原型214可以已经存在于控制器200,或者这些部署原型214可以通过通信接口或存储器设备被下载进入控制器200的存储器。通常,集群计算机218、220、224、226的制造商生成部署原型214。控制器200的运营商可以创建完全新的部署原型214,或者,在通常情况下,修改现有的部署原型214或采用所下载的部署原型214。
对管理集群计算机218、220、222、224、226的配置的需求是正在进行的(ongoing)进程。在一个实施例中,控制器200被配置成调试运行集群计算机(commission clustered computer)218、220、222、224、226。在这种调试运行过程中,运营商为集群计算机的单纯硬件和软件分配初始作用。在一个实施例中,控制器200被配置成增加集群计算机218、220、222、224、226的容量。在这种以容量方式按比例增加的过程中,运营商在至少一台集群计算机中增加一些新的硬件和/或软件组件,以增加容量。在一个实施例中,控制器200被配置成增加集群计算机218、220、222、224、226的功能性。在这种以功能性方式按比例增加的过程中,运营商在至少一台集群计算机中安装一些新的硬件和/或软件,使得能够实现所需的功能性。在一个实施例中,控制器200被配置成重新配置集群计算机218、220、222、224、226的现有配置;因而,当配置集群计算机218、220、222、224、226时,不总是需要安装新的硬件和/或软件。作为上面所有情况的结果,以使单纯硬件执行所期望的角色的方式改变集群计算机的软件配置。
为了执行配置管理,控制器200被配置成识别集群计算机218、220、222、224、226的配置所需的预定部署原型214,克隆所识别的部署原型214以创建用于集群计算机218、220、222、224、226的部署数据结构216,并且依据所创建的部署数据结构216管理集群计算机218、220、222、224、226的配置。
典型地,控制器200包含多个部署原型214,尽管在图2的例子中仅示意了一个。在我们的例子中的部署原型214包括节点类型对象202,所述节点类型对象202对于服务单元类型对象204作为主体,所述服务单元类型对象204又包括组件类型对象206。如较早所提及,典型地,部署原型214在调试运行阶段予以创建,并且它们可以例如作为软件包的一部分被提交给系统。控制器200实现创建部署数据结构216,例如节点,的方法。在图2中,当运营商想要“创建新的节点”,即给相关的节点硬件组件分配作用时,运营商通过控制器200的用户接口生成具有适当节点类型名称的创建命令。用户接口又利用用户给定的节点类型调用控制器200的createNode方法。现在,createNode方法通过克隆对应的部署原型214而创建部署数据结构216。可以把在部署数据结构216中所创建的对象与在部署原型214中的对应对象链接在这个例子中,节点对象208与节点类型对象202相关。因而,部署数据结构216包括节点对象208、服务单元对象210和组件对象212。在图1和图2中,块之间的关系用符号“1”和“*”予以表示,“1”至“*”表示一对多关系,而“*”至“*”表示多对多关系。
在一个实施例中,控制器200被配置成依据简便目录存取协议(LDAP)存储和存取部署原型214和/或部署数据结构216。LDAP标准定义了用于存取目录中的信息的网络协议、定义信息的形式和特征的信息模型、以及定义任何组织、分布和引用信息的名空间。LDAP定义由客户端用以存取目录中数据的消息的传送和格式。LDAP使用TCP/1P(传输控制协议/因特网协议)协议栈。自然地,也可以使用存储和存取部署原型214和部署数据结构216的其它适合方法控制器200可以被配置成在库,例如在相关数据库中存储部署原型214和/或部署数据结构216。
在调试运行阶段,一组创建命令可以被组合在脚本文件中,当调试运行工程师通过用户接口发起请求时,控制器200执行所述脚本文件。脚本文件可以采用被称为LDIF(LDAP数据交换格式)的格式。LDIF是文本文件格式。在这个情况中,用户接口使用控制器的createNodesFromFile方法,以达到目标。createNodesFromFile方法为在文件中的每个创建命令调用createNode方法。效果与通过用户接口给出这组命令相同。
LDAP和LDIP都是由因特网工程任务组(IETF)定义的标准。如果需要,本领域的技术人员可以咨询它们的网站(www.ietf.org),以找出关于这些协议的更多的内容。
图3表示了用于管理集群计算机的配置的方法。图3介绍了创建和启动节点306的例子。
先前已经将配置信息定义为集群计算机的功能实体的部署原型。随后,识别集群计算机的配置所需的预定部署原型。在我们的例子中,运营商300通过用户接口302请求310创建“服务器”类型的节点。
用户接口302验证运营商请求310。如果验证进程的结果为正,则用户接口302请求312控制器200创建“服务器”类型的节点,即克隆所识别的部署原型,以创建用于集群计算机的部署数据结构。控制器200从配置库304,例如从LDAP目录,中读取314相关的部署原型,即服务器节点类型的定义。控制器200克隆部署原型,然后在配置库304中存储316克隆操作的结果,即部署数据结构。
至此,场景的配置部分得以完成。随后,依据所创建的部署数据结构管理集群计算机的配置。在这个例子中,控制器200现在请求318先前所创建的节点306起动自身。节点306从配置库304中读取320部署数据结构。节点306基于其地理地址或其它任何适当的标识符找出正确的部署数据结构。最后,节点306起动322在部署数据结构中列出的软件。
在方法中,上面所述的原型设计模型被应用于创建配置数据。部署数据结构被描述为部署原型。每当创建实际的部署数据结构时,这些部署原型得以应用。可能有,例如,节点、服务单元和进程的部署原型。依据一个例子,可以考虑一种场景为了增加容量,运营商在网络单元中增加一个或多个节点。运营商首先识别正确的节点原型。节点原型定义节点的部署数据结构应该包含什么信息例如,运行在节点上的服务单元组和每个服务单元的进程组。当运营商给出为节点创建部署数据结构的命令时,系统读取给定的部署原型,并克隆原型以创建作为结果的部署数据结构。在负责创建配置数据的软件中没有硬连线规则。运营商也不必知道部署数据结构的细节。运营商仅识别正确的预定部署原型,系统负责剩下的事情。运营商可以按照需要多次重复该场景。与运营商逐个节点和逐个对象地创建配置数据相比较,这使得总工作量相当地少了。
图4表示部署原型和部署数据结构的再一个例子。部署原型400和部署数据结构402都被存储在LDAP目录组件中。以这种方式,外部和内部人员通过标准协议和应用编程接口(API)可存取信息。用户接口组件与运营商通信。控制器组件依据运营商通过用户接口给出的命令改变LDAP目录的内容。显然,存在其它类型的可选实现方法例如,如较早所提及的,可存在其它类型的库组件,代替LDAP目录组件。图4表示了创建部署原型400和部署数据结构402。图4还示意了相关的LDAP方案。在这个例子中,部署原型400包括节点原型202、服务单元原型204和组件原型206,作为类图,例如作为LDAP方案。部署原型400还包括CLM原型404、BaseServer原型406、进程A原型408、IPD原型410、IPDServer原型412和进程B原型414,作为对象图,例如作为LDAP内容。现有的部署数据结构402包括节点416、服务单元418和组件420,作为类图,例如作为LDAP方案。现有的部署数据结构402还包括CLM 422、Base Server 424、进程A426、IPD-0 428、Base Server 430、进程A 432、IPDServer 434和进程B,作为对象图,例如作为LDAP内容。
依据这个例子,情形如下部署原型400的类图202、204、206和部署数据结构402的类图416、418、420是构造为LDAP方案的软件的一部分,部署原型400的对象图404、406、408、410、412、414是构造为LDAP内容,例如构造为LDIF的软件的一部分。部署数据结构402的对象图422、424、426、428、430、432、434、436不是所构造的软件的一部分,它们作为配置管理的一部分而为运行系统创建。在这个例子中,所使用的术语在某种程度上对应于在面向对象的设计和编程中所使用的术语类图定义类,而对象图定义类的实际的实例。
最后,图4示意了当运营商给出创建命令440时发生了什么部署原型被克隆以创建实际的配置数据。因而,根据配置数据原型410创建部署数据结构438。因而,部署数据结构438的结构看起来与现有的部署数据结构428的结构相似。
尽管上面参考例子依据附图描述了本发明,但是,显然,本发明不局限于此,相反地,在所附的权利要求的范围内,能够修改本发明。
权利要求
1.一种用于管理集群计算机的配置的方法,所述方法包括将配置信息定义为用于集群计算机的功能实体的部署原型;识别集群计算机的配置所需的预定部署原型;克隆所述识别的部署原型,以创建用于集群计算机的部署数据结构;以及根据所述创建的部署数据结构,管理所述集群计算机的配置。
2.根据权利要求1所述的方法,其中所述识别步骤包括识别包含集群计算机的软件配置的集群计算机配置所需的预定部署原型。
3.根据权利要求1所述的方法,其中所述定义步骤包括将配置信息定义为用于包含节点、服务组、服务单元、服务实例、组件、软件资源、硬件资源、管理单元和进程的功能实体的部署原型。
4.根据权利要求1所述的方法,还包括根据简便目录存取协议,存储和存取所述部署原型和所述部署数据结构中的至少一个。
5.根据权利要求1所述的方法,还包括在数据库中存储所述部署原型和所述部署数据结构中的至少一个。
6.根据权利要求1所述的方法,还包括调试运行所述集群计算机。
7.根据权利要求1所述的方法,还包括增加所述集群计算机的容量。
8.根据权利要求1所述的方法,还包括增加所述集群计算机的功能性。
9.根据权利要求1所述的方法,还包括重新配置所述集群计算机的现有配置。
10.根据权利要求1所述的方法,其中所述定义步骤包括将所述配置信息定义为属于计算机网络的集群计算机的功能实体的部署原型。
11.根据权利要求1所述的方法,其中所述定义步骤包括将所述配置信息定义为属于电信系统的集群计算机的功能实体的部署原型。
12.根据权利要求1所述的方法,其中所述定义步骤包括将所述配置信息定义为属于无线电信系统的集群计算机的功能实体的部署原型。
13.一种用于管理集群计算机的配置的控制器,所述控制器被配置成将配置信息定义为用于集群计算机的功能实体的部署原型;识别集群计算机的配置所需的预定部署原型;克隆所述识别的部署原型,以创建用于集群计算机的部署数据结构;以及根据所述创建的部署数据结构,管理所述集群计算机的配置。
14.根据权利要求13所述的控制器,其中所述控制器被配置成将所述配置信息定义为包含集群计算机的软件配置的集群计算机配置的功能实体的部署原型。
15.根据权利要求13所述的控制器,其中所述控制器被配置成将所述配置信息定义为包含节点、服务组、服务单元、服务实例、组件、软件资源、硬件资源、管理单元和进程的功能实体部署原型。
16.根据权利要求13所述的控制器,其中所述控制器还被配置成根据简便目录存取协议,存储和存取所述部署原型和所述部署数据结构中至少一个。
17.根据权利要求13所述的控制器,其中所述控制器还被配置成在数据库中存储所述部署原型和所述部署数据结构中至少一个。
18.根据权利要求13所述的控制器,其中所述控制器还被配置成调试运行所述集群计算机。
19.根据权利要求13所述的控制器,其中所述控制器还被配置成增加所述集群计算机的容量。
20.根据权利要求13所述的控制器,其中所述控制器还被配置成增加所述集群计算机的功能性。
21.根据权利要求13所述的控制器,其中所述控制器还被配置成重新配置所述集群计算机的现有配置。
22.根据权利要求13所述的控制器,其中所述控制器还被配置成将所述配置信息定义为属于计算机网络的集群计算机配置的功能实体的部署原型。
23.根据权利要求13所述的控制器,其中所述控制器还被配置成将所述配置信息定义为属于电信系统的集群计算机配置的功能实体的部署原型。
24.根据权利要求13所述的控制器,其中所述控制器还被配置成将所述配置信息定义为属于无线电信系统的集群计算机配置的功能实体的部署原型。
25.一种用于管理集群计算机的配置的设备,所述设备包括定义装置,用于将配置信息定义为用于集群计算机的功能实体的部署原型;识别装置,用于识别集群计算机的配置所需的预定部署原型;克隆装置,用于克隆所述识别的部署原型,以创建用于集群计算机的部署数据结构;以及管理装置,用于根据所述创建的部署数据结构,管理所述集群计算机的配置。
26.根据权利要求25所述的设备,其中所述集群计算机的配置包括集群计算机的软件配置。
27.一种计算机程序分布介质,可由计算机读取,并且编码用于执行计算机进程的指令的计算机程序,所述计算机进程用于管理集群计算机的配置,所述进程包括将配置信息定义为用于集群计算机的功能实体的部署原型;识别集群计算机的配置所需的预定部署原型;克隆所述识别的部署原型,以创建用于集群计算机的部署数据结构;以及根据所述创建的部署数据结构,管理所述集群计算机的配置。
28.根据权利要求27所述的计算机程序分布介质,其中所述集群计算机的配置包括集群计算机的软件配置。
29.根据权利要求27所述的计算机程序分布介质,所述分布介质包括计算机可读存储器、计算机可读软件分布包、计算机可读信号、计算机可读电信信号和计算机可读压缩软件包。
全文摘要
本发明公开了一种用于管理集群计算机的配置的方法、控制器、设备和计算机程序。该控制器被配置成定义配置信息为用于集群计算机的功能实体的部署原型;识别集群计算机的配置所需的预定部署原型;克隆所识别的部署原型,以创建用于集群计算机的部署数据结构;并且根据所创建的部署数据结构管理集群计算机的配置。
文档编号H04Q7/22GK1806414SQ200480016186
公开日2006年7月19日 申请日期2004年6月1日 优先权日2003年6月10日
发明者奥利·芬尼 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1