CN1135483C - 提供出版/预订服务的消息代理系统和处理消息的方法 - Google Patents
提供出版/预订服务的消息代理系统和处理消息的方法 Download PDFInfo
- Publication number
- CN1135483C CN1135483C CNB001043021A CN00104302A CN1135483C CN 1135483 C CN1135483 C CN 1135483C CN B001043021 A CNB001043021 A CN B001043021A CN 00104302 A CN00104302 A CN 00104302A CN 1135483 C CN1135483 C CN 1135483C
- Authority
- CN
- China
- Prior art keywords
- message
- application program
- handling device
- subscriber
- content
- 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.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims abstract description 37
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000008569 process Effects 0.000 claims abstract description 18
- 238000009795 derivation Methods 0.000 claims description 27
- 230000004044 response Effects 0.000 claims description 15
- 238000004891 communication Methods 0.000 claims description 14
- 239000003795 chemical substances by application Substances 0.000 description 67
- 230000006870 function Effects 0.000 description 15
- 230000007246 mechanism Effects 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000007689 inspection Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/50—Business processes related to the communications industry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Marketing (AREA)
- Tourism & Hospitality (AREA)
- Finance (AREA)
- Entrepreneurship & Innovation (AREA)
- Software Systems (AREA)
- Accounting & Taxation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Technology Law (AREA)
- Primary Health Care (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
所提供的是一个支持出版/预订服务的消息代理。该代理适合于识别从出版者应用程序接收到的消息内容特征,以及用这些消息内部特征识别来决定将消息传送给一组消息处理模块中的哪一个。所选择的消息处理模块处理该消息,然后把一个或多个变换过的消息送给要求这种消息类型或消息内容的订户。一个或多个消息处理模块最好是多媒体处理模块,选择它们以适应在消息内容中识别出特殊的多媒体类型。
Description
发明领域
本发明涉及提供出版/预订服务的消息代理,以及在出版/预订环境中处理消息内容的方法。
背景
出版/预订是一个已知的信息分配机制,其中,信息提供者(出版者)通过一个网络将信息以电子方式发送至那些已经选择希望收到信息主题的信息用户(订户)的社区去。典型的,出版者出版一个单个消息给消息代理。然后代理从它已经登记的预订单中决定将该消息的拷贝件或导出件送到哪里。
已知的出版/预订机制依赖于分配列表,它一般执行非常简单的逻辑以得到所需要的高度结构化的小型事务处理的消息的路由。用户可以登记接收消息头中或在结构化消息中的一个特殊内容域中包含有一个特定的主题分类或关键词的所有信息,诸如一个公司名称或一个更为特定的主题。消息字典保存消息结构的信息,它向消息代理提供了通过它传递的所有信息的结构定义,因此可以从这些消息内容中解开这些域以供检查。消息代理查询消息头或内容中的一个域以检索主题分类或关键词,然后与用户应用程序信息要求列表和其它存储的路由消息的规则进行比较,以决定消息送给哪些用户应用程序。
登记用户应用所要求的格式方面的知识也使消息能够进行格式变换(例如,一个输入的消息内容可能是COBOL形式的,而订户要求这些内容转换成电子邮件备忘录中的文本形式)。
这些已知的出版/预订机制只能用于高度结构化的消息,因为这种简单的逻辑包含只有特定消息域中的内容和分配表中的项进行比较。而且,已知的出版/预订机制只是典型地仅仅使用简单逻辑以决定路由和格式转换,而不可能扩展出版/预订环境使之能处理那些不基于文本的更为复杂的消息内容。
发明概述
根据本发明的第一个方面,提供一种支持出版/预订服务的消息代理系统,它接收来自出版者应用程序的消息,并根据订户要求将消息转发给订户应用程序,其中消息代理模块包括:
一个消息分析模块,用于标识从出版者应用程序接收的消息中非字母数字的消息内容;
一个选择器,使用非字母数字消息内容的标识以确定将该消息送给一组消息处理器模块中的哪个消息处理器模块;
一组可以选择的消息处理器模块,用于处理接收的消息以产生一个或多个导出的消息;
访问存有各用户应用程序要求的数据区的装置;和
响应存储在所述数据区中订户应用程序的要求,将导出的消息送给需要该导出的消息的用户应用程序的装置。
根据本发明的第二个方面,提供一种采用本发明第一方面中的消息代理系统的过程控制器模块,其中该过程控制器模块包括消息分析模块和消息处理器模块选择器。
根据本发明第三个方面,提供一种支持出版/预订服务的消息代理软件模块,控制计算机操作去执行多个过程
标识从出版者应用程序接收的消息中非字母数字的消息内容,
使用非字母数字消息内容的标识以确定将消息传送给一组消息处理器模块中的哪个消息处理器模块;
使用所选消息处理器模块处理消息以产生一个或多个导出的消息,和
将导出的消息发送给由存储的订户要求确定的、需要该导出的消息的订户。
根据本发明第四个方面,提供一种包含多个本发明第三方面中的消息代理软件模块的分布式消息代理结构,每个模块都在多个互联的计算机系统中的一个系统上运行,每个消息代理软件模块都可以访问涉及每一个互联的计算机系统性能的信息,每个消息代理都适合于根据接收的消息的非字母数字内容的标识和该多个互联的计算机系统的能力,确定所述计算机系统中的一个用于处理消息。
根据本发明第五个方面,提供一种响应从出版者应用程序接收的消息将消息发送给订户应用程序的方法,该方法包括由消息代理控制下完成的下列步骤:
标识从出版者应用程序接收的消息中非字母数字的内容;
使用非字母数字消息内容的标识确定将消息传送给一组消息处理器模块中的哪个消息处理器模块;
使用所选消息处理器模块处理该消息以产生一个或多个导出的消息,和
将导出的消息送给由存储的订户要求确定的、需要该导出的消息的订户。
根据本发明第六个方面,提供一种由通讯网络中的消息代理执行的、用于由处理消息代理从出版者应用程序接收的消息并响应接收的消息将消息发送给订户应用程序的方法,该方法包括如下步骤:
分析接收的消息以标识非字母数字消息内容;
使用非字母数字消息内容的标识,选择一组消息处理器模块中将每个接收的消息传送给它的一个信息处理器模块;
将每个接收的消息传送给所选择的消息处理器模块;
执行从存储所述信息要求的数据区中检索订户应用程序要求,参考或不参考所述的检索到的信息要求,使用所选择的消息处理器模块处理接收的消息的步骤;和
响应检索到的订户应用程序的信息要求,将处理过的消息传送给要求接收该处理过的消息的订户应用程序。
根据本发明第七个方面,提供一种计算机系统,包括代表通过通讯网络连接的应用程序的支持出版/预订服务的消息代理模块,其中该消息代理模块包括:
一个消息分析模块,用于标识从出版者应用程序接收的消息中的非字母数字的消息内容;
一个选择器,使用非字母数字消息内容的标识以确定将消息传送给一组消息处理器模块中的哪个消息处理器模块;
一组可选择的消息处理器模块,用于处理接收的消息以产生一个或多个导出的消息;
一个数据区,用于存储订户应用程序的要求;和
响应存储在所述数据区中的订户应用程序的要求,将导出的消息传送给需要导出的消息的订户应用程序的装置。
其中支持出版/预订服务的消息代理适于标识从出版应用程序接收的消息内容的特征,以及利用消息内容特征的标识确定将该消息传给一组消息处理器模块中的哪个消息处理器模块。被选择的消息处理器模块处理该消息,然后将一个或多个导出的消息送给需要该消息类型或消息内容的订户。
标识消息内容特征的功能,确定将消息传给哪一个消息处理器模块的逻辑,以及最好还有一个或多个消息处理器模块的处理功能都可以在一个可替代的软件部件中实现,它们彼此协同操作并控制消息代理的操作。这种将功能分成一个可替代的部件(诸如Java Bean或ActiveX部件)使得能够根据与代理一起使用的特殊软件部件修改消息代理的操作。
消息代理可能包括一个分布式代理的结构,最好带有安装在多个数据处理系统的每一个上的相互协调操作的消息代理软件部件。根据每一个系统的能力和所识别到的消息特性,将消息传给不同的处理系统。例如,一个处理系统可能接到一个可以提供有效的SQL数据访问的数据库,而另一个系统可能具有特定的图象处理能力,例如有能力完成快速的浮点计算。因此,使用本发明对消息内容特征的标识,就可以在一个分布式代理服务中进行消息代理的智能选择。
本发明提供的一个支持出版/预订服务的消息代理,其中该代理适于识别从出版应用程序接收的消息中的非字母数字的消息内容(即,不是基于文本的、或数码的、或数字的、或对文本或数字的其它编码形式),以及利用非字母数字消息内容的标识确定将消息传给众多消息处理器模块中的消息处理器模块。选择的消息处理器模块处理该消息,然后将一个或多个导出的消息送给需要该消息类型或内容的订户。
一个或多个可选择的消息处理器模块最好是多媒体处理器模块,它适于对消息中的多媒体内容进行一种或多种特定的处理操作,然后将一个或多个修改过的或导出的消息传给适于处理这样内容的处理器模块。对消息中非字母数字消息内容的识别使得消息代理向适于处理这样内容的处理器模块传送该输入消息,诸如多媒体处理器模块。该处理器模块处理该消息内容,并将一个或多个导出的消息返回消息代理,然后该代理将导出的消息送给有关的订户应用程序。
因此,本发明可以扩展出版/预订功能以支持任何类型的消息,包括带有诸如多媒体内容的非字母数字消息,和支持用户要求,包括对消息代理,以及处理非字母数字内容相关的消息处理器模块的消息的要求。在本发明之前,对任何非字母数字消息内容的识别和检索必须对每个要扫描的消息专门构造一个特定的查询而以用户要求的形式进行多媒体的智能传送是不可能用已知的出版/预订机制来完成的。
根据本发明的一个实施方案,该消息代理完成如下决定,即根据用户指定的要求和接收消息的特征确定应由所选多媒体处理器模块完成什么特殊操作。或者,所选处理器模块可能完成一系列标准操作而不管用户要求,而代理只是随后检查哪些用户需要哪些类型的输出。
非字母数字内容可能是,例如,声音或图象数据,或包括可执行程序代码的任何二进制数据。一个例子是连接代理以接收包含代表无线电电台播送资料的波形数据的消息。该代理识别出该消息含有声音内容,并将该消息传给能完成如下功能的特定的消息处理器模块:从声音数据中检索出一个水印,并将该水印和储有版权所有者及其资料的数据库进行比较来确定相关的作者和资料,并产生一个出版消息通知版权所有者:一个特定的版权著作已经被某个特定的无线电台在某一特定的日子和时间广播了。这将使得版权所有者能够征收版税。第二个例子是输入消息包括有由人造卫星所拍摄的原始图象数据。处理输入消息以产生一系列不同分辨率的图象,这样,就可以发送适当分辨率的图象以适应不同订户的要求。卫星图象也可以这样处理,使得出版消息包括有诸如农作物分类地图的导出的消息。
注意,上述例子包括了一个处理器模块,它明显地修改和解释所接收的消息内容,随后发送给用户的消息可能包含有适于订户要求的提取的、处理过的或导出的数据。还有一个例子,如果消息内容特征和/或用户要求确定,适当地发送给订户的消息(这称之为“导出的”的消息)包含与出版者出版的消息相同内容。本发明对多媒体内容的识别以及继而选择适当的处理器模块对后面的情况也同样是适用的。
根据本发明最佳实施方案的消息代理不限于单个的、特定的消息结构,或限于扫描一个结构化消息内的一个特殊域的内容,而是适于扫描接收消息的内容和识别这些消息内的非字母数字元素。例如,该代理可能适于寻找具有预期的非字母数字内容的某些主题字符串,继而去寻找代表某些特殊图象格式的可识别的字节序列(例如具有可识别的初始化字节序列的GIF、TIFF和JPEG文件)。
附图的简单说明
现在本发明的各种实施方案将以举例和参阅附图的方式加以详细说明,其中:
图1示出根据本发明的一个实施例带有通过消息代理交换消息的出版者和订户应用程序的一个计算机网络;
图2示出在网络中分布的带有消息代理功能的分布式计算机网络拓扑结构的一个例子,和
图3示出使用根据本发明实施方案的消息代理的一个出版/预订方法的步骤顺序。
最佳实施方案的详细说明
运行在一个网络内不同计算机上的应用程序通过诸如IBM公司的MQSeries消息排队软件的消息产品进行相互通信和进而相互协作。有关消息排队和可购买的消息排队产品在“Messaging and QueuingUsing The MQJ”B.Blakeley,H.Harris & R.Lewis,McGraus-Hill,1994年,及从IBM公司获得的下列出版物:“An Introduetion toMessaging and Queuing”(IBM文件号GC33-0805-00)和“MQSeries-Message Queue Interface Technical Reference”(IBM文件号SC33-0850-01)中都有描述。计算机使用消息排队相互通讯所经过的网络可以是一个互联网,一个内部局域网或任何计算机网。IBM和MQSeries是IBM公司的商标。
IBM公司的MQSeries消息软件产品提供了事务处理式的消息支持,它根据一种消息协议同步在逻辑工作单元中的消息,该协议甚至在系统和通讯发生故障的情况下也会确保发出一次、且只有一次的消息传递。MQSeries产品用以下方法提供可确保的消息传递:在消息尚未证实被接收系统安全存储之前,不会最终删除在发送系统中存储的消息;以及使用复杂的恢复机制。在确认成功存储而提交消息传递之前,从发送系统的存储中删除消息和在接收系统中插入消息两者一直处于“怀疑”状态中,且能在故障发生时自动退出。这种消息传输协议及其相关的事务处理概念、以及恢复机制在国际专利申请WO95/10805和美国专利5465328中都有描述。在此引用它们作为参考。
由MQSeries产品提供的消息排队程序间通讯支持使得每个应用程序能够将消息送给其它任何目标应用程序的输入队列,且每个目标应用都能异步地从它的输入队列取出这些消息进行处理。这样就可以为在不同类型的计算机网络中分布的各应用程序之间提供确保的消息传递,不过应用程序之间可能的连接的映射存在很大的复杂性。
这种复杂性可以通过在网络结构中包括一个通讯集线器而大大简化,其中,所有其它系统都连接到这个集线器以代替所有系统之间的直接连接。在通讯集线器上可以提供消息代理功能以获得智能消息路由和应用程序的集成。消息代理功能典型地包括如下能力:根据企业规则和不同应用程序的信息要求的知识,使用包含在消息头中的消息“主题”信息智能地确定消息路由的能力,以及使用目标应用程序或系统的消息格式要求的知识以转换消息格式的能力。IBM公司的MQSeries集成器软件产品提供了上述代理能力,它使用IBM的MQSeries消息产品提供了各应用程序之间交换消息的服务。
如果我们采用一种由各种部件组成的层次图,则应用程序在最接近用户的顶层,然后消息代理处于在应用程序和消息传递软件之间的下一个层次。
根据本发明,一个消息代理软件产品和软件部件适于支持信息传递的出版/预订机制,且将这个机制扩展成包括对消息内容更复杂的处理。
图1示出根据本发明的出版应用程序10和订户应用程序20之间通过消息代理30的消息处理流程和基本概况。根据本发明最佳实施方案的消息代理30作为一个软件部件实现,它与运行在一个计算机系统100上的消息管理器90一起协调操作,其中,所有的出版应用程序都通过一个通信网络连接到该系统上。但是,这个代理功能可能分布在经网络连接的多个消息代理部件中,正如下一段要讨论的那样。因此,连接消息代理(不管是单个部件还是分布式的)用于接收所有的出版消息。每个应用程序与消息管理器90,相连接,用以处理程序之间通过网络通讯的复杂性,并且每个消息代理也与安装在本地计算机系统上的消息管理器90相连接。
正如上面所述,代替在通讯多路转接器上的单个代理,集线器可以组成一个彼此相互通讯的分布式代理30的集合。这些代理30可以共享用户列表,并提供一个冗余的可扩展的分布式代理结构。使用本发明的对消息内容特征的标识以及参考各处理机功能和消息特征,在分布环境中选择多个处理机中的一个使消息处理最佳化,可使上述分布式代理机构所提供的消息代理服务得到增强。例如,消息代理的一部分功能处于一个直接连接数据库的系统上,SQL查询效率就可以通过将所有SQL查询都送给该系统而得到最佳化。如果消息代理的第二部分功能处于一个具有特定的图象处理功能的系统上,则所有含有图象的消息就可以都送向这个系统。
为了便于理解,下面的叙述只涉及安装在一个单个数据处理系统上的一个单个消息代理,其中所有的出版消息都送到这个系统。当消息代理收到一个消息时,在消息代理中的消息分析部件60首先对消息头进行检查120以发现一个主题或一个主题标识。消息出版者应用程序可能已标志了一个消息主题或主题,例如将“股票/计算机/IBM”或“股票/电机/GM”字符串输入到消息头的一个相关域中以指明该消息主题分别是工BM公司和通用电机公司的股票价格。用户也可能以同样的方式以指定他们希望收到的消息主题,例如指定“股票/计算机/*”以得到所有计算机公司的股票价格,或“*/IBM”以得到IBM公司有关的所有消息。
消息代理包括一个规则引擎40,它将从消息头检索到的任何主题标识与用户信息要求列表进行比较,以识别哪些用户希望收到该消息。此外,该主题标识还与一个已知的暗示具有某些非字母数字消息内容的主题标识列表130相比较。在该例实现中,消息出版应用程序向消息代理提供信息,包含主题标识编码列表(作为登记过程的一部分),在出版者出版含有非字母数字内容的消息时使用主题标识编码。
或者,登记过程可能包括出版者指定将只包含基于文本的内容的消息主题,用以指明没有必要对这种消息进行进一步的分析以确定是否含有任何非文本内容。
第二,除非尝试检索和解释消息主题标识能够最终确定如何处理消息外,消息代理的分析部件60扫描140消息内容去寻找代表特殊内容类型的字节序列。分析部件60将消息内容的字节序列与代表特殊内容一类型的特殊结构的字节序列的字典进行比较150。例如GIF,TIFF和JPEG图象,每个都有特征字节序列。内容扫描步骤能够识别声音和图象,以及解析图象格式。消息还可能包括程序代码,例如HTML(超文本链接标示语言)或XML(Extensible Markup Language扩展标志语言)编码,它们描述了为互联网万维网浏览器显示的数据格式。消息内容扫描步骤很容易参照它们相应的标志字典以识别XML或HTML。
在完成这种检查之后,标志为非字母数字消息内容的任何消息都送170至一组多媒体模块70中适当选择的一个多媒体模块的输入缓存器,其中该模块的选择160是根据非字母数字内容是图象还是声音,或是其它数据类型进行的。
利用上面给出的XML消息内容的例子,检查XML内容就能指出特定多媒体内容的存在,揭示出与确定如何处理消息相关的内容特征,以及在某些环境下,XML格式还可以提供用于适当处理识别出的内容所需的一个或多个编码模块。
包括多媒体处理器模块在内的一个消息处理集合70作为对象库80中的对象保存,并响应代理要求某一具体处理器模块70对接收的消息进行处理操作的决定而实例化。消息代理30用检查所选模块是否已经运行(也就是说,当收到前一个消息时,该模块已经实例化)以响应消息处理器模块70的选择160,如果已经运行,则在输入缓存区中排队由该处理器模块处理。如果所要求的处理器模块尚未运行,那么它被实例化,消息被送到该处理器模块的输入缓存区而被处理。
在本发明的一个简单实施方案中,含有图象内容的所有消息都传给一个单个的图象处理器模块;类似地,含有声音数据的所有消息都传给一个单个的声音处理器模块;以及含有其它可识别数据类型的消息都传给对应的能够处理该类型消息的处理器模块。如果一个消息中含有好几种不同类型的内容,就会发生如下情况:传递该单个消息经过每个不同的消息处理器模块,去完成一系列处理步骤。含有可执行编码的消息在允许出版之前送到能完成验证功能(如数字签名验证,或病毒检查)的处理器模块,以免用户受到不希望的程序代码的侵害。这种对每一种消息内容有一个单个的消息处理器模块的措施意味者:对输入消息进行相对简单的分析,就能选择一个适当的消息处理器模块。
在本发明的一个实施方案中,一个选择的消息处理器模块将完成一系列通用的处理操作,即,对传送到该处理器模块的所有消息都完成相同的操作。但是,这对许多消息处理器模块而言,不是最佳的实施方式。
在本发明的一个最佳实施方案中,所选消息处理器模块完成的处理过程是由各个订户应用程序所指定的特定要求和接收的消息的特定特征决定的。因此,在选择了一个消息处理器模块之后,响应收到消息中的特殊主题和类型,消息代理确定180哪些用户应用程序已经指明要求接收一个消息,然后每个订户要求都用以产生一个任务描述,它与消息一起被输入到所选的消息处理器模块。
然后,所选消息处理器模块根据相关的任务描述进行190一系列操作,并将所产生的导出的消息返回消息代理,以分发给相关的订户。
在本发明的进一步的实施方案中,消息处理器模块的实际选择自己取决于订户应用程序的指定要求,这意味着:参考订户要求是由代理作为选择步骤的一部分完成的,而不是后面的步骤。
现在,本发明的功能将参考根据本发明的几个消息处理和代理的例子来描述。
请考虑这样一个计算机系统,它设置成为出版含有由轨道卫星拍摄到的地球表面图象的消息。获得该消息的组织可以向对收到包含在拍摄图象中的特殊数据感兴趣的其它组织提供订阅服务,分担检索和处理这些数据的费用。在这第一个系统中的一个出版应用程序定期地产生含有原始拍摄图象的消息,并将这些消息送给消息代理。该消息代理分析120-150所接收的消息,并识别出在该消息中存在着图象(如上所述,将任何可识别的消息主题标识与已知的主题相比较,并结合扫描消息内容来进行识别)。
响应识别出一个图象,消息代理确定160应该将消息传送到一个能够处理图象的消息处理器模块。然后代理使用主题标识以检查180用户要求记录-以确定哪些用户已经登记要收到与该主题标识有关信息的要求,以及确定这些用户指定了什么特定的数据要求。例如,第一用户已经向消息代理登记了这样一个要求,每当消息代理收到含有某一特定出版者组织名称的主题标识的消息时,向该订户设置一个消息。该订户还可能指定:所有从该出版组织收到的消息都应该将这些图象内容进行处理,以产生一个可以从原始拍摄图象中显示可以识别的农作物分类的导出的图象。此外,订户也可能指定一个输出类型,它要求对消息进行处理,将消息转换成订户所要求的类型。例如,如果一个订户程序连接到一个声音输出设备,它就可能要求所有消息都转换成一个波形输出文件,而另一个订户应用程序可能是一个电子邮件程序,它则要求消息作为电子邮件记录来传递。
产生一个任务描述,它描述了按要求方式对接收消息中的图象内容进行处理所要完成的一系列操作,然后该任务描述和所接收的消息一起传送170给所选的能处理图象的消息处理器模块。这个消息处理器模块将进行190上述的一系列处理操作,然后向消息代理返回一个含有新处理过的图象数据的新消息。
该消息代理然后将新消息转发200给指定了这些信息要求的订户。根据订户信息要求(在规则引擎40的控制下)将最终变换的消息传送至订户的过程与已有技术完成的过程是非常相似的。因此,本发明就能对消息内容进行内容类型特定的处理,对消息完成适当的处理不依赖于将单个特定的消息处理结构加入到只使用企业逻辑以识别有关订户的传统的出版/预订系统中来。
本发明最佳实施方案中,消息内容类型用来选择消息处理器模块,而不依赖于在消息头中的主题标识。消息代理中的分析部件60扫描消息内容(这可以在所有情况下做,也可以在只有查询消息头不足以确定要选择哪一个消息处理器模块时进行)。当这个扫描步骤在消息内容中识别出一个图象,该图象可以进行一个水印检索处理,随后分析水印,以确定是否包括了足以识别应该选择哪一个消息处理器模块和应该对图象完成什么操作的信息。这样可以使得在调查特定的用户要求之前就能实现本发明的处理器模块选择阶段,可能还有消息内容处理阶段。
类似地,对消息中的声音数据也可以用水印抽取和分析以确定所需的处理操作。
根据本发明的最佳实施方案的消息代理也可以使用依赖于对消息头中基于文本的信息和消息内容中基于文本的数据两者进行分析的逻辑的确定是否响应代理接收的输入消息有一个特殊订户应该收到消息。这就是说,除了本发明的多媒体处理方面外,根据本发明的消息代理所完成的文本处理还可以包括处理订户信息要求,例如注明了仅仅当股票价格超过了某一阈值时才通知某一公司(公司名称)的股票价格。订户可能指定“股票/计算机/公司名称”作为从消息头中识别出的主题标识,以及指定“价格>$150”作为扫描接收消息内容中某一股票价格域所需要的过滤器,以确定消息要不要送给这个订户。也可以用使用结构化查询语言标志的查询、或类似于测试某个条件(例如“公司名称股票价格>$150”)是否真的方式以执行内容分析。
在实现本发明的消息代理操作的进一步的例子中,内容查询可以包括多媒体内容分析以代替在已有技术的系统中已知的简单企业逻辑。例如,订户可能登记有兴趣收到在图象左上角含有一个红圈的任意图象,作为调查可能的商标侵权的一种方式,或者登记有兴趣收到与一个样板图象足够相似的任意图象,或代表某类图象类型的一组图象。
根据样板图象或要匹配的图象特性的用户描述进行图象对比的技术是已知的(例如,在美国专利5579471中描述的IBM公司的图象内容查询(QBIC)技术)。输入图象可以作为对含有类别代表的QBIC目录的查询,分类代表是一组距离测量的结果。模糊匹配算法可以建立消息中的一个图象与一个样板图象或所要求的特性的接近程度。可以通过多媒体特性定义和多媒体特性比较加强传统的出版/预订代理中的订户登记机制,从而只允许具有满足订户标准(在由指定阈定义的给定容差范围内)的消息才被送到预定订户去。
上述的QBIC例子表明,消息内容特征的识别可以包括分离的几个步骤,即识别消息内容类型的存在(通常使用对给定字节序列的精确匹配),然后再识别那些在上述识别字节序列之外的图象内容特性(例如,内容是否匹配定义参数,或是否在一定容差内与样板图象匹配)。
在这些步骤之后要做出一个决定,例如要完成什么处理,以及如何去做。在本发明的范畴内,涉及如何执行这个步骤具有很大的灵活性。这个决定可以使用一个存储的相对不太灵活的方法、或依赖于来自出版者和用户两者输入的一种动态逼近方法。订户在登记作为一个订户时可以指定对用于产生导出消息的消息所需完成的某些特定的处理操作。具体例子已在前面有所描述。
正如上面所述,识别消息内容特征的功能和确定将消息传给哪一个消息处理器模块的逻辑以及最好还有一个或多个消息处理器模块的处理功能,可以在一个可以替代的软件部件中实现,它与消息代理相互协作,并控制其操作。通过将某些功能分开成为一个可替代的部件(诸如Java Bean或ActiveX部件)使得能根据与代理一起使用的特殊软件部件以修改消息代理的性能。这也允许随时加入新的功能,例如,当一些新的消息功能可用时,将这个新的消息特性字典装入一个对象库,这样使消息代理能够识别这个新的消息内容类型。
Claims (13)
1.一种支持出版/预订服务的消息代理系统,它接收来自出版者应用程序的消息,并根据订户要求将消息转发给订户应用程序,其中消息代理系统包括:
一个消息分析器,用于标识从出版者应用程序接收的消息中非字母数字的消息内容;
一个选择器,用对非字母数字消息内容的标识来确定将该消息送给一组消息处理器中的哪个消息处理器;
一组可以选择的消息处理器,用于处理接收的消息以产生一个或多个导出的消息;
访问存有各用户应用程序要求的数据存储器;和
响应存储在所述数据存储器中订户应用程序的要求,将导出的消息送给需要该导出的消息的用户应用程序的装置。
2.如权利要求1的消息代理系统,适于访问订户要求数据存储器以确定由消息处理器对接收的消息进行什么样的处理操作。
3.如权利要求1或2的消息代理系统,其中选择器适合于响应接收的消息中非字母数字的消息内容类型的消息分析器的标识,选择一组消息处理器中的一个。
4.如权利要求3的消息代理系统,其中消息分析器包括分析消息内容的字节序列以标识表示多媒体消息内容的特定类型的结构的装置。
5.如权利要求1的消息代理系统,其中消息分析器适于对接收的消息执行水印检索操作,以及分析检索到的水印以标识其中包含的信息,以确定将消息送给哪一个消息处理器。
6.如权利要求1或2的消息代理系统,其中一个或多个所述消息处理器适合于对传送给消息处理器的消息执行水印检索操作,以及分析检索到的水印以标识其中包含的信息,以确定该消息处理器要对该消息完成什么处理操作。
7.一种用于消息代理系统的过程控制器,其中该消息代理系统接收来自出版者应用程序的消息,并根据订户要求将消息转发给订户应用程序,其中消息代理系统包括:
一个消息分析器,用于标识从出版者应用程序接收的消息中非字母数字的消息内容;
一个选择器,用对非字母数字消息内容的标识来确定将该消息送给一组消息处理器中的哪个消息处理器;
一组可以选择的消息处理器,用于处理接收的消息以产生一个或多个导出的消息;
访问存有各用户应用程序要求的数据存储器;和
响应存储在所述数据存储器中订户应用程序的要求,将导出的消息送给需要该导出的消息的用户应用程序的装置;
其中该过程控制器包括消息分析器和消息处理器选择器。
8.如权利要求7的过程控制器,包括所述一组可选择的消息处理器中至少一个消息处理器处理接收的消息以产生导出的消息。
9.一种支持出版/预订服务的消息代理方法,该方法包括:
标识从出版者应用程序接收的消息中非字母数字的消息内容,
使用非字母数字消息内容的标识以确定将消息传送给一组消息处理器中的哪个消息处理器;
使用所选消息处理器处理消息以产生一个或多个导出的消息,和
将导出的消息发送给由存储的订户要求确定的、需要该导出的消息的订户。
10.一种分布式消息代理系统,包含多个消息代理器,每个消息代理器都在多个互联的计算机系统中的一个系统上运行,每个消息代理器都可以访问涉及每一个互联的计算机系统性能的信息,每个消息代理器带有:
标识从出版者应用程序接收的消息中非字母数字的消息内容的装置;
使用非字母数字消息内容的标识以确定将消息传送给一组消息处理器中的哪个消息处理器的装置;
使用所选消息处理器处理消息以产生一个或多个导出的消息的装置,和
将导出的消息发送给由存储的订户要求确定的、需要该导出的消息的订户的装置。
11.一种方法,由通讯网络中的消息代理执行的、用于处理消息代理从出版者应用程序接收的消息并响应接收的消息将消息发送给订户应用程序,该方法包括如下步骤:
分析接收的消息以标识非字母数字消息内容;
使用非字母数字消息内容的标识,选择一组消息处理器中要向其传送每个接收的消息的一个信息处理器;
将每个接收的消息传送给所选择的消息处理器;
执行从存储所述信息要求的数据存储器中检索订户应用程序要求,参考或不参考所述的检索到的信息要求,使用所选择的消息处理器处理接收的消息的步骤;和
响应检索到的订户应用程序的信息要求,将处理过的消息传送给要求接收该处理过的消息的订户应用程序。
12.依据权利要求11的方法,其中通讯网络是互联网。
13.一种计算机系统,包括代表通过通讯网络连接的应用程序支持出版/预订服务的消息代理器,其中该消息代理器包括:
一个消息分析器,用于标识从出版者应用程序接收的消息中的非字母数字的消息内容;
一个选择器,使用非字母数字消息内容的标识以确定将消息传送给一组消息处理器中的哪个消息处理器;
一组可选择的消息处理器,用于处理接收的消息以产生一个或多个导出的消息;
一个数据存储器,用于存储订户应用程序的要求;和
响应存储在所述数据存储器中的订户应用程序的要求,将导出的消息传送给需要导出的消息的订户应用程序的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9906231A GB2348025A (en) | 1999-03-19 | 1999-03-19 | Message broker providing a publish/subscribe service and method of processing messages in a publish/subscribe environment |
GB9906231.7 | 1999-03-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1267864A CN1267864A (zh) | 2000-09-27 |
CN1135483C true CN1135483C (zh) | 2004-01-21 |
Family
ID=10849874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB001043021A Expired - Fee Related CN1135483C (zh) | 1999-03-19 | 2000-03-16 | 提供出版/预订服务的消息代理系统和处理消息的方法 |
Country Status (5)
Country | Link |
---|---|
JP (1) | JP2000298590A (zh) |
KR (1) | KR20000076751A (zh) |
CN (1) | CN1135483C (zh) |
CA (1) | CA2297425A1 (zh) |
GB (1) | GB2348025A (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2354846A (en) * | 1999-06-16 | 2001-04-04 | John Howard Midgley | Communication system |
JP3494590B2 (ja) * | 1999-06-18 | 2004-02-09 | 富士通株式会社 | 送受信システムおよび送信装置 |
EP1202176B1 (en) | 2000-10-31 | 2012-04-25 | Hewlett-Packard Development Company, L.P. | Message-based software system |
GB0305066D0 (en) | 2003-03-06 | 2003-04-09 | Ibm | System and method for publish/subscribe messaging |
US7711681B2 (en) * | 2004-11-05 | 2010-05-04 | Accenture Global Services Gmbh | System for distributed information presentation and interaction |
JP2006303958A (ja) * | 2005-04-21 | 2006-11-02 | Toppan Forms Co Ltd | データ送受信システムおよびその方法 |
CN101246486B (zh) * | 2007-02-13 | 2012-02-01 | 国际商业机器公司 | 用于改进的表达式处理的方法和装置 |
EP2176996A4 (en) * | 2007-08-02 | 2013-09-11 | Alcatel Lucent Usa Inc | METHOD FOR PUBLISHING, REQUESTING AND SUBSCRIBING INFORMATION BY A SIP TERMINAL IN A VOIP NETWORK SYSTEM, SIP TERMINAL, SIP APPLICATION SERVER, SIP INFORMATION CENTER, AND VOIP NETWORK SYSTEM |
GB2496681A (en) * | 2011-11-21 | 2013-05-22 | Push Technology Ltd | A publish/subscribe system with time-sensitive message delivery to subscribers |
CN102637186A (zh) * | 2011-12-09 | 2012-08-15 | 中兴通讯股份有限公司 | 一种cms内容订单系统及实现方法 |
US11082512B2 (en) | 2017-08-15 | 2021-08-03 | Microsoft Technology Licensing, Llc | Routing and filtering event notifications |
WO2019067644A1 (en) * | 2017-09-26 | 2019-04-04 | Amazon Technologies, Inc. | RECEIVING A DATA OBJECT AT A DEVICE LEVEL |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5873084A (en) * | 1996-01-18 | 1999-02-16 | Sun Microsystems, Inc. | Database network connectivity product |
US5893911A (en) * | 1996-04-17 | 1999-04-13 | Neon Software, Inc. | Method for defining and applying rules for message distribution for transaction processing in a distributed application |
US5999526A (en) * | 1996-11-26 | 1999-12-07 | Lucent Technologies Inc. | Method and apparatus for delivering data from an information provider using the public switched network |
US20010039615A1 (en) * | 1997-04-15 | 2001-11-08 | At &T Corp. | Methods and apparatus for providing a broker application server |
JP3497370B2 (ja) * | 1998-02-03 | 2004-02-16 | 松下電器産業株式会社 | 送信装置および送信方法、並びに受信装置および受信方法 |
-
1999
- 1999-03-19 GB GB9906231A patent/GB2348025A/en not_active Withdrawn
-
2000
- 2000-01-28 CA CA002297425A patent/CA2297425A1/en not_active Abandoned
- 2000-02-29 KR KR1020000010101A patent/KR20000076751A/ko active IP Right Grant
- 2000-03-14 JP JP2000070249A patent/JP2000298590A/ja active Pending
- 2000-03-16 CN CNB001043021A patent/CN1135483C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1267864A (zh) | 2000-09-27 |
GB2348025A (en) | 2000-09-20 |
JP2000298590A (ja) | 2000-10-24 |
CA2297425A1 (en) | 2000-09-19 |
GB9906231D0 (en) | 1999-05-12 |
KR20000076751A (ko) | 2000-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1043671A2 (en) | Message broker providing a publish/subscribe service and method of processing messages in a publish/subscribe environment | |
CN1142513C (zh) | 动态提供内容的系统及其方法 | |
US7809710B2 (en) | System and method for extracting content for submission to a search engine | |
JP3378848B2 (ja) | 発行・引用サービスを提供するメッセージ・ブローカ及び発行・引用環境においてメッセージを処理する方法 | |
US8938436B2 (en) | System for and method of providing reusable software service information based on natural language queries | |
CN1170230C (zh) | 内容转换系统以及自动样式表选择方法 | |
CN1298151C (zh) | 用于获取网格中的状态信息的方法和设备 | |
KR100990098B1 (ko) | 데이터 처리 시스템, 데이터 처리 방법, 정보 처리 디바이스, 및 컴퓨터 판독가능 기록 매체 | |
US6076111A (en) | Methods and apparatuses for transferring data between data processing systems which transfer a representation of the data before transferring the data | |
CN101246486B (zh) | 用于改进的表达式处理的方法和装置 | |
CN1135483C (zh) | 提供出版/预订服务的消息代理系统和处理消息的方法 | |
US20020083054A1 (en) | Scoping queries in a search engine | |
US20040230566A1 (en) | Web-based customized information retrieval and delivery method and system | |
CN104838413A (zh) | 基于用户提交来调整内容递送 | |
Lewis et al. | An integrated content and metadata based retrieval system for art | |
CN1514653A (zh) | 基于隐私策略的消息路由方法和系统 | |
CN1494017A (zh) | 用于环球网服务结构中的包容器选择器及其选择方法 | |
US20010002471A1 (en) | System and program for processing special characters used in dynamic documents | |
CN1856784A (zh) | 用于存储平台中的锁定和隔离的系统和方法 | |
CN108287901A (zh) | 用于生成信息的方法和装置 | |
CN1889079A (zh) | 用户协作搜索引擎 | |
CN111611222A (zh) | 一种基于分布式存储的数据动态处理方法 | |
CN1196314C (zh) | 元信息处理 | |
US20030233356A1 (en) | User interface for facilitating interaction between a user and an information system | |
Kaewmarin et al. | Semantic web service discovery and integration using service search crawler |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |