自主计算系统和方法

文档序号:7971434阅读:233来源:国知局
专利名称:自主计算系统和方法
技术领域
本发明涉及自主计算的领域。更具体地,本发明涉及在自主计算网络中实体之间的通信。
背景技术
自主计算被广泛地认为是新一代的集成计算机技术,其允许网络在很少或者没有人干预的情况下对自身进行管理。这个术语源自控制关键功能(诸如心率和呼吸)而无需主观意识或参与的人体的自主神经系统。
自主计算系统具有以下的特点(i)自配置其能够适应系统中的变化,这样的变化可包括新组件的部署或者除去已有的组件。动态的适配帮助确保计算系统的连续生产力;(ii)自优化其能够提高性能,并能够自动地监视和协调资源以满足终端用户或者企业需求,从而提供高标准的服务;(iii)自修复其能够预见和消除入侵,并能够检测系统故障和启动预定的改正动作而不中断系统的其余部分。因此,系统将变得更有复原力;(iv)自保护其能够预见、检测、识别和防止危险,诸如未授权的访问和病毒感染,从而使用户可以始终地加强安全。
自主计算系统需要能够识别问题,确定其成因并采取适当的动作以改正问题。
自主网络协作中的实体共享意见以解决问题是已知的。例如,一个实体遇到它以前没有过的新情况-自动贩卖机不能提供咖啡-那么它应该怎么办?该实体向网络中的其它实体,即其它贩卖机,请求意见。其它实体可能有更多的经验(例如,贩卖机可能在以前执行过显示消息“打电话给工程师”而不是退款的动作)。然后,工程师可能已经手工地将该动作分类为“差”。这个分类构成了知识。知识也可以通过成功/失败动作学习,而无需手工干预。更有经验的贩卖机可向请求贩卖机提供意见以采取诸如“退款”的动作。因此,在自主网络协作中的其它实体基于自己的知识/经验向请求实体提供意见,然后请求实体可确定采取哪一个/哪些动作(例如,大多数实体推荐的动作过程)。知识可以从经验中获取,或者可以通过人为干预而引入实体。
在已知的自主网络中,请求实体联系所有其它实体以请求意见。这涉及过多的请求和意见,并且在接收和处理所有的响应上花费很多时间。
而且,在有经验的和没有经验的实体之间不进行区分,因此它们的意见被同等地考虑。
目前,一种手动的方法是命名单个实体为“最有经验”的实体,并且该实体指示所有其它实体应当服从这个被命名的实体的意见。只有这个被命名的实体被手动地或者通过获得经验来教导所有适当的行为(例如,在不能贩卖的时候退款!)。然而,当被其它实体联系时,这个“最有经验的实体”可能并不总是可用的,并且它的知识可能随着时间而变得过时。
因此,有利的是提供一种用于对在自主计算系统中运行的实体提供通信的机制,其中以意见的请求为目标,无需对所有其它实体的大量请求和意见。而且,希望区分有经验的和没有经验的实体。

发明内容
本发明提供一种用于在自主计算机系统中运行的自主管理器的通信方法,该计算机系统包括多个提供和请求意见的自主管理器,该方法包括以下步骤向一个或多个意见提供器请求意见;从至少一个意见提供器接收意见;选择所接收的意见以执行;执行所选择的意见;以及基于所执行的意见的结果确定向哪一个意见提供器请求随后的意见。
该方法的优点在于响应请求只接收最相关的意见。请求自主管理器可基于与另一个自主管理器以前的经验向该管理器请求意见,而无需向系统中的所有管理器广播以请求意见。
根据本发明根据所获得的经验和/或知识,一个实体被命名为“最有经验”的实体,并且不断地进行评估。
本发明定义了实体如何相互通信以及如何自动将自己构造成方便该通信的装置。这通过以下方式实现通过向每一个实体提供以此能够选择父实体的装置而允许实体分级地构造自己。父实体是在过去已经证实有用(成功)的意见的次数超过阈值次数的单元。
本发明使自主管理器能够将自己分组成允许更有效的意见请求和回复的通信的分级体系。该方法使自主管理器能够在部署后动态地配置和组织自己。
本发明提供一种自主计算系统,其可区分实体的经验级别。其具有单个的点入口(point entry)(即最高级别系统),用于在集群中的所有系统上更新系统要求变化(在策略、方法等方面的变化),导致更快的响应时间(尤其对于运行环境的变化)和更短的停工时间(系统要求更少的与管理员的交互)。它还确保“最有经验”的实体在任何时候都是可用的。


