管理硬件和软件部件的方法和装置的制作方法

文档序号:6416675阅读:155来源:国知局
专利名称:管理硬件和软件部件的方法和装置的制作方法
技术领域
本发明一般涉及改进的数据处理系统,特别涉及用于管理硬件和软件部件的方法和设备。尤其更具体的是提供一个自动识别和自管理硬件和软件的部件以达到功能要求的方法和设备。
背景技术
现代计算技术导致极其复杂和不断变化的环境,这个环境之一就是因特网,因特网也称为“互联网”。因特网就是一组计算机网络,多半是异型计算机网络,这些计算机网络通过可以处理数据传输和从发送网络协议转换到接收网络所使用的协议的消息变换的网关连接到一起。当用大写时,名词“Internet”指的是使用TCP/IP协议组网络和网关集合。目前,最通用的通过因特网传输数据的方法是万维网环境,也简称为“Web”。存在其他互联网资源用于传输信息,如,文件传输协议(FTP)和Gopher,但没有达到Web的流行程度。在Web环境下,服务器和客户机使用超文本传输协议(HTTP)实现数据处理,其中HTTP是一种处理各种不同的数据文件(即文本、静止图像、音频、视频等等)的传输的公知的协议。各种不同的数据文件中的信息经过格式化,以便使用标准页面描述语言,超文本标记语言(HTML)提交给用户。因特网也广泛用于向使用浏览器的用户传输应用程序。经常是用户可以通过因特网搜索并取得软件包。
其他类型的复合互联网数据处理系统包括那些为促进大企业中的工作而创建的网络。在许多情况下,这些网络可以覆盖全世界各地的区域。这些复合网络也可以使用因特网作为进行商业活动的虚拟产品网络。这些网络由于需要管理和更新在网络内部使用的软件而变得更加复杂。
随着软件发展成为日益“自主”的,管理硬件和软件的任务,将越来越多地由计算机本身而不是由管理员来完成。用于管理计算机系统的当前机制正在向着“自主”过程发展,在“自主”过程中计算机系统是自配置,自优化,自保护和自修复的。比如,许多操作系统和软件包将根据用户规定的要求自动搜寻具体的软件部件。这些安装和更新机构经常连接到因特网的一个预先选定的位置,以便了解是否存在更新或需要的部件。如果更新或其他部件存在,就将此消息提交用户,其中此消息询问是否要下载和安装此部件。这种系统的一个例子是软件包管理程序“dselect”,这是开放源Debian GNU/Cinux操作系统的一部分。某些病毒检查程序在后台运行(作为“daemon”过程,按照Unix的用语)并且可以自动检查病毒,消除病毒和修复故障。
走向“自主”计算的下一步涉及标识、安装和管理必需的硬件和软件部件而不要求用户干预。这样,就需要有更多的标识、安装、配置和管理硬件和软件的部件的自主过程。

发明内容
本发明的目标是提供一种用于构建由“自主部件”组成的自管理的分布式计算系统的方法、计算机程序产品和数据处理系统。一个自主部件可提供一组服务,并且可将这些服务提供给其他自主部件。自主部件之间的关系包括提供和消费这种服务,这些关系是“后期绑定”,其意思就是这些关系是在系统运行时而不是在系统部件的实现或部署时完成。这些关系是动态的,其意思就是这些关系可以随时间而开始、结束和改变。这些关系是可以协商的,其意思就是这些关系通过在确立这一关系的部件之间的互相通信过程中而达到。对自主部件可以指定策略,包括约束和首选项。任何由一个自主部件建立的关系必须与该自主部件的策略相一致,一个自主部件必须调整其行为以与策略相一致。


