CN102713833A - 在发布/订阅消息架构中用于应用层负载平衡的方法和系统 - Google Patents
在发布/订阅消息架构中用于应用层负载平衡的方法和系统 Download PDFInfo
- Publication number
- CN102713833A CN102713833A CN2010800546307A CN201080054630A CN102713833A CN 102713833 A CN102713833 A CN 102713833A CN 2010800546307 A CN2010800546307 A CN 2010800546307A CN 201080054630 A CN201080054630 A CN 201080054630A CN 102713833 A CN102713833 A CN 102713833A
- Authority
- CN
- China
- Prior art keywords
- relaying
- central
- subscribe
- remote trunk
- group
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000008878 coupling Effects 0.000 description 11
- 238000010168 coupling process Methods 0.000 description 11
- 238000005859 coupling reaction Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 241000243251 Hydra Species 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- QRXWMOHMRWLFEY-UHFFFAOYSA-N isoniazide Chemical compound NNC(=O)C1=CC=NC=C1 QRXWMOHMRWLFEY-UHFFFAOYSA-N 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 244000188472 Ilex paraguariensis Species 0.000 description 1
- 241000764238 Isis Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000011248 coating agent Substances 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Images
Classifications
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1031—Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/214—Monitoring or handling of messages using selective forwarding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
-
- 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/2866—Architectures; Arrangements
- H04L67/288—Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
-
- 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
-
- 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/563—Data redirection of data network streams
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种发布消息的方法,包括在第一远程中继从第一客户端接收订阅请求并从所述远程中继向第一组中央中继中的每个发送订阅消息。所述方法还包括在第二远程中继从第二客户端接收发布请求并从所述第二远程中继向所述第一组中央中继中的第一中央中继和第二组中央中继中的第二中央中继发送发布消息。所述方法进一步包括在所述第一中央中继确定目标匹配模式的至少一部分,从所述第一中央中继向所述第一远程中继发送所述消息字符串,在所述第一远程中继确定目标匹配所述模式的至少一部分,以及向所述第一客户端发送所述消息字符串。
Description
背景技术
发布和订阅(发布/订阅)系统是异步消息系统。信息以类别分类,以及用户向服务器表示对一类或多类消息的兴趣。消息的发布者(发布商)并不向特定接收者(用户)发送消息,而是向服务器发布消息,而不知道哪些(如果有的话)用户将接收。当消息被接收用于发布时,服务器向已对和消息相关的类表示兴趣的用户发送消息。因此,发布者和用户在发布和订阅系统中被解耦合,互相独立运行。
第一发布和订阅系统是Isis工具包中的“新”的子系统,其被描述在1987年对于操作系统原理会议的ACM讨论文中的论文“Exploiting Virtual Synchrony in Distributed Systems”中(第123 – 138页)。
当每个用户订阅各种类型的信息时,用户通常只接收发布的总消息的子集。作为一个示例,用户可以基于信息的主题订阅信息。用户在基于主题的系统中将接收对于他们订阅的主题所发布的所有消息。对于主题的所有用户接收相同消息。作为另一示例,用户可基于消息的内容订阅消息。在基于内容的系统中,如果消息的属性或内容匹配用户限定的条件,则消息仅发送到该用户。某些发布和订阅系统以混合方式结合主题和内容。
在常规的发布和订阅系统中,服务器从希望基于主题或内容接收消息的客户端接收订阅请求。当用户想要发布消息时,该消息被发送到服务器,该服务器然后将消息转发到匹配消息属性的已提交订阅请求的多个用户。这样,服务器执行过滤功能,仅仅将消息转发到感兴趣的用户。某些服务器可以在从发布者向订阅者的路由消息过程期间执行存储转发功能,临时解耦合发布者和订阅者。这种短暂的解耦合的示例是暂时卸载发布者以便允许用户通过未结订单工作,产生带宽节流的形式。
对于相对小型的安装,发布/订阅系统通过并行运行、消息缓存等可以提供和常规客户端-服务器系统更好的可扩展性。但是,当发布/订阅系统扩展时,由发布/订阅系统提供的优势消失了。因此,虽然常规发布/订阅系统提供的功能,我们在本领域需要一种改进的发布/订阅系统以及使用这种系统的方法。
发明概述
本发明总体涉及到计算机网络。更具体地说,本发明涉及操作发布/订阅系统的方法。仅仅通过示例,本发明已应用于发布/订阅系统中,其中和多组中央中继通信的远程中继从客户端接收订阅请求并向一组中央中继中所有的中央中继订阅。来自客户端的发布消息被发布到每组中央中继中的仅仅一个中央中继。因此,本发明的实施例实施一种其中在应用层提供发布消息负载平衡的结构。该方法和技术可应用多个计算机网络和通信系统。
根据本发明实施例,提供了一种发布消息的方法。该方法包括:在第一远程中继从第一客户端接收订阅请求并从所述远程中继向第一组中央中继中的每个发送订阅消息。所述方法还包括:在第二远程中继从第二客户端接收发布请求并从所述第二远程中继向所述第一组中央中继中的第一中央中继和第二组中央中继中的第二中央中继发送所述发布消息。所述发布请求包括以模式为特征的字符串以及所述发布消息包括所述消息字符串。所述方法进一步包括:在所述第一中央中继确定所述目标匹配所述模式的至少一部分;从所述第一中央中继向所述第一远程中继发送消息;在第一远程中继确定目标匹配模式的至少一部分并向第一客户端发送所述消息字符串;以及向所述第一客户端发送所述消息字符串。
根据本发明的另一个实施例,提供一种发布/订阅消息架构。所述发布/订阅消息架构包括:第一组中央中继;第二组中央中继;以及和所述第一组中央中继通信的第一远程中继。所述发布/订阅消息架构还包括:和所述第一远程中继通信的第一客户端。所述第一远程中继可操作以将订阅请求发送到所述第一组中央中继中的每个中央中继。所述发布/订阅消息架构还包括:和所述第二组中央中继通信的第二远程中继;以及和所述第二远程中继通信的第二客户端。所述第二远程中继可操作以将发布消息发送到所述第二组中央中继中的所述中央中继之一以及所述第二组中央中继中的所述中央中继之一。
根据本发明的特定实施例,提供一种操作远程中继的方法。所述方法包括:在第一远程中继接收来自第一远程客户端的订阅请求并在所述第一远程中继的计算机可读介质中记录和所述第一远程客户端相关的识别信息。所述订阅请求包括目标以及和所述目标相关的信息被记录在所述第一远程中继的计算机可读介质中。所述方法还包括:向第一组中央中继中的每个发送订阅消息。所述订阅消息包括目标。所述方法还包括在第二远程中继接收来自第二远程客户端的发布请求并从所述第二远程中继向第一组中央中继中的第一中央中继以及第二组中央中继中的第二中央中继发送发布消息。所述发布请求包括以模式为特征的消息字符串以及所述发布消息包括消息字符串。而且,所述方法包括:在所述第一远程中继接收来自所述第一中央中继的所述消息字符串;在所述第一远程中继确定所述目标匹配所述模式的至少一部分;以及从所述第一远程中继向所述第一客户端发送所述消息字符串。
通过本发明相对于常规技术可以实现许多优势。例如,通过利用本文所述的发布/订阅架构,在应用层提供负载平衡。利用层次结构,可以显著减少从远程站点到中央站点的连接数量。连接数量的减少导致涉及配置、维护和运行IP网络的降低复杂性、改进安全性并提高系统性能。另外,本发明实施例通过减少复制发布的数量改进系统性能。
此外,本发明实施例通过美妙处理的消息方面整体增强系统性能而改进系统可扩展性。例如,如果流量正在三个应用平衡负载服务器上平衡,所述三个应用平衡负载服务器都执行相同的工作量,每个服务器正处理该站点的流量的三分之一。添加第四个服务器将提高承载能力,因为每个服务器将处理该站点的当前流量的四分之一。由于增加第四个服务器导致的每个服务器上的空闲容量,整体能力随着流量率提高而增强。本发明实施例可实行地任意增加系统的可扩展性。
此外,本发明实施例提供以高可用性和可靠性为特征的系统。例如,当客户或者服务器向一组负载平衡服务器发送消息时,它有责任把它发送到和其具有有效连接的服务器。具有更多服务器作为系统元件使得消息仍然通过系统发送,即使更多的服务器处于无效状态。例如,如果该组中具有两台服务器以及两台都处于无效状态,发送者不能使用任一台服务器发送消息。然而,如果组中例如具有五台服务器以及两台处于无效状态,三台服务器仍然能够通过系统传送消息。
将结合如下文本和附图详细描述本发明的这些和其他实施例,以及其许多优点和特点。
附图简述
图1是根据本发明实施例的体系发布/订阅架构的简化示意图;
图2A是根据本发明实施例向多个中央中继发送订阅请求的远程客户端和远程中继的简化示意图;
图2B是根据本发明实施例实施向多个中央中继发布消息的远程客户端和远程中继的简化示意图;
图3是示出根据本发明实施例在发布/订阅系统中实施发布消息负载平衡的方法的简化流程图;
图4是示出根据本发明实施例在发布/订阅系统中的消息流的图表;
图5是根据本发明实施例远程中继的元件的简化示意图。
发明详述
如上所述,常规的发布和订阅系统是一层实施,其中服务器与用户和发布者交互。每个用户向服务器提交订阅请求,以及每个发布请求也被提交到服务器。使用常规一层系统的缺陷在于:每个客户端(发布者或用户)连接到服务器,导致客户端和服务器之间的大量连接。由于防火墙规则、多个逻辑路径的配置等,大量的连接依次导致配置、维护以及运行的复杂性。
本发明实施例利用体系结构,减少从客户端到中央站点的连接数量,例如以一个数量级。减少连接数量减少了网络的复杂性以及相关配置和维护任务。另外,减少客户端和中央站点之间的连线数量提高安全性,这是因为更少的连接被建立以及减少的连接数量可以被更仔细地跟踪和控制。此外,减少连接数量改进服务器和客户端的性能,这是因为和处理连接处理相关的这些系统上的负载减少了。具有本文所述负载平衡的体系性发布和订阅系统提供了使用常规技术不可获得的优势,包括冗余、安全及效能。
Verisign的HMS(混合消息服务)系统是用于消息传递的发布/订阅实施。这也被称为消息汽车。本系统提供在边缘站点(表示为远程客户端)和中央数据中心(包括中央中继)之间发送消息的功能,以便发送和接收监测数据和监测命令。其包括对SDNS、Whois、TGV、CRL等的功能的统计。这些统计数字由Java HUD和Argus HUD(其订阅HMS)实时显示,并用于涉及Hydra数据库,Hydra情节和其他用户的历史报告。
本发明实施例提供关于现有HMS系统的改进,引入具有负载平衡的分级结构。在一个实施方式中,具有两层结构-远程中继和中央中继。通常,中央中继位于数据中心中。然而,本发明可以扩展到任意数量的体系层次。
图1是根据本发明实施例的体系发布/订阅结构的简化示意图。参见图1,多个远程客户端110和112都通过网络连接120连接到远程中继124。网络连接120可以是多种网络之一,包括因特网或适于在远程客户端110/112和远程中继124之间通信的其他网络。远程中继124通过网络连接130连接到第二远程中继134。远程中继134通过网络连接140连接到第一数据中心150中的一个或多个中央中继(中央中继1(150 a)至中央中继n(150 n))。除了连接到第一数据中心150,远程中继134也通过网络连接140连接到第二数据中心152。因此,本发明实施例提供体系发布订阅系统,其中一个或多个远程中继可以用于提供远程客户端和中央中继之间的通信。该体系发布/订阅系统的其他描述被提供在2009年10月30日提交的、标题为“Hierarchical publish and subscribe system”的待决和共同指定的申请号为12/610,066的美国专利申请中,在此通过并入其全文作为参考。
图1示出连接到远程客户层中的远程客户端和数据中心层中的中央中继的远程中继。虽然图1示出三层体系(一层中央中继和两层远程中继(即,远程中继层1和远程中继层2)),本发明实施例并不限于该特定体系层的数量以及其他体系层也可以包括在本发明范围内。例如,体系层的数量当适于特定实施方式时体系可以是两层、四层或更多层。此外,虽然远程客户端只连接到远程中继层2中的远程中继,其他远程客户端(未示出)可以通过网络连接连接到远程中继层1中的远程中继。此外,可以在远程中继层1提供其他的远程中继以及在远程中继层1提供其他的远程中继。本领域普通技术人员可识别许多变化、修改和替换。
网络连接120、130、140在图1中被作为独立网络示出,但这并不是本发明必需的。网络连接可以被提供为单一网络(例如因特网)的部件,以便在多种远程客户端、远程中继和中央中继之间提供通信。
第二数据中心152包括多个中央中继(中央中继1(152A)-中央中继n(152 n))。第二数据中心152中的中央中继经过分散在远程中继层1和远程中继层2中的远程中继136和126的体系结构而分别与远程客户端114和116通信。如在本说明书中更充分所述,发自客户端110的订阅请求可以通过远程中继124和134/136被发送到第一客户中心150和第二客户中心152。来自远程客户端114的发布请求可以经过远程中继126和134/136被发送到第一和第二数据中心。因此,如果由远程客户端114发布的消息内容匹配由远程客户端110提交的订阅请求,则可使用本文所述的发布/订阅系统将该内容提供到远程客户端110。
为了在数据中心提供流量的负载平衡,如在本说明书中更充分以及下文更具体所述,订阅发布信息被发送到预定的中央中继。对于订阅请求,远程中继当从远程客户端接收时记录订阅请求,并然后向数据中心之一中的每个中央中继转发所述订阅请求。接收订阅请求的中央中继将记录订阅请求。在其他数据中心中的中央中继不接收该订阅请求。当远程客户端向远程中继发送发布请求时,远程中继向每个数据中心中的中央中继之一转发所述发布请求。在实施例中,接收发布请求的每个数据中心中的特定中央中继被定义在远程中继的配置数据中,使得不同的远程中继向不同的中央中继发送它们的发布消息。
在接收发布请求之后,已记录对应订阅请求的中央中继将然后向远程中继发送所需消息,从所述远程中继接收所述订阅请求。接下来,远程中继将向已提交订阅请求的远程终端发送所需消息。
利用本文所述体系结构的本发明实施例适于包括监控网络流量、包括DNS解析系统(例如SDNS、TGV、Whois等等)的应用。本发明也适用于其他发布/订阅系统,在应用层提供负载平衡,将会增加系统性能和安全。应该注意:与在网络层提供负载平衡(例如,分组负载平衡器)的常规技术相比,本发明实施例在应用层提供负载平衡。
图2A是根据本发明实施例向多个中央中继发送订阅请求的远程客户端和远程中继的简化示意图。远程客户端210(与远程中继220通信的n个远程客户端之一)向远程中继220发送订阅请求(处理1)。订阅请求包括目标。例如,远程客户端210可对于“以x开始”的消息感兴趣。可选订阅请求来源于远程客户端212(处理2)。可选订阅请求可以是相同消息类型或不同消息类型,例如,“以y开始”的消息。在实施例中,如果订阅请求是相同消息类型,则远程中继220将执行聚合或整合功能,记录如下指示:远程客户端210和远程客户端212对特定消息类型感兴趣。因为对于已由另一客户端请求的这些订阅已发出订阅消息,远程中继将执行聚合功能,根据原始订阅请求向列表仅仅添加新订阅远程客户端的身份。该列表可存储在远程中继的计算机可读存储器中。
例如,在服务器上运行的DNS服务可以在给定时期内跟踪DNS转换的数量。该DNS转换率可以发布为其他客户端可感兴趣接收的统计数据。该DNS转换统计可以开始于预定字符或字符串,例如“DNST”,该DNS转换统计的订阅请求将因此包括发布消息中的串将满足的条件。例如,该条件可以是以“DNST”开始的串。该条件可以被称作目标以及发布消息中的串可以被称为模式。对于该示例,这种模式可以是DNST100,指示一秒内100次DNS转换。当中继接收正发布到系统的统计列表中的模式或串时,目标DNST将与模式DNST100比较,以及以目标DNST开始的模式将满足规定的条件。因此,中继将向已订阅这些DNS转换统计的客户端发送该统计。
作为另一示例,可能需要向特定机器发送命令。为了发送该命令,机器可以订阅,向远程中继提供机器名。另一机器然后发送包括感兴趣机器名的发布消息。在发布过程中,所需机器将根据感兴趣的机器名接收消息。该命令模式的另一变形在于:发布消息可以使用通配符被发送到所有机器。本领域普通技术人员将理解许多变化,修改和替换。
因此,订阅消息具有条件(也被称为目标),以及所发布消息由中央中继和远程中继检查以确定在所发布消息中的串是否具有满足发布消息规定的条件的模式。例如,目标可以是第一个长度(例如,四个字符)的字符串以及模式可以是大于第一长度的第二长度(例如,10个字符)的字符串。公布消息经过检查以确定消息中模式的一部分是否匹配感兴趣的目标。如果目标和部分或所有模式之间存在匹配,则中继将使用目标将所发布消息或某些部分或其变形指向已订阅的其他中继和客户端。只要使用该目标订阅的用户接收涉及订阅的消息,则所发布消息变成另一消息。
再次参见图2A,在远程中继接收新的订阅请求之后,远程中继记录订阅请求以便所述订阅请求中的目标可以与远程中继稍后接收的消息相比较。远程中继220然后向和数据中心#1相关的所有中央中继230a - 230n转发订阅消息(处理3)。如上所述,如果订阅对于远程中继不是新的订阅,则聚合功能将被执行以及没有其他的订阅消息将被发送到中央中继。如图2A所示,两个数据中心-数据中心#1和数据中心#2被提供为体系发布/订阅系统的一部分。在其他实施例中,也可以提供其他数据中心。提供多个数据中心提供了系统冗余和改进的安全性和性能。如图2A所示的中央中继230a-230n可以共同位于物理设施中或以适合于特定系统实施地地理分布。在实施例中,中央中继共同位于由受让人管理的安全设施中。
订阅消息被发送到第一组中央中继(数据中心#1)中的所有中央中继。在所示示例中,示意有三个中央中继,但更少或更多的中央中继都包含在本发明的范围中。订阅消息并不发送到第二组中央中继(数据中心#2)中的中央中继。在可替换实施例中,包括目标的订阅消息的变形被发送到第一组中央中继中的每个中央中继。通常,远程中继将存储配置数据,用于定义特定远程中继将向其发送订阅消息的中央中继组。如下文更完整地描述,仅仅向一组中央中继发送订阅消息将去除复制消息发送并提供发布消息的负载平衡。如果是新的订阅,则接收订阅消息的中央中继将记录涉及所述订阅消息的信息。如果订阅消息不是新的,则中央中继将执行关于由远程中继接收订阅消息解释的压缩功能。例如,如果订阅消息中的目标已由中央中继处理,则远程中继的身份将被添加到列表中,所述列表包括目标和关于目标已经订阅的其他远程中继的身份。
虽然这并不是本发明必须的,但中央中继150a-150n共同位于第一个数据中心150中以及中央中继152a-152n共同位于第二个数据中心152n中,虚线150和152表示地理边界,即数据中心相关的地理区域。也有可能多层体系不具有多个地理。在图1所示的实施例中,示出两层远程中继和一层中央中继都在不同的地理位置,但这只是示例,本发明并不限于该特定示例。当前受让人维护位于世界各地许多国家的远程客户端(也被称为边缘站点或远程站点)。此外,受让人维护经过一层或多层远程中继连接到这些远程客户端的多个数据中心。因此,虽然仅仅示出两个数据中心,但本发明不限于该特定实施方式。
图2B是根据本发明实施例向多个中心中继实施消息发布的远程客户端和远程中继的简化原理图。远程客户端250向远程中继260发送发布请求(处理4)。发布请求可以是包括性能统计等的消息。因此,术语请求用于表示不需要答复。如上所述,涉及远程客户端250的性能的统计可以发送到远程中继260用于发布到感兴趣的客户端。发布请求将包括以模式为特征的消息字符串。当远程中继260接收发布请求时,从远程中继260向第一组中央中继中的第一中央中继(例如,中央中继230a)和第二组中央中继中的第二中央中继(例如,中央中继240b)发送发布消息(处理5)。发布消息可以与发布请求相同或时发布请求的变形,将包括消息字符串。因此,发布消息被传送到第一组中央中继中的一个中央中继和第二组中央中继中的一个中央中继。因此,本发明提供体系发布/订阅系统,其中订阅消息由一组中央中继中所有中央中继接收(处理3)以及发布消息由每组中央中继中的一个中央中继接收(处理5)。
因为订阅消息由一组中央中继(数据中心#1)中的所有中央中继接收,接收发布消息的中央中继(中央中继230a)能确定发布消息中的模式和订阅消息中的目标之间的匹配。例如,如果目标是“DNST”以及模式是“DNST100”,则中央中继230a将确定目标匹配模式的一部分,表明中央中继已经从对该消息类型感兴趣的远程中继接收订阅消息。因此,进行确定该模式是否满足和目标相关的条件。
因为在第二组中央中继(数据中心#2)没有接收订阅消息,由中央中继240b接收发布消息并不导致目标和至少一部分模式之间的匹配。由于负载在数据中心中的多个中央中继之间分步,因此本发明实施例提供应用层负载平衡。优选地,当在数据中心从其他远程中继接收后续发布消息时,消息将平均近似均匀地分步到数据中心中的多个中央中继之间。因此,并不是单个中央中继执行大部分的发布任务,工作量在多个中央中继之间分步。尽管数据中心中每个中央中继接收订阅消息并记录目标,但发布消息仅由数据中心中的一个中央中继接收,导致仅仅一个中央中继处理发布消息以确定模式和目标之间的匹配。
一旦中央中继230a已确定匹配,消息字符串被发送到远程中继220(过程6),其被包括在中央中继维护的列表中,表示对该特定消息类型的兴趣。除了消息字符串,其他信息可以和消息字符串一起保存。远程中继220接下来确定目标匹配模式的至少一部分并将消息字符串发送到远程客户端210(处理7)。如果远程客户端212已提交类似的订阅请求(可选的处理2),则消息字符串也可以被传送到远程客户端212。
在其中只有一组中央中继的实施方式中,本发明实施例将仍提供应用层负载平衡。在这些实施方式中,订阅消息将被送到组中的每个中央中继,即,系统中的所有中央中继。发布消息将然后被传送到并由中央中继接收。接收发布消息的中央中继将然后向订阅远程中继通信所述发布消息。因此,即使在使用单组中央中继的实施方式中,“订阅所有和发布一个”的模型将产生应用层负载平衡。需要注意:在该单组实施方式中,发布消息将被发送到中央中继组中的一个中央中继,而不是多组中央中继中每组中一个中央中继。
图2A-2B示出能订阅和发布的远程客户端。一般而言,数据(例如,性能报告、采样的原始数据包、授权请求等)构成从远程客户端流向数据中心的大部分流量,而命令构成从数据中心流向远程客户端的大部分流。在其他应用中,数据和命令流可有所不同。本领域普通技术人员可识别许多变化、修改和替换。
图3是示出根据本发明实施例在发布/订阅系统中实施发布消息负载平衡的方法的简化流程图。所述方法包括在第一远程中继从第一远程客户端接收订阅请求(310)。第一远程客户端的身份和目标一起被记录在第一远程中继。所述目标将用于确定由第一远程中继随后接收的消息字符串和目标之间的匹配。换而言之,远程中继存储指示:第一远程客户端对于特定类型的发布消息感兴趣。订阅消息对于多个远程客户端是共同的,提供集成订阅请求和改进系统性能。
从第一远程中继向第一组中央中继发送订阅消息(312)。订阅消息包括目标,向中央中继提供指示:第一远程中继对由第一远程客户端指定的特定类型的发布消息感兴趣。如图2A所示,订阅消息被发送到第一组中央中继的所有中央中继。在本示例性实施例中,该订阅消息因此仅仅被发送到中央中继组合之一。在对远程中继的配置文件中定义、在握手操作期间定义、由系统操作员指定等向其发送订阅消息的特定中央中继集合。第一组中央中继中的中央中继记录涉及订阅消息的信息,例如,目标和第一远程中继的身份。所述订阅消息可在达到中央中继之前经过一个或多个远程中继。
当从第二远程客户端向第二远程中继发送发布请求时,初始化所述发布/订阅系统的发布部分(314)。所述发布请求包括以模式为特征的消息字符串。第二远程中继是与图2B所示的中央中继通信的多个远程中继之一。从第二远程中继向第一组中央中继中的第一中央中继和第二组中央中继中的第二中央中继发送发布消息(316)。所述发布消息包括以模式为特征的消息字符串。在对远程中继的配置文件中定义、在握手操作期间定义、由系统操作员指定等向其发送订阅消息的特定中央中继。通过向每组中的一个中央中继发送发布消息,可去除发布消息的复制。在某些实施例中,中央中继上的流量负载受到监控以及远程中继的适应性控制经过实施以便改进系统的负载平衡性能。
第一组中央中继中的所有中央中继(包括第一中央中继)接收订阅消息。然而,第二组中央中继(包括第二中央中继)中没有中央中继接收订阅消息。因此,当发布消息由第一中央中继接收时,可以确定所述目标匹配模式的至少一部分(318)。另一方面,因为第二组中央中继中的中央中继没有接收发布消息,在模式和第二组中央中继的中央中继中存储的目标之前没有发现匹配。当然,如果在某些之前时间,另一远程中继已向第二组中央中继提交包括目标的订阅消息,第二中央中继将类似于第一中央中继的形式确定匹配。然而,在图3所示的方法中,为了简便提供简化示例。
在确定匹配之后,响应于确定第一远程中继感兴趣于和发布消息相关的消息类型,第一中央中继向第一远程中继发送消息字符串(320)。虽然在该特定示例中,发布消息仅发送到第一远程中继,本领域普通技术人员将理解:发布消息可以由第一中央中继发送到多个远程中继。例如,如果第一中央中继已经从90个远程中继中的15个接收具有相同目标的订阅消息,则当接收具有部分或完全匹配目标的模式的发布消息时,第一中央中继将然后向已订阅该特定消息类型的15个远程中继发送发布消息或其变形。本领域普通技术人员可识别许多变化、修改和替换。
在一远程中继,确定目标匹配模式的至少一部分(322)。根据该匹配,第一远程中继向第一客户端发送消息字符串(324)。因此,第一客户端能响应初始订阅请求接收所需信息。
应该注意:虽然单个订阅请求和单个发布请求被用于图3所示的方法中,本发明并不限于该特定实施例。多个订阅请求可由远程中继接收、处理并发送到中央中继。多个远程中继可以与中央中继通信,向一组中央中继发送订阅消息。因此,虽然只在图2A和2B中示出两个远程中继,在某些实施方式中,更多数量(例如80个或更多远程中继)可与中央中继通信。远程中继的特点数量以及体系的层数取决于特定应用。本领域普通技术人员可识别许多变化、修改和替换。
应该理解:图3所示的特定步骤提供了根据本发明实施例在发布/订阅系统中实施发布消息负载平衡的特定方法。也可以根据可替换实施执行步骤的其他序列。例如,本发明的可替换实施例可以不同顺序执行以上列出的步骤。而且,图3所示的单个步骤可包括多个子步骤,所述多个子步骤以适于单个步骤的不同序列执行。而且,取决于特定应用可以添加或删除其他步骤。本领域普通技术人员可识别许多变化、修改和替换。
图4是示出根据本发明实施例在发布/订阅系统中的消息流的图表。左侧栏列出事件,中间栏和右侧栏列出由远程中继或中央中继分别响应事件采取的操作。参见图表的第一行,如果订阅请求/订阅消息由远程中继接收,则只要订阅不是复制则记录该订阅。如果订阅请求是来自特定远程客户端的复制请求,则远程中继将丢弃该复制请求。另外,如果类似订阅请求已由另一来源接收,则远程中继可以使用新的请求者的身份更新其数据库,以便新的请求者将和已存储的目标相关。在记录期间,请求者的身份(例如远程客户端或另一远程中继)将和请求相关的目标一起存储。通常,如果订阅请求/消息是新的,则在记录处理之后传送。可替换地,多个请求可以由远程中继在以批操作模式发送之前捆绑。在记录订阅之后,如果远程中继位于远程中继(例如,远程中继层2)下方的体系层中,订阅消息将在更接近中央中继的层转发到远程中继。如果远程中继位于邻近中央中继的体系层中(例如远程中继层1),远程中继将向一组中央中继中的每个中央中继发送订阅消息。
继续参见图表的第一行,如果订阅请求由中央中继接收,则订阅将被记录。因此,当接收发布消息时,发布消息、其某些部分、或其变形可以根据由中央中继记录的信息被发送到远程中继。一般地,远程中继的身份和目标被包括在订阅请求中。
图中的第二行涉及从远程客户端接收发布请求。远程中继将向每组中央中继中的一个中央中继转发涉及该发布请求的发布消息。发布消息可以是从远程客户端接收的发布请求、发布请求的一部分、发布请求的变形等。例如,来自发布请求的消息字符串可以被转发到中央中继。第二行中的右侧栏是空白的,因为在一个实施方式中,没有远程客户端被直接连接到中央中继。在该实施方式中,所有远程客户端连接到中央中继至远程中继,以及因此不再中央中继从远程客户端接收发布请求。在其他实施方式中,远程客户端可以直接连接到中央中继而不连接远程中继。
图中第三行涉及从远程中继接收发布消息。如果临近中央中继的体系中在远程中继接收发布消息(即,从体系的较低层的远程中继),发布消息将被转发到每组中央中继中的一个中央中继。该处理由图2B中的处理5所示。如果在中央中继接收发布消息,则发布消息将转发送到已订阅该特定消息类型的远程中继。如结合图3的描述,将确定消息字符串的至少一部分是否匹配由中央中继存储的目标。
图表中的第四行涉及从中央中继接收发布消息。当体系中邻近远程客户端的远程中继接收该发布消息时,其向已订阅该特定消息类型的远程客户端发送该发布消息。如结合图3所述,将进行确定消息字符串的至少一部分是否匹配远程中继所存储的目标。如果接收发布消息的远程中继并不邻近体系中的远程客户端,其向体系中的已订阅该特定消息类型的接下来更低的层转发发布消息。接下来,体系的接下来更低的层中的远程中继将继续转发发布消息,直到消息被发送到订阅远程客户端。
图5是根据本发明实施例远程中继的元件的简化示意图。远程中继500包括处理器512(也称为数据处理器)、通信模块514和存储器516。所述处理器512可以是通用微处理器,经配置以执行指令和数据,诸如由加州圣克拉拉的因特尔公司制造的奔腾处理器。也可以是专用集成电路(ASIC),实施指令的至少一部分,用于根据本发明以软件、固件和/或硬件执行方法。例如,该处理器包括专用电路、ASIC、组合逻辑、其他可编程逻辑、其他可编程处理器、其组合,等等。
处理器512耦合到存储器516以便存储和访问用于体系发布/订阅系统操作期间的所存储信息。存储器(也称为数据库或计算机可读介质)516可以以适于特定应用是当地的或分布的。存储器的示例是硬盘、闪速存储器等。可选输入/输出接口518经提供以帮助由系统操作员控制远程中继。可选I/O接口518也提供机制,用于向系统操作员、其他合适人员或合适的计算机系统发送性能报告。更一般地,经过通信模块514控制远程中继,通过其系统操作员可以和远程中继交互。
通信模块514也提供远程中继和远程客户端520、其他远程中继522,和/或中央中继524之间的通信。
应该理解:本文所述示例和实施例只用于示例目的,根据其的各种修改或变化将建议给本领域技术人员并包括在本申请的精神和范围内以及所附权利要求的范围内。
Claims (23)
1. 一种发布消息的方法,所述方法包括:
在第一远程中继从第一客户端接收订阅请求,其中所述订阅请求包括目标;
从所述远程中继向第组一中央中继中的每个发送订阅消息,其中所述订阅请求包括目标;
在第二远程中继从第二客户端接收发布请求,其中所述发布请求包括以模式为特征的消息字符串;
从所述第二远程中继向所述第一组中央中继中的第一中央中继和第二组中央中继中的第二中央中继发送发布消息,其中所述发布消息包括所述消息字符串;
在所述第一中央中继确定所述目标匹配所述模式的至少一部分;
从所述第一中央中继向所述第一远程中继发送所述消息字符串;
在所述第一远程中继确定所述目标匹配所述模式的至少一部分;以及
向所述第一客户端发送所述消息字符串。
2. 如权利要求1所述的方法,其中所述第一组中央中继位于第一数据中心中以及所述第二组中央中继位于第二数据中心中。
3. 如权利要求1所述的方法,进一步包括:在所述第一远程中继记录所述订阅请求。
4. 如权利要求1所述的方法,其中从所述第二远程中继发送所述发布消息包括:
向所述第一组中央中继中的单个中央中继发送所述发布消息;以及
向所述第二组中央中继中的单个中央中继发送所述发布消息。
5. 如权利要求1所述的方法,其中所述发布消息仅仅被发送到所述第一中央中继和所述第二中央中继。
6. 如权利要求1所述的方法,其中所述目标包括具有预定字符串的模式。
7. 如权利要求6所述的方法,其中所述模式开始于所述预定字符串。
8. 如权利要求6所述的方法,其中所述模式结束于所述预定字符串。
9. 一种发布/订阅消息架构,包括:
第一组中央中继;
第二组中央中继;
和所述第一组中央中继通信的第一远程中继;
和所述第一远程中继通信的第一客户端,其中所述第一远程中继可操作以将订阅请求发送到所述第一组中央中继中的每个中央中继;
和所述第二组中央中继通信的第二远程中继;
和所述第二远程中继通信的第二客户端,其中所述第二远程中继可操作以将发布消息发送到所述第二组中央中继中的所述中央中继之一以及所述第二组中央中继中的所述中央中继之一。
10. 如权利要求9所述的发布/订阅消息架构,其中所述第一组中央中继共同位于第一位置,以及所述第二组中央中继共同位于地理上独立于所述第一位置的第二位置。
11. 如权利要求9所述的发布/订阅消息架构,其中所述订阅请求来自所述第一客户端。
12. 如权利要求9所述的发布/订阅消息架构,其中所述发布消息来自于不同于所述第一客户端的第二客户端。
13. 如权利要求9所述的发布/订阅消息架构,其中所述第一远程中继可操作以记录所述订阅请求。
14. 如权利要求9所述的发布/订阅消息架构,其中所述订阅请求包括目标。
15. 如权利要求14所述的发布/订阅消息架构,其中所述目标包括具有预定字符串的模式。
16. 如权利要求15所述的发布/订阅消息架构,其中所述模式开始于所述预定字符串。
17. 如权利要求15所述的发布/订阅消息架构,其中所述模式结束于所述预定字符串。
18. 如权利要求9所述的发布/订阅消息架构,进一步包括与所述第一远程中继通信的第三客户端。
19. 如权利要求9所述的发布/订阅消息架构,进一步包括与所述第二远程中继通信的第四客户端。
20. 一种操作远程中继的方法,所述方法包括:
在第一远程中继接收来自第一远程客户端的订阅请求,其中所述订阅请求包括目标;
在所述第一远程中继的计算机可读介质中记录和所述第一远程客户端相关的识别信息以及和所述目标相关的信息;
向第一组中央中继中的每个发送订阅消息,其中所述订阅消息包括目标;
在第二远程中继接收来自第二远程客户端的发布请求,其中所述发布请求包括以模式为特征的消息字符串;
从所述第二远程中继向第一组中央中继中的第一中央中继以及第二组中央中继中的第二中央中继发送发布消息,其中所述发布消息包括所述消息字符串;
在所述第一远程中继接收来自所述第一中央中继的所述消息字符串;
在所述第一远程中继确定所述目标匹配所述模式的至少一部分;以及
从所述第一远程中继向所述第一客户端发送所述消息字符串。
21. 如权利要求20所述的方法,其中所述订阅消息包括和所述第一远程中继相关的识别信息。
22. 如权利要求20所述的方法,其中所述发布消息是消息字符串。
23. 如权利要求20所述的方法,其中发送所述发布消息包括:仅向所述第一组中央中继中的所述第一中央中继和所述第二组中央中继中的第二中央中继发送所述发布消息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/615,205 US8982882B2 (en) | 2009-11-09 | 2009-11-09 | Method and system for application level load balancing in a publish/subscribe message architecture |
US12/615205 | 2009-11-09 | ||
PCT/US2010/049872 WO2011056312A1 (en) | 2009-11-09 | 2010-09-22 | Method and system for application level load balancing in a publish/subscribe message architecture |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102713833A true CN102713833A (zh) | 2012-10-03 |
Family
ID=43970229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010800546307A Pending CN102713833A (zh) | 2009-11-09 | 2010-09-22 | 在发布/订阅消息架构中用于应用层负载平衡的方法和系统 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8982882B2 (zh) |
EP (1) | EP2499561B1 (zh) |
KR (1) | KR20120088744A (zh) |
CN (1) | CN102713833A (zh) |
CA (1) | CA2779054A1 (zh) |
WO (1) | WO2011056312A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656726A (zh) * | 2018-11-28 | 2019-04-19 | 中国船舶重工集团公司第七〇九研究所 | 一种适用于数据中心的工业信息交互系统及方法 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BR0213863A (pt) | 2001-11-01 | 2004-12-21 | Verisign Inc | Processo e sistema para atualizar um banco de dados remoto |
US9292612B2 (en) | 2009-04-22 | 2016-03-22 | Verisign, Inc. | Internet profile service |
US8527945B2 (en) | 2009-05-07 | 2013-09-03 | Verisign, Inc. | Method and system for integrating multiple scripts |
US8982813B2 (en) * | 2009-06-03 | 2015-03-17 | Lg Electronics Inc. | Method and apparatus for transmitting sounding reference signal |
US8510263B2 (en) * | 2009-06-15 | 2013-08-13 | Verisign, Inc. | Method and system for auditing transaction data from database operations |
US8977705B2 (en) * | 2009-07-27 | 2015-03-10 | Verisign, Inc. | Method and system for data logging and analysis |
US8856344B2 (en) | 2009-08-18 | 2014-10-07 | Verisign, Inc. | Method and system for intelligent many-to-many service routing over EPP |
US8327019B2 (en) * | 2009-08-18 | 2012-12-04 | Verisign, Inc. | Method and system for intelligent routing of requests over EPP |
US8175098B2 (en) | 2009-08-27 | 2012-05-08 | Verisign, Inc. | Method for optimizing a route cache |
US9569753B2 (en) * | 2009-10-30 | 2017-02-14 | Verisign, Inc. | Hierarchical publish/subscribe system performed by multiple central relays |
US8982882B2 (en) | 2009-11-09 | 2015-03-17 | Verisign, Inc. | Method and system for application level load balancing in a publish/subscribe message architecture |
US9762405B2 (en) * | 2009-10-30 | 2017-09-12 | Verisign, Inc. | Hierarchical publish/subscribe system |
US9235829B2 (en) | 2009-10-30 | 2016-01-12 | Verisign, Inc. | Hierarchical publish/subscribe system |
US9269080B2 (en) * | 2009-10-30 | 2016-02-23 | Verisign, Inc. | Hierarchical publish/subscribe system |
US9047589B2 (en) | 2009-10-30 | 2015-06-02 | Verisign, Inc. | Hierarchical publish and subscribe system |
US8935330B2 (en) * | 2011-05-11 | 2015-01-13 | International Business Machines Corporation | Redirecting messages in a publish/subscribe messaging system |
CN103037000B (zh) * | 2012-12-21 | 2015-07-08 | 北京邮电大学 | 一种发布订阅系统及其通知消息处理方法 |
GB2520972A (en) | 2013-12-05 | 2015-06-10 | Ibm | Workload management |
CN105591877A (zh) * | 2014-10-23 | 2016-05-18 | 阿里巴巴集团控股有限公司 | 一种业务消息传输方法、装置及系统 |
US9886513B2 (en) * | 2015-05-25 | 2018-02-06 | International Business Machines Corporation | Publish-subscribe system with reduced data storage and transmission requirements |
US11765109B2 (en) * | 2020-06-09 | 2023-09-19 | Jpmorgan Chase Bank, N.A. | Method and system for providing resiliency in interaction servicing across data centers |
CN112636964A (zh) * | 2020-12-16 | 2021-04-09 | 四川长虹电器股份有限公司 | 监测设备远程配置方法及系统 |
Family Cites Families (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2345157B (en) | 1998-12-23 | 2003-06-18 | Ibm | Publish and subscribe data processing apparatus, method and computer program product with declaration of a unique publisher broker |
US6216132B1 (en) * | 1997-11-20 | 2001-04-10 | International Business Machines Corporation | Method and system for matching consumers to events |
US6487583B1 (en) | 1998-09-15 | 2002-11-26 | Ikimbo, Inc. | System and method for information and application distribution |
US6578066B1 (en) | 1999-09-17 | 2003-06-10 | Alteon Websystems | Distributed load-balancing internet servers |
GB2345158A (en) | 1998-12-23 | 2000-06-28 | Ibm | Publish and subscribe data processing with ability to specify a local publication/subscription |
ATE381846T1 (de) | 1999-03-03 | 2008-01-15 | Ultradns Inc | Skalierbare und effiziente domainnamenauflösung |
GB2354912B (en) | 1999-09-17 | 2004-03-10 | Ericsson Telefon Ab L M | Routing in a packet switched network |
US7020697B1 (en) | 1999-10-01 | 2006-03-28 | Accenture Llp | Architectures for netcentric computing systems |
KR100856149B1 (ko) | 1999-11-26 | 2008-09-03 | 네테카 인코포레이티드 | 전자 메일 서버 및 전자 메일 통신을 용이하게 하기 위한 방법 |
US7734815B2 (en) | 2006-09-18 | 2010-06-08 | Akamai Technologies, Inc. | Global load balancing across mirrored data centers |
US7725602B2 (en) | 2000-07-19 | 2010-05-25 | Akamai Technologies, Inc. | Domain name resolution using a distributed DNS network |
US7478148B2 (en) | 2001-01-16 | 2009-01-13 | Akamai Technologies, Inc. | Using virtual domain name service (DNS) zones for enterprise content delivery |
US7133869B2 (en) | 2001-03-06 | 2006-11-07 | Knowledge Vector, Inc. | Methods and systems for and defining and distributing information alerts |
US6944135B2 (en) | 2001-07-16 | 2005-09-13 | International Business Machines Corporation | Methods and arrangements for establishing a group collaboration session utilizing multiple multicast distribution trees |
BR0213863A (pt) | 2001-11-01 | 2004-12-21 | Verisign Inc | Processo e sistema para atualizar um banco de dados remoto |
US7406537B2 (en) * | 2002-11-26 | 2008-07-29 | Progress Software Corporation | Dynamic subscription and message routing on a topic between publishing nodes and subscribing nodes |
US20030208539A1 (en) | 2002-05-02 | 2003-11-06 | Gildenblat Ilya G. | Event-driven information publication |
US7672275B2 (en) | 2002-07-08 | 2010-03-02 | Precache, Inc. | Caching with selective multicasting in a publish-subscribe network |
US20050027882A1 (en) | 2003-05-05 | 2005-02-03 | Sullivan Alan T. | Systems and methods for direction of communication traffic |
US20050105513A1 (en) | 2002-10-27 | 2005-05-19 | Alan Sullivan | Systems and methods for direction of communication traffic |
US7310686B2 (en) | 2002-10-27 | 2007-12-18 | Paxfire, Inc. | Apparatus and method for transparent selection of an Internet server based on geographic location of a user |
GB0305066D0 (en) | 2003-03-06 | 2003-04-09 | Ibm | System and method for publish/subscribe messaging |
US7200675B2 (en) | 2003-03-13 | 2007-04-03 | Microsoft Corporation | Summary-based routing for content-based event distribution networks |
US7761570B1 (en) | 2003-06-26 | 2010-07-20 | Nominum, Inc. | Extensible domain name service |
US7769826B2 (en) | 2003-06-26 | 2010-08-03 | Nominum, Inc. | Systems and methods of providing DNS services using separate answer and referral caches |
JP4368184B2 (ja) | 2003-11-19 | 2009-11-18 | 株式会社日立製作所 | ブラックリストによる緊急アクセス遮断装置 |
US8086492B2 (en) | 2004-03-23 | 2011-12-27 | Douglas Ashbaugh | Frame-based network advertising and exchange therefor |
US20060031432A1 (en) | 2004-05-21 | 2006-02-09 | Bea Systens, Inc. | Service oriented architecture with message processing pipelines |
US7761678B1 (en) | 2004-09-29 | 2010-07-20 | Verisign, Inc. | Method and apparatus for an improved file repository |
US7822801B2 (en) | 2004-10-14 | 2010-10-26 | International Business Machines Corporation | Subscription propagation in a high performance highly available content-based publish/subscribe system |
US7685270B1 (en) | 2005-03-31 | 2010-03-23 | Amazon Technologies, Inc. | Method and apparatus for measuring latency in web services |
US20060235885A1 (en) | 2005-04-18 | 2006-10-19 | Virtual Reach, Inc. | Selective delivery of digitally encoded news content |
CN101228518A (zh) | 2005-05-24 | 2008-07-23 | 派克斯费尔有限公司 | 通信业务定向的增强特征 |
US7546368B2 (en) | 2005-06-01 | 2009-06-09 | Neustar, Inc. | Systems and methods for isolating local performance variation in website monitoring |
US7509235B2 (en) * | 2005-08-31 | 2009-03-24 | General Electric Company | Method and system for forecasting reliability of assets |
US20070061282A1 (en) | 2005-09-14 | 2007-03-15 | Nec Laboratories America, Inc. | Data network information distribution |
US7477575B2 (en) | 2005-09-23 | 2009-01-13 | Verisign, Inc. | Redundant timer system and method |
GB0521355D0 (en) | 2005-10-19 | 2005-11-30 | Ibm | Publish/subscribe system and method for managing subscriptions |
US7680937B2 (en) | 2005-12-22 | 2010-03-16 | Microsoft Corporation | Content publication |
AU2007207417A1 (en) | 2006-01-20 | 2007-07-26 | Paxfire, Inc. | Systems and methods for discerning and controlling communication traffic |
US8713188B2 (en) | 2007-12-13 | 2014-04-29 | Opendns, Inc. | Per-request control of DNS behavior |
US8606926B2 (en) | 2006-06-14 | 2013-12-10 | Opendns, Inc. | Recursive DNS nameserver |
WO2008021512A2 (en) | 2006-08-17 | 2008-02-21 | Neustar, Inc. | System and method for handling jargon in communication systems |
WO2008021514A2 (en) | 2006-08-17 | 2008-02-21 | Neustar, Inc. | System and method for managing domain policy for interconnected communication networks |
US8234379B2 (en) | 2006-09-14 | 2012-07-31 | Afilias Limited | System and method for facilitating distribution of limited resources |
US20080133646A1 (en) | 2006-12-04 | 2008-06-05 | Bea Systems, Inc. | System and method for fully distributed network with agents |
US20100030897A1 (en) | 2006-12-20 | 2010-02-04 | Rob Stradling | Method and System for Installing a Root Certificate on a Computer With a Root Update Mechanism |
US8850473B2 (en) | 2007-02-01 | 2014-09-30 | Invidi Technologies Corporation | Targeting content based on location |
US7694016B2 (en) | 2007-02-07 | 2010-04-06 | Nominum, Inc. | Composite DNS zones |
US8688850B2 (en) | 2007-04-10 | 2014-04-01 | International Business Machines Corporation | Method for inter-site data stream transfer in cooperative data stream processing |
WO2008130709A2 (en) | 2007-04-20 | 2008-10-30 | Tekelec | Systems, methods, and computer program products for providing service interaction and mediation in a communications network |
US20080307436A1 (en) | 2007-06-06 | 2008-12-11 | Microsoft Corporation | Distributed publish-subscribe event system with routing of published events according to routing tables updated during a subscription process |
US8307054B2 (en) | 2007-08-30 | 2012-11-06 | Software Ag | Systems and/or methods for location transparent routing and execution of processes |
CA2701098A1 (en) | 2007-10-18 | 2009-04-23 | Neustar, Inc. | System and method for sharing web performance monitoring data |
US8566423B2 (en) | 2007-11-22 | 2013-10-22 | International Business Machines Corporation | Scalable publish/subscribe messaging systems and methods |
US20090235359A1 (en) | 2008-03-12 | 2009-09-17 | Comodo Ca Limited | Method and system for performing security and vulnerability scans on devices behind a network security device |
US7925782B2 (en) | 2008-06-30 | 2011-04-12 | Amazon Technologies, Inc. | Request routing using network computing components |
US20090282038A1 (en) | 2008-09-23 | 2009-11-12 | Michael Subotin | Probabilistic Association Based Method and System for Determining Topical Relatedness of Domain Names |
US9172713B2 (en) | 2008-09-24 | 2015-10-27 | Neustar, Inc. | Secure domain name system |
US8495127B2 (en) | 2008-09-26 | 2013-07-23 | International Business Machines Corporation | Improving scalability and throughput of a publish/subscribe network |
US7930393B1 (en) | 2008-09-29 | 2011-04-19 | Amazon Technologies, Inc. | Monitoring domain allocation performance |
US8521908B2 (en) | 2009-04-07 | 2013-08-27 | Verisign, Inc. | Existent domain name DNS traffic capture and analysis |
US9292612B2 (en) | 2009-04-22 | 2016-03-22 | Verisign, Inc. | Internet profile service |
US8676989B2 (en) | 2009-04-23 | 2014-03-18 | Opendns, Inc. | Robust domain name resolution |
US8527945B2 (en) | 2009-05-07 | 2013-09-03 | Verisign, Inc. | Method and system for integrating multiple scripts |
US8682342B2 (en) | 2009-05-13 | 2014-03-25 | Microsoft Corporation | Constraint-based scheduling for delivery of location information |
US8510263B2 (en) | 2009-06-15 | 2013-08-13 | Verisign, Inc. | Method and system for auditing transaction data from database operations |
US8453163B2 (en) * | 2009-06-29 | 2013-05-28 | Software Ag Usa, Inc. | Systems and/or methods for policy-based JMS broker clustering |
US8977705B2 (en) | 2009-07-27 | 2015-03-10 | Verisign, Inc. | Method and system for data logging and analysis |
US20110035497A1 (en) | 2009-08-05 | 2011-02-10 | Dynamic Network Services, Inc. | System and method for providing global server load balancing |
US8380870B2 (en) | 2009-08-05 | 2013-02-19 | Verisign, Inc. | Method and system for filtering of network traffic |
US8327019B2 (en) | 2009-08-18 | 2012-12-04 | Verisign, Inc. | Method and system for intelligent routing of requests over EPP |
US8175098B2 (en) | 2009-08-27 | 2012-05-08 | Verisign, Inc. | Method for optimizing a route cache |
US8291025B2 (en) | 2009-10-23 | 2012-10-16 | International Business Machines Corporation | Controlling retention of publication |
US8982882B2 (en) | 2009-11-09 | 2015-03-17 | Verisign, Inc. | Method and system for application level load balancing in a publish/subscribe message architecture |
US9235829B2 (en) | 2009-10-30 | 2016-01-12 | Verisign, Inc. | Hierarchical publish/subscribe system |
US9569753B2 (en) | 2009-10-30 | 2017-02-14 | Verisign, Inc. | Hierarchical publish/subscribe system performed by multiple central relays |
US9269080B2 (en) | 2009-10-30 | 2016-02-23 | Verisign, Inc. | Hierarchical publish/subscribe system |
US9047589B2 (en) | 2009-10-30 | 2015-06-02 | Verisign, Inc. | Hierarchical publish and subscribe system |
US9286369B2 (en) | 2009-12-30 | 2016-03-15 | Symantec Corporation | Data replication across enterprise boundaries |
-
2009
- 2009-11-09 US US12/615,205 patent/US8982882B2/en active Active
-
2010
- 2010-09-22 KR KR1020127012215A patent/KR20120088744A/ko not_active Application Discontinuation
- 2010-09-22 EP EP10828717.8A patent/EP2499561B1/en active Active
- 2010-09-22 CN CN2010800546307A patent/CN102713833A/zh active Pending
- 2010-09-22 WO PCT/US2010/049872 patent/WO2011056312A1/en active Application Filing
- 2010-09-22 CA CA2779054A patent/CA2779054A1/en not_active Abandoned
-
2015
- 2015-03-16 US US14/659,119 patent/US9124592B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656726A (zh) * | 2018-11-28 | 2019-04-19 | 中国船舶重工集团公司第七〇九研究所 | 一种适用于数据中心的工业信息交互系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20120088744A (ko) | 2012-08-08 |
US8982882B2 (en) | 2015-03-17 |
EP2499561A1 (en) | 2012-09-19 |
US20110110267A1 (en) | 2011-05-12 |
CA2779054A1 (en) | 2011-05-12 |
EP2499561A4 (en) | 2013-06-05 |
EP2499561B1 (en) | 2014-11-12 |
WO2011056312A1 (en) | 2011-05-12 |
WO2011056312A9 (en) | 2012-06-14 |
US9124592B2 (en) | 2015-09-01 |
US20150195350A1 (en) | 2015-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102713833A (zh) | 在发布/订阅消息架构中用于应用层负载平衡的方法和系统 | |
CN110417558B (zh) | 签名的验证方法和装置、存储介质及电子装置 | |
CN102640137A (zh) | 分级发布和订阅系统 | |
US7870288B2 (en) | Sharing data in scalable software blade architecture | |
Behnel et al. | On quality-of-service and publish-subscribe | |
US9269080B2 (en) | Hierarchical publish/subscribe system | |
CN100407627C (zh) | 一种实现端到端文件共享的系统及方法 | |
US7873696B2 (en) | Scalable software blade architecture | |
US20040139166A1 (en) | Method and system to communicate messages in a computer network | |
US9235829B2 (en) | Hierarchical publish/subscribe system | |
US9762405B2 (en) | Hierarchical publish/subscribe system | |
CN106059892A (zh) | 一种用于融合通信系统的消息引擎 | |
KR20040103943A (ko) | E-메일 관리 서비스들 | |
US20070005711A1 (en) | System and method for building instant messaging applications | |
KR100971506B1 (ko) | 발행 구독 네트워크에서 신뢰할 수 있고 효과적인 콘텐츠 기반 라우팅 및 질의와 응답을 위한 방법 및 장치 | |
US9569753B2 (en) | Hierarchical publish/subscribe system performed by multiple central relays | |
WO2013126430A1 (en) | Systems and methods involving virtual machine host isolation over a network | |
CN112351392B (zh) | 一种云通信短信服务平台 | |
US6963919B1 (en) | Method and system for improving computer network performance | |
CN107948233B (zh) | 处理写请求或读请求的方法、交换机、控制节点 | |
US8307112B2 (en) | Mediated information flow | |
CN1825837B (zh) | 通过即时消息传送进行的个人化信息订阅和传递 | |
Pickens | Functional distribution of computer based messaging systems | |
CN112910763A (zh) | 一种提供实时数据接口服务的方法、装置、设备及介质 | |
WO2011044840A1 (zh) | 一种处理短消息业务的设备及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121003 |