在事件驱动的网络中分配软件更新的方法

文档序号:6537218阅读:159来源:国知局
专利名称:在事件驱动的网络中分配软件更新的方法
技术领域
本发明涉及软件系统,更具体来说,涉及在事件驱动的组件(component)的大型多域联合网络(multi domain federationnetwork)中分配用于处理以前未知的事件类型的软件更新的方法。
背景技术
当前,越来越多的软件系统(例如电信系统)依赖于其组件受到跨多个管理域的控制的分布式体系结构。该产业在寻找各种办法来避免各组件的紧密连接的特性,以便能对分布式系统的局部进行升级或改变,而又不影响系统的其它部分。
在大型电信网络管理系统(NMS)中,受管理的各种网络元素(element)随着时间的推移而迅速发展。此外,用于网络元素的管理的合作管理协议也因为电信产业中的商业伙伴关系的迅速形成和破裂而频繁改变。这些事实使得更迫切需要设计出对网络元素进行升级或改变,而又不负面影响网络的其它部分的方法。然而,当将新的类型的物理装置(如交换机)或逻辑装置(如软件应用程序)引入到要管理的网络中时,就可能出现问题。在最好的情况下,现有的已安装的管理软件可能不能处理新的事件类型,于是会丧失由新装置生成的新类型的信息的好处。在最坏的情况下,引入以前未定义的事件类型可能引起整个系统范围的不稳定。另外,与新事件类型相关的信息有可能要求联合体(federation)中的一些组件在事件存储、显示和事件关联(correlation)方面以不同的方式对待这些事件。
对因为向事件驱动的组件的大型多域联合网络中引入新事件而产生的问题,目前有两个主要的解决方案。第一,网络操作者(operator)可以同时更新联合体中所有受到影响的软件组件。在由各种合作性管理域实时地管理的大型联合体中,这可能是个工作量大、难以管理的任务。第二种选择是将新类型的事件设计成是与联合体中目前已知的事件类型后向兼容的。然而这种做法也有缺点。第一,新的各代事件类型必须也具有较老的各代中的可能不需要的功能。第二,对后向兼容性的要求,可能限制新一代可能具有的功能。第三,在费钱费时地设计了要后向兼容的新的各代后,较老的各代可能会在新的一代的安装之后退出,由此使为取得后向兼容性而进行的努力和花费毫无必要。
为了克服现有解决方案的缺点,最好有这样一种分配软件更新的方法,这种方法不需要操作者同时地更新所有受影响的网络组件,不需要有费钱地、有时毫无必要地将新的事件类型设计得与当前已知的事件类型后向兼容的过程。本发明提供这样一种方法。
发明综述一方面,本发明是一种分配软件的方法,用于在具有多个生产和消费事件的去耦的、事件驱动的组件的网络中处理新事件类型。该方法包括的步骤是,将用于处理新事件类型的新软件策略从产生器组件推入(push into)网络,以及采用推入技术(push technology)向网络中的组件分配新策略。分配新策略的步骤可以包括利用推入技术中的筛选功能有选择地分配新策略,以确定新策略是否适用于网络中的每个组件,并将该策略推到新策略适用的那些组件。
另一方面,本发明的方法可以采用不在各个组件中采用筛选的出版和推入(publish and push)技术。此外,本发明也可以只应用于更新现有的组件。在这种情况下,该方法包含的步骤是,将用于处理新事件类型的新软件策略从生产者(producer)组件推到网络中的消费者(consumer)组件,以及由现有的组件采用新策略来处理新类型的事件。如果该方法也要用于新的组件,则该方法也包括下述步骤在网络中的组件中高速缓存新策略,确定何时新的消费者组件连接到网络和订阅(subscribe to)新事件类型的事件,以及将新策略推入新组件。新策略然后被新组件用来处理新类型的事件。
另一方面,该方法包括的步骤是,将用于处理新事件类型的新软件类型从生产者组件推入网络,以及利用推入技术来有选择地分配新策略到网络中的组件。确定新策略是否适用于网络中的每个组件,如果确定新策略适用于给定的组件,新策略就被该给定组件高速缓存起来并被该给定组件用来处理新类型的事件。如果确定新策略不适用于给定的组件,该策略就被该给定组件高速缓存起来,供由下游组件使用。当新的消费者组件连接到网络并订阅新事件类型的事件时,将新策略推入新组件。
该方法也可以一开始让生产者组件首先确定作为新事件类型的结果而在网络中出现的多个新事件。生产者组件将这多个新事件分类成至少一个事件特定的类。生产者组件然后将第一事件特定的类的一个单一的事件连同用于处理该第一事件特定的类的第一新策略推入网络。利用推入技术将该第一新策略选择性地分配到网络中的组件。如果该第一新策略适用于某给定组件,该新策略就被该组件高速缓存起来并用于处理该新类型的事件。如果不适用于该组件,该第一新策略就被该组件高速缓存起来供由下游组件使用。然后对每个事件特定的类重复该分配策略的过程。将各策略高速缓存在网络组件中,并推到连接到网络并订阅新类型的事件的新组件。然后,由接收新策略的组件利用新策略来处理新类型的事件。
附图简介结合本说明书参阅以下附图,将能更好地理解本发明,本发明的众多目的和优点对于本领域的熟练人员来说将变得显而易见。附图中