现在参考附图,仅通过实例描述本发明的实施例,其中图1示出了管理资源的自主管理器的方框图;图2示出了与网络中其它自主管理器通信的自主管理器;图3示出了在网络集群内自主管理器的初始集群;图4示出了根据本发明的已经将自己组织成分级体系的图3的自主管理器;图5、6、7和8示出了根据本发明的自主管理器如何将自己组织成分级体系的例子;图9示出了当子自主管理器从其父自主管理器接收到被委托的请求时所采取的步骤的流程图;图10示出了当父自主管理器从其一个子自主管理器收到请求时所采取的步骤的流程图;图11示出了当自主管理器请求意见时所采取的步骤的流程图。
具体实施例方式
自主计算系统包含至少一个自主管理器。这些自主管理器是用于连续地监视系统以识别、计划和处理需要采取动作的事件的硬件或者软件组件。图1是管理资源20的示例性的自主管理器10的方框图。
示例性的自主管理器具有四个功能区域监视40、分析50、计划60和执行70。这些功能组成控制循环15。传感器30观察被管理资源20的当前状态,并向监视功能40提供有关当前状态的信息。监视功能负责从被管理资源20收集和组织数据。其使用知识库90以理解它正在看的数据。分析功能分析当事件发生时由监视功能提供的信息,知识库90包含帮助确定对该事件做什么的信息。计划功能60产生改变计划。如果不需要任何动作,那么自主管理器返回到监视状态。执行功能70执行任何要求的特定动作,并且向效应器80传送指令以启动对被管理资源20采取的有效动作。所采取的动作的细节被添加到知识库90中,用于以后参考。
这四个功能区域吸收并产生知识。知识库90可预先装载有关系统的已知信息,并且可在自主管理器学习更多有关被管理资源的特性时增加。知识不断地在四个功能中共享,意味着可以由每一个功能做出更好的被通知的决定。
虽然控制循环在图1中作为单独的过程示出,但是应当理解,该控制循环不必在单个实体内执行。例如,自主管理器可以不包括所有的功能区域。一些自主计算系统包括部分的管理器,例如用于执行监视和分析功能的自恢复部分的自主管理器以及用于执行计划和执行功能的自配置部分的自主管理器。
意见是响应来自已经不能使用自己的可用的知识来计划动作的请求自主管理器的信息请求而从自主管理器的计划功能接收的输出。
自主管理器可以向其它自主管理器寻求意见,并集合结果以决定将要执行的最终计划。这样,知识和经验在自主管理器之间被隐含地共享,导致做出更好的决定。
诸如如图2所示的位于网络上的自主管理器相互进行交互以解决问题。这些交互可包括以下a)给出和寻找有关问题的可能的解决方案的意见;b)评估这些问题;以及c)共享关于各种问题域的知识。
图2示出了与网络中的其它自主管理器进行通信的示例性的自主管理器,并示出了如何在自主管理器之间共享意见的例子。自主管理器100、110和120可相互共享意见。请求自主管理器100的分析功能130包括用于向自主管理器110和/或自主管理器120或者任何其它随后加入该网络的自主管理器请求意见的接口135。分析功能130还可从管理器110和120接收意见请求。
自主管理器100的计划功能140包括用于接收向管理器110和120请求的意见的接口145。接口145还可用于接收关于部署或者除去其它自主管理器的未寻求的意见或者信息。
计划功能140集合从管理器110和120接收的不同意见,并进行评估以形成计划。
用于管理自主管理器之间的交互的机构包括发布/订阅代理器。如图2所示,代理器150可以在本地定位于请求管理器100。该代理器可以是一般代理服务的一部分。另一种合适的机构是企业服务总线(未示出)。自主管理器通过总线连接,并且意见被包装成web服务,放置在总线上。
根据本发明,交换意见的自主管理器将自己排列成分级体系。如以上参考图2所描述的,自主管理器可请求和提供意见。在操作过程中,请求自主管理器广播意见请求,并评估从提供自主管理器接收的意见的成功(性)。这使得自主管理器能够保持其从特定自主管理器接收的意见的质量等级。
每一个请求自主管理器测量其它自主管理器的能力。能力基于由请求管理器接收并成功实施的意见的数量。如果等级低于可配置的阈值水平,则请求自主管理器宣布自己是更有能力的提供自主管理器的“子自主管理器”。如果等级高于可配置的阈值水平,则请求自主管理器宣布该提供自主管理器是它的“父自主管理器”。自主管理器使用该等级系统组织自己以形成分级体系。
图3示出了网络内的自主管理器的初始集群,图4示出了根据本发明的已经将自己组织成分级结构的自主管理器。该分级体系可根据来自不同提供自主管理器的响应的质量和/或数量,随着时间变化。在该分级体系中,系统中的请求和提供自主管理器被允许在一定条件下相互通信以发送意见和意见请求,如下所述。
参考图4,请求自主管理器只允许向其父自主管理器请求意见。然后该父自主管理器可(i)直接响应请求;或者(ii)向所有其它父(即,非子)自主管理器广播请求;或者(iii)向最高级别管理器广播请求;或者(iv)以上方式的组合。当父自主管理器向其它最高级别自主管理器广播请求时,那些管理器可将该请求委托给它们的子自主管理器,这些子自主管理器可以进一步委托。最高级别管理器是没有父管理器的管理器。意见被直接发送到发起、请求自主管理器。优选地,意见请求包括请求自主管理器的标识。
然后,请求的发起者选择执行哪一个意见。然后,请求的发起者根据请求的结果调整响应管理器的等级。每一个响应管理器的等级以这种方式进行更新,并且当子自主管理器确定其正在从目前不是其父自主管理器的提供自主管理器接收更多和/或更好质量的响应时,系统的分级体系可改变。
如果当子自主管理器请求意见时父系统不可用,则该子自主管理器承担父自主管理器的角色,并向其它父自主管理器而不是自己的父自主管理器广播请求。如果父自主管理器仍然不可用,则该子自主管理器最后进行重新配置以变成另一个父自主管理器的子自主管理器,或者如果没有其它自主管理器超过其阈值等级,则该自主管理器继续作为父自主管理器。
在分级体系中运行的自主管理器遵循以下的准则,以能够进行分级体系在构造上的动态变化1.子管理器只有一个父管理器;2.子管理器只向其父管理器直接请求意见;3.父管理器可决定何时和是否向其子管理器委托意见请求;4.父和子管理器都可从其它父管理器的子管理器接收意见。
参考图4,可以看出自主管理器410是父自主管理器,而管理器420和440是其子管理器。管理器420和440也是父管理器,管理器420有一个子管理器430,管理器440有两个子管理器450和460。在图4中,很清楚,子管理器只有一个父管理器,但是父管理器可以有一个以上的子管理器。管理器430只向其父管理器420请求意见。如果管理器420不能提供意见,那么它向管理器410请求。如果管理器410不能提供意见,那么它会向管理器440、450和460广播该请求。如果管理器440、450和/或460能够提供意见,那么它们直接向管理器430发送意见,然后管理器430选择执行哪一个响应(如果有的话)。
通过执行该准则,防止意见请求在循环中丢失,从而防止出现管理器的无限循环请求无穷多的意见的情况。
现在描述自主管理器如何将自己组织成分级体系的例子。图5、6、7和8示出了自主管理器如何将自己组织成分级体系的例子。图5示出了四个自主管理器A、B、C和D的同类集群。管理器被一起引入该集群,使得当面对来自其传感器的“问题”输入时,管理器会向集群内的其它自主管理器广播意见请求。B发送向其它管理器请求意见的广播,并从其它管理器中的每一个接收意见。B基于自己的评估算法评估A是提供了最有利的意见。重复这种意见的交换,直到A最终达到B的阈值等级,并且B指定A为它的父管理器。C和D可能还没有响应B的意见请求,或者其答复被B忽视了。
图6示出了类似的情形,其中C也已经成为A的子管理器。B和C不再广播意见请求。它们只向其父管理器A请求意见。现在C向其父管理器A请求意见。A根据其知识库确定它自己没有足够的知识,并向B转发该请求。B直接响应C。这种情形重复,B达到C的阈值等级并超过C对A的阈值等级。然后,C确定B是更好的父管理器,与A断开以使B成为其父管理器。同时,子管理器只有一个父管理器。图7示出了这个结果。
在图8中,新的自主管理器E已经被引入集群。根据上面对B和C描述的步骤,E成为D的子管理器。然后,D向E请求意见但E不能提供。然后,D向A发送意见请求。A不能提供意见,并向B委托该请求。然后,B向D提供意见。
在图8所示的另一个例子中,E向D请求意见。D不能提供意见,并向其它父管理器,即A,请求意见,因此D作为E的代理。
通过遵循上面参考图5-8描述的步骤,在网络中运行的自主管理器可将自己组织成分级体系,例如如图4所示的。
根据本发明的一个实施例,分级体系结构被存储在可由网络中所有的自主管理器访问的中心储存库(repository)中,每一个自主管理器都可更新分级体系结构,只要其建立或者断开子-父关系。每当需要确定自主管理器是否有父管理器和/或子管理器,或者确定哪些管理器不是其后代(即,子管理器或者子管理器的子管理器)时,自主管理器就查询该中心储存库。
根据另一个实施例,每个自主管理器都存储其父管理器、子管理器和后代管理器的详情。每当管理器想要建立父关系时,它就通知其父管理器,然后,其父管理器更新其子管理器列表。然后,该信息沿着分级体系向上传递,使得父管理器可更新其后代管理器列表。当管理器想要断开关系时,类似的消息沿着分级体系向上传递。该实施例更加复杂,但是优点是它对于网络内的通信故障更有鲁棒性。通信故障可阻止这些控制消息被正确的发送和接收。以下描述这样的通信故障的两个例子。
例子1即使管理器B认为它已经解除了关系,管理器A也认为管理器B是其子管理器或者一个后代管理器。可能的结果是即使B不再是管理器A的子管理器,管理器A也向管理器B委托请求。当管理器A广播意见请求时,那么管理器B不会收到该广播,因为管理器A仍然认为管理器B是它的一个后代管理器。假设管理器B检查所有它接收的输入已经通过正确通道接收了,那么不管它的父管理器是谁,这些情况都不是灾难性的。例如,如果管理器B从其新的父管理器接收到由管理器A发起的委托请求,那么它知道管理器A仍然把它当作一个后代管理器,因为否则它应该已经直接接收到广播。类似地,如果管理器B从管理器A接收到委托请求,则它会知道这有问题并且管理器A仍然认为它是它的子管理器。在任何一种情况下,管理器B都会向管理器A重新发送控制消息以确认它不再是管理器A的子/后代管理器了。
例子2管理器B认为其被注册为管理器A的子管理器,但是管理器A仍然认为管理器B有另一个父管理器。正如例子1的结论,如果管理器B向管理器A发送的意见请求被标记以表明该消息是从子管理器到父管理器,则任何问题都可以改正。
如果在分级体系的自主管理器的观点之间存在矛盾,则当管理器应当接收时,其或者接收或者没有接收意见请求。这不会危及整个网络的有效性,并且任何矛盾会随着时间得到改正,如上所述。
在本发明的优选实施例中,所分布的装置与中心储存库的装置相结合以产生鲁棒性的系统,其中只有当管理器与中心储存库的连接断开时,才需要使用分布的视图。
图9是示出当子自主管理器从其父自主管理器接收到意见请求时所采用的步骤的例子的流程图。子自主管理器在步骤900通过发布/订阅代理器、企业服务总线或其它网络通信方法接收请求。然后,子自主管理器在步骤910确定其是否能够直接响应其父自主管理器。如果子自主管理器能够使用自己的知识库回复其父自主管理器(或者原始请求者),那么在步骤920就这样做。如果子自主管理器不能自己回复,那么在步骤930,其将该意见请求委托给其所有的子自主管理器。
在图10的流程图中示出了当父自主管理器从其一个子自主管理器接收到请求时所采取的步骤的例子。父自主管理器在步骤200接收到请求。在步骤210,父自主管理器决定采取什么动作。如果它可以根据自己的知识库提供意见,那么在步骤220就这样做。父自主管理器在步骤210还检查其当前是否有任何其它的子自主管理器。然后,在步骤230,其将该请求委托给其它的子自主管理器。如果父自主管理器只有一个子自主管理器(即,请求管理器),并且不能自己提供意见,那么它在步骤240检查其是否有父自主管理器。如果它确实有父自主管理器,那么在步骤250,它将该请求传递给其父自主管理器。如果它没有父自主管理器,那么在步骤260,它将该请求多点传播到网络中的所有其它父自主管理器。根据本发明的另一个实施例,在步骤210,父自主管理器可决定自己发送意见和/或将请求委托给其它子自主管理器和/或将请求传递到其父自主管理器。根据再一个实施例,在步骤240,父自主管理器可决定将请求发送到系统中的所有其它父自主管理器和自己的父自主管理器。
图11示出了当自主管理器决定其不能使用来自自己的知识库的信息计划动作时所采取的步骤。在步骤300,自主管理器意识到它有问题。在步骤301,它检查自己的知识库以决定其是否有足够的知识来计划动作以克服问题。如果管理器确实有这个知识,那么它计划动作,然后相应地动作,即执行该动作,参见步骤302。如果自主管理器确定其没有足够的知识来处理该问题,那么在步骤303,它检查以发现其目前是否有父自主管理器。如果该管理器确实有父自主管理器,那么在步骤304,它向其父自主管理器请求意见。如果管理器没有父自主管理器,那么在步骤305,它将意见请求多点传播到网络中所有其它的自主管理器。在预定的时间间隔之后,在步骤306,请求管理器检查以发现其是否已经收到任何意见。在步骤307,请求管理器评估其已经接收的所有意见。然后,它选择其将执行哪一个意见,如果有的话。然后,在步骤309,请求管理器根据所选择的意见执行动作。然后,请求管理器评估其已经执行的动作的结果,即在步骤310,它确定动作是否成功,并将该信息发送到其知识库中。在步骤320,请求管理器调整其提供所选择的意见的自主管理器的现有等级,或者如果这是该管理器提供的第一个意见,则创建等级。在步骤330,如果等级高于预定的阈值,那么请求管理器使响应管理器作为其父管理器。如果等级低于预定的阈值,那么响应管理器不成为请求管理器的父管理器。
根据本发明的另一个实施例,在步骤305,请求管理器只向其它父管理器广播请求。然后,父管理器可决定是否将该意见请求委托给其子管理器和/或自己提供意见。该实施例的优点是减少了在最初的广播中发送的请求的数量。
如果在步骤306没有响应,那么在步骤340,管理器可再次访问和调整以前已经提供了意见的管理器的等级。(没有响应可能是因为超时或者网络中的其它管理器缺少知识)。降低以前已经提供了意见的管理器的等级可以取得重组一部分分级体系的效果,使得请求管理器改变其父管理器-参见步骤350。然后,请求管理器可通过在步骤304和/或305重新提交请求或者通过终止请求,在步骤302相应地动作。
图9、10和11示出了根据本发明的三个可能的情况。当自主管理器接收意见的广播请求时,存在另一种可能的情况。自主管理器可选择是否响应。它知道其父自主管理器(如果有一个的话)和其所有子自主管理器也已经接收到该请求,因为它知道请求管理器将请求发送到网络中除了请求管理器的子自主管理器以外的所有自主管理器。
因此,本发明提供了一种用于对在自主计算系统中运行的实体提供通信的机制,其中以意见请求为目标,无需对所有其它实体的大量请求和意见。而且能够区分有经验的和没有经验的实体。
权利要求
1.一种用于在自主计算机系统中运行的自主管理器的通信方法,所述计算机系统包括多个提供和请求意见的自主管理器,所述方法包括以下步骤向一个或多个意见提供器请求意见;从至少一个所述意见提供器接收意见;选择所接收的意见以执行;执行所选择的意见;以及基于所执行的意见的结果,确定向哪一个意见提供器请求意见。
2.根据权利要求1所述的方法,其中,所述确定步骤进一步包括计算所述一个或多个意见提供器的等级。
3.根据权利要求2所述的方法,其中,等级基于以前执行的意见的结果。
4.根据权利要求2或3所述的方法,其中,等级基于以前执行的意见的数量。
5.根据权利要求2-4中任意一个所述的方法,其中,如果计算一个意见提供器的等级高于预定的阈值水平,则请求自主管理器指示所述意见提供者作为其父意见提供器。
6.根据权利要求2-4中任意一个所述的方法,其中,如果一个意见提供器具有比以前的意见提供器高的等级,则请求自主管理器指示所述意见提供器作为其父意见提供器。
7.根据权利要求5或6所述的方法,其中,请求自主管理器向其父意见提供器请求意见。
8.根据权利要求7所述的方法,其中,父意见提供器将意见请求委托给至少一个其它意见提供器。
9.一种计算机系统,包括多个用于提供和请求意见的自主管理器;用于向一个或多个意见提供器请求意见的装置;用于从至少一个所述意见提供器接收意见的装置;用于选择所接收的意见以执行的装置;用于执行所选择的意见的装置;以及用于基于所执行的意见的结果确定向哪一个意见提供者请求意见的装置。
10.一种计算机程序,包括程序代码装置,用于当所述程序在计算机上运行时执行权利要求1-8的所有步骤。
全文摘要
一种用于在自主计算机系统中运行的自主管理器的通信方法,该计算机系统包括多个提供和请求意见的自主管理器,该方法包括以下步骤向一个或多个意见提供器请求意见;从至少一个所述意见提供器接收意见;选择所接收的意见以执行;执行所选择的意见;以及基于所执行的意见的结果,确定向哪一个意见提供器请求意见。
文档编号H04L12/00GK1976284SQ20061014706
公开日2007年6月6日 申请日期2006年11月14日 优先权日2005年11月30日
发明者L·尚卡尔, A·纳通, A·S·彼勒, R·巴辛 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1