CN101151604A - 消息发布/订购系统中的设置和管理 - Google Patents

消息发布/订购系统中的设置和管理 Download PDF

Info

Publication number
CN101151604A
CN101151604A CNA2006800018954A CN200680001895A CN101151604A CN 101151604 A CN101151604 A CN 101151604A CN A2006800018954 A CNA2006800018954 A CN A2006800018954A CN 200680001895 A CN200680001895 A CN 200680001895A CN 101151604 A CN101151604 A CN 101151604A
Authority
CN
China
Prior art keywords
message
management
messaging system
management system
message transmission
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
CNA2006800018954A
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.)
Tervela Inc
Original Assignee
Tervela Inc
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 Tervela Inc filed Critical Tervela Inc
Publication of CN101151604A publication Critical patent/CN101151604A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

消息发布/订购系统被要求处理大量消息,同时减少等待时间和性能瓶颈。本发明所提议的端到端中间件体系结构被设计为通过提供用于配置的集中式单点设置和管理,设置和监控系统性能,从而实现大量、低等待时间消息传递。这种功能对通过基于邻居的路由选择的中间跳减少和动态、实时地优化系统互连配置和消息传输协议提供了补充。

Description

消息发布/订购系统中的设置和管理
技术领域
本发明涉及数据消息传递(messaging),更具体地说,涉及具有发布和订购(下文称作“发布/订购”)中间件体系结构的消息传递系统中的设置和管理系统。
背景技术
数据消息传递基础设施所要求的日益提高的性能水平强迫联网基础设施和协议的发展。基本上,数据分发涉及各种数据源和目的地,以及各种类型的互连体系结构和数据源和目的地之间的通信模式。现有数据消息传递体系结构的示例包括轮轴轮辐式(hub-and-spoke),对等式和存储转发式。
利用轮轴轮辐系统配置,所有通信都通过轮轴传输,这在处理量大时通常会导致性能瓶颈。因此,这种消息传递系统产生了等待时间。绕过这种瓶颈的一种方法是布署更多的服务器,并且在这些不同的服务器之间分布网络负载。但是,这种体系结构表现出可扩展性和操作问题。与具有轮轴轮辐配置的系统相比,具有对等配置的系统对应用产生了不必要的压力以处理和过滤数据,并且仅与其最慢的客户或节点一样快。而具有存储转发系统配置的系统为了提供持久性,要在将数据转发到路径中的下一个节点之前存储该数据。存储操作通常通过索引和将消息写到存储盘来实现,这可能产生性能瓶颈。此外,在消息量增大了时,索引和写入任务可能相当慢,因此可能引入额外的等待时间。
现有数据消息传递体系结构共有一些不足。一个共同的不足是在现有体系结构中数据消息传递依赖于驻留在应用层上的软件。这意味着消息传递基础设施要经历OS(操作系统)排队和网络I/O(输入/输出),这可能产生性能瓶颈。另一个共同的不足是现有体系结构静态地而不是动态地使用数据传输协议,即使在某些情形下其他协议可能更合适也是如此。常见协议的一些示例包括可路由多播、广播或单播。实际上,现有体系结构中的应用编程接口(API)未被设计为实时地在传输协议之间切换。
另外,网络配置判决通常是在布署时进行的,并且通常被定义为在特定假设下对一组网络和消息传递条件进行优化。与静态(固定的)配置相关联的限制排除了实时动态网络重配置。换言之,现有体系结构是针对特定传输协议配置的,而该传输协议并不总是适合所有网络数据传输负载条件,因此,现有体系结构总是不能实时地应对改变或增大的负载能力需求。
此外,在数据消息传递去往特定的接收者或者接收者群组时,现有消息传递体系结构使用可路由多播来将数据传输过网络。但是,在针对多播建立的系统中,存在对可以用来分发数据的多播群组的数目的限制,结果,消息传递系统不再将数据发送向未被向其订购的目的地(即,不是订户的客户)。由于数据过滤,这增大了客户的数据处理负载和丢弃率。因此,由于任何原因变为过载并且不能跟上数据流的客户最终丢弃进入数据,并且稍后要求重传。重传对整个系统造成影响,因为所有客户都接收重复的传输,并且所有客户都对进入数据进行重新处理。因此,重传可能导致多播风暴,并且最终可能使整个系统瘫痪。
在系统是针对单播消息传递建立来作为减少丢弃率的一种方法时,该消息传递系统可能因为数据复制而经历带宽饱和。例如,如果多于一个客户订购了感兴趣的给定话题,则消息传递系统必须将该数据递送到每个订户,实际上,系统将该数据的不同拷贝发送到每个订户。尽管这解决了客户滤除非订购数据的问题,但是单播传输是不可扩展的,因此基本上不适合订购特定数据的大量客户群组或者消费模式极度重叠的情形。
现有体系结构的另一个共同不足是它们的协议变换较慢并且数量非常多。这是因为企业应用集成(EIA)领域中的IT(信息技术)权宜(band-aid)策略所致,在该领域中,越来越多的新技术被与遗留系统集成。
因此,在多个领域中都需要提高数据消息传递系统性能。其中性能可能需要提高的示例有速度、资源分配、等待时间等。
发明内容
本发明部分基于前述观察和利用不同的方法可以解决这种不足使得具有更好的结果这一观点。这些观察使得开发出用于大量低等待时间消息传递的端到端消息发布/订购体系结构。因此,具有根据本发明原理的端到端消息发布/订购体系结构的数据分发系统还包括设置和管理(P&M)系统和方法。P&M系统和方法提高了具有端到端消息发布/订购体系结构的消息传递系统的性能。例如,通过减少具有基于邻居的路由选择和网络非居间化(disintermediation)的中介跳,引入高效的本地到外部和外部到本地协议转换、实时监控系统性能(包括等待时间)、布署基于话题和基于信道的消息通信、以及动态并且智能地对系统互连配置和消息传输协议进行优化,等等,从而实现了更大的消息量和更小的等待时间,这表明了这种提高的性能。该提高的性能进一步由利用数据缓存的有保证的递送服务质量表示。
在这里,根据本发明的原理,设计出了P&M系统,该系统具有支持消息发布/订购系统的改进的操作的功能。例如,典型的P&M系统被设计来提供集中式单点管理,包括配置和监控发布/订购消息传递系统组件以及报告状态和错误。
典型的P&M系统系统的配置管理功能被设计来提供包括用户管理、数字权限管理(DRM)和命名空间管理、授权管理、网络管理服务配置、具有LAN和WAN链路的拓扑管理,等等。此外,P&M系统通过例如对分离的虚拟架构(VLAN)进行管理来在不影响数据流量的情况下提供实时数据处理功能,其中每个消息传递设备(MA)具有到每个VLAN的分离的连接。
P&M系统可以可选地提供设置,并且该功能优选是结合集中单点管理提供的。设置允许软件和固件版本控制、通过线路更新管理和调度。利用这种集中配置,不存在瓶颈风险,因为查询应用编程接口(API)的时间处于启动和安装阶段,而不是在通常的运行时(服务时间)操作期间。为了健康和事件监控,P&M系统被设计来提供关于消息发布/订购系统中的所有状态改变的报告(包括用户和应用新注册、新的发布/订购事件、网络和消息传递连接/断连等)。P&M系统被设计来进一步提供端到端消息传递系统性能控制和监控。这包括为消息传递通信路径保留资源(考虑网络带宽、消息速率、帧速率、消息跳等待事件、端到端等待时间、服务的动态行为策略(例如,动态路由选择)、协议优化服务、实时合成和消息流控制等)。
与前述相关,P&M系统被设计为与消息发布/订购系统的各个组件通信。与P&M系统通信通常设计在消息发布/订购系统的组件之间交换查询和响应消息,并且其通常还涉及P&M系统将消息“推”向这些组件(来提供新的订购更新或者任何其他信息)。
一般而言,P&M系统利用消息传递逻辑和后台数据库实现,并且它们包括用于系统配置、重配置和监控的用户接口能力,例如,图形用户界面(GUI)。因为利用了消息发布/订购系统中的这些组件,所以P&M系统优选被设计为容错的,并且这种能力可以利用数据库复制或者消息传递级别的数据同步实现。
或者,P&M可以被与现有的外部认证和授权系统(例如,LDAP(轻量级目录访问协议)或者其他定制系统(中间件体现结构之外的))集成。这允许公司实现一致的用户认证和授权。结果,P&M系统充当这种外部系统和消息传递系统组件之间的网关。
因此,根据所示并且在这里宽广描述的本发明的目的,具有发布/订购中间件体系结构(其具有P&M系统)的一种示例性消息传递系统包括:一个或多于一个消息传递设备,用于接收和路由消息,所述消息包括管理和数据消息;互连;以及一个或多于一个经由所述互连被链接到所述一个或多于一个消息传递设备的一个或多于一个设置和管理系统。所述设置和管理系统用于利用管理消息的通信,向该消息传递系统提供集中式单点管理。所述集中式单点管理包括设置管理、消息传递系统监控和报告。可选地,所述设置和管理系统用于提供集中式单点设置,包括软件和固件版本控制和更新管理以及调度。优选地,所述互连包括多个架构(fabric),这些架构中的一种用于管理消息,而其中的另一种架构用于数据消息。
总而言之,从这里的描述,所附权利要求书以及后面将描述的附图可以更好地理解本发明的这些和其他特征、方面和优点。
附图说明
被结合到说明书中并且作为说明书的一部分的附图说明了本发明的各个方面,并且与说明书一起说明本发明的原理。只要方便,在所有附图中相同的标号将用于指代相同或类似的元件。
图1示出了根据本发明原理的端到端中间件体系结构。
图1a是示出了覆盖网络(overlay network)的图。
图2是示出了利用根据本发明原理的端到端中间件体系结构实现的企业基础设施的图。
图2a是示出了具有创建网络骨干网非居间化的消息设备(MA)的企业基础设施物理布署的图。
图3示出了基于信道的消息传递系统的体系结构。
图4示出了一种可能的基于话题的消息格式。
图5示出了基于话题的消息路由选择和路由选择表。
图6示出了具有基于命名空间(namespace)的拓扑的消息传递(发布/订购)系统。
图7是示出了根据本发明一个实施例的设置和管理(P&M)系统的框图。
图8是示出了P&M系统和消息设备(MA)之一之间的通信的图。
图9示出了通过两个VLAN的数据和管理消息流量的分离。
具体实施方式
在概括涉及根据本发明多个原理和方面的设置和管理(P&M)系统的各个实施例的细节之前,下面是对一些术语的简单说明,这些术语可以被用在整个说明书中。注意,该说明仅是为了澄清并且向读者给出对可能如何使用这些术语的理解,但是不是将这些术语限于使用它们的上下文中,也不是要因此限制权利要求书的范围。
术语“中间件”在计算机工业中作为一个一般术语使用,针对在两个分离的通常已存在的程序之间协调的任何编程。一般而言,中间件程序提供消息传递服务,以使得不同的应用程序可以通信。通常通过利用中间件将不同的应用程序在系统上连结到一起被称作企业应用集成(EAI)。但是,在该上下文中,“中间件”可以是一种更广的术语,用在源和目的地之间的消息传递和被布署用于实现这种消息传递的设施的上下文中;因此,中间件体系结构单独或者与下面将描述的组合覆盖了实现高效数据消息传递的联网和计算机硬件与软件组件。此外,术语“消息传递系统”或者“中间件系统”可以被用在发布/订购系统的上下文中,在该系统中,消息传递服务器对在发布者和订购者之间的消息路由选择进行管理。实际上,消息传递中间件中发布/订购的范式是可扩展的,因此是一种有力的模型。
术语“客户”可以用在客户机-服务器应用等的上下文中。在一个实例中,客户是这样一种系统或应用,其利用应用编程接口(API)注册到中间件系统,以订购信息,并且接收该中间件系统递送的数据。中间件体系结构边界内部的API是一种客户;并且外部客户是不使用该API的任何发布/订购系统(或者外部数据目的地),并且为了与之通信,消息要通过协议变换(稍后将描述)。
术语“外部数据源”可以用在数据分发和消息发布/订购系统的上下文中。在一个示例中,外部数据源被认为是位于企业专用网络内或者外部的系统或应用,其采用常用协议之一或者其自己的消息协议发布消息。外部数据源的一个示例是市场数据交换,其发布股市报价,股市报价经由中间件系统被分发到交易员。外部数据源的另一个示例是事务性数据。注意,在后面将更详细描述的本发明的典型实现方式中,中间件体系结构采用其唯一的本地协议,来自外部数据源的数据一旦进入该中间件系统域就被转换成该唯一的本地协议,从而避免了传统系统中典型的多协议变换。
术语“外部数据目的地”也用在数据分发和消息发布/订购系统的上下文中。例如,外部数据目的地是位于企业专用网络内或外部的系统或应用,其订购经由本地/全局网络被路由的信息。外部数据目的地的一个示例可以是对由交易员发布的事务订单进行处理的前述市场数据交换。外部数据目的地的另一个示例是事务性数据。注意,在前述中间件体系结构中,去往外部数据目的地的消息从本地协议被翻译成与该外部数据目的地相关联的外部协议。
从这里的描述可以确认,可以利用每种都在中间件体系结构中实现的各种配置以各种方式实施本发明。图1示出了根据本发明原理的端到端中间件体系结构的示例。
这种示例性体系结构组合了许多有益特征,这些有益特征包括:消息传递公共概念、API、容错、设置和管理(P&M)、服务质量(QoS-合并的,尽力而为的、有保证同时连接的、有保证同时不连接的,等等)、有保证递送QoS的持久缓存、命名空间和安全性服务的管理、发布/订购生态系统(核心、入口和出口组件)、传输透明的消息传递、基于邻居的消息传递(一种作为轮轴轮辐、对等和存储转发之间的混合体的模型,该模型使用基于订购的路由选择协议,可以在必要时将订购传播到所有邻居)、迟计划绑定、部分发布(与所有数据相对,仅发布改变的信息)和动态分配网络和系统资源。后面将说明,发布/订购系统有益地结合了中间件体系结构的容错设计。注意,发布/订购生态系统的核心MA部分使用前述本地消息传递协议(对于中间件系统本地的),而入口和出口部分,边沿MA则分别向该本地协议翻译或者从该本地协议翻译。
除了发布/订购系统组件之外,图1的图还示出了它们之间的逻辑连接和通信。从图可见,所示的中间件体系结构是分布式系统的中间件体系结构。在具有这种体系结构的系统中,两个截然不同的物理组件之间的逻辑通信是利用消息流和相关联的消息协议建立起来的。消息流包含两类消息之一:管理和数据消息。管理消息用于管理和控制不同的物理组件、管理对数据的订购,等等。数据消息用于在源和目的地之间传输数据,并且在典型的发布/订购消息传递中,存在数据消息的多个发送者和多个接收者。
利用所示结构配置和逻辑通信,该具有中间件体系结构的分布式发布/订购系统被设计来执行多种逻辑功能。一种逻辑功能是消息协议翻译,该功能有利地在边沿消息传递设备(MA)组件处执行。第二种逻辑功能是将消息从发布者路由到订购者。注意,这些消息被路由过整个发布/订购网络。因此,路由选择功能由其中传播消息的每个MA执行,即,从边沿MA 106a-b(或者API)到核心MA 108a-c,从一个核心MA到另一个核心MA,最终到达边沿MA(例如,106b)或者API 110a-b。API 110a-b经由程间通信总线(套接字、共享存储器等)与应用1121-n通信。
第三种逻辑功能是针对不同类型的有保证的递送服务质量存储消息,包括例如有保证同时连接的和有保证同时不连接的。第四种功能是将这些消息递送到订购者。如图所示,API 106a-b将消息递送到订购应用1121-n
在每种发布/订购中间件体系结构中,系统配置功能以及其他管理和系统性能监控功能由P&M系统管理。另外,MA取决于它们在网络中的角色被布署为核心MA或者边沿MA。边沿MA在大多方面与核心MA类似,除了其包括协议翻译引擎之外,协议翻译引擎将消息从外部协议翻译成本地协议和从本地协议翻译成外部协议。因此,一般来说,发布/订购系统中间件体系结构的边界由其中存在MA 106a-b和API 110a-b的其边沿表征;并且在这些边界内,存在核心MA 108a-c。
在典型的系统中,核心MA 108a-c将在该系统内部发布的消息路由向边沿MA或API(例如,API 110a-b)。尤其是在核心MA中的路由选择图被设计来用于最大量、低等待时间并且高效地路由选择。此外,核心MA之间的路由选择可以实时动态改变。对于穿过多个节点(核心MA)的给定的消息传递路径,路由选择的实时改变是基于一个或多个度量的,这些度量包括网络利用、总地端到端等待时间、通信量、网络延迟、丢失和抖动。
或者,不是从两条或多条不同的路径中动态选择最佳执行路径,而是MA可以基于消息复制执行多路径路由选择,并且从而通过所有路径发送相同的消息。位于不同路径的汇聚点处的所有MA将丢弃复制的消息,仅转发第一个到达的消息。这种路由选择方法具有使低等待时间的消息传递基础设施最优化的优点;尽管这种路由选择的缺点是基础设施需要更多的网络带宽来传送复制的流量。
注意,系统体系结构不被限制到特定的受限的地理区域,并且实际上,系统体系结构被设计为超越区域或国家边界,甚至跨越大洲。在这种情形中,一个网络中的边沿MA可以经由现有的联网基础设施与地理上远离的另一个网络中的边沿MA通信。
边沿MA具有这样的能力:将进入消息的任何外部消息协议转换成中间件系统的本地消息协议;以及从本地消息协议转换成外出消息的外部协议。即,在消息进入发布/订购网络域(入口)时,外部协议被转换成本地(例如,TervelaTM)消息协议;并且在消息离开发布/订购网络域(出口)时,本地协议被转换成外部协议。边沿MA的另一个功能是将已发布的消息递送到订购了的外部数据目的地。
另外,边沿和核心MA 106a-b和108a-c都能够在转发消息之前存储消息。可以实现该功能的一种方法是利用缓存引擎(CE)118a-b。一个或多个CE可以被连接到相同的MA。理论上,不认为API具有这种存储转发能力,尽管实际上API 110a-b可以在将消息递送到应用之前存储消息,并且其可以在将从应用接收到的消息递送到核心MA、边沿MA或者另一个API之前存储它们。
在MA(边沿或核心MA)具有到CE的活动连接时,其将被路由的消息的全部或者子集转发到CE,CE将它们写到存储区域中以实现持久性。在预定时间段中,这些消息然后可在被请求时用于重传。其中实现了这种特征的示例有数据中继、部分发布和各种服务质量级别。部分发布在减少网络和客户负载方面是有效的,因为其要求仅发送更新的信息,而不是所有信息。
为了说明路由选择图可能如何实现路由选择,图1中示出了发布/订购路由选择路径的数个示例。在该图示中,发布/订购网络的中间件体系结构在发布者和订购者之间提供了五条或更多的通信路径。
第一通信路径将外部数据源链接到外部数据目的地。从外部数据源1141-n接收到的已发布消息被翻译成本地(例如,TervelaTM)消息协议,然后被边沿MA 106a路由。本地协议消息可以从边沿MA 106a被路由的一条路线是到外部数据目的地116n。该路径被称作通信路径1a。在这种情形中,本地协议消息被转换成适于该外部数据目的地的外部协议消息。本地协议消息可以从边沿MA 106a被路由的另一条路线是内部通过核心MA 108b。该路径被称作通信路径1b。沿着该路径,核心MA 108b将本地消息路由到边沿MA 106a。但是,在边沿MA 106a将本地协议消息路由到外部数据目的地1161之前,其将它们转换成适于该外部数据目的地1161的外部消息协议。可见,这种通信路径不要求API将消息从发布者路由到订购者。因此,如果发布/订购系统被用于外部源到目的地的通信,则该系统无需包括API。
被称作通信路径2的另一条通信路径利用API 110b将外部数据源114n链接到一个应用。从外部数据源接收到的已发布的消息在边沿MA106a处被翻译成本地消息协议,然后被该边沿MA路由到核心MA 108。从第一核心MA 108a出发,这些消息被路由过另一个核心MA 108c到达API 110b。从该API出发,这些消息被递送到订购应用(例如,1122)。因为该通信路径是双向的,所以在另一个实例中,消息可以沿着反向路径从订购应用1121-n到达外部数据目的地116n。在每个实例中,核心MA接收本地协议消息并且路由本地协议消息,而边沿MA接收外部或者本地协议消息,并且分别路由本地或外部协议消息(边沿MA将这种外部消息协议翻译成本地消息协议/从本地消息协议翻译成这种外部消息协议)。每个边沿MA可以将入口消息同时路由到本地协议信道和外部协议信道。结果,每个边沿MA可以将入口消息同时路由到外部和内部客户,其中内部客户消耗本地协议消息,而外部客户消耗外部协议消息。这种能力使得消息传递基础设施能够与遗留应用和系统无缝并且平滑地集成。
被称作通信路径3的另一条通信路径链接两个应用,这两个应用都利用API 110a-b。这些应用中的至少一个发布消息或者订购消息。已发布的消息到订购应用的递送或者来自发布应用的已发布消息的递送是利用位于发布/订购网络边沿的API实现的。在应用订购消息时,核心或者边沿MA之一将消息路由向该API,该API然后在数据正准备被递送到它们时通知订购应用。从应用发布的消息经由该API被发送到该API被“注册”到其的核心MA 108c。
注意,通过“注册”(登录)到一个MA,该API变为在逻辑上连接到该MA。API通过发送注册(“登录”请求)消息到MA来发起到该MA的连接。在注册之后,该API可以通过将其订购消息发送到该MA来订购特定的感兴趣的话题。话题被用于发布/订购消息传递,来定义共享的访问域和消息的目标,因此,订购一个或多个话题允许接收和发送具有这种话题注释的消息。
P&M将周期授权更新发送到网络中的MA,每个MA相应地更新其自己的表格。因此,如果发现API要被授权来订购特定的话题(该MA利用路由选择授权表来验证该API的授权),则该MA激活到该API的逻辑连接。然后,如果该API被适当地注册到核心MA 108c,则核心MA 108c将数据路由到第二API 110,如图所示。在其他示例中,该核心MA 108b可以通过额外的一个或多个核心MA(未示出)路由消息,这一个或多个核心MA将消息路由到API 110b,AP 110b然后将消息递送到订购应用1121- n
可见,通信路径3不要求存在边沿MA,因为其不涉及任何外部数据消息协议。在一个对这里通信路径给出示例的实施例中,企业系统被配置有新闻服务器,该新闻服务器向雇员发布关于多种话题的最新新闻。为了接收到新闻,雇员经由利用API的新闻浏览器应用订购它们感兴趣的话题。
注意,中间件体系结构允许订购一个或多个话题。此外,这种体系结构通过允许消息注释中的通配符,从而利用单个订购请求订购一组相关的话题。
被称作通信路径4的又一条通信路径是与P&M系统102和104相关联的多条路径之一,这些路径中的每条将P&M链接到发布/订购网络中间件体系结构中的MA之一。在P&M系统和每个MA之间往返的消息是管理消息,管理消息用于对该MA进行配置和监控。在一种系统配置中,P&M系统直接与MA通信。在另一种系统配置中,P&M系统通过其他MA与一些MA通信。在又一种配置中,P&M系统可以直接或者间接与MA通信。
在典型的实现方式中,中间件体系结构可以被布署在网络上,该网络具有交换机、路由器和其他联网设备,并且其采用基于信道的消息传递,该消息传递能够通过任何类型的物理介质通信。这种架构不可知的基于信道的消息传递的一种示例性实现方式是基于IP的网络。在这种环境中,所有发布/订购物理组件之间的所有通信都通过UDP(数据报协议)执行,并且传输可靠性由消息传输层实现。图1a示出了根据本原理的覆盖网络。
如图所示,覆盖通信1、2和3可以经由交换机214a-c、路由器216和子网218a-c在三个核心MA 208a-c之间发生。换言之,这些通信路径可以建立在下层网络之上,所述下层网络包括联网基础设施,例如子网、交换机和路由器,并且如上所述,这种体系结构可以跨越较大的地理区域(不同的国家甚至不同的大洲)。
根据本发明原理的前述和其他端到端中间件体系结构可以被实现在各种商业环境中的各种企业基础设施中。图2示出了一种这样的实现方式。
在该企业基础设施中,市场数据分发工厂12被构建在发布/订购网络之上,该发布/订购网络用于将来自各个市场数据交换设备3201-n的股票市场报价路由到交易员(未示出的应用)。这种覆盖解决方案依赖于下层网络提供例如MA之间和这种MA和P&M系统之间的互连。到API 3101-n的市场数据递送是基于应用订购的。利用这种基础设施,利用应用(未示出)的交易员将来自API 3101-n的交易单通过发布/订购网络(经由核心MA308 a-b和边沿MA 306b)放置回市场数据交换设备3201-n
图2a中示出了下层物理布署的一个示例。如图所示,MA被直接彼此连接,并且被直接插入到网络和子网,在网络和子网中消息传递流量的客户和发布者被物理连接。在这种情形中,互连应当是直接连接,即,MA之间的直接连接和它们与P&M系统之间的直接连接。这使得能够实现网络骨干网非居间化,以及消息传递流量与其他企业应用流量物理分离。有效地,MA可以被用来移除对用于消息传递流量的传统路由网络的依赖。
在物理布署的这种示例中,诸如市场数据交换设备之类的外部数据源或者目的地被直接连接到边沿MA,例如,边沿MA 1。诸如市场交易应用之类的消息传递流量消耗或发布应用被直接连接到子网1-12。这些应用具有至少两条路线,用于订购、发布或者与其他应用通信。应用可以或者利用企业骨干网或者利用消息传递骨干网,其中企业骨干网包括多层冗余的路由器和交换机,它们传送所有的企业应用流量,例如,消息传递流量;消息传递骨干网包括经由集成交换机彼此直接互连的边沿和核心MA。利用替换骨干网具有这样的优点:将消息传递流量与其他企业应用流量隔离,从而更好地控制消息传递流量的性能。在一种实现方式中,位于子网6中的应用逻辑上或者物理上连接到核心MA 3,利用本地协议(例如,TervelaTM)使能的API订购或者发布本地协议的消息流量。在另一种实现方式中,位于子网7中的应用逻辑上或者物理上连接到边沿MA1,订购或者发布外部协议的消息传递流量,其中该MA利用集成的协议变换引擎模块执行协议变换。
逻辑上,发布/订购网络的物理组件被构建在类似于开放系统互连(OSI)参考模型的1到4层的消息传输层之上。OSI模型的1到4层分别是物理层、数据链路层、网络层和传输层。
因此,在本发明的一个实施例中,发布/订购网络通过例如在所有网络交换机和路由器或者网络交换机和路由器的子集中插入一个或多个消息传递线路卡,从而可以被直接布署到下层网络/架构中。在本发明的另一个实施例中,发布/订购网络可以作为网状覆盖网络(其中,所有物理组件都被彼此连接)而被有效地布署。例如,4个MA的完全网状网络是这样的网络,其中,每个MA被连接到其3个对等MA中的每个。在典型实现方式中,发布/订购网络是下述组件的网状网络:一个或多个外部数据源和/或目的地、一个或多个设置和管理(P&M)系统、一个或多个消息传递设备(MA)、一个或多个可选缓存引擎(CE),以及一个或多个可选应用编程接口(API)。
后面将更详细地说明,在企业操作中,可靠性、可用性和一致性通常都是必需的。为此,发布/订购系统可以被设计为容错的,其中其组件中的若干个被布署为容错系统。例如,MA可以被布署为容错MA对,其中第一MA被称作主MA,第二MA被称作副MA或者容错MA(FT MA)。同样,对于存储转发操作,CE(缓存引擎)可以被连接到主或副核心/边沿MA。在主或副MA具有到CE的活动连接时,其将所路由的消息的全部或者子集转发向该CE,该CE将它们写入存储区域以实现持久性。在预定时间段内,这些消息然后可用于根据请求用于重传。
很明显,遍及发布/订购网络的通信是独立于下层传输逻辑利用针对消息的本地协议来执行的。这就是将这种体系结构称作传输透明基于信道的消息传递体系结构的原因。
图3更详细地示出了基于信道的消息传递体系结构320。一般而言,消息传递源和目的地之间的每条通信路径被认为是一条消息传递信道。每条信道3261-n利用信道源和信道目的地之间的接口3281-n通过物理介质建立。每条这样的信道是针对专门的消息协议建立的,所述消息协议例如是本地(例如,TervelaTM)消息协议或其他。仅边沿MA(对发布/订购网络的入口和出口进行管理的那些MA)利用信道消息协议(外部消息协议)。基于信道消息协议,信道管理层324确定进入和外出消息是否要求协议翻译。在每个边沿MA处,如果进入消息的信道消息协议不同于本地协议,则信道管理层324将在将要处理的消息传递到本地消息层330之前,通过将它们发送过协议翻译引擎(PTE)332,从而执行协议翻译。同样,在每个边沿MA处,如果外出消息的本地消息协议不同于信道消息协议(外部消息协议),则信道管理层324将在将要处理的消息路由到传输信道3261-n之前,将它们发送过协议翻译引擎(PTE)332,从而执行协议翻译。从而,信道对与物理介质的接口3281-n、与该物理介质相关联的特定网络和传输逻辑、以及消息组件或者片段进行管理。
换言之,信道对到物理层322的OSI传输进行管理。对信道资源的优化基于每条信道被执行(例如,基于消耗模式对物理介质的消息密度优化,所述消耗模式包括带宽、消息大小分布、信道目的地资源和信道健康统计)。然后,因为通信信道是架构不可知的,所以不要求特定类型的架构。实际上,任何架构介质都将工作,例如,ATM、Infiniband或者以太网。
顺便提及,在例如单个消息被分割到多个帧或者多个消息被打包到单个帧中时,可能需要消息分段或重组。消息分段或重组在消息被递送到信道管理层之前被执行。
图3进一步示出了在具有中间件体系结构的网络中的多种可能的信道实现方式。在一种实现方式340中,通信是利用通过太网交换的网络的多播,经由基于网络的信道执行的,其中以太网交换的网络充当用于这种通信的物理介质。在这种实现方式中,源从其IP地址经由其UDP端口将消息发送向具有其关联UDP端口的目的地群组(被定义为IP多播地址)。在这种实现方式的变体342中,源和目的地之间的通信是利用UDP单播通过以太网交换的网络实现的。源从其IP地址经由其UDP端口将消息发送向在其相应的IP地址处具有UDP端口的选择目的地。
在另一种实现方式344中,信道是利用本地Infiniband传输协议通过Infiniband互连建立的,其中Infiniband架构是物理介质。在这种实现方式中,信道是基于节点的,并且源和目的地之间的通信是利用它们各自的节点地址基于节点的。在又一种实现方式346中,信道是基于存储器的,例如RDMA(远程直接存储器访问),并且在这里被称作直接连接(DC)。利用这种类型的信道,消息从源机器被直接发送到目的地机器的存储器,从而绕过CPU处理来应对从NIC到应用存储器空间的消息,并且可能避免了将消息封装成网络分组的网络开销。
至于本地协议,一种方法利用前述本地TervelaTM消息协议。概念上,TervelaTM消息协议与基于IP的协议类似。每个消息包含消息头部和消息有效载荷。消息头部包含多个字段,其中一个字段用于话题信息。如上所述,话题由客户用来订购共享的信息域。
图4示出了一个可能的基于话题的消息格式。如图所示,消息包括头部370和主体372和374,主体372和374包括有效载荷。示出了两类消息,即,数据和管理消息,这两类消息具有不同的消息体和有效载荷类型。头部包括用于以下内容的字段:源和目的地命名空间标识、源和目的地会话标识、话题序列号和希望时间戳,另外,其还包括话题注释字段(该字段优选是可变长度的)。话题可以被定义为基于标记的字符串,例如,NYSE.RTF.IBM 376,该字符串是包含IBM股票实时报价的消息的话题字符串。
在一些实现方式中,消息中的话题信息可能被编码或者被映射到一个关键字,关键字可以是一个或多个整数值。然后,每个话题会被映射到一个唯一的关键字,并且话题和关键字之间的映射数据库将由P&M系统维护,并且通过线路被更新到所有MA。结果,在API订购或者发布一个话题时,MA能够返回用于消息的话题字段的关联的唯一关键字。
优选地,订购格式将遵循与消息话题相同的格式。但是,订购格式还支持与任何话题子字符串匹配或者与话题正则表达式模式匹配的通配符。对通配符到实际话题的映射的处理可以依赖于P&M系统,或者根据通配符或模式匹配请求的复杂度由MA处理。
模式匹配可以遵循下面的示例中提供的规则。
示例#1:具有通配符T1.*.T3.T4的字符串将与T1.T2a.T3.T4、T1.T2b.T3.T4匹配,但是不与T1.T2.T3.T4.T5匹配
示例#2:具有通配符T1.*.T3.T4.*的字符串将不与T1.T2a.T3.T4、T1.T2b.T3.T4匹配,但是与T1.T2.T3.T4.T5匹配
示例#3:具有通配符T1.*.T3.T4.[*](第五个元素可选)的字符串将与T1.T2a.T3.T4、T1.T2b.T3.T4、以及T1.T2.T3.T4.T5匹配,但是不与T1.T2.T3.T4.T5.T6匹配
示例#4:具有通配符T1.T2*.T3.T4的字符串将与T1.T2a.T3.T4、T1.T2b.T3.T4匹配,但是不与T1.T5a.T3.T4匹配
示例#5:具有通配符T1.*.T3.T4.>(任何数目的结尾元素)的字符串将与T1.T2a.T3.T4、T1.T2b.T3.T4、T1.T2.T3.T4.T5和T1.T2.T3.T4.T5.T6匹配
图5示出了基于话题的消息路由选择。如图所示,话题可以被定义为基于标记的字符串,例如,T1.T2.T3.T4,其中T1、T2、T3和T4是可变长度的字符串。可见,具有特定话题注释400的进入消息被有选择地路由到通信信道404,并且路由选择确定是基于路由选择表402作出的。话题订购到信道的映射定义路由,并且用来将消息传递遍整个发布/订购网络。所有这些路由或者说订购和信道之间的映射的超集定义路由选择表。路由选择表也被称作订购表。用于利用基于字符串的话题进行路由选择的订购表可以以多种方式被构造,但是优选配置为对其大小以及路由选择查找速度进行优化。在一种实现方式中,订购表可以被定义为动态散列图结构,而在另一种实现方式中,订购表可以被布置在树结构中,如图5中的图所示。
树包括由边连接的节点(例如,T1、…、T10),其中话题订购的每个子字符串对应于树中的一个节点。映射到给定的订购的信道被存储在订购的叶子节点上,每个叶子节点指示该话题订购来自的信道的列表(即,通过其接收到订购请求)。该列表指示哪个信道应接收其话题注释与该订购匹配的消息的拷贝。如图所示,消息路由选择查找将消息话题作为输入,然后利用该话题的每个子字符串对树进行解析,来定位与进入消息话题相关联的不同信道。例如,T1,T2,T3,T4和T5被导向信道1、2和3;T1、T2和T3被导向信道4;T1、T6、T7、T*和T9被导向信道4和5;T1,T6,T7,T8和T9被导向信道1;以及T1、T6、T7、T*和T10被导向信道5。
尽管对路由选择表的结构的选择是要对路由选择表的查找进行优化,但是查找的性能还取决于用于找到与进入消息话题匹配的一个或多个话题订购的搜索算法。因此,路由选择表结构应当能够适应这种算法,反之亦然。减小路由选择表的大小的一种方式是允许路由选择算法有选择地将订购传播遍整个发布/订购网络。例如,如果订购看来是已被传播的另一个订购的子集(例如,整个字符串的一部分),则无需传播该子集订购,因为MA已具有该订购的超集的信息。
基于前述,优选的消息路由选择协议是基于话题的路由选择协议,其中授权在订户和相应的话题之间的映射中指示出。授权是针对每个订户或者订户群组/类别指定的,指示该订购有权消耗何种消息或者该产生者(发布者)可以产生(发布)哪些消息。这些授权是在P&M系统中定义的,被传输到发布/订购网络中的所有MA,然后被MA用来创建和更新它们的路由选择表。
每个MA通过追踪何人被插入(请求订购)到何种消息中来更新其路由选择表。但是,在将路由添加到其路由选择表之前,MA必须针对发布/订购网络的授权对订购进行检查。MA验证可能是邻居MA、P&M系统、CE或者API的订购实体被授权如此执行。如果该订购是有效的,则路由将被创建并且被添加到路由选择表。然后,因为一些授权可能是预先已知的,所以系统可以被布署以预定义授权,并且在引导时这些授权可以被字段加载。例如,诸如配置更新之类的一些特定管理消息可能总是被转发遍网络,并且因此在启动时被自动载入。
除了其在订购过程中的角色之外,P&M系统具有多种其他管理功能。这些额外的功能包括发布/订购系统配置和健康健康和报告。配置涉及对发布/订购系统网络和组件的物理和逻辑配置。监控和报告涉及对所有网络和系统组件的健康进行监控并且自动报告结果,这是按照要求进行的或者被记入日志。
P&M是用于发布/订购系统的一种集中式单点设置和管理平台。其提供了在中央位置以及可选地在系统中的设置软件和固件处,对消息发布/订购系统中的所有组件进行配置和监控的能力。所以说P&M系统具有设置和配置管理功能组件。另外,P&M系统可以被与外部设置和管理系统集成来利用现有解决方案。
在P&M系统的设置功能组件被使能时,每个消息发布/订购系统组件的设置(即,每个设备、装置或子系统的设置,其中系统组件可以是边沿MA、核心MA、API等)是利用管理消息实现的,并且允许系统管理员远程开启或关闭这些功能,以及远程调度或者“推”软件和固件图像更新,这些可以是自动或者手动实现的。软件或固件图像的示例包括软件包、完整的操作系统(OS)盘图像、固件二进制图像等等。每个系统组件具有核心模块,可选地具有一个或多个商业模块。这些模块可以通过推送新的软件图像而被独立地更新。
如上所述被使能的具有设置功能的P&M系统允许自动调度模块更新,这使得对消息发布/订购系统的管理更可控、可扩展,并且更划算。P&M系统还通过追踪哪些商业模块和特征被使能以及它们中的何种软件图像版本正在运行,从而进一步提供软件图像版本控制。在一种实施例中,在检测到与商业模块相关联的软件图像的故障时,P&M系统被设计来将该模块自动降级到该软件图像的已知最近工作正常的版本。
P&M系统的配置管理功能组件被设计用于用户管理和用户授权(即,订购和发布数据的权限)。利用API和外部数据源和目的地(其消息由协议变换引擎转换)的所有应用都被与用户相关联(例如,利用客户端应用)。这种用户在被允许任何发布和/或订购事件之前,必须被P&M系统认证。可以使用各种认证方法,包括口令、预享密钥和标记、PKI证书。一旦用户得到认证,该用户就被允许相应地根据用户授权订购或发布数据。基于来自P&M系统的信息,MA在用户试图在发布/订购系统消息流中发布消息或订购消息时对用户授权进行验证。这种用户和授权管理框架使得能够在全球范围中实现分布式访问功能。
另外,P&M系统允许系统管理员定义与被路由遍消息发布/订购系统的消息中的每个相关联的消息命名空间。因此,消息发布/订购系统可以物理地和/或逻辑地被划分成基于命名空间的子系统。这种基于名的拓扑在图6中被示出。
命名空间对于每个发布/订购子系统13、14是唯一的。因此,在组合的消息发布/订购系统中,每个发布/订购子系统具有分配给其的唯一命名空间。在本示例中,发布/订购网络包括两个发布/订购子系统,第一个具有命名空间“命名空间1”,第二个具有命名空间“命名空间2”。P&M系统的命名空间管理特征(图7中的项目520、512中)提供下述能力:定义不同管理域,并且在避免话题冲突或复制的情况下使得能够实现跨这些不同管理域的基于话题的消息通信。
在一个示例中,发布/订购子系统“A”发布被路由向发布/订购子系统“B”的新闻更新,子系统“C”发布也被路由向子系统“B”的新闻更新。但是,如果子系统“A”和“C”发布关于相同话题的相同新闻更新,则子系统“B”也可以根据它们关联的命名空间区分来自“A”的新闻和来自“C”的新闻。在许多情形中,这些命名空间域将是不同的组织内域。在其他实例中,这些域将是不同的组织或者法律实体域。换言之,命名空间特征可由组织用来对给予该组织内或者外的某些用户对其数据或内容的授权进行限制。对于该组织内的用户,这是通过向这些用户发布命名空间许可证实现的;而对于该组织外的用户,这是通过向向这些用户提供MA的组织发布命名空间许可证实现的。
前述示例示出了如何利用命名空间来实现数字权限管理(DRM)功能。此外,消耗来自不同源的数据的用户可以通过查看数据源的性能度量(例如,等待时间),来确定最佳数据源。或者,来自不同源的数据的用户可以通过对来自这些不同源的数据进行比较,从而执行数据调和和确认。
P&M系统还能够对在消息发布/订购系统中已布署的所有物理组件的所有网络管理配置进行远程控制。例如,这包括NIC配置(IP地址/网络掩码、速度、双工、MTU等),VLAN接口、本地IP路由选择、可用于探询的SNMP MIB、诸如SSH、telnet、http和https之类的远程访问方法,以及诸如DNS、NTP之类的其他网络服务。
P&M系统提供了对发布/订购系统中的虚拟完整网状覆盖网络、以及所有发布/订购邻居(例如,MA、CE和API)和它们之间的所有逻辑连接的视图。系统管理员可以选择哪条逻辑连接应当被激活或者被禁止。结果,P&M系统对覆盖发布/订购网络的确切拓扑,以及消息将被如何路由遍消息发布/订购系统进行控制。
P&M系统的第三功能组件对消息发布/订购系统的健康以及系统组件生成的事件进行实时监控。这个方面将在后面重新描述P&M系统的体系结构时更详细地描述。
P&M系统的第四功能组件执行端到端系统性能控制和监控。利用可用的拓扑信息,可以标识遍及消息发布/订购系统的商业消息流,并且控制针对这种信息流分配的资源。因此,可以预测并且确保所期望和要求的性能水平。例如,P&M系统可以被设计来允许系统管理员定义消息传递流量管理策略,例如,消息优先级、服务质量、自适应服务(例如,协议优化服务)的实时行为、消息流控制、消息合并和智能消息路由选择。
另外,P&M系统可以被设计来允许实现资源保留规范,例如,从系统端到端视角看执行某些消息处理任务所要求的CPU周期数、从发布/订购网络的一边到另一边所要求的带宽量、每个消息传递跳的最大可接受等待时间、最大端到端等待时间等。这些参数可以针对以下内容定义:给定的用户、给定订购、给定信道、或者两个邻居之间的给定逻辑连接。
P&M系统既可以被查询也可以将信息推向系统组件。推功能可以用来手动控制这些系统组件中的任何一些的行为。注意,缓存引擎(CE)和API经由充当其代理的MA与P&M系统接口连接。直接与P&M系统通信的唯一的邻居是MA。在设置功能组件被使能时,推功能还允许P&M系统从单个管理点更新软件和固件图像。
为了更详细地示出P&M系统的体系结构,图7是示出了固件本发明一个实施例的P&M系统的框图。如图所示,P&M系统500可以作为孤立的设备布署,该设备与发布/订购网络中的一个或多个MA通信。在替换实施例中,P&M系统可以被集成到MA中。
P&M系统利用管理消息执行其配置、监控和报告功能,其中管现消息是从设备消息层502中的管理消息层506获得的。与网络中的其他组件的通信是利用所有前述信道管理经由消息传输层504执行的,其中消息传输层一般是根据本发明原理配置的系统中的组件。但是,与直接与物理介质接口交互的MA中的消息传输层不同,P&M系统通常实现在操作系统528(OS)之上,消息传输层通过OS与物理介质接口(接口1…N)通信。因此,为了支持各种类型的信道,对于可能没有其他方式对OS可用的每种物理介质,OS可能要求特定的驱动器。对于该介质,OS可能还要求特定的接口卡(例如,直接连接接口卡或者Infiniband接口卡)。
P&M系统还使用网络管理栈508来与基于网络的管理服务通信。这利基于网络的服务的示例包括SNMP(简单网络管理协议)、系统记录、HTTP/HTTPS(基于安全套接字层的超文本传送协议),Telnet/SSH(安全壳协议)。
P&M可以具有构建在多个功能块之上的图形用户界面(GUI)510。这些功能块的示例包括配置管理器512、实时监控模块514、历史趋势块516,以及商业逻辑/应用报告块518。配置管理器功能块对发布/订购网络中包含的所有物理组件的配置进行处理。这些组件中的每个的配置520涉及多个方面,包括例如安全性、加密、认证、授权(关于允许哪些用户订购何种话题的权限)、以及拓扑(包括这些不同的组件直接的通信路径)。
实时监控功能块514监听(嗅探)在发布/订购网络中发生的各种事件522。这些事件的示例包括来自API的新订购请求、连接到发布/订购网络的新订户、对联网的发布/订购系统中的不同硬件组件的实时统计、所有MA的路由选择表的大小,以及资源利用水平。
历史趋势块516优选被紧密链接到实时监控系统,因为趋势可以根据被实时监控的事件随事件而被建立。就此而言,历史趋势块从实时监控子系统获取其输入,在实时数据库中存储每个数据点。历史趋势块然后可以查询该实时数据库,并且将其取回的事件作为时间的函数绘制出图表。该块可以进一步被用来追踪发布/订购网络随时间的行为模式。
商业逻辑报告块518通过将随时间变化的事件模式的未决处理数据相关联来提供另一个级别的报告,以便帮助实现商业判决实现过程。在一利实现方式中,商业逻辑报告块将低层消息和网络度量数据(一般是未经处理数据)翻译成商业度量,网络度量数据的示例包括消息和帧速率、网络延迟、抖动和丢失数据。
另外可选地,实时监控和商业逻辑报告块被用来监控服务级别协议(SLA),并且验证随时间变化特定的服务级别是否得到满足。在SLA未得到满足时,其允许理解并且获得问题在于何处和问题是如何被观察到的合法证据,假设所有方都同意这种报告的有效性。此外,建立历史度量的趋势可能有助于帮助理解消息基础设施中的改变,并且其可能使得能够洞悉长期消息传递流量模式。结果,其成为商业判决处理中非常有价值的输入。
为了支持其管理和监控操作,P&M系统在后台数据库中维护配置、监控的统计数据、可选的软件和固件图像,以及可选的商业模式。另外,如上所述,对于系统的可用性和可靠性,消息数据的一致性和持久性而言,将P&M系统配置为利用数据库复制或数据同步形式的容错系统是有利的。
具体而言,P&M系统可以被布署为容错对,其中主和副P&M系统可以位于相似或者不同的地理位置中。因为P&M系统需要被同步,所以可以利用后台数据库复制特征实现该同步。或者,可以在消息传递级别实现同步,其中,P&M系统负责向副P&M系统通知后台数据库中的任何改变。这些通知可以通过发送包含从最近一次同步起发生的应当被应用到副数据库的数据库变化(改变)的管理消息实现。
对于对系统组件的配置和监控,通信是利用管理消息执行的。因此,为了与MA通信,P&M系统在所示实施例中利用基于信道的消息传递栈508(与消息层502、消息传输层504和信道管理526一起)。图8是示出了P&M系统和MA之一之间的通信。
但是,为了在物理上和逻辑上将管理流量与数据流量分离,可以在下层交换架构中配置两个不同的VLAN(虚拟LAN),其中每个MA被物理连接到每个VLAN,如图9所示。该方法具有保持数据流量的完整性的优点。为了进一步保护数据流量不被延迟或者被管理流量影响,不同的交换机和路由器可以被配置来向数据VLAN提供所要求的服务质量(QoS)。结果,配置更新和监控统计数据二者都将在管理VLAN上被路由,而不影响消息发布/订购网络的总体性能和实时行为。另外,所有管理流量由MA的控制平面接收或发送。因此其不影响负责路由数据流量的数据平面。如图所示,在一个实施例中,所有的MA都经由不同的物理接口被连接到两个VLAN,并且每个P&M系统都能够通过经由管理和监管VLAN与所有MA通信来对它们进行配置和监控。还要注意的是,CE被直接连接到MA,因此,在MA和CE之间交换的流量不影响任何其他消息传递流量。另外,应用经由它们各自的API被连接到数据VLAN。
总言之,本发明提供了一种用于传输消息的新方法,更具体地说,具有提高消息传递系统的效率的P&M系统的端到端中间件体系结构。尽管已参考本发明的某些优选版本相当详细地描述了本发明,但是其他版本也是可能的。因此,所附权利要求书的精神和范围不应当被限于对这里所包含的优选版本的描述。