图1是表示在本发明的方法的最佳实施例中由生产者组件执行的步骤的流程图;图2是表示在本发明的方法的最佳实施例中由推入技术执行的步骤的流程图;图3是表示在本发明的方法的最佳实施例中由消费者组件执行的步骤的流程图;图4是表示按照本发明的思想在联合网络中引入新事件类型的示例性情景的示意图。
实施例详述本发明描述一种在管理、分配和处理事件的去耦的、事件驱动的组件的大型多域联合网络中分配用于处理以前未知的事件类型的软件的方法。建立这样的去耦的组件的网络的一种方法是使用“出版和推入”技术。信息生产者出版信息并将其推入网络中。一个或多个信息消费者向网络注册,网络将将信息推到信息消费者。在这个范例中,信息生产者和信息消费者被存储-和-转发介质(store-and-forwardmedium)去耦。生产者不需要知道消费者,并且生产者的状态独立于消费者的状态(反之亦然)。
在电信系统的特定情形中,信息可以是网络事件,诸如网络报警、网络性能数据、网络财务数据等等。信息生产者可以是网络元素,信息消费者可以是电信网络(NMS)。
所以,出版和推入技术有助于构造分布式的事件驱动的组件的联合体。在联合体中,每个组件生产和/或消费事件,以完成在联合体中的特定角色(role)。这些组件有些可以网关,它们接收由装置或其它系统发出的信息、并将信息翻译成事件。然后它们把事件推入网络。其它对接收这些事件类型感兴趣的组件向网络订阅,以便将来这些事件将被推给它们。这些组件在接收事件之后,处理事件,然后可以根据所处理的信息生成新的事件,新的事件也被推入网络。
在本发明的方法中,软件更新是自动在联合体中分配的。发行信息事件类型的组件(生产者)负责提供消费者组件用于处理新事件类型的适当软件(以下称为策略)。策略一般被存储在事件内,可以是用于处理新类型的事件的全新代码,也可以是现有代码的补丁。当具有策略的事件在消费者组件被接收时,消费者决定该策略是否适用于它。如果适用,该策略就被安装,然后就按照新事件类型中携带的信息影响消费者组件的行为。
图1是表示在本发明的方法的最佳实施例中由生产者组件(生产者)10执行的步骤的流程图。由生产者1-N表示的多个生产者可以为不同的事件执行图1的步骤。在步骤11,生产者创建新事件。生产者可以用其对联合体中的组件类型的知识来确定将要通过在联合体中引入新的事件类型而被生成的多个新事件。生产者将新事件分类成事件特定的类,并确定每个事件特定的类的相关策略。所需的策略数与新事件将要影响的角色的数目有关。在步骤12,生产者确定是否事件的策略已经被推入网络。如果策略没有被推入,该方法就转移到步骤13,将策略存储在事件中。在步骤14,将事件推到推入技术15,供在网络中分配,而不管是否有该事件类型的消费者。理想地,携带该事件的类要包括一个对应于它被设计要处理的所生产的事件类型的格式的发行号(release number)。如果在步骤12确定事件的策略已经被推入,则事件在步骤14被推入,而没有策略。
图2是表示当从生产者10接收到一个事件时由本发明的方法的最佳实施例中的推入技术15执行的步骤的流程图。在步骤21,确定推入技术中是否有筛选功能。如果有,在步骤22确定是否要筛选事件。如果是,在步骤23将事件筛选出来并丢弃。如果没有筛选功能,或者不要筛选事件,则该方法转移到步骤24,将事件推到消费者组件(消费者)25。
在具有筛选功能的推入技术中,推入技术中的筛选器有选择地向联合体中的消费者组件分配新策略。这样,网络中用于组件间通信的的推入技术的筛选功能确定是否给定的策略适用于给定的组件。例如,如果将某筛选器从特定组件插入上游,而该筛选器阻止特定策略的分配,则该组件就不知道该策略,直到该筛选器被移走。
有些出版和推入技术不采用筛选功能。如果采用这样的技术,策略就被推到所有现有的组件。策略被分配后,消费者利用新策略取代安装时向它们提供的一般策略来处理新类型的事件。
图3是表示当带有策略的事件从推入技术15到达时由本发明的方法的最佳实施例中的消费者组件25执行的步骤的流程图。在步骤31,确定该策略是否适用于接收消费者。如果适用,消费者在步骤32安装该策略,然后在33用该策略来处理新类型的事件。消费者然后在步骤34将该策略高速缓存起来。如果在步骤31确定该策略不适用于接收消费者,该方法就直接转移到步骤34,将该策略高速缓存起来,用于随后分配到需要它的下游组件。
在步骤35,确定消费者25是否也是下游组件的事件的生产者。如果是,则将带有策略的事件推到推入技术15,供分配到网络中的下游组件。如果消费者不是生产者,该方法就转移到步骤36,消费者内的处理在此停止。
被分配的策略实现一个基于角色的接口。将组件能扮演的每个角色与一个抽象接口相关联。例如,负责在数据库中存储信息的组件可以使用一个实现一个返回(要被存储的)给定事件的独有密钥的接口的策略。该密钥通常是特定于一个事件类型的。新事件类型的生产者然后应生产一个合适的、能根据该新事件类型中的新信息创建密钥的策略。如果新的消费者连接到联合体中并订阅该新类型的事件,联合体就在其初始下载中将该合适的策略下载到该消费者,然后,该新策略被该新消费者用来处理该新类型的事件。
图4是表示按照本发明的思想在联合网络中引入新事件类型的示例性情景的示意图。组件P1 41和P2 42在联合体中分别是事件43和44的生产者。P1和P2与这些事件一起提供存储在事件中的相关联的策略,不管联合体中是否有需要这些事件类型的消费者。将事件和策略通过推入技术(PT)15提供到消费者C1 45。在利用PT 15转发事件之后,事件和策略被高速缓存在C1中。
PT 15然后把事件推到消费者C3 46和C4 47。在这个例子中,C3是一个使其接收的报警消息相关联并通过PT 15将相关事件48发送回到联合体中的组件。同样,C4被作为一个组件的例子,该组件通过用户界面向操作者显示事件,并向操作者提供与连接到P2的物理装置51的软件连接49。
在图4的情形中,生产者P2连接到新的物理装置51,确定一个与这个事件相关联的策略。将新事件和新策略以如上所述的方式通过联合体推到消费者C1,在此被高速缓存起来。将新策略推到消费者C3和C4,在此高速缓存起来。本例中的消费者C3确定该新策略不适用,因此丢弃该新策略。消费者C4确定该新策略对它适用,因此安装该新策略。C4然后可以用该新策略来提供与物理装置51的软件连接,或者与P2通信。
如果新的消费者C5 52连接到联合体并订阅该新事件,C1向C5发送该新策略。消费者C5将新策略高速缓存起来然后在其接收新类型的事件时利用该新策略。
相信根据前面的说明,本发明的操作和结构将是显而易见的。尽管所示及所说明的方法、准备和系统已经被特征化为优选的,显然,在不偏离如下权利要求中定义的本发明的范围的情况下可对其作各种修改和改变。
权利要求
1.一种分发用于在具有多个去耦的、事件驱动的组件的网络中处理新事件类型的软件的方法,所述组件是事件的生产者和事件的消费者,该方法包括的步骤是将用于处理新事件类型的新软件策略从生产者组件推入网络;和采用推入技术向网络中的组件分发新策略。
2.权利要求1的方法,特征在于,利用推入技术分发新策略的步骤包括利用推入技术来有选择地分发新策略。
3.权利要求2的方法,特征在于,利用推入技术来有选择地分发新策略的步骤包括的步骤是确定新策略是否适用于网络中的每个组件;和将该新策略推到新策略适用的那些组件。
4.权利要求1的方法,特征在于,进一步包含的步骤是确定新策略是否适用于网络中的每个组件;如果确定新策略适用于给定的组件,新策略就被该给定组件高速缓存起来并被该给定组件用来处理新类型的事件;和如果确定新策略不适用于给定的组件,该策略就被该给定组件高速缓存起来,供由下游组件使用。
5.权利要求1的方法,特征在于,进一步包含的步骤是确定何时新的消费者组件连接到网络并订阅新事件类型的事件;和将新策略推入该新组件。
6.一种分发用于在具有多个去耦的、事件驱动的组件的网络中处理新事件类型的软件的方法,所述组件是事件的生产者和事件的消费者,该方法包括的步骤是将用于处理新事件类型的新软件策略从生产者组件推入网络;有选择地向网络中的组件分发该新策略,所述分发步骤包括的步骤是确定新策略是否适用于网络中的每个组件;和利用推入技术将该新策略推到新策略适用的那些组件;确定何时新的消费者组件连接到网络并订阅新事件类型的事件;和将新策略推入该新组件。
7.一种分发用于在具有多个去耦的、事件驱动的组件的网络中处理新事件类型的软件的方法,所述组件是事件的生产者和事件的消费者,该方法包括的步骤是将用于处理新事件类型的新软件策略从生产者组件推入网络;利用推入技术向网络中的组件分发该新策略;确定新策略是否适用于网络中的每个组件;如果确定新策略适用于给定的组件,新策略就被该给定组件高速缓存起来并被该给定组件用来处理新类型的事件;如果确定新策略不适用于给定的组件,该策略就被该给定组件高速缓存起来,供由下游组件使用。确定何时新的消费者组件连接到网络并订阅新事件类型的事件;和将新策略推入该新组件。
8.一种分发用于在具有多个去耦的、事件驱动的组件的网络中处理新事件类型的软件的方法,所述组件是事件的生产者和事件的消费者,该方法包括的步骤是将用于处理新事件类型的新软件策略从网络中的生产者组件推到消费者组件;和由现有的组件利用该新策略来处理新类型的事件。
9.权利要求8的方法,特征在于进一步包含的步骤是由网络中的组件将该新策略高速缓存起来;确定何时新的消费者组件连接到网络并订阅新事件类型的事件;将新策略推入该新组件;和由该新组件利用该新策略来处理新类型的事件。
10.一种分发用于在具有多个去耦的、事件驱动的组件的网络中处理新事件类型的软件的方法,所述组件包括一个生产事件的生产者组件和至少一个消费事件的消费者组件,该方法包括的步骤是(A)由生产者组件首先确定作为新事件类型的结果而在网络中出现的多个新事件;(B)由生产者组件将这多个新事件分类成至少一个事件特定的类;(C)将第一事件特定的类的一个单一的事件连同用于处理该第一事件特定的类的第一新软件策略推入网络;(D)利用推入技术将该第一新策略分发到网络中的各组件;(E)确定该第一新策略是否适用于网络中的每个组件;(F)确定该第一新策略适用于给定组件后,该新策略就被该组件高速缓存起来并由该组件用于处理该新类型的事件;(G)确定该第一新策略不适用于给定组件后,该第一新策略就被该组件高速缓存起来供由下游组件使用;(H)确定该事件特定的类是否是在步骤(B)中由生产者组件分类的最后一个类;(I)对在步骤(B)中由生产者组件分类的每个另外的事件特定的类,重复步骤(C)至(H),由此分发对应于每个事件特定的类的软件策略;(J)由各组件利用新策略来处理新类型的事件。
全文摘要
一种在去耦的、事件驱动的组件的大型多域联合网络中分发用于处理以前未知的事件类型的软件的方法。各组件包含生产事件的生产者组件(10)和为实现它们在网络中的角色而消费事件的消费者组件(25)。生产者组件首先确定作为新事件类型的结果而在网络中出现的多个新事件,将这多个新事件分类成至少一个事件特定的类。生产者组件然后将某事件特定的类的一个单一的事件(14)连同用于处理该事件特定的类的新软件策略(13)推入网络。利用推入技术(15)将该新策略分发到网络中的各组件。如果该新策略适用于给定组件(31),该新策略就被该组件高速缓存(32)起来并用于处理该新类型的事件。如果该新策略不适用于给定组件,该新策略就被该组件高速缓存(34)起来供由下游组件使用。对在每个事件特定的类重复该分发策略的过程。这些策略被高速缓存在网络组件中,并被推到连接到网络并订阅该新类型的事件的新组件。然后,这些新策略被接收它们的各组件用来处理该新类型的事件。
文档编号G06F9/445GK1379876SQ00814389
公开日2002年11月13日 申请日期2000年8月15日 优先权日1999年8月16日
发明者N·戈塞林, E·谢, F·凯勒迪, D·奥弗拉纳甘 申请人:艾利森电话股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1