本发明的特征性的新特点在下附的权利要求中陈述。然而,本发明本身及其优选应用模式、进一步目的以及优点,在参照附图阅读下面对实施例的详细描述将会获得更清楚的了解,其中图1是可实施本发明的联网数据处理系统图。
图2是图1的联网数据处理系统中的服务器系统的方块图。
图3是图1的联网数据处理系统中的客户机系统的方块图。
图4是按照本发明的优选实施例的自主部件的示图。
图5是按照本发明优选实施例在自主部件之间建立服务提供关系的机构的示图。
图6是提供在此文档中使用的E-R(实体关系图)中的符号的图例的示图。
图7是按照本发明的优选实施例的用于目录服务的数据库模式实例的示图。
图8-9是示出按照本发明的优选实施例的利用另一自主部件的服务的自主部件的实例的示图。
图10是示出按照本发明的优选实施例两个自主部件之间的关系的条件如何通过策略进行管理的E-R图。
图11是示出按照本发明的优选实施例从部件中的一个的观点观察的两个自主部件之间协商关系的条件的过程的流程图。
图12-15是在按照本发明的优选实施例的自主计算系统中进行故障检测和处理的实例的示图。
图16是按照本发明的优选实施例从故障或损害恢复的过程的流程图。
具体实施例方式
下面参照附图,图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可以是一个包括多个连接到系统总线206的处理器202和204的对称多处理器(SMP)系统。另外,也可以使用单处理器系统。连接到系统总线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扩展槽或内插连接器。到图1中的客户机108-112的通信链路可通过经外加电路板连接到局部总线216的调制解调器218和网络适配器220提供。
附加PCI总线桥222和224提供用于附加PCI局部总线226和228的接口,由此支持附加调制解调器或网络适配器。在这种方式中,数据处理系统200可连接到多个网络计算机。一个内存映射图形适配器230和硬盘232也可以如所描述的连接到I/O总线212,既可以直接连接,也可以间接连接。
对于本领域技术人员而言,可以理解,在图2中所示的硬件是可以变化的。比如,其他外围设备,如光盘驱动器等等,也可以用来补充或替代所示硬件。上述示例并非对本发明的体系结构的限制。
图2中示出的数据处理系统可以是,比如,一个IBM eServerpSevies系统,其是纽约Armonk的IBM公司的运行高级交互式执行程序(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是通过插入到扩展槽的内插电路板306来连接到局部总线306。扩展总线接口314为键盘和鼠标适配器320、调制解调器322和附加存储器324提供连接。小型计算机系统接口(SCSI)主机总线适配器312为硬盘驱动器326、磁带驱动器328和CD-ROM驱动器330提供连接。典型的PCI局部总线实现可支持三个或四个PCI扩展槽或内插连接器。
操作系统在处理器302上运行并用于图3中的数据处理系统300中的各种部件的协调和控制。该操作系统可以是一个市售的操作系统,比如,Windows XP,此操作系统可从微软公司购得。面向对象的程序设计系统,比如,Java,可以配合操作系统运行并可提供从在数据处理系统300上执行的Java程序或应用程序到操作系统的调用。Java是Sun Microsysterns公司的商标。用于操作系统的指令、面向对象的操作系统以及应用或程序位于存储装置中,比如,在硬盘驱动器326中,并且可以装入主存储器304中由处理器302执行。
对于本领域技术人员而言,可以理解,图3中的硬件可因实现的不同而改变。其他内部硬件或外围部件,如闪速只读存储器(ROM)、等效的非易失性存储器或光盘驱动器等等可以补充或代替图3所示的硬件。同时,本发明过程也可以应用到多处理器数据操作系统。
在另一个例子中,数据处理系统300可以是一个配置成为不依靠某种类型的网络通信接口就可以启动的独立系统。在另一个例子中,数据处理系统300可以是一个人数字助理(PDA)装置,此装置配置成为带有ROM和/或闪存ROM,以便为存储操作系统文件和/或用户生成的数据提供非易失性存储器。
图3中示出的实例和上述的实例并不意味着对体系结构的限制。比如,数据处理系统300除了采用PDA形式之外,也可以是一台笔记本计算机或手持计算机。数据处理系统300也可以是一个信息亭或web装置。
本发明的目标是提供一种用于构建自管理的分布式计算系统的方法和装置。构成这样的计算机系统(比如,数据库、存储系统、Web服务器、文件服务器以及诸如此类)的硬件和软件部件是称为“自主部件”的自管理部件。自主部件把传统计算机功能(比如,一个数据库)和附加的自管理能力结合起来。图4是按照本发明的优选实施例的自主部件的示图。按照图4所示的优选实施例,自主部件400包括一个管理单元402和一个功能单元404。对于本领域技术人员而言,可以认识到,一个自主部件不需要如图4所示地那样清楚地划分成独立的单元,因为管理和功能单元之间的划分仅仅是概念性的。
管理单元402处理自主部件400的自管理特征。特别是,管理单元402根据针对自主部件400的一组目标负责调节和保持功能单元404,如通过监视器/控制接口414所示。管理单元402也负责将对功能单元404的访问限制于那些得到使用功能单元404的允许的系统部件(比如,其他自主部件),如访问控制接口416所示。管理单元402也负责建立和保持和其他自主部件的关系(比如,借助输入信道406和输出信道408)。
功能单元404消费其他系统部件提供的服务(比如,借助输入信道410)和对其他系统部件提供服务(比如,借助输出信道412),取决于想要获得的自主部件400的功能。比如,自动数据库部件可提供数据库服务,并且自动存储部件可提供存储服务。应当注意,一个自主部件,比如,自主部件400可以是软件部件、硬件部件或二者的某种组合。自主计算的一个目标是提供在抽象的功能级上提供计算服务,而不对给定功能的底层实现之间进行硬性区分。
自主部件通过对其他部件(其本身可以是自主部件)提供服务和/或从其他部件获得服务来工作。为了使自主部件以这样的形式合作,要求具有一种机构,自主部件可以通过它定位和进入到与提供所需功能的附加部件的关系中。图5为示出按照本发明优选实施例建立的此种机构的示图。
“请求部件”500,是一个自主部件,为了完成其功能要求另一个部件服务。在优选实施例中,此功能可以通过规则和目标的策略进行定义。策略服务器部件502是一个自主部件,它用于在计算系统中为其他自主部件建立策略。在图5中,策略服务器部件502为请求部件500建立要遵循的规则和目标的策略并将此策略通知请求部件500。在网络通信的上下文,比如,要求的密码保护标准可以是包含于策略中的规则,而希望的服务质量(QoS)可以是策略的目标。
对于请求部件500的规定策略,请求部件500请求附加部件的服务(比如,数据加密)。为了获得此种服务,请求部件500咨询目录部件504,另一个自主部件。目录部件504最好是一种数据库,其将功能要求映射到提供请求功能的部件的。图7中提供用于目录服务的数据库模式的示例。
在一优选实施例中,目录部件504通过使用标准化的目录服务模式(scheme),如Web服务描述语言(Web Services DescriptionLanguage,WSDL),和系统,如统一描述、发现和集成(UniversalDescription,Discovery,and Integration,UDDI)提供目录服务,它们允许程序定位提供具体服务的实体和自动地确定怎样与那些服务进行通信和事务处理。WSDL是通过WWW联盟提出的一个推荐标准,作者是各公司代表,如IBM,Ariba公司和微软公司。UDDI第3版是当前在Web服务应用和服务中使用的规范。UDDI的进一步发展和改变将由OASIS(结构化信息标准推动组织)处理。
目录部件504向请求部件500提供允许请求部件500使用所需部件506的服务的信息。此信息可以包括一个允许所需部件506与其通信的地址(如网络地址),可下载的代码或可下载的代码的地址以允许请求部件500与所需部件506结合(bind)和使用所需部件506,或任何其他允许请求部件500使用所需部件506的服务的任何其他合适信息。
在图7以实体关系图(E-R)形式提供了一个用于如目录部件504这样的目录服务的数据库模式。E-R(entity-relationship)数据库模拟方法可提供用于数据库概念设计的语义。采用E-R方法,数据库可以以实体、实体属性和实体之间的关系来表示,其中下面的定义可以应用。在图6中示出与每个定义相对应的模拟语义。图6是采用Elmasri和NaVathe的Fundamentals of Database Systems,3rd Ed.,AddisonWesley(2000),pp.41-66,其中包含有关E-R图的补充材料,在此引用作为参考。
实体实体是其信息被汇集的主要对象。比如,在一个包含有关一个公司的人事信息的数据库中,一个实体可以是“雇员”。在E-R模拟中,实体用方框表示。实体可以可根据其与另一实体的依赖关系而称为弱或强。一个强实体对另一个实体没有依赖关系,即其存在不要求另一实体存在。如图6所示,一个强实体用单个非划线方块表示。弱实体的存在由另一实体导出,比如,一个“工作时间进度表”由“雇员”导出,如果工作时间进度表只能够与雇员相关联而存在。如图6所示,弱实体以同心方块表示。
属性属性是一个标签,此标签对实体性质进行描述(比如,名称、颜色等等)。属性有两种类型。关键属性对实体的出现进行区别。比如,在美国,社会保险号是一个关键属性,对个人进行区分。描述符属性仅仅描述一个实体的发生(比如,性别、体重)。如图6所示,在E-R模拟中属性用一个椭圆结合到其相关的实体(方框)来表示。
在某些情况下,属性可以有多值。比如,代表一个商业的实体可以有多值属性“地点”。如果商业有多个地点,属性“地点”将有多值。多值属性用同心椭圆表示,如图6所示。在其他情况下,复合属性可以由多个分组属性构成。复合属性是用一个树形结构表示,如图6所示。导出属性是不需要以明显方式存储于数据库中,而是可以由实体的其他属性计算或以其他方式导出的。导出属性由短划线椭圆表示,如图6所示。
关系关系是在实体出现之间显示的连接性。关系可以是一对一、一对多和多对多,并且实体参与关系可以是任选的,也可以是强制的。比如,在包含有关公司人事信息的数据库中,在雇员实体出现之中关系“婚姻配偶为”是一对一(如果规定有一个雇员最多只能有一个配偶)。另外,参与这一关系是任选的,因为可能有雇员未婚。作为第二个实例,如果公司的策略规定每个雇员只有一个经理,则在雇员实体出现中关系“经理是”多对一(多个雇员可有同一个经理),并且是强制性的(每个雇员必须有一个经理)。
如图6所示,在E-R模拟中,关系由菱形表示。关系可以涉及两个或多个实体。关系中的基数比(一对一、一对多等等)使用字符“1”和“N”表示1∶1或1∶N的基数比,或通过使用显式结构约束,如图6所示。在实体的全部事例实体都参与关系时,实体方框与关系菱形由双线连接;否则由单线连接实体与关系,如图6所示。在有些场合,关系可能实际上标识或定义关系中的实体中的一个。这些标识关系由同心菱形标识,如图6所示。
下面看图7,其中示出按照本发明的优选实施例的用于目录服务的数据库模式的实例。应该注意,图7中示出的示例只是说明性的,并没有将本发明的范围限制为任何具体数据库结构的意图。图7的意图只是说明按照本发明的优选实施例的目录服务数据库的可能的内容和组织。
部件实体700表示计算系统中的单个自主部件。每个部件(700)提供(提供关系702)多个服务(服务实体704)。然而,为了使部件提供所希望的服务,该部件必须以由使用实体706表示的特定方式“使用”,此使用实体706形成三元关系提供中的第三参与者。使用实体706表示对利用给定部件的服务的指令。在基于软件的自主部件的情况下,这些指令可包含该部件的可执行代码,可与此部件其通信的地址,或任何会允许自主部件进入与给定部件的关系的其他信息。
如图7所示模式的数据库模式可以利用数据库管理系统(如关系、面向对象的、对象关系或演绎数据库管理系统)实现。其他在技术上存在的数据存储范例在本发明的优选实施例中也是可能的。
图8-9提供按照本发明的优选实施例的利用另一自主部件的服务的自主部件的实例。看图8,其中示出由各种自主部件组成的计算系统800。一个此种自主部件,web服务器部件802要求存储空间用来保持web页面。为了利用存储服务,web服务器部件802向目录部件804咨询,此目录部件804在计算系统800著录所有可获得的自主部件的服务。
在图8中,存储部件806具有可供web服务器部件802使用的存储空间。目录部件804将反映空间的这种可用性,并向web服务器部件802返回将存储部件806用于web服务器部件802存储需要的指令。在图9中,示出的web服务器部件802是按照目录部件804提供的指令进入到与存储部件806的关系。
在进入到与存储部件806的关系之中,在优选实施例中,web服务器部件802将按照存储部件806和web服务器部件802的策略协商关系的条件(term)。对于本专业的技术人士而言,可以理解,此种名词将会依据所使用的具体服务而变化。然而,一般讲,关系的条件,将在两个自主部件之间以来回交换方式得到。在优选实施例中,这种交换可以利用数据交换语言,如XML(可扩充标记语言)、XML模式或交换机器可读的结构化信息的某种其他语言进行。
一般,在两个自主部件之间关系的条件可以表现为属性值对,并且一种策略可提供对可接受值和推荐值,以及可在不存在两方的强要求情况下可应用的默认值设定界限的规则和目标。图10是示出按照本发明的优选实施例两个自主部件之间的关系的条件如何通过策略进行管理的E-R图。
对于关系中的自主部件之一,关系的条件(比如,网络连接中的服务质量)由条件实体1000表示。每个条件(1000)具有由条件类型实体1004表示的类型。和“具有类型”关系1002。比如,在条件表示服务质量的情况下,条件类型是“服务质量”。条件类型由此示例中的其“名称”标识(名称属性1006)。每个协商条件(1000)可具有与关系的达成条件一致的多值(值属性1014)。比如,两个自主部件可通过协商商定容许两种不同的数据传输速度;在此种情况下,“数据传输速度”条件将具有两个不同的值,表示不同速度。
在特定的自主部件的策略中,每个条件类型(1014)可具有强制约束(强制约束属性1008)、推荐值(推荐值属性1010)、默认值(默认值属性1012)或这三个属性的某种组合。任选地,值的每个设定可使表示值的该设定的相对希望度的标量效用(scalar utility)与其相关联;从值的每个可能设定到效用地映射称为效用函数(效用函数1016)。强制约束(1008)表示对按照有关的自主部件的策略有关的特定类型的条件可保持的值的不能违反的约束。推荐值(1010)表示按照有关自主部件的策略条件应该保持的优选值或值的范围,不过这些推荐值不是要求(即这些推荐值是可协商的)。默认值(1012)表示当关系的另一方(自主部件)对该条件未表现出优选时可填充的特定条件的“现成的”值;默认值允许不太重要的关系的细节在协商过程中未明确地确定。效用函数可以是在自主部件首次组成或部署时建立的固定关系,或者可以在部署自主部件期间或其后任何时候人为输入,或者可以从自主部件可以用其对于以提议的值的设定取得或提供服务的影响进行评估的模型动态地计算出。
图11是示出按照本发明的优选实施例从部件中的一个的观点观察的两个自主部件之间就关系的条件进行协商的过程的流程图。向另一个部件提出用来管理两个部件之间的关系的条件(方块1100)。从另一个自主部件接到响应(方块1102)。如果响应是接受原来的提议(offer)(方块1104是),则向另一个自主部件发送确认来指出关系将按照商定的条件开始(方块1106)。
如果响应不是接受(方块1104否),则确定响应实事上是否是提供与提出的最后一组条件不同的条件的反提议(方块1108)。如果响应不是反提议(方块1108否),则协商失败而过程结束。如果响应是反提议(方块1108是),则确定反提议的条件是否满足策略的要求(即遵守任何强制的约束)(方块1110)。如果条件不满足策略要求(方块1110否),就尝试生成一个遵守策略要求的新的反提议(方块1112)。如果尝试成功(方块1114是),就将反提议提供给另一个自主部件并且此过程循环回到方块1102来接收下一个响应。如果尝试不成功(方块1114否),则过程因失败而结束。
然而,如果在方块1102中接收到的反提议的确满足要求(方块1110是),就对策略进行咨询以便确定寻找改善的条件是否(即更好满足推荐值的条件)合适(方块1118)。如果合适(方块1118是),就尝试生成新的具有更理想的条件的反提议(方块1120)。比如,如果使用效用函数,就尝试生成具有更高效用的新的反提议。如果此尝试成功,就将反提议发送到另一个自主部件(方块1116)并且此过程循环回到方块1102来接收下一个响应。如果形成新的反提议的尝试不成功(方块1112否)或确定寻找改善的条件不合适(方块1118),就向另一个自主部件发送接受另一个部件的条件(方块1124)。
在第二优选实施例中,协商可能具有更非对称的形式。在非对称协商中,只有一方生成提出的提议,并且另一方或是接受或是拒绝这些提出的提议。更具体言之,第一方可在协商的每个阶段提出一个或多个提议或结束协商。第二方可拒绝全部提出的提议,最多接受其中一个,或发出信号表示其希望结束协商。协商一直进行到一方或另一方明确表示结束协商为止。即使是第二方接受提议,第一方也可在下一个阶段提出对其更有利的新的一组提议,希望其中之一将会证明对第二方更理想。当协商结束时,将把最近接受的提议作为协议;如果未接受提议,则两方未达成协议。
自管理的一个重要方面是能够检测和处理在计算系统中可能出现的故障。各种容错模式可与本发明结合以容许对故障进行自管理。计算系统中的故障可能是一个或多个部件出现故障的结果。比如,盘驱动器可能发生物理破坏而使存储部件不能工作。故障的另一个来源是主动攻击。在受到主动攻击时,一个或多个部件成为攻击靶子而受到破坏。其原因可能是计算机病毒、网络攻击(如拒绝服务攻击)、安全保卫失效以及其他等等。真正的自主计算系统应该能够实时自动检测和处理故障。
图12-15提供在按照本发明的优选实施例的自主计算系统中进行故障检测和处理的实例。重要的是要认识到在图12-15中示出的容错技术只是本发明的优选实施例中的故障计测和处理的示例而并非意在进行限制。
图12是由多个自主部件构成的计算系统1200的示图。数据库部件1202可提供数据库服务并且利用存储部件1206和冗余存储部件1204的存储服务。如图中所示,存储部件1206变为不能工作。与存储部件1206保持通信的数据库部件1202将检测到存储部件1206的故障并终止其与存储部件1206的关系,如图13所示。
在图13中,响应与存储部件1206的关系的终止,数据库部件1202对目录部件1300进行咨询以便定位计算系统1200中的附加的存储服务。目录部件1300向数据库部件1202指出存储部件1302可以使用。响应目录部件1300将存储部件1302识别为可使用的存储部件,数据库部件1202进入与存储部件1302的关系,如图14所示。
为了重建冗余服务以便准备好应付未来可能出现的任何故障,数据库部件1202将状态信息从存储部件1204复制到存储部件1302,如图14所示。一旦状态信息从存储部件1204复制到存储部件1302,存储部件1302现在就可以替代失效的存储部件1206工作,如图15所示。
图16是按照本发明的优选实施例的故障或损害恢复过程的流程图。如果检测到计算系统中一个或多个部件的损害(compromise),其可以是由于受到攻击也可以是由于失效(malfunction)(方块1600),由此识别可能受损害的服务(方块1602)。这些服务被终止(方块1604)。如果可以识别使受影响的服务易于受损害的特定脆弱性,这种脆弱性可以被诊断(方块1606)。制定了补救计算系统的受损害的状态的行动计划(方块1608);此种补救计划的示例包含增加安全措施、增加冗余或纠错级别等等。之后执行此计划来补充受损害的部件和恢复服务(方块1610)。如果受损害的服务中的任何一个是有状态的(即要求状态信息)(方块1612是),就对补充服务恢复状态信息(方块1614)。在任何情况下,此过程最后将循环返回方块1600为处理任何未来的故障做好准备。
重要的是应该指出,当在完全正常工作的数据处理系统的环境下描述本发明时,本专业的普通技术人士将会理解,本发明的过程可以以指令的计算机可读媒体或其他功能描述材料形式以及多种其他形式分发并且不管实际用来进行分发的承载信号的媒体的具体类型,本发明都同样适用。计算机可读媒体的例子包含可记录类型媒体,如软盘、硬盘驱动器、RAM、CD-ROM、DVD-ROM以及传输型媒体,如数字及模拟链路、使用传输形式的有线或无线通信链路,比如,射频和光波传输。计算机可读媒体可采用编码格式,在具体数据处理系统中实际使用时对这种编码格式进行译码。功能描述材料是赋予机器功能的信息。功能描述材料包含但不限于计算机程序、指令、规则、事实、计算机功能的定义、对象以及数据结构。
对本发明的描述的目的是说明和描述,而并非意在对本发明进行穷尽式列举或将其限制于已公开的形式。很多修改和变化对本领域的技术人员来说是显而易见的。实施例的选择和描述是为了最好地解释本发明的原理,实际应用,并且可使本领域的技术人员了解具有本发明的适用于预期的具体使用的各种修改的各种实施例。
为了这一应用目的,将一个组定义为大于等于零个事物。将多数定义为大于等于一个事物。将组的一个子组或多数定义为由大于等于零个事物构成的集合,其全部都是取自原始组或多数。
权利要求
1.一种用来管理在计算环境中的至少一个部件的基于计算机的方法,包括识别数据处理系统中的第一部件所要求的特定功能;定位关于至少一个附加部件的目录中的信息,其中所述至少一个附加部件适于提供特定功能;就第一部件和所述至少一个附加部件借以工作的条件进行协商;以及与所述至少一个附加部件结合以与所述至少一个附加部件形成关系,以便向第一部件提供特定功能。
2.如权利要求1所述的方法,其中所述至少一个附加部件包含硬件部件和软件部件中的至少一个。
3.如权利要求1所述的方法,其中信息包含所述至少一个附加部件的至少一个地址、所述至少一个附加部件的使用指令以及所述至少一个附加部件的程序代码中的至少一个。
4.如权利要求1所述的方法,其中目录形成数据处理系统中的一个部件。
5.如权利要求1所述的方法,其中与所述至少一个附加部件结合包含启动第一部件和所述至少一个附加部件之间的通信。
6.如权利要求1所述的方法,其中与所述至少一个附加部件结合包含部署所述至少一个附加部件。
7.如权利要求1所述的方法,其中协商条件包含接收一组提出条件;检查此组条件来确定此组提议条件是否符合预定策略;并且响应此组提出条件违反预定策略,发送符合预定策略的第二组提出条件。
8.如权利要求1所述的方法,其中协商条件包含接收一组提出条件;检查此组条件来确定此组提议条件是否反映预定策略中的推荐;以及响应此组条件不反映预定策略中的推荐,发送更好地反映预定策略中的推荐的第二组提出条件。
9.如权利要求1所述的方法,其中协商条件包含接收一组提出条件;根据预定策略检查此组条件;并且响应此组提出条件不反映预定策略中的推荐和要求,发送指示拒绝此组提出条件的消息。
10.如权利要求1所述的方法,其中协商条件包含接收多组提出条件;根据预定策略检查此组提出条件;并且发送指示接受多组提出条件的子组的消息,其中多组提出条件的子组是根据预定策略选择的。
11.如权利要求1所述的方法,还包括检测在所述至少一个附加部件中的故障;响应检测到故障,终止与所述至少一个附加部件的关系;并且响应终止与所述至少一个附加部件的关系,与至少一个替代部件相结合。
12.如权利要求11所述的方法,其中故障是失效。
13.如权利要求11所述的方法,其中故障是对所述至少一个附加部件的攻击。
14.如权利要求11所述的方法,还包括与至少一个冗余部件结合,其中所述至少一个冗余部件保持与所述至少一个附加部件相关的状态信息相匹配的状态信息;响应终止与所述至少一个附加部件的关系,将状态信息从所述至少一个冗余部件恢复到所述至少一个替代部件。
15.一种包含功能描述材料的计算机可读媒体的计算机程序产品,当由计算机执行时,所述功能描述材料可使计算机执行的动作包含识别数据处理系统中的第一部件所要求的特定功能;定位关于至少一个附加部件的目录中的信息,其中至少一个附加部件适于提供特定功能;就第一部件和至少一个附加部件借以工作的条件进行协商;以及与所述至少一个附加部件结合以与所述至少一个附加部件形成关系,以便向第一部件提供特定功能。
16.如权利要求15所述的计算机程序产品,其中至少一个附加部件包含硬件部件和软件部件中的至少一个。
17.如权利要求15所述的计算机程序产品,其中信息包含所述至少一个附加部件的至少一个地址、所述至少一个附加部件的使用指令以及所述至少一个附加部件的程序代码中的至少一个。
18.如权利要求15所述的计算机程序产品,其中目录形成数据处理系统中的一个部件。
19.如权利要求15所述的计算机程序产品,其中与所述至少一个附加部件结合包含启动第一部件和至少一个附加部件之间的通信。
20.如权利要求15所述的计算机程序产品,其中与所述至少一个附加部件结合包含部署所述至少一个附加部件。
21.如权利要求15所述的计算机程序产品,其中协商条件包含接收一组提出条件;检查此组条件来确定此组提议条件是否符合预定策略;并且响应此组提出条件违反预定策略,发送符合预定策略的第二组提出条件。
22.如权利要求15所述的计算机程序产品,其中协商条件包含接收一组提出条件;检查此组条件来确定此组提议条件是否反映预定策略中的推荐;并且响应此组条件不反映预定策略中的推荐,发送更好地反映预定策略中的推荐第二组提出条件。
23.如权利要求15所述的计算机程序产品,其中协商条件包含接收一组提出条件;根据预定策略检查此组条件;并且响应此组提出条件不反映预定策略中的推荐和要求,发送指示拒绝此组提出条件的消息。
24.如权利要求15所述的计算机程序产品,其中协商条件包含接收多组提出条件;根据预定策略检查此组提出条件;并且发送指示接受多组提出条件的子组的消息,其中多组提出条件的子组是根据预定策略选择的。
25.如权利要求15所述的计算机程序产品,包括附加的功能描述材料,当由计算机执行时,所述功能描述材料可使计算机完成的附加的动作包含检测在所述至少一个附加部件中的故障;响应检测到故障,终止与所述至少一个附加部件的关系;并且响应终止与所述至少一个附加部件的关系,与至少一个替代部件相结合。
26.如权利要求25所述的计算机程序产品,其中故障是失效。
27.如权利要求25所述的计算机程序产品,其中故障是对所述至少一个附加部件的攻击。
28.如权利要求25所述的计算机程序产品,包括附加的功能描述材料,当由计算机执行时,所述功能描述材料可使计算机完成的附加的动作包含与至少一个冗余部件结合,其中所述至少一个冗余部件保持与所述至少一个附加部件相关的状态信息相匹配的状态信息;响应终止与所述至少一个附加部件的关系,将状态信息从所述至少一个冗余部件恢复到所述至少一个替代部件。
29.一种数据处理系统,包括用来识别数据处理系统中的第一部件所要求的特定功能的装置;用来定位关于至少一个附加部件的目录中的信息的装置,其中至少一个附加部件适于提供特定功能;用来就第一部件和至少一个附加部件借以工作的条件进行协商的装置;以及用来与所述至少一个附加部件结合以与所述至少一个附加部件形成关系,以便向第一部件提供特定功能的装置。
30.如权利要求29所述的数据处理系统,其中所述至少一个附加部件包含硬件部件和软件部件中的至少一个。
31.如权利要求29所述的数据处理系统,其中信息包含所述至少一个附加部件的至少一个地址、所述至少一个附加部件的使用指令以及所述至少一个附加部件的程序代码中的至少一个。
32.如权利要求29所述的数据处理系统,其中目录形成数据处理系统中的一个部件。
33.如权利要求29所述的数据处理系统,其中与所述至少一个附加部件结合包含启动第一部件和所述至少一个附加部件之间的通信。
34.如权利要求29所述的数据处理系统,其中与所述至少一个附加部件结合包含部署所述至少一个附加部件。
35.如权利要求29所述的数据处理系统,其中协商条件包含接收一组提出条件;检查此组条件来确定此组提议条件是否符合预定策略;并且响应此组提出条件违反预定策略,发送符合预定策略的第二组提出条件。
36.如权利要求29所述的数据处理系统,其中协商条件包含接收一组提出条件;检查此组条件来确定此组提议条件是否反映预定策略中的推荐;并且响应此组条件不反映预定策略中的推荐,发送更好地反映预定策略中的推荐第二组提出条件。
37.如权利要求29所述的数据处理系统,其中协商条件包含接收一组提出条件;根据预定策略检查此组条件;并且响应此组提出条件不反映预定策略中的推荐和要求,发送指示拒绝此组提出条件的消息。
38.如权利要求29所述的数据处理系统,其中协商条件包含接收多组提出条件;根据预定策略检查此组提出条件;并且发送指示接受多组提出条件的子组的消息,其中多组提出条件的子组是根据预定策略选择的。
39.如权利要求29所述的数据处理系统,还包括用来检测在所述至少一个附加部件中的故障的装置;用来响应检测到故障,终止与所述至少一个附加部件的关系的装置;以及用来响应终止与所述至少一个附加部件的关系,与至少一个替代部件相结合的装置。
40.如权利要求39所述的数据处理系统,其中故障是失效。
41.如权利要求39所述的数据处理系统,其中故障是对至少一个附加部件的攻击。
42.如权利要求39所述的数据处理系统,还包括用来与至少一个冗余部件结合的装置,其中所述至少一个冗余部件保持与所述至少一个附加部件相关的状态信息相匹配的状态信息;用来响应终止与所述至少一个附加部件的关系,将状态信息从所述至少一个冗余部件恢复到所述至少一个替代部件的装置。
全文摘要
本发明可提供一种用于构建由“自主部件”组成的自管理的分布式计算系统的方法、计算机程序产品和数据处理系统。一个自主部件可提供一组服务,并且可将这些服务提供给其他自主部件。自主部件之间的关系包括提供和消费这种服务,这些关系是“后期绑定”,因为这些关系是在系统运行时而不是在系统部件的实现或部署时完成。这些关系是动态的,因为这些关系可以随时间而开始、结束和改变。这些关系是可以协商的,因为这些关系通过在确立这一关系的部件之间的互相通信过程中而达到。
文档编号G06F9/46GK1682190SQ03822256
公开日2005年10月12日 申请日期2003年8月13日 优先权日2002年9月20日
发明者约翰夫·L.·赫勒斯坦, 杰弗里·欧文·克法特, 埃德温·里奇·拉赛特里, 诺曼·J.·帕斯, 戴维·罗伯特·萨弗德, 威廉·哈罗德·特兹拉弗, 史蒂夫·理查德·怀特 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1