Claims (41)

1.一种具有设置和管理的消息传递系统,包括:
一个或多于一个消息传递设备,其操作用于接收和路由消息,所述消息包括管理和数据消息;
互连;以及
一个或多于一个设置和管理系统,它们经由所述互连被链接到所述一个或多于一个消息传递设备,并操作用于经由管理消息的通信来向所述消息传递系统提供集中式单点管理,该单点管理包括配置管理、消息传递系统监控和报告。
2.如权利要求1所述的消息传递系统,其中,所述互连包括多个架构,所述架构中的一个架构用于管理消息,而所述架构中的另一个架构用于数据消息。
3.如权利要求2所述的消息传递系统,其中,每个设置和管理系统经由所述用于管理消息的架构接口到所述消息传递设备,并且其中所述消息传递设备中的每个分开连接到所述多个架构中的每个。
4.如权利要求3所述的消息传递系统,其中,所述架构是包括LAN(局域网)和WAN(广域网)的一个或任意组合的虚拟网络。
5.如权利要求1所述的消息传递系统,其中,每个消息传递设备还操作用于通过实时地动态选择消息传输协议和消息路由路径来执行消息的路由选择。
6.如权利要求1所述的消息传递系统,还包括连接到所述消息传递设备中的相应一个或多个的一个或多个缓存引擎,以及经由应用编程接口接口到所述消息传递设备中的相应多个的一个或多个应用,其中所述消息传递设备操作用于在在所述缓存引擎和应用编程接口中的相应多个与每个相应设置和管理系统之间的通信中充当所述缓存引擎和应用编程接口中的相应多个的代理。
7.如权利要求1所述的消息传递系统,其中,所述配置管理涉及对以下内容的管理:用户、数字权限、命名空间、授权、服务质量、安全性、加密、网络服务、网络链接和系统拓扑。
8.如权利要求1所述的消息传递系统,其中,所述消息传递系统监控涉及系统健康和事件监控。
9.如权利要求1所述的消息传递系统,其中,所述消息传递系统监控包括对包括以下内容的性能度量的监控:网络带宽、消息流速率、帧速率、消息传递跳等待时间,端到端等待时间,系统行为和协议优化服务。
10.如权利要求9所述的消息传递系统,其中,每个设置和管理系统还操作用于基于所述性能度量对与消息通信路径相关联的资源进行控制。
11.如权利要求9所述的消息传递系统,其中,所述协议优化服务在单播、多播或广播协议之间进行选择。
12.如权利要求1所述的消息传递系统,其中,所述消息传递系统报告用于报告包括以下内容的任何状态改变:用户和应用新注册、新的发布和订购事件、以及网络消息传递连接和断连。
13.如权利要求1所述的消息传递系统,其中,所述设置和管理系统还操作用于管理订购,包括客户和外部数据目的地订购一个或多个数据消息话题,以及消息传递设备订购管理消息话题。
14.如权利要求6所述的消息传递系统,其中,所述应用中的每个操作用于将请求发送给所述消息传递设备中的相应一个,所述请求包括注册和订购请求,并且其中每个设置和管理系统还操作用于处理数字权限管理,在所述数字权限管理中,每个相应的消息传递设备操作用于向所述设置和管理系统确认报告试图向其注册或订购的应用是否被授权这样做。
15.如权利要求14所述的消息传递系统,其中,所述订购请求建立基于话题的订购,并且其中单个订购请求能够建立对一组相关话题的订购。
16.如权利要求1所述的消息传递系统,其中,所述互连是所述消息传递设备和设置和管理系统被布署在其上的一个或多个架构,所述架构被配置有任何数目的路由器、交换机和子网。
17.如权利要求1所述的消息传递系统,其中,所述互连包括基于信道的架构不可知的物理介质。
18.如权利要求1所述的消息传递系统,其中,所述消息传递设备、设置和管理系统、以及互连结合了传输逻辑。
19.如权利要求18所述的消息传递系统,其被配置用于基于传输透明信道的消息传递,其中消息以独立于所述传输逻辑的本地协议格式被传输。
20.如权利要求1所述的消息传递系统,其中,每个设置和管理系统操作用于执行命名空间管理功能,所述命名空间管理功能包括数字权限管理。
21.如权利要求20所述的消息传递系统,其中,利用所述命名空间管理,订购了与特定命名空间相关联的话题的订户被授权订购利用这种话题和命名空间标识出的消息。
22.如权利要求1所述的消息传递系统,其中,所述消息具有基于话题的格式,每个消息具有头部和有效载荷,所述头部除源和目的地命名空间标识字段之外还包括话题字段。
23.如权利要求22所述的消息传递系统,其中,所述话题字段包括可变长度字符串或关键字,所述关键字是唯一值,其中,对于多个关键字,每个设置和管理系统具有用于维护每个这种关键字和其相应话题之间的映射的数据库,所述设置和管理系统还操作用于对所述消息传递设备中的每个更新这种映射中的任何改变。
24.如权利要求1所述的消息传递系统,其中,所述消息包括具有话题字段的订购消息,所述话题字段具有可变长度字符串,所述可变长度字符串具有任意数目的通配符字符,用于如果任何话题子字符串和所述订购消息具有相同数目的话题子字符串则将其与这种话题匹配。
25.如权利要求5所述的消息传递系统,其中,所述动态选择传输协议和消息路由路径是基于来自相应设置和管理系统的健康、性能报告和系统拓扑,并且其涉及动态资源分配和动态信道创建和/或选择之一或二者。
26.如权利要求1所述的消息传递系统,其具有超越区域、国家或者大洲界线的边界,在每个区域、国家或者大洲中存在子系统,其中所述子系统经由联网基础设施被链接,并且每个子系统包括设置和管理系统、互连、以及一个或多个消息传递设备。
27.如权利要求1所述的消息传递系统,其中,每个设置和管理系统被集成到所述消息传递设备之一中,或者作为独立设备被实现。
28.如权利要求1所述的消息传递系统,其中,每个设置和管理系统包括消息传输和本地消息层,所述消息传输和本地消息层被链接到配置功能块和监控功能块,所述监控功能块又经由进程间通信总线被连接到管理块,所述管理块包括配置管理、实时监控、历史趋势和应用商业报告功能块。
29.如权利要求28所述的消息传递系统,其中,每个设置和管理系统还包括以下之一或者二者:一侧连接到所述监控功能块并且在另一侧连接到所述操作系统的网络栈的网络管理服务;以及连接到所述管理块的用户接口。
30.如权利要求28所述的消息传递系统,其中,所述互连包括所述传输信道和物理介质,所述消息传递设备通过所述传输信道和物理介质与每个设置和管理系统通信。
31.如权利要求31所述的消息传递系统,其中,每个设置和管理系统包括用户接口、消息传递逻辑和后台数据库。
32.如权利要求1所述的消息传递系统,其中,经由所述用户接口,每个设置和管理系统提供了具有其完整网状覆盖网络和发布/订购邻居信息的消息传递系统拓扑的视图,利用所述视图允许选择所述消息传递系统内的逻辑连接、以及激活和禁止这种逻辑连接。
33.如权利要求1所述的消息传递系统,其中,每个设置和管理系统还操作用于提供集中式单点设置功能,所述功能包括软件和固件版本控制和更新管理和调度。
34.如权利要求33所述的消息传递系统,其中,对于所述软件和固件版本控制和更新管理和调度,每个设置和管理系统还操作用于对哪些商业模块被使能以及对于软件和固件图像版本中的每个哪个版本正在运行进行跟踪。
35.如权利要求33所述的消息传递系统,其中,对于所述软件和固件版本控制和更新管理和调度,每个设置和管理系统操作用于允许自动调度商业模块更新。
36.如权利要求33所述的消息传递系统,其中,对于所述软件和固件版本控制和更新管理和调度,每个设置和管理系统还操作用于在检测到商业模块的当前版本的故障时,将该商业模块自动降级为其软件或固件图像的最近已知正常工作的版本。
37.如权利要求1所述的消息传递系统,其中,所述消息传递设备和设置和管理系统中的每个被配置用于容错。
38.如权利要求1所述的消息传递系统,其中,所述设置和管理系统每个都以容错对的方式布置,其中每对包括主和副设置和管理系统,所述副设置和管理系统在所述主设置和管理系统故障时接管所述主设置和管理系统。
39.如权利要求37所述的消息传递系统,其中,为了容错,每个设置和管理系统操作用于在消息传递级别上提供数据库复制或数据同步。
40.如权利要求1所述的消息传递系统,其中,一个或多个所述设置和管理系统被与外部认证和授权系统集成。
41.如权利要求40所述的消息传递系统,其中,所述设置和管理系统与所述外部认证和授权系统的集成使得能够实现一致的用户认证和授权。
CNA2006800018954A 2005-01-06 2006-01-06 消息发布/订购系统中的设置和管理 Pending CN101151604A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US64198805P 2005-01-06 2005-01-06
US60/641,988 2005-01-06
US60/688,983 2005-06-08
US11/316,778 2005-12-23

