CN1701332A - 在发布/预订系统中处理警告和审计的方法、设备和计算机程序 - Google Patents

在发布/预订系统中处理警告和审计的方法、设备和计算机程序 Download PDF

Info

Publication number
CN1701332A
CN1701332A CN03825346.1A CN03825346A CN1701332A CN 1701332 A CN1701332 A CN 1701332A CN 03825346 A CN03825346 A CN 03825346A CN 1701332 A CN1701332 A CN 1701332A
Authority
CN
China
Prior art keywords
message
warning
propagation
subscribe
subscriber
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.)
Pending
Application number
CN03825346.1A
Other languages
English (en)
Inventor
斯蒂芬·J·托德
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 CN1701332A publication Critical patent/CN1701332A/zh
Pending 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/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/544Remote

Abstract

本发明公开了在发布/预订消息传播系统中处理消息的方法、设备和计算机程序。消息中介器接收来自发布程序的发布消息,和响应预订接收消息那种类型消息的一个或多个预订程序的标识,将所接收消息转发给一个或多个预订程序。该系统或设备的一个或多个匹配部件将所接收消息与已存预订相比较,以标识一个或多个预订程序,当满足警告条件时生成警告,和将生成的警告与已存预订相比较,以识别预订警告的一个或多个预订程序。然后,将警告转发给预订警告的预订程序。通过发布/预订消息中介器处理生成的警告提供了与警告的向前传播和处理有关的灵活性。

Description