Publications (1)

Publication Number Publication Date
CN101151604A true CN101151604A (zh) 2008-03-26

Family

ID=39086087

Family Applications (5)

Application Number Title Priority Date Filing Date
CNA2005800461011A Pending CN101133380A (zh) 2005-01-06 2005-12-23 基于硬件的消息传递设备
CNA2005800460945A Pending CN101124566A (zh) 2005-01-06 2005-12-23 端到端的发布/订购中间件体系结构
CNA200580046095XA Pending CN101124567A (zh) 2005-01-06 2005-12-23 消息传递系统中的缓存引擎
CNA2005800460930A Pending CN101326508A (zh) 2005-01-06 2005-12-23 智能消息传递应用编程接口
CNA2006800018954A Pending CN101151604A (zh) 2005-01-06 2006-01-06 消息发布/订购系统中的设置和管理

Family Applications Before (4)

Application Number Title Priority Date Filing Date
CNA2005800461011A Pending CN101133380A (zh) 2005-01-06 2005-12-23 基于硬件的消息传递设备
CNA2005800460945A Pending CN101124566A (zh) 2005-01-06 2005-12-23 端到端的发布/订购中间件体系结构
CNA200580046095XA Pending CN101124567A (zh) 2005-01-06 2005-12-23 消息传递系统中的缓存引擎
CNA2005800460930A Pending CN101326508A (zh) 2005-01-06 2005-12-23 智能消息传递应用编程接口

Country Status (1)

Country Link
CN (5) CN101133380A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102480519A (zh) * 2010-11-26 2012-05-30 财团法人工业技术研究院 互动式区域广播服务布建与管理系统
CN103534988A (zh) * 2013-06-03 2014-01-22 华为技术有限公司 消息发布与订阅的方法及装置
CN108141404A (zh) * 2015-08-07 2018-06-08 萨托里环球有限责任公司 可扩展的实时消息传递系统
CN110532113A (zh) * 2019-08-30 2019-12-03 北京地平线机器人技术研发有限公司 信息处理方法、装置、计算机可读存储介质及电子设备

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011029821A (ja) * 2009-07-23 2011-02-10 Canon Inc 情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラム
US8452835B2 (en) * 2009-12-23 2013-05-28 Citrix Systems, Inc. Systems and methods for object rate limiting in multi-core system
EP2367309B1 (en) 2010-02-10 2016-07-13 Alcatel Lucent Method for detecting a synchronization failure of a transparent clock and related protection schemes
EP2834962A1 (en) * 2012-04-06 2015-02-11 Interdigital Patent Holdings, Inc. Optimization of peer-to-peer content delivery service
EP2891276B1 (en) * 2012-08-28 2018-10-10 Tata Consultancy Services Limited Method and system for dynamic selection of reliability by data publishing protocol while publishing data
CN103677549B (zh) * 2012-09-11 2017-08-11 阿里巴巴集团控股有限公司 一种数据处理方法与装置
WO2014065115A1 (ja) * 2012-10-23 2014-05-01 日本電気株式会社 ルール分配サーバ、イベント処理システム、方法及びプログラム
CN104579605B (zh) 2013-10-23 2018-04-10 华为技术有限公司 一种数据传输方法及装置
US9984158B2 (en) * 2014-03-18 2018-05-29 Axis Ab Finding services in a service-oriented architecture (SOA) network
CN104618466A (zh) * 2015-01-20 2015-05-13 上海交通大学 基于消息传递的负载均衡和过负荷控制系统及其控制方法
CN105991579B (zh) * 2015-02-12 2019-05-28 华为技术有限公司 信息发送方法、相关网络设备以及系统
CN107306248B (zh) * 2016-04-19 2023-04-28 广东国盾量子科技有限公司 一种光量子交换机及其通信方法
US9608928B1 (en) * 2016-07-06 2017-03-28 Machine Zone, Inc. Multiple-speed message channel of messaging system
CN106210101B (zh) * 2016-07-20 2019-06-18 上海携程商务有限公司 消息管理系统及消息管理方法
CN107819734A (zh) * 2016-09-14 2018-03-20 上海福赛特机器人有限公司 一种基于网络套接字的程序间通讯方法及通讯系统
EP3598374A4 (en) * 2017-03-16 2020-09-02 Softbank Corp. RELAY DEVICE AND PROGRAM
CN108390917B (zh) * 2018-01-25 2021-02-02 珠海金山网络游戏科技有限公司 智能发送消息方法和装置
EP3609108B1 (en) * 2018-08-09 2021-04-28 Tata Consultancy Services Limited Method and system for message based communication and failure recovery for fpga middleware framework
TWI678087B (zh) * 2018-11-22 2019-11-21 財團法人工業技術研究院 訊息佇列發佈與訂閱之同步方法及其系統
EP3767922B1 (en) * 2019-07-17 2023-11-08 ABB Schweiz AG Method of channel mapping in an industrial process control system
CN114827307B (zh) * 2022-04-14 2024-04-19 中国建设银行股份有限公司 基于多数据系统的数据共享方法、系统及服务器
CN115086403A (zh) * 2022-04-27 2022-09-20 中国科学院上海微系统与信息技术研究所 一种针对泛在异构接入的边缘计算网关微服务架构

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102480519A (zh) * 2010-11-26 2012-05-30 财团法人工业技术研究院 互动式区域广播服务布建与管理系统
CN102480519B (zh) * 2010-11-26 2015-04-29 财团法人工业技术研究院 互动式区域广播服务布建与管理系统
CN103534988A (zh) * 2013-06-03 2014-01-22 华为技术有限公司 消息发布与订阅的方法及装置
US9110884B2 (en) 2013-06-03 2015-08-18 Huawei Technologies Co., Ltd. Message publishing and subscribing method and apparatus
CN103534988B (zh) * 2013-06-03 2017-04-12 华为技术有限公司 消息发布与订阅的方法及装置
CN108141404A (zh) * 2015-08-07 2018-06-08 萨托里环球有限责任公司 可扩展的实时消息传递系统
CN110532113A (zh) * 2019-08-30 2019-12-03 北京地平线机器人技术研发有限公司 信息处理方法、装置、计算机可读存储介质及电子设备
CN110532113B (zh) * 2019-08-30 2023-03-24 北京地平线机器人技术研发有限公司 信息处理方法、装置、计算机可读存储介质及电子设备

Also Published As

Publication number Publication date
CN101124566A (zh) 2008-02-13
CN101326508A (zh) 2008-12-17
CN101124567A (zh) 2008-02-13
CN101133380A (zh) 2008-02-27

Similar Documents

Publication Publication Date Title
CN101151604A (zh) 消息发布/订购系统中的设置和管理
US9253243B2 (en) Systems and methods for network virtualization
CA2594267C (en) End-to-end publish/subscribe middleware architecture
US20230362249A1 (en) Systems and methods for routing data to a parallel file system
AU2016386887B2 (en) Distributed edge processing of internet of things device data in co-location facilities
Legrand et al. MonALISA: An agent based, dynamic service system to monitor, control and optimize distributed systems
US20110185082A1 (en) Systems and methods for network virtualization
CN111612466B (zh) 一种共识和资源传输方法、设备及存储介质
WO2013120069A1 (en) Secure remote computer network
Fox et al. A scaleable event infrastructure for peer to peer grids
Kido et al. A development of real-time failover inter-domain routing framework using software-defined networking
Borky et al. Developing the network dimension

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1118112

Country of ref document: HK

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20080326

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1118112

Country of ref document: HK