在发布/预订系统中处理警告和审计的方法、设备和计算机程序
技术领域
本发明涉及网络内的通信,尤其涉及用于发布/预订数据通信的方法和设备。
背景技术
在消息传送系统内,消息可以通过包括提供路由和格式化服务的一个或多个“中介器”的服务器的网络传送。中介器位于网络内的通信集线器上。
许多消息中介器都支持发布/预订通信范例。这牵涉到发送消息的一组(一个或多个)发布者,这些消息将被已经登记了他们接收那种类型消息的兴趣的一组(一个或多个)预订者接收。发布/预订使预订用户可以接收感兴趣领域中的最新信息(例如,股票价格或诸如紧急新闻插播或存储特殊报价单之类的事件)。典型发布/预订环境拥有大量发布应用程序,发布应用程序通过中介器将消息发送给位于遍布网络的远程计算机上的大量(可能极大量)预订应用程序。在这种情况下,预订者将他们希望接收的消息类型通知中介器,并且将这个信息存储在中介器上。发布者将他们的消息发送给中介器,中介器利用匹配引擎将消息类型(例如,检验消息首标主题字段和/或检验消息内容)与它的已存预订者信息相比较,以确定应该将消息转发给哪些预订者。消息中介器可以完成附加功能,譬如,在将接收的消息转发给预订者之前,对它们进行过滤、格式化或者其他处理。
支持发布/预订范例的消息中介器的可商用例子是IMB公司的WebSphereMQ积分器中间件产品家族(IBM和WebSphere是美国国际商用机器公司的商标)。
现有发布/预订解决方案(包括IBM的WebSphere MQ积分器产品)提供了允许参照特定发布者和主题接受或拒绝发布内容和允许参照授权接收那种主题的消息的该组预订者控制它们的传播的安全授权特征。这样的授权由管理者建立并与预订者本身所作的主题预订结合在一起起作用。
美国专利第6,158,007号公开了对不同主题的中介器强制安全政策和预订发布/预订匹配引擎以接收有关特定主题的消息的审计服务。审计服务可以被认为是预订者之一,因为,如果消息主题与存储在中介器上的特定主题表匹配,审计服务将接收原始消息。这种方法带来的问题是发布/预订范例通常只允许预订者接收与它的预订简介匹配的消息,而不知道哪些其它预订者也接收了该消息。
来自icc.net的Infosafe是通过客户和产品跟踪发布/预订活动的审计-包括基于所有产品的活动的整个审计跟踪和所有上载和下载活动的报告的发布管理服务。
David Arnold等人的《谈论可任意使用计算机:你如何和为什么与你的西红柿谈话》(″Discourse with Disposable Computers:How and Why You Talkto Your Tomatoes″,USENIX Proceedings of the Embedded Systems Workshop,March 29-31 1999,Cambridge,Massachusetts,USA)描述了称为Elvin的原型消息路由程序,它提供了基于内容的路由和基于授权密钥的安全。Arnold等人认识到需要对发布/预订服务收费,但只有如上所述的解决方案根据交换的数据的字节数收费。
在技术上仍然需要改进的发布/预订系统,其中,诸如审计、收费和/或安全之类的特征不像上面引用的例子那样受到限制。
发明内容
本发明的这些方面提供了在发布/预订通信系统内对事件作出响应生成警告的方法、数据处理系统和计算机程序。警告由发布/预订系统的匹配引擎生成,然后,由发布/预订系统内的匹配引擎处理该警告,以确定警告信息的所需传播。
在这种背景下的警告包括预定警告条件出现的指示。一般说来,警告条件是特定触发事件,譬如,发布者发布未授权主题的尝试或做出访问控制表(ACL)阻止的动作的其它尝试、访问敏感文档(即使允许)的尝试或对需要审计跟踪或按使用收费的信息的所有访问。警告可能驱动收费进程。
根据本发明的第一方面,提供了在发布/预订消息传播系统中处理消息的方法,其中,为该系统定义一个或多个警告条件,该方法包括如下步骤:接收消息;将该消息与已存消息预订相比较,以确定消息的所需传播;当满足警告条件时生成警告;将该警告与已存警告预订相比较,以确定警告的所需传播;和按照它们各自的所需传播控制消息和警告的传播。
最好,将该消息与已存消息预订相比较的步骤包括与已存授权信息相比较。消息和警告预订和授权信息最好被存储成与消息主题相联系。示范性警告条件是应该对预订者收费或需要审计的预订主题匹配被识别出来。
本发明的其它方面提供了代表发布和预订程序提供发布/预订消息传播服务的消息中介系统和数据处理设备。该设备或系统接收来自发布程序的发布消息,和响应预订所接收消息的类型消息的一个或多个预订程序的标识,将所接收消息转发给一个或多个消息预订程序,该系统或设备的一个或多个匹配部件将所接收消息与已存消息预订相比较,以标识一个或多个预订程序,当满足警告条件时,生成警告并将生成的警告与已存警告预订相比较,以识别预订警告的一个或多个预订程序。然后,将警告转发给预订警告的一个或多个预订程序。
US 6,158,007(上面引用过)不生成警告,而是只将原始消息路由给审计服务,因此,在US 6,158,007中没有公开将警告馈送给发布/预订匹配引擎来确定其所需传播。
另外,响应触发事件生成警告的现有数据处理系统通常将所有警告转发给通常通过提供给生成警告的机构的网络地址识别的预定应用程序或人,而不是将警告馈送给发布/预订匹配引擎。
本发明提供了与警告信息的向前传播和/或处理有关的极大灵活性,并且,在优选实施例中,由于已经对发布者/主题和预订者/主题匹配进行了在生成警告时确定的发布/预订匹配引擎完成的所有或大多数处理,所以可以有效地达到这个目的。在优选实施例中,同一匹配引擎接着进行附加处理,以确定需要什么样的警告传播或附加处理。
因此,根据优选实施例的解决方案能够将匹配引擎代码重新用于警告的传播和处理和可以为发布/预订匹配和警告生成两者分别执行那个程序代码。
根据本发明的方法可以通过计算机程序产品实现,计算机程序产品包括记录在机器可读记录媒体上的程序代码,用于控制执行程序代码的数据处理设备的工作性能。这样的程序产品可以是包括发布/预订匹配部件的消息传送中间件程序。
附图说明
下面参照附图,举例描述本发明的优选实施例,在附图中:
图1是可以实现本发明的、发布应用程序和预订应用程序通过消息中介器通信的消息传送网络的示范性表示;
图2示出了用作消息中介器中的可搜索索引的示范性主题树,以及示意性地表示了相关的已存对象;
图3A是示出处理所接收消息的方法的一系列步骤的示意性流程图;
图3B示出了图3A的方法步骤和根据本发明实施例,利用预订匹配生成和处理警告的附加步骤;
图4示出了第二示范性主题树和示范性已存预订和预订访问控制;
图5是根据本发明的实施例在消息中介器内生成的示范性警告消息的字段;
图6示出了包括根据本发明的实施例,响应ACL拒绝生成警告的已存规则的图4的主题树;和
图7示出了包括根据本发明的实施例,为已发消息生成警告的已存规则的图6的主题树。
具体实施方式
本发明的第一实施例提供了在发布/预订系统中审计信息的发布和传播得到改进审计的机制。审计信息可以用于驱动对发布/预订环境下的服务使用或对改进安全管理加以考虑的收费进程。
以前已经描述过发布/预订范例。在更详细地描述本发明的实施例之前,简要描述一下消息排队和消息中介器是有益的。
消息传送和消息中介器
IBM公司的消息传送产品的MQSeries和WebSphereMQ家族是支持在分布式异构环境下,在不同系统上运行的应用程序之间的互通性的已知产品的例子。在《利用MQI的消息传送和排队》(″Messaging and Queuing Using theMQI″,B.Blakeley,H.arris & R.Lewis,McGraw-Hill,1994)和在可从IBM公司购得的如下出版物:《消息传送和排队介绍》和《MQSeries-消息排队接口技术参考》(″An Introduction to Messaging and Queuing″(IBM Document numberGC33-0805-00)and″MQSeries-Message Queue Interface TechnicalReference″(IBM Document number SC33-0850-01))中描述了消息排队和可商用的消息排队产品。计算机借助来利用消息排队通信的网络可以是因特网、内联网或任何计算机网络。MQSeries是IBM公司的商标。
IBM的WebSphere MQ消息传送产品提供了事务型消息传送支持,使按照即使在系统或通信出现故障的情况下也确保只有一次消息传送的消息传送协议工作的逻辑单元内的消息同步。IBM的WebSphere MQ产品不是通过在接收系统确认为已安全存储之前最终在发送系统上从存储器中删除消息,而是利用复杂的恢复设施提供确保的传送。在一旦确认已成功存储就承诺传送消息之前,使在发送系统上从存储器中删除消息和在接收系统上将消息插入存储器中两者保持在‘不确定’状态,和在出现故障的情况下可以自动取消。在国际专利申请WO 95/10805和美国专利5465328中描述了这种消息传输协议和相关的事件处理概念与恢复设施。
IBM的WebSphere MQ产品提供的消息排队程序间通信支持使每个应用程序都能够将消息发送给任何其它目标应用程序的输入队列,和每个目标应用程序可以异步地从它的输入队列中取出这些消息加以处理。这是通过在可以散布在分布式异构计算机网络上的应用程序之间传送消息实现的,不用要求应用程序之间的专用逻辑端到端连接,但是,应用程序之间的可能互连图极其复杂。
取代在所有系统之间直接连接,通过在网络结构内包括其它系统与之连接的通信集线器可以极大地简化这种复杂性。然后,可以在通信集线器上提供消息中介能力,以提供应用程序之间的智能消息路由和整合。消息中介功能通常包括利用包含在消息首标中的消息‘主题’信息,根据商业规则和不同应用程序信息要求的知识,智能地路由消息的能力和利用目标应用程序或系统或的消息格式要求的知识转换消息格式,以协调系统和应用程序之间的差异的能力。
这样的中介能力由例如IBM公司的MQSeries积分器和WebSphere MQ积分器产品提供,从而,利用IBM的MQSeries和WebSphere MQ消息传送产品,为应用程序之间交换的消息提供了智能路由和转换服务。这样的消息中介能力可以整合在数据处理系统的其它部件内,譬如,操作系统软件内。
多中介器拓扑结构可以用于在数个进程、数个机器和数个地理位置之间分配负载。当存在极大量的客户机时,在几个中介器之间分配那些客户机尤其有利,可以降低中介器的资源要求,和降低特定服务器故障的影响。这样多中介器解决方案的可扩缩性和故障容忍性使消息能够在存在高消息吞吐量或中介器故障时以可接受的性能传送。当客户机在地理位置上是分离的时,让中介器位于数组客户机的本地是有利的,从而合并地理位置之间的链路,并且,对于精心设计的主题树(见下面),这可以导致许多消息不必发送到远程位置。
图1是一个或多个发布应用程序10将消息发送(110)给第一消息中介器20的示范性消息中介网络。第一消息中介器20可以含有已经登记了(100)它们从发布者接收特定消息类型的兴趣的一个或多个预订应用程序30。在典型发布/预订消息中介环境下,发布者不是明确地识别目标预订者,可能不知道或不关心预订者是谁。发布应用程序和预订应用程序没有专用端到端连接,甚至可能没有同时与中介网络连接。
取而代之,发布者通常为他们发布的消息提供(110)主题名,而预订者为他们有兴趣接收的消息指定(100)主题名。消息中介器包括将输入消息与各种各样预订者的预订简介相比较以识别匹配的匹配引擎60,和中介器将匹配消息传递给输出部件,以便转发给相关预订者。例如,预订者S1可能有兴趣接收与IBM股票价格有关的所有消息,和可能将诸如“Stock/IBM”之类的预订请求发送给中介器。中介器存储这个预订信息。然后,如果消息从发布者到达中介器,和消息首标包括主题标识符“Stock/IBM”,那么,中介器将这个消息与它的预订表相比较,识别那个消息与预订者S1的预订简介匹配,并将消息路由给S1。
其它消息中介器解决方案使消息能够作基于内容的路由(即,中介器对消息的分析不局限于消息首标中的主题信息)。对于诸如“Stock/IBM”之类的主题,内部过滤器“Body.price>100”也可以用于只识别股票价格超过指定值的发布消息的匹配。以后在警告的示范性应用的情况中将再次引用股票价格例子。
典型消息中介器解决方案将单个传输机构用于所有消息。例如,消息中介器可以被配置成在IBM公司的WebSphere MQ消息传送软件的控制下,总是事务型确保传送地发送消息。但是,最近人们提出了对不同消息类型使用不同通信协议。
参照图1,发布者10创建包含主题名的消息。将发布的消息传送(110)给相连消息中介器20。预订者30创建包含主题属性的预订40并可选地用于那个主题的内容过滤器。用消息中介器登记(100)这些预订,消息中介器以表格形式将它们存储在储存库50中。通过与主题名相联系地将数据存储在储存库的‘匹配空间’存储区中,并按树结构组织主题名,可以有效访问表格内的相关预订信息和其它数据。主题树具有识别储存库中的相关数据对象的可搜索索引的形式,而其组织反映了发布消息和接收预订的主题字符串内主题名的正常排序。示范性主题树显示在图2中。
表格可以包括通过与那个中介器20的连接与中介网络连接的、用于任何预订者30感兴趣的任意个主题的过滤器。单个预订者30可以借助于用于不同主题的不同过滤器登记多个预订40。
下面参照图3描述的是当处理所接收消息时消息中介器执行的一系列步骤。
当消息中介器20接收(300)发布的消息时,中介器执行的第1步骤是搜索(310)储存库50的匹配空间以识别与消息信息匹配的已存主题和其它属性或对象,和检索相关信息和对象。发布消息内的主题名是用于这种搜索和检索的关键参数。这种遍历可能牵涉到完全遍历预订(和诸如授权信息之类的其它信息)被存储成对象的储存库‘匹配空间’。
存储授权信息的有效机制是存储如前所述的与主题树中的主题相联系的访问控制表(ACL)。
图2示出了有关发布消息和预订的主题分层的简单例子。一些主题含有预订表对象(210,230)和与它们相对存储的ACL对象(220,240)。让我们假设中介器接收到主题字符串‘BigCorp/BusinessUpdate/Sales’的消息。利用主题字符串的成分和存储的主题树反复进行储存库匹配空间的扫描。首先,主题成分‘BigCorp’用于识别匹配内容内的相关主题分层200;然后,将‘BusinessUpdate’成分与主题树比较,以识别包括预订表210和ACL对象220的已存对象(和可能其它已存对象);最后,接收主题字符串的‘Sales’成分用于进一步识别预订表230和ACL对象240。
然后,合并(320)在这个搜索中识别的所有相关信息和允许ACL继承地地组合积累的ACL,并且,这个处理的结果被输出成SearchResults对象,供进一步处理用。
下一个步骤是处理SearchResults对象,以检验(330)SearchResults对象是否包含有关所接收消息的主题的发布者ACL对象。这确定了是否授权发布者发布与特定主题有关的消息。例如,消息中介器可以被设置成保证只从特定许可源(譬如,精确和无政治偏见地报告令人信服的新闻服务,或因高质量和独创性而众所周知的拍摄图像源)接受某些信息主题。未授权方发布有关那个主题的信息的任何尝试都将受到阻止-中介器将拒绝该消息。
中介器执行的下一个步骤是处理SearchResults对象内的预订表,以识别与所接收消息的主题字符串相关的一组预订者。如前所述,预订可以包含有关消息正文的元素的过滤表达式,当过滤器以及主题名得到满足时,匹配部件60应用这些过滤器识别匹配。
对于拥有与消息匹配的登记的预订40的每个预订者30,消息中介器20还检验(350)消息主题和登记了预订的预订者的管理者定义授权政策。
由于ACL以与预订表相同的方式与主题相联系地存储着,授权的检验可以通过将主题和预订者名与SearchResults对象内的合并ACL相比较来完成-与将主题与嵌入预订表对象相比较类似。还对该组匹配预订加以处理,从中除去重复者。预订者匹配空间的最初扫描是检索检验预订表和ACL所需的所有信息。
如果ACL阻止,预订者和所接收消息的主题之间的标识匹配不会导致消息被转发给那个预订者。但是,经过授权检验之后,消息中介器接着将消息传送(360)给满足授权检验的每个匹配预订者。
现在参照图4的主题树400描述一个特例。表单[Sa]的注释表示预订者已经预订了树的那个部分。表单{b}的注释表示当前主题(和在与基础ACL不存在冲突的情况下树的那个部分中的基础主题-考虑到ACL继承)的访问控制表包括预订者b。
假设以下预订已经被中介器接收:
[Sa]:BigCorp/*
[Sb]:BigCorp/stock/*
[Sc]:BigCorp/announcement/*
[Sd]:BigCorp/stock/sell/*
假设以下预订者访问控制已经被定义:
{a}:*
{a}:!BigCorp/stock(!用于表示NOT)
{b}:!BigCorp/*
{c}:*
假设在不存在任何安全信息(没有访问控制表项目)情况下的默认设置是预订者不接收消息。
这个信息用于构建如图4所示的主题树。如果允许带有前导或嵌入通配符的预订(譬如,*/stock/sell/*),通常更加复杂,但由于对这种复杂性的解决方案在现有技术中是已知的,这里没有必要详细描述这种解决方案。
当在中介器上用主题字符串BigCorp/stock/sell/500接收消息时,匹配部件反复地搜索主题树,依次取出主题字符串的每个成分。在树的单个分支中,匹配部件检索如下注释:{a,c}[Sa]{b}[Sb]{!a}[Sd]。然后,按类型分类和合并这些注释,以生成相关预订和授权预订者的合并表:[Sa,Sb,Sd]和{b,c}。
中介器现在知道Sa、Sb和Sd希望接收消息和允许预订者b和c接收消息。因此,只将消息发送给预订者b。由于默认设置是不允许预订者接收,所以有关d的安全信息的缺乏意味着d不能接收消息。
对发布/预订系统的上述授权检验的明显改进是一旦出现安全通报事件、收费事件或其它预定触发事件就生成警告。这样的事件的第一个例子是安全检验出现故障-即,试图做出ACL阻止的动作-如图3B的流程图所示。
由于预订者的ACL与预订40内的主题名相联系地存储在储存库50中。评估那些预订者被授权接收有关特定主题的消息的匹配部件60的执行也为生成警告370提供了触发。因此,不仅同一匹配部件60用于进行预订匹配(340)、授权检验(350)和警告生成(370),而且那个匹配部件的完全相同执行也用在所有这些功能的执行中。
根据本发明这个实施例的警告包括由于授权检验导致发布或预订步骤被拒绝的原始消息的标识、与拒绝有关的发布者或预订者的标识、是否与拒绝有关的主题的标识和为什么发生拒绝的标识。示范性警告内的字段显示在图5中。
与典型已知警告或警报系统不同,由中介器生成的警告不仅仅是路由到预定单个管理器或应用程序的原始消息。取而代之,警告本身被引向中介器内的匹配部件,以便匹配部件确定(380)哪些应用程序应该接收消息。步骤380可以包括识别预订警告的分立匹配空间搜索,但是,在优选实施例中,一个中介器系统匹配空间的单遍扫描可以检索预订匹配、授权检验和识别警告的相关预订所需的所有对象。
这使安全应用程序可以被中介器登记成警告的预订者。潜在地,同一中介器,甚至同一匹配部件60可以用于确定警告的所需传播,就像用于响应拒绝授权检验的标识生成警告那样。
取代仅仅将额外预订加入原始消息主题中,生成警告是特别有利的。首先,仅仅加入预订存在是否遵守正常预订者不接收其它预订者接收的任何指示符或不接收特定消息的原理的问题。将审计应用程序登记成对原始消息主题的附加正常预订者将只提供非常有限审计能力-除非加入附加能力和放弃上面的原理。正如下面所述的那样(并且,随后,与参数化规则有关),本发明为审计、预订收费和报告警告条件提供了大得多的灵活性。
一旦生成新警告,就响应授权拒绝将新警告传递给识别授权拒绝的消息中介器的输入节点。确定哪些应用程序应该接收它的警告处理可以与以前的授权检验异步,但进行(38)相似的基于属性的预订匹配。在这种情况下,相关属性是当消息中介器从中介器的输入节点中检索警告时,消息中介器从警告中检索的“alert”的类型标记。然后,将这个类型标记用于访问预订的相关表格,以识别这个主题的警告的预订者或类型“alert”的所有消息的预订者。
在不同警告类型有不同预订者的可替代实现中,类型标记足以特别得与警告(alert1、alert2、alert3)的特定理由相联系。例如,基于授权的拒绝只是警告生成的许多潜在原因之一。并且,在安全情况中,每当敏感消息类型得到成功传送时(以及当被拒绝时),警告也是有用的。当传送特定类型或主题的消息时,或当从为他们的消息收费的发布者传送消息时,警告也是一般审计或基于使用的收费所需的。
现在参照图6描述警告的示范性实现。参照图4的例子,加入规则#ref:S?#,规则#ref:S?#触发指示由于ACL请求被拒绝(ACL中的明确拒绝指令,或不存在正面允许)的警告的生成。编码这个规则的特定规则过程是利用Prolog语言或另一种基于规则语言实现的。对警告过程给出如下数据,作为输入参数:
(a):[...]预订表;
(b):ACL表;和
(c):对警告感兴趣的预订者的标识。
然后,警告过程将信息发送给与预订表和ACL表之关的差异有关的警告预订者-例如,被拒预订者。对警告感兴趣的预订者通常不是被拒预订者,而是负责授权控制的系统管理器,或审计程序。
但是,在某些情况下,最好警告各自预订者拒绝他们访问他们希望接收的消息的事实。例如,拒绝可以是因为预订个体未能更新他的预订更新费,并且,警告将提供自动提示。
让我们假设审计预订者Sx想要知道被拒股票请求,但不关心被拒通告请求。用像如下那样的相关警告生成规则将Sx登记成消息中介器的预订者:
#rej:Sx#:BigCorp/stock
生成像如图6所示那样的主题树。为了收集注释而对这个主题树的单遍扫描将检索如下:
{a,c}[Sa]{b}[Sb]{!a}#rej;Sx#[Sd]。
然后,消息中介器的匹配部件将这些分类成注释类型和合并它们生成[Sa,Sb,Sd]和[b,c]和#rej:Sx#。与前面一样,将消息只发送给b。
但是,还调用规则事例#rej:Sx#的警告过程,和将例外[Sa,Sd]通知Sx。
第二个示范性实现涉及收费应用程序-其中,要对预订者收取有关主题BigCorp的发送给它们的消息的费用。写出不同警告规则过程#acc:S?#,实现关于实现发送给预订者的消息的报告的规则。将收费应用程序Sq作为预订者登记到消息中介器,以便按照规则#acc:Sq#:BigCorp/*接收警告。
新生成的树600显示在图7中。
单遍向下通过该树检索注释{a,c}[Sa]{b}#acc:Sq#[Sb]{!a}#rej:Sx#[Sd]。匹配部件将这些分类成注释类型和合并它们生成[Sa,Sb,Sd]和[b,c]和#acc:Sq# #rej:Sx#。
现在通过规则#acc:Sq#将[Sb]接收到消息通知Sq。
除了用于确定所需传播的预订和ACL对象之外,如果信息与特定规则有关,还向规则过程提供在执行匹配引擎期间收集的其它信息。与主题树的节点相联系地将信息存储在中介器的匹配空间中,并且将它提供给适当的规则过程,作为过程的参数。预订者和ACL的列表可以是审计过程所需的参数,使得审计过程可以使用预订和ACL两者来确定警告的所需传播/处理,和可以使用这些参数将信息加入发送给对警告感兴趣的预订者的警告中。
因此,根据本发明的可替代实施例,可以用与警告一起发送的信息注释每个预订。例如,假设预订如下:
[Schecker]:BigCorp/stock/*->′rejeeted′+inmsg+{}+[]
有关传统预订的授权匹配将导致原始消息被传递给预订者。根据本实施例的参数化预订将导致附加信息也被传递给预订者。在本例中,将输入消息,以及它是′rejected′消息的事实、请求者的{}列表和[]ACL列表发送给预订者[Schecker]。从如上所述的实施例中可看出,基本匹配处理未变。在如上所述的实施例中,在匹配时在匹配引擎上执行匹配规则。在‘参数化预订’的实现中,与适当的额外信息一起发送消息,并且,对这个扩展消息的‘预订者’异步地处理规则。
树600的节点可以用值或价格,以及其它参数来注释。作为匹配空间搜索的结果,检索指示文件的值的值表(根据主题或内容)。在警告处理中介器内实现的规则确定将应用检索值表中的哪个值(例如,最高值、值的总和或最后遇到的值)。将要应用的值作为附加参数馈送给要求它成为参数的任何规则过程。
上面描述的参数的使用比仅仅将传统预订加入匹配空间中供审计程序使用的解决方案更优越。传统预订者接收如中介器接收的那样的原始消息,但不接收作为主题树的注释存储的其它相关信息。因此,加入作为传统预订者的审计服务的解决方案不提供本发明的优选实施例的参数化规则指示的能力。
由于单遍通过主题树可以用于检索与预订匹配和警告生成有关的所有数据,确定要处理哪些规则和要使用哪些参数,本发明可以非常有效地作为现有消息中介器软件的改进形式来实现。扫描主题树的任务是传统预订匹配中已经要求的任务。就典型消息中介器中的处理时间而言,这种扫描操作往往是最昂贵的步骤,因此,根据本发明可以非常有效地实现警告的生成。
确定警告的适当传播的规则的处理是传统消息中介器不进行的附加处理,警告的转发和随后审计或收费的处理也是中介器和审计或收费应用程序的附加任务。不过,这些附加开销对于它们允许的改进审计、报告和收费解决方案来说是可接受的。
可以为消息中介器系统预定义规则过程,但是,在本发明的优选实施例中,采用在需要的时候便于进一步加入规则过程的中介器软件。上述收集要为给定输入发布消息执行的规则的解决方案可应用于匹配空间中与主题树的节点相联系存储的附加规则。
上述解决方案的具体实现牵涉到推广发布/预订消息中介器程序的现有授权特征-扩展管理GUI(图形用户界面)和管理脚本接口,使什么时候生成警告和它们应该采取什么形式得到规定。例如,警告可以包括原始消息的标识、所牵涉的发布者或预订者和如果相关主题的标识、警告生成的原因和安全系统是否允许请求的动作。由于为了审计目的需要的信息比原始消息的内容少得多,这需要比将原始消息路由给审计服务低的通信开销。可替代的实现通过扩展传统预订机制将新的规则或扩展预订加入中介器系统中(和与匹配树的节点相联系地存储它们)。
在本发明的一个可替代实施例中,通过规则过程输出的信息可以包括原始接收消息-如果通过特定规则过程确定为合适的。这适用于诸如审计应用程序和安全应用程序之类的一些应用程序。但是,就增加的通信开销而言,如果原始消息包含在警告内,这一般不适用于收费应用程序。对于收费算法,一般要求的所有东西就是发送可收费消息的确认和所需的消息值信息。在参数化预订解决方案中,预订的参数化将确定将哪些细节发送给预订者。
在可以分布在整个计算机网络上的多中介器发布/预订系统中,规则(或参数化预订)的分配以与传统预订的分配相似的方式进行。参数化预订增加了允许实现处理警告的规则的程序代码远离识别它们的相关性的匹配代码的机会。参数化预订的预订者也可以是发布/预订匹配引擎。来源于原始发布消息的参数化预订消息又被第二发布/预订中介器当作发布消息对等。在一个示范性实施例中,审计服务在与第一次接收发布消息的中介器独立的中介器上运行。第一中介器生成警告(少量附加开销)和将警告发送给第二中介器,第二中介器处理警告和将它们路由给预订应用程序,譬如,安全应用程序、结算/收费应用程序和一般审计应用程序。
在本发明的进一步示范性应用程序中,SMS(短消息传送)消息传送应用程序或等效“寻呼”应用程序用于发送警告,以提醒正在等待重要新消息的预订者。这是生成警告和将提醒用于警告高优先级消息已经到达的预订者的例子。管理器或预订者将他们希望接收警告的消息主题或优先级指定给警告服务,中介器将消息发送给预订者,另外,将警告发送给应用它自己的预订/主题匹配的警告服务中介器。
正如在最后一段的例子中所指的那样,警告可以利用与正常消息不同的通信协议或不同的服务质量来发送。例如,对于一些警告来说,重复不再是问题(也许必须马上接收警告或警告没有值),而在审计跟踪解决方案中,传送速度几乎不重要,但可能要求确保只有一次传送。当警告受对于匹配引擎来说本地调用的规则控制时,通过规则过程的实现可以作出通信协议的选择。可替代地,在参数化预订解决方案中,可以用协议细节注释主题树,和将适当的通信协议输入给规则过程。这种能力可以作为已经具有与普通预订相联系地选择分配细节(协议或持久性)的能力的某些现有系统的相对简单扩展来实现。

Claims (18)

1.一种在发布/预订消息传播系统中处理消息的方法,其中,为该系统定义一个或多个警告条件,该方法包括如下步骤:
接收消息;
将该消息与已存消息预订相比较,以确定消息的所需传播;
当满足警告条件时生成警告;
将该警告与已存警告预订相比较,以确定警告的所需传播;和
按照它们各自的所需传播,控制消息和警告的传播。
2.根据权利要求1所述的方法,其中,消息传播系统的匹配部件进行该消息与已存消息预订的比较并确定什么时候满足警告条件,并且将生成的警告输入到同一匹配部件,以进行该警告与已存预订警告的比较,确定警告的所需传播。
3.根据权利要求1或权利要求2所述的方法,其中,生成警告和确定警告的所需传播的规则与消息主题信息相联系地存储在消息传播系统的存储区中,并且将生成警告与已存警告预订相比较的步骤包括消息传播系统的匹配部件利用存储的规则确定警告是否与什么已存警告预订匹配。
4.根据权利要求3所述的方法,其中,生成警告和确定警告的所需传播的规则的预订和确定接收消息的所需传播的预订是在单遍扫描存储区的过程中从存储区中检索的。
5.根据前面权利要求任何一项所述的方法,其中,警告包括导致警告条件出现的原始消息的标识和与警告条件相关的发布者和/或一个或数个消息预订者的标识。
6.根据权利要求5所述的方法,其中,警告进一步包括原始消息的消息主题的标识。
7.根据权利要求5所述的方法,其中,警告进一步包括警告条件的标识。
8.根据前面权利要求任何一项所述的方法,其中,第一警告条件是要对消息预订者收取消息传播费的消息的接收,并且将警告转发给预订收费进程。
9.根据前面权利要求任何一项所述的方法,其中,第二警告条件是需要消息传播审计的消息的接收,并且将警告转发给预订审计进程。
10.根据前面权利要求任何一项所述的方法,其中,将该消息与已存消息预订相比较的步骤包括与已存授权信息的比较。
11.根据前面权利要求任何一项所述的方法,其中,消息和警告预订与消息主题信息相联系地存储在消息传播系统的存储区中,并且将该消息与已存预订相比较包括消息传播系统的匹配部件识别已存消息主题和所接收消息的消息主题之间的匹配。
12.根据权利要求1所述的方法,其中,消息传播系统的第一匹配部件进行该消息与已存消息预订的比较并确定什么时间满足警告条件,并且将生成的警告输入到消息传播系统的第二匹配部件,以进行该警告与已存预订警告的比较,确定警告的所需传播。
13.根据权利要求12所述的方法,其中,第一和第二匹配部件位于分布式消息传播系统的不同计算机上。
14.一种代表发布和预订程序提供发布/预订消息传播服务的数据处理设备,包括:
从发布程序接收发布消息的装置;
响应预订所接收消息的类型消息的一个或多个预订程序的标识,将所接收消息转发给一个或多个消息预订程序的装置;和
一个或多个匹配部件,用于将所接收消息与已存消息预订相比较,以标识一个或多个预订程序;当满足警告条件时,生成警告;和将生成的警告与已存警告预订相比较,以识别预订警告的一个或多个预订程序;和
将警告转发给预订警告的一个或多个预订程序的装置。
15.根据权利要求14所述的数据处理设备,其中,消息和警告预订存储与消息主题信息一起存储在数据存储器中,一个或多个匹配部件包括通过参考所接收消息的消息主题信息检索已存预订信息的装置。
16.根据权利要求15所述的数据处理设备,其中,生成警告和确定警告的所需传播的规则过程与消息主题信息相联系地存储着,其中,一个或多个匹配部件适用于通过参数消息主题信息识别相关规则过程和将如下转发给识别再现过程:
消息预订表;
授权接收者列表;和
警告的一个或多个预订者的标识;
从而能够生成警告和确定警告的所需传播。
17.根据权利要求14所述的数据处理设备,其中,一个或多个匹配部件包括:
进行授权检验以识别授权一小组程序接收消息的一小组识别一个或多个消息预订程序的装置;和
当授权检验识别出未授权消息预订者的装置。
18.一种计算机程序产品,该计算机程序产品包括记录在记录媒体上的程序代码,用于控制在上面执行程序代码以完成根据权利要求1到13的任何一项所述的、在发布/预订消息传播系统中生成和传播警告的方法的数据处理设备的操作。
CN03825346.1A 2002-12-12 2003-07-30 在发布/预订系统中处理警告和审计的方法、设备和计算机程序 Pending CN1701332A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB0228941.1A GB0228941D0 (en) 2002-12-12 2002-12-12 Methods, apparatus and computer programs for processing alerts and auditing in a publish/subscribe system
GB0228941.1 2002-12-12

Publications (1)

Publication Number Publication Date
CN1701332A true CN1701332A (zh) 2005-11-23

Family

ID=9949532

Family Applications (1)

Application Number Title Priority Date Filing Date
CN03825346.1A Pending CN1701332A (zh) 2002-12-12 2003-07-30 在发布/预订系统中处理警告和审计的方法、设备和计算机程序

Country Status (7)

Country Link
US (1) US7487550B2 (zh)
EP (1) EP1586061A1 (zh)
CN (1) CN1701332A (zh)
AU (1) AU2003251348A1 (zh)
GB (1) GB0228941D0 (zh)
TW (1) TWI241817B (zh)
WO (1) WO2004053752A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101272270B (zh) * 2007-03-21 2011-07-13 中兴通讯股份有限公司 多个网络管理系统共享高级告警规则的方法和装置

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7596606B2 (en) 1999-03-11 2009-09-29 Codignotto John D Message publishing system for publishing messages from identified, authorized senders
US8868659B2 (en) * 2001-05-15 2014-10-21 Avaya Inc. Method and apparatus for automatic notification and response
US8495163B2 (en) 2004-03-18 2013-07-23 Avaya, Inc. Method and apparatus for a publish-subscribe system with templates for role-based view of subscriptions
US9525566B2 (en) * 2003-07-31 2016-12-20 Cloudsoft Corporation Limited Self-managed mediated information flow
US7464263B2 (en) * 2004-03-25 2008-12-09 International Business Machines Corporation Method, system and program product for associating event categorization and routing with security authorization roles
US7934210B1 (en) 2004-03-26 2011-04-26 Adobe Systems Incorporated System and method for updating one or more programs and their environment
US7594236B2 (en) 2004-06-28 2009-09-22 Intel Corporation Thread to thread communication
US7707642B1 (en) 2004-08-31 2010-04-27 Adobe Systems Incorporated Document access auditing
US8423602B2 (en) * 2004-10-13 2013-04-16 International Business Machines Corporation Web service broadcast engine
US7774753B1 (en) * 2004-11-18 2010-08-10 Adobe Systems Incorporated System and method for communicating data among two or more programs
US8335824B2 (en) * 2004-12-29 2012-12-18 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for providing metadata subscription services
AU2005322959A1 (en) 2005-01-06 2006-07-13 Tervela, Inc. Intelligent messaging application programming interface
JP2008527847A (ja) * 2005-01-06 2008-07-24 テーベラ・インコーポレーテッド 終端間パブリッシュ/サブスクライブ・ミドルウェア・アーキテクチャ
US9275052B2 (en) 2005-01-19 2016-03-01 Amazon Technologies, Inc. Providing annotations of a digital work
US20060177044A1 (en) * 2005-01-21 2006-08-10 O'neil Douglas Methods, systems, and computer program products for providing tone services
GB0514556D0 (en) * 2005-07-15 2005-08-24 Smtk Ltd Active web alert
US20100268754A1 (en) * 2006-01-19 2010-10-21 David John Holton Method and System for Electronic Delivery of Essential Mail Items
US8028025B2 (en) * 2006-05-18 2011-09-27 International Business Machines Corporation Apparatus, system, and method for setting/retrieving header information dynamically into/from service data objects for protocol based technology adapters
US7921309B1 (en) 2007-05-21 2011-04-05 Amazon Technologies Systems and methods for determining and managing the power remaining in a handheld electronic device
US8375051B2 (en) * 2008-01-21 2013-02-12 International Business Machines Corporation Apparatus for controlling subscriptions
US9576268B2 (en) * 2009-08-26 2017-02-21 Hewlett Packard Enterprise Development Lp Distributed data analysis
US8793322B2 (en) * 2011-02-20 2014-07-29 International Business Machines Corporation Failure-controlled message publication and feedback in a publish/subscribe messaging environment
US8843580B2 (en) 2011-02-20 2014-09-23 International Business Machines Corporation Criteria-based message publication control and feedback in a publish/subscribe messaging environment
US20130013616A1 (en) * 2011-07-08 2013-01-10 Jochen Lothar Leidner Systems and Methods for Natural Language Searching of Structured Data
US8332349B1 (en) * 2012-01-06 2012-12-11 Advent Software, Inc. Asynchronous acid event-driven data processing using audit trail tools for transaction systems
US8990301B2 (en) * 2012-08-22 2015-03-24 International Business Machines Corporation Broker designation and selection in a publish-subscription environment
US9071562B2 (en) * 2012-12-06 2015-06-30 International Business Machines Corporation Searchable peer-to-peer system through instant messaging based topic indexes
US9407583B2 (en) * 2013-03-15 2016-08-02 Red Hat, Inc. Handling unavailable destinations in a messaging network
US9112824B2 (en) 2013-03-15 2015-08-18 Red Hat, Inc. Forwarding multicast messages in a messaging network
US8886671B1 (en) 2013-08-14 2014-11-11 Advent Software, Inc. Multi-tenant in-memory database (MUTED) system and method
US11863509B2 (en) 2015-12-18 2024-01-02 Amazon Technologies, Inc. Publish-subscribe message transformation
US10270726B2 (en) 2017-02-24 2019-04-23 Satori Worldwide, Llc Selective distribution of messages in a scalable, real-time messaging system
US20180248977A1 (en) * 2017-02-24 2018-08-30 Satori Worldwide, Llc Selective distribution of messages in a publish-subscribe system
EP3429166B1 (en) * 2017-07-13 2021-09-08 Weeve GmbH Method for operating a communication network
CN109428922B (zh) * 2017-08-29 2020-09-08 华为技术有限公司 一种订阅发布方法及服务器
JP2020092318A (ja) * 2018-12-04 2020-06-11 株式会社東芝 中継装置、中継方法及びコンピュータプログラム
CN109933496B (zh) * 2019-01-23 2022-11-29 平安科技(深圳)有限公司 告警方法、装置、计算机设备及存储介质
CN113992741B (zh) * 2020-07-10 2023-06-20 华为技术有限公司 一种发布数据索引方法及装置
CN111885180B (zh) * 2020-07-28 2023-06-20 海尔优家智能科技(北京)有限公司 消息下发方法及装置
CN112199394A (zh) * 2020-09-25 2021-01-08 同程网络科技股份有限公司 告警信息推送方法、系统、智能终端及存储介质
US11765278B2 (en) * 2021-04-09 2023-09-19 Microsoft Technology Licensing, Llc Replay agent for delivering charging event messages from a message broker in a mobile telecommunications network
CN115314447B (zh) * 2021-05-08 2024-03-26 中国科学院声学研究所 一种SDN环境中packet-in消息的处理方法及系统
CN113794597B (zh) * 2021-09-15 2023-05-30 中国联合网络通信集团有限公司 告警信息处理方法、系统、电子设备及存储介质
US11922235B2 (en) * 2021-11-10 2024-03-05 International Business Corporation Machines Coordinating asynchronous communication among microservices
WO2023200505A1 (en) * 2022-04-14 2023-10-19 Microsoft Technology Licensing, Llc Efficient attribute-based access control authorization for a message broker
US20230336547A1 (en) * 2022-04-14 2023-10-19 Microsoft Technology Licensing, Llc Efficient attribute-based access control authorization for a message broker

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044372A (en) * 1997-07-18 2000-03-28 Dazel Corporation Method and apparatus for publishing information to a communications network and enabling subscriptions to such information
US6158007A (en) * 1997-09-17 2000-12-05 Jahanshah Moreh Security system for event based middleware
KR100300788B1 (ko) 1998-05-27 2001-09-26 포만 제프리 엘 관리 및 구성정보를 배포하기 위해 스트림을 이용하는 발행 및 인용 데이터 프로세싱 장치, 방법, 및 컴퓨터 프로그램 제품
US6584459B1 (en) * 1998-10-08 2003-06-24 International Business Machines Corporation Database extender for storing, querying, and retrieving structured documents
US6654734B1 (en) * 2000-08-30 2003-11-25 International Business Machines Corporation System and method for query processing and optimization for XML repositories
US7302634B2 (en) * 2001-03-14 2007-11-27 Microsoft Corporation Schema-based services for identity-based data access
US6617969B2 (en) * 2001-04-19 2003-09-09 Vigilance, Inc. Event notification system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101272270B (zh) * 2007-03-21 2011-07-13 中兴通讯股份有限公司 多个网络管理系统共享高级告警规则的方法和装置

Also Published As

Publication number Publication date
WO2004053752A1 (en) 2004-06-24
TW200425692A (en) 2004-11-16
AU2003251348A1 (en) 2004-06-30
US20060056628A1 (en) 2006-03-16
US7487550B2 (en) 2009-02-03
GB0228941D0 (en) 2003-01-15
TWI241817B (en) 2005-10-11
EP1586061A1 (en) 2005-10-19

Similar Documents

Publication Publication Date Title
CN1701332A (zh) 在发布/预订系统中处理警告和审计的方法、设备和计算机程序
US20030233418A1 (en) Practical techniques for reducing unsolicited electronic messages by identifying sender's addresses
US8849754B2 (en) Managing topical overlap during publication and subscription
CN1150469C (zh) 分发电子邮件附件的方法和服务器
CA2352640C (en) Schedule management system
CN1806242A (zh) 用于警报传递体系结构的方法和系统
CN1265303C (zh) 用于分类电子文件的方法
CN1300995C (zh) 用于多方的电子邮件接收方法和系统
WO2004013796A1 (en) Practical techniques for reducing unsolicited electronic messages by identifying sender’s addresses
CN1836232A (zh) 数据库的自动和动态提供
US20090044283A1 (en) Document management apparatus, document management system and method, and computer-readable medium
CN1636351A (zh) 由第一网络的成员访问第二网络上可用业务的方法及系统
CN1609854A (zh) 关联的共享计算机对象
CN1298509A (zh) 在分布式系统中租用委派证的方法、装置和产品
CN1301365A (zh) 信息管理系统
CN1514653A (zh) 基于隐私策略的消息路由方法和系统
JPH1074172A (ja) ジャンク電子メールを識別し廃棄するための方法および装置
CN1233801A (zh) 消息代理装置、方法及计算机程序产品
US20100333210A1 (en) Methods and apparatuses for sequestering content
DE10224795A1 (de) Zweigsperren von Auftragsetiketten, um eine Zugriffskonkurrenz zu steuern
US7155504B1 (en) Data delivery system and sending station therefor
US7644119B1 (en) Computer network scanning
CN1852099A (zh) 一种终端下载共享数据的方法及系统
CN1629810A (zh) 管理分布式资源的管理系统和方法
CN1647482A (zh) 多层网络通信系统的重试技术

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20051123