CN101849383A - 开放式组分处理系统 - Google Patents
开放式组分处理系统 Download PDFInfo
- Publication number
- CN101849383A CN101849383A CN200780025147A CN200780025147A CN101849383A CN 101849383 A CN101849383 A CN 101849383A CN 200780025147 A CN200780025147 A CN 200780025147A CN 200780025147 A CN200780025147 A CN 200780025147A CN 101849383 A CN101849383 A CN 101849383A
- Authority
- CN
- China
- Prior art keywords
- entity
- network
- data
- layering
- entities
- 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
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/2866—Architectures; Arrangements
- H04L67/2885—Hierarchically arranged intermediate devices, e.g. for hierarchical caching
-
- 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/542—Event management; Broadcasting; Multicasting; Notifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- 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
-
- 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
-
- 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/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/544—Remote
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
描述了一种在计算机网络中产生消息传递分层的消息传递系统和方法。所述网络由多个网络实体组成,其包含发布实体和订阅实体,其中所述发布实体具有所述订阅实体可能需要的数据。产生消息传递分层的所述消息传递系统和方法还包含数据层次,其应用于在所述发布实体和订阅实体之间交换的数据。响应于在所述实体之间交换的发布和订阅请求,所述数据层次确定所述多个网络实体之间构成的虚拟连接,从而网络实体之间建立的所述虚拟连接构成对应于所述数据层次的分层。
Description
技术领域
这里公开的原理涉及数据和电信网络,尤其是在分布式通信网络中的部件之间的相互通信。
背景技术
分布式计算网络在各个网络实体之间传输数据花费了大量时间,这些网络实体可能是或者也可能不是在物理上位于相同地点。通常,在系统部件之间交换信息已经利用了两种不同的方法:点对点拓扑和媒介体拓扑。图1A显示了点对点网络拓扑100的例子。每个实体101具有与每个其他实体的直接通信连接。中央目录服务器102用于在连接建立之前定位所希望的终端点。在许多情况下,由于网络中的部件数量或者由于为了避免点对点通信进行分离网络拓扑的互连,物理的点对点通信是无法获得的。
图1B显示了媒介体、或代理、网络拓扑105的例子,其用在各个网络部件106不具有彼此直接物理访问的情况下。代替的是,全部消息传递、包含目录活动都在中央目录服务器108的协助下流经服务器107。
这两种类型的网络拓扑都需要携带数据的消息传递定制为处理数据的特定应用。这产生非常刚性的系统,不允许引入新的部件或应用而不潜在扩展性的重新设计。而且,两种系统需要一个或多个中央目录服务器,需要它们用于注册每个网络部件的位置和服务。其他网络部件必须查询该目录以找到所需的部件或服务。如果目录服务器不可获得,则网络失去功能。
对于在地理上分布式的系统,相互通信的问题可能变得严重。例如,对于通信网络中的监测设备,某些部件可能如物理上位于单独叶片上一样靠近,但是仅在相同的网络监视器中或探测器中。也可能存在其他的系统部件,其可能位于第三方网络的某个地方,并且可能甚至位于地球的另一侧。这些部件中的每一个都需要与其他网路部件相互通信。如图1A和1B中所示,现今的方案实际上仅是工业标准网络协议与在该协议上专有消息传递的一种混合匹配。
然而,网络的不同部分、或者网络中的不同部件很可能使用不同的协议并且需要不同的消息集合。这些现实使得非常难于扩展现有消息传递系统以在网络中加入新的性能或加入新的部件,其同样需要接收各种消息。结果,大部分网络以硬件编码的消息传递协议而告终,这些应用之间的消息传递协议设计用于适应特定的网络实现方式和设备。
发明内容
这里阐述的原理描述了一种用于网络的消息传递系统,其中所述消息传递系统包含多个网络实体。所述多个网络实体既包含发布实体也包含订阅实体,其中所述发布实体具有所述订阅实体需要的数据。所述消息传递系统还包含数据层次,其应用于在所述发布实体和订阅实体之间交换的数据,其中响应于在所述实体之间交换的发布和订阅请求,所述数据层次确定所述网络实体之间构成的虚拟连接,从而网络实体之间建立的所述虚拟连接构成对应于所述数据层次的分层。
在另一个实施例中,描述了一种在计算机网络中多个网络实体之间产生消息传递分层的方法,其中所述方法包含在第一实体加入所述网路时由其定位父类层实体。所述方法还对于所述第一实体,发送发布/订阅信息到父类层实体,以及从所述父类层实体将发布/订阅信息发送到所述消息传递分层中所述父类层实体之上的实体以及发送到所述父类层实体下的实体,其订阅对应于所述父类层实体的发布/订阅信息中发布入口的数据。该方法的消息传递分层通过响应于实体之间交换的所述发布/订阅信息由所述网络实体之间的虚拟连接构成,以及对应于对于所述消息传递分层规定的数据层次。
在再一个实施例中,描述了一种在网络实体中完成订阅流程的方法,其中所述网络实体为计算机网路中消息传递分层的一部分。该方法包括从所述网络中的另一个实体接收订阅信息,保留所述订阅信息以及相关联的连接信息。该方法进一步包含当判定所述网络实体具有父类层时,将所述订阅信息提供给父类层,以及将订阅信息提供给每个提供对应于所述订阅信息的数据的较低层实体。
前面已经概述了本发明的相当宽泛的特征和技术优点,以便可以更好地理解下面对于本发明的详细描述。下文将描述本发明的附加特征和优点,其构成本发明权利要求的主题。本领域技术人员应当理解,所公开的构思和特定实施例可以易于用作修改或设计用于实现本发明相同目的的其他结构的基础。本领域技术人员还应当理解,这样的等价构造没有脱离如所述权利要求阐述的本发明主旨和范围。这些新颖的特性被认为是本发发明的特征,包括其组织以及操作的方法,与其他目标和优点一起在考虑结合附图时根据说明书将获得更好的理解。然而应当明确说明,每个附图仅用于例示和描述的目的,而没有意图作为本发明限制的规定。
附图说明
为了更完整地理解本发明,将参考下面的描述并且结合附图,其中:
图1A和1B是网络示意图,分别例示了网状网路拓扑和媒介体网络拓扑;
图2是网络示意图,例示了依照这里所描述原理的分层型网络;
图3是依照这里所描述原理的数据层次实施例的例示,使用层次语言格式;
图4是方框图,例示了依照这里所描述原理的分层型网络的例子;
图5是显示发布流程的流程图,用于依照这里所描述原理的消息传递系统中的网络实体;以及
图6是显示订阅流程的流程图,用于依照这里所描述原理的消息传递系统中的网络实体。
具体实施方式
为了提供更加高效和灵活的机制,用于在使用不同网络协议和网络部件的分布式网络中的部件之间传递消息,这里所描述的原理提供了一种鲁棒性的分层性消息传递方案,其可以跨越在地理上分布式网络进行操作而无需考虑特定的网络协议或物理网络拓扑。而且,这里所描述的原理便利于任意数据源以特定的并且分散的方式进行注册和定位,同时允许对数据集合的灵活修改,其修改方式使得父类网络部件完全不受该修改的影响。
借助这里所描述消息传递系统实施例的分层特性的优点,可以自由地将网络部件和实体添加到网络中以及从其中移除,而对消息传递系统或网络操作没有影响。依照该消息传递系统的优选实施例,该结构包含三种类型的系统实体。他们是发布者、订阅者和访客。发布者是发布数据的网络实体,该数据是在网络中其他部件可能需要或使用的数据。根据通过订阅或查询的请求,发布者组件推进更新、或新的数据。订阅者是进行请求通知以接收特定发布信息的更新的网络实体。这些更新由来自父类等级或同等等级的订阅者接收。访客实体是短时间出现在网络中的实体,其通常查询或更新少量的数据层次。实体不限于是单独的一种类型。一个实体可以既发布数据到网络、又可以从网络中的其他实体订阅数据。在这种情况下所发布和订阅的数据的范围可以重叠,也可以不重叠。而且,处于父类或顶层的每个实体应当知晓其下面实体的全部发布和订阅。
系统的分层特性允许实体通过简单地通知其感兴趣的聚合网络来进入和离开系统。例如,实体可以(经由其父类)向网络宣布对数据层次的特定部分感兴趣,并且请求网络在任何数据改变时(经由其父类)向其通知。类似地,实体可以向网络宣布其正在发布数据层次的特定部分,并且请求让对该数据感兴趣的实体知晓。最终,发布和订阅将以树形分层方式交叉,在此情况下消息传递系统将确定一个实体正在提供某些信息而分层中的另一个实体希望使用该信息。
虽然在此可能参考通信网络,或者更特殊地为监测通信网络的实体的网络,以用于例示本发明的消息传递系统,然而该消息传递系统可以用于任意类型的网络并且仍然具有这里所描述的原理。而且,依照这里所描述原理的消息传递系统可以用在子网络以及由多个独立子网络构成的网络中。子网络的一个例子是网络监测探测器中的组件,例如来源于Tektronix的Geo Probe,其中探测器的组件依照本发明的消息传递系统进行通信。此外,可以由这里所描述的消息传递系统将监测系统中的多个探测器和其他组件进行互连,以允许每个实体共享网络中的信息。所共享的信息可以是发送到装置的配置信息、由装置收集的用于监测网络的数据、由网络中的实体汇编的数据或统计信息集合、用于在网络中引导实体的控制信息、或者对于网络中的各个实体或网络自身来说有用的任何其他数据。
依照这里所描述原理的这种数据层次和网络分层在一起的组合,便利于使用这里所描述消息传递系统的网络的组织和操作。换句话说,在数据层次中的位置物理地确定了该信息在网络中存在的以及需要遍历的位置。
数据层次优选地使用层次标记语言来构造,其可以是XML。对于层次语言,XML中表现的数据可以被格式化以对应于网络或子网络的分层,允许网络将其自身组织为对应于通过这里所描述消息传递系统发送的数据的分层。而且,通过使用开放的层次语言例如XML,消息传递系统独立于下层的网络协议并且可以跨越采用不同协议的网络。
下面参见图2,显示了依照这里所描述原理的分层构造200的一个实施例。借助于其特性,分层型结构意味着在结构底层的那些实体所知晓的非常少,除了其自己的功能以及网络中最靠近他们的实体的位置之外,这些实体典型地受限于父类实体。实体201、202和203处于分层的底部并且知道其自身与网络中靠近他们的装置的连接。在网络中较高的实体,例如实体204、205和206,这些实体不仅具有在网络中处于其下的、向其报告所发布数据订阅的实体,而且具有在网络中处于其上的实体,需要报告所发布数据和订阅给该在其上的实体。对父类层进行定位的机制可以利用由较高层的实体提供的信息以及由关于实体所使用数据的子集的应用所提供的信息。这使得实体连接的分层型结构松散地遵循着数据自身的分层。
分层中更高的实体,例如实体207,具有公知的地址,在其下连接系统的任何层可以容易地定位该地址。虽然在图2的例子中实体207显示为最高的实体,但实体204和205也可以认为是对于其特定子网络分层中的最高点。在优选实施例中,对较高等级层的连接、例如顶层连接208被较低实体暂时使用以寻找父类层连接或者甚至最靠近层的连接,例如父类层连接210或最靠近层的连接209。如由顶层连接208所示的,顶层连接可能不是字面意义上的对于分层顶端的连接,而可能是连接到子网络的顶层,其是对较大网络的通信路径。顶层和父类层标志指的是实体之间的关系,而不是指实体自身。特定的实体对于其他实体的子网络来说可能是顶层,但也可能具有其自己到网络中另一个较高实体的连接。相同的关系对于父类层连接和最靠近层连接同样是成立的。
为了使通过系统的数据潜在和无关传输最小化,订阅/发布过程的优选实施例将执行路径优化以定位以及建立通道、或虚拟通道,对于更新和查询请求/响应的传输具有最靠近的层。取决于网络拓扑和物理存取,可能并非总是存在数据给定发布者和该数据的订阅者之间的直接连接。当存在分层的重叠片段的多个发布者或订阅者时,最靠近层连接的确定就不是无关紧要的,下面将更加详细地描述这样的连接。在这种情况为真时,分层需要能够安排自身以使得公共路由点位于最靠近层通道的路径内。
上面所描述的路径优化应当仅应用于更新和查询操作,用于通过网络传输数据。路径建立操作本身(订阅、发布、不订阅、不发布操作)应当遵循完整分层路径以保证分层是完全明白的。
如通过尝试使用最靠近的层连接所暗示的那样,全部数据层次中的相当部分与分层中实体的有限子集有关系。例如,如果依照这里所描述原理的消息传递系统被使用在通信网络中,特别是用在用于监测通信网络的监测网络中,与网络中探测器相关的数据可能与探测器外部的实体没有任何关系,但数据的各个不同方面可以由探测器自身中的不同实体使用。
在图3所示的数据层次中例示了这种数据位置的例子。图3显示了具有根定义的数据层次的例子,所述根定义将数据层次的应用限制为网络的特定部分,也就是ThingsWithThreeLetters,如由数据层次中的Root定义所展示的那样。为了避免这一信息造成外部实体的负担,每个实体可以为该数据信息规定位置。ThingsWithThreeLetters子网络中的数据将能够利用相关信息,而子网络外部的情况将不会由子网络外部的不相关的操作和数据造成负担。在图3的数据层次的例子中,消息传递系统可以允许信息阻塞在所示的根等级,其例如可以为网络监测探测器的结构,从而防止信息退出探测器并且反过来放弃进入探测器外部的网络分层。这允许系统包含信息到数据大概相关的网络子集。类似地,仅与网络的一部分有关的数据可以被阻塞而不进入子网络,该子网络对于该信息没有效用。
除了规定数据位置以便避免不必要的信息流,可以为实体或数据指定持续性等级以避免旧的或状态数据在网络中循环或者在实体驻留而消耗资源。依照这里所描述原理的消息传递系统优选实施例可以具有三个数据持续性等级。实体可以指定为完全持续性。完全持续能力代表性地会将分层的全部订阅信息、包括直接的和间接的订阅保存在非易失的存储介质中,例如磁盘。
实体也可以被指定为缓存型的持续性。这些实体会提供代理类型的机制,用于对分层的订阅部分进行缓存以及将结果提供给查询,该查询与其接收的缓存信息相关联。对于某些信息具有完全持续性的实体也可以对于其他数据充当缓存。非持续的实体仅充当在分层中传输信息的通道路径。
下面参见图4,显示了消息传递分层的例子,使用依照这里所描述原理的数据层次和网络分层。特别地,图4例示了消息传递系统操作的例子,其中包含在数据层次中信息例如由A、A1和A2所例示的用于构成装置的网络分层,其尝试在数据层次中订阅或者发布数据。在图4的例子中,网络400包含实体E6,其需要提供对开始于A的组件的更新,其中A实际上是数据层次中的符号。“A”表示数据Root/ThingsWithThreeLetters的分层中的XML字符串。实体E3和E5分别发布数据A1和A2。A1表示数据Root/ThingsWithThreeLetters/ABC,A2表示数据Root/ThingsWithThreeLetters/XYZ。
为了产生允许实体E6从实体E3和E5接收所需数据的网络分层,必须在相应装置之间在网络中形成路径。为了例示如何使用这里所描述的消息传递系统形成这些类型的互连接,将参考图4的实体,并且在图4中显示了可能产生连接的时间线路的示例。虽然描述了特定的顺序,但任何这些事件可以以任何顺序发生并且产生这里所描述原理范围中的分层。
实体E1是加入网络400的第一个实体。由于在例子中实体E1是第一个,因而没有现存的连接或关系。接下来实体E4加入系统。实体E4加入系统,知道其需要定位实体E1作为其父类层。然后实体E5加入系统,同样知道寻找实体E1作为其顶层。在实体E5定位实体E1作为其顶层之后,赋予实体E4的位置作为其父类层并且拆除其对于实体E1的连接。然后实体E5通知实体E4其发布数据A2,然后E4将其通知实体E1即其分层中的下一个高等级实体,即其发布数据A2。
接下来实体E6加入网络并且定位实体E4作为其父类/顶层,并且通知实体E4其需要订阅内容A。然后实体E4对于内容A请求来自实体E1和E5的订阅。E5被告知,因为E4知道其发布A的一部分,也就是A2。在接收初始订阅请求时,实体E5将数据A2的当前状态传输到实体E6。然后实体E2加入并且定位实体E1为其父类层,并且实体E3加入并且最终定位实体E2作为其父类层。实体E3然后通知实体E2其发布内容A1,并且实体E2将这一发布信息在分层中向上传递到实体E1。由于实体E1订阅A作为整体E6订阅的结果,实体E1请求来自实体E2的订阅,然后将订阅请求传递到实体E3。在接收订阅要求时,实体E3传输其当前内容A1,该内容通过实体E2和E1向上传送然后通过实体E4向下传送到实体E6。
一旦图4中所示的当前分层适当地更新到包含A1和A2的A,自然地继续。例如,如果实体E3需要修改或者修改了内容A1,则实体E3由于实体E2的订阅而通知实体E2,该实体E2由于实体E1的订阅而通知E1。然后实体E1通知实体E4,后者然后通知实体E6。类似地,当实体E5修改内容A2,实体E5通知实体E4,然后实体E4通知实体E1和E6。容易看出,通过这种方式,由于每个装置的发布/订阅状态,E6将在原始发布时或者在更新时接收全部内容A。
关于实体建立对于父类或最靠近层的连接,实体应当具有对于父类/最靠近层装置的物理连接。实体将需要知道或者赋予足够的信息以了解TCP端口和IP地址以联系该装置。建立特定连接的部分处理可以包括通过分层中的其他实体联系的实体,为替代装置提供地址以及端口并且告知接触装置使用新的实体作为其父类或可能时最靠近的层。这显示在图4的例子中,当实体E5最初联系实体E1时,但实体E5由实体E1告知使用实体E4作为其父类层。对E1的连接终止并且实体E5联系并且建立与实体E4的连接。
根据对图4示例分层的检查可以看出,分层中的每个实体知晓其下面每个实体的发布和订阅状态。实体E1作为示例网络中的根实体维持其网络中每个实体的所有订阅和发布信息。所描述的设置操作代表性地为不频繁操作,发送更新内容将是更频繁的操作。
查询遵循相同于新订阅的路径,即在等级中向上并且然后返回向下到发布实体或者说路径中的第一实体,其可能缓存所需的信息。然而与订阅不同,查询是单次事件,其不会以相同于订阅请求的方式在分层中持续。
根据关于图4所描述的操作可以看出,系统中的每个实体等效地能够对内容、或数据层次进行路由,独立于产生或使用该内容的底层应用。因而,每个实体基于确定性的路由算法能够传播或终止“路径建立”。每个实体保持规定通信路径的表格,被表格以相同于数据层次自身的方式被组织。分层、或树中的每个节点可选地可以规定对于该节点的一个或多个连接发布数据,以及该节点下面的实体,或者对于该节点订阅数据,以及该节点下面的实体。
由于系统中任何实体的生命期可能是动态的,系统中的聚合路由必须支持不订阅和不发布。这些操作用于连接其对应的任意先前发布或订阅操作。这些不订阅和不发布操作应当具有与其对应的发布和订阅操作相同的参数,以防止在路由机制中发生错误。通信路径遵循与相应发布和订阅操作相同的路径。
这里描述的数据层次可以存在于网络中的任何等级。图4参照高等级内容分层进行描述,然而可以存在对于配置信息、甚至是需要传输或传送的链接配置信息的分层。例如,监测系统中的探测器可能需要配置以及构造用于物理监测特定的线以及该线上的特定时隙。在配置的其他地方,可能存在规定订阅者配置的不相关信息。使用这里描述的数据层次,数据自身也可以独立于独立的装置和装置的位置来组织。这种将数据组织为数据层次的方式,与网络分层相结合来提供路由和协议。从而,不考虑时间线路,第一实体可以在第二实体之前或之后出现,并且简单地通告其需要订阅链接信息。通过物理网络的分层,并且也查看分层或数据自身,这些实体将传送这个特定信息穿过请求实体的方向。这两个实体之间物理传输的特性是不重要的,直到涉及到这些实体。
下面参见图5描述的流程图,显示了对于每个实体的发布流程的优选实施例。发布流程500开始于发布信息被接收、即步骤501,或者通过实体进入分层、新的发布加入现存的实体,或者通过分层中的实体从分层中的另一个实体接收发布信息。步骤502显示恰当地发布信息被保留以及与其被接收于的连接相关联。然后步骤503将发布信息传播到其父类层,发布流程500就此结束。随着发布信息传播穿过网络,发布流程500由分层中的每个实体重复。
下面参见图6描述的流程图,显示了对于每个实体的订阅流程的优选实施例。订阅流程600开始于步骤601,由实体接收订阅信息。在步骤602,订阅范围沿着其相关联连接被保留。步骤603判定是否所请求的范围小于现存的订阅。如果是,则处理结束。如果所请求的范围不小于现存的订阅,则处理转到步骤604,其判定是否在较高分层中存在父类层。如果是,则处理转到步骤605,其将订阅传播到父类层。在步骤605将订阅传播到父类层之后,或者如果步骤604判定不存在父类层,则流程转到步骤606,在此流程确定提供所有订阅范围或其子集的每个较低层。然后流程转到步骤607,其判定是否连接为发起订阅的连接。如果否,则在步骤608将订阅传播到该层,其后订阅流程结束。如果步骤607判定连接为发起订阅的连接,则流程结束。
这个消息传递系统的一个目标是,每个实体应当为了运行而对于网络知道的尽可能少。从而,当实体联机时,该实体需要知道的唯一事情是:其需要联系父类层实体并且告知父类层实体对于该实体的任何订阅或发布信息。在分层中父类层实体之上存在其他实体,这样的事实对于该加入的实体来说是不相关的。然而,由于实体可以发布或订阅的数据可能是兆位的数据,自始至终向上发送大量数据穿过分层到根然后再向下的做法是非常低效率的。为了避免这种情况,除了其父类层,潜在的实体也可以确定最靠近的层。
任何特定的发布和订阅实体对可以安排成其物理上没有彼此访问的网络。例如,发布实体可以是深嵌入监测系统中一个探测器的叶片,而订阅实体可以是深嵌入网络的不同部分的叶片。这些实体最终具有与较大网络通信的路径,但不存在直接的点对点路径。然而在非常靠近发布/订阅实体的两个实体之间存在路径,其比穿过整个分层的路径具有少很多的行程。例如,使用图4的网络,取代在路径E3到E2到E1到E4然后到E6上发送数据,网络有能力看出在E2和E4之间具有直接通信路径。在此情况下,为了在E3和E6之间传送数据的目的,可以在E2和E4之间建立最靠近的层路径。在比图4所示更大的网络中,这种最靠近层连接可以消除大量的网络业务量。这种最靠近层连接仅应用于数据或内容的传送而不应用于订阅、发布或查询操作。换句话说,控制信息需要利用分层;而数据信息可以选择最佳路径,其可以是最靠近层连接。
在这里所描述的消息传递系统和网络中,实体之间的通信优选在使用数据的分层表示作为消息传递格式的流协议上完成。在大多数情况下TCP/IP可以用作协议,然而,如果TCP/IP连通性无法获得时可以使用其他的传输机制。所选的传输机制应当由顶层和父类层彼此支持,并且能够携带文本数据。虽然可以使用任何的数据层次表示,XML是优选的格式,因为大部分通信涉及传输组分层次的任意部分并且易于允许改变这些部分的这些结构。构成组分层次的信息以及消息自身两者都优选地被格式化为XML。
实体之间的通信优选地可以使用SOAP(简单对象访问协议),其为允许在HTTP上实现XML的协议。SOAP可以作为任意两个实体之间的点对点协议。通用协议是协议中立的,允许其运行于TCP、其他开放传输协议、甚至专有传输的顶层上。
当实体进入系统时,其可能可选地组合有用于接受连接的TCP/IP套接口,或者使用用于其他传输协议的同等组合机制。顶等级层的实体应当在公知的地址和端口组合其套接口。通过首先与上部等级的层通信,查询更多适当的层,以及然后重新建立与该层范围地址的连接,这允许较低的层发现其父类或最靠近的层。
虽然详细描述了本发明及其优点,应当理解,在不脱离有所附权利要求限定的本发明主旨和范围的情况下,在此可以进行各种各样的改变、替换和变化。而且,没有意图限制当前应用的范围为说明书中描述的特定的处理、机械、制造、物质的组成、装置、方法以及步骤。如本领域技术人员根据本发明的公开易于理解的,与这里所描述相应实施例完成基本相同的功能或获得基本相同的结果的处理、机械、制造、物质的组成、装置、方法、或者步骤,包括现存的或者将来开发的,可以依照本发明使用。因而,所附权利要求意图在其范围中包含这样的处理、机械、制造、物质的组成、装置、方法、或者步骤。
Claims (20)
1.一种在网络中使用的消息传递系统,该消息传递系统包括:
多个网络实体,其包含发布实体和订阅实体,所述发布实体具有所述订阅实体所需要的数据;以及
数据层次,其应用于在所述发布实体和所述订阅实体之间交换的数据;
其中所述数据层次响应于所述实体之间交换的发布和订阅请求,确定所述多个网络实体之间形成的虚拟连接,从而在多个网络实体之间建立的所述虚拟连接构成对应于所述数据层次的分层。
2.权利要求1所述的消息传递系统,其中使用可扩展标记语言(XML)构造所述数据层次。
3.权利要求1所述的消息传递系统,其中所述多个网络实体还包含用于临时加入所述网络以分发数据或执行查询的访客实体。
4.权利要求1所述的消息传递系统,其中在多个实体之间形成的所述虚拟连接是顶层连接、父类层连接、或最靠近层连接。
5.权利要求4所述的消息传递系统,其中发布和订阅操作必须遍历虚拟连接的整个分层。
6.权利要求4所述的消息传递系统,其中数据传送穿过最靠近层连接以便旁路掉在虚拟连接的分层中的网络实体。
7.权利要求1所述的消息传递系统,其中所述网络包含一个或多个子网络,并且所述数据层次作用于将数据限制在其有相关联性的网络部分。
8.权利要求1所述的消息传递系统,其中每个网络实体具有数据持续性设定。
9.权利要求8所述的消息传递系统,其中所述数据持续性设定被选择于由以下组成的组:完全持续,缓存型持续以及非持续。
10.一种在计算机网络中在多个网络实体之间产生消息传递分层的方法,该方法包括:
在网络中的第一实体加入所述网路时由其定位父类层实体;
发送用于所述第一实体的发布/订阅信息到父类层实体;以及
将发布/订阅信息从所述父类层实体发送到所述消息传递分层中所述父类层实体之上的实体以及发送到所述父类层实体之下的实体,其订阅对应于所述父类层实体的发布/订阅信息中的发布入口的数据;
其中响应于多个实体之间交换的所述发布/订阅信息,所述消息传递分层由所述网络实体之间的虚拟连接构成并且对应于对于所述消息传递分层规定的数据层次。
11.权利要求10所述的方法,其中使用可扩展标记语言(XML)构造所述数据层次。
12.权利要求10所述的方法,其中所述多个网络实体充当发布实体、订阅实体以及访客实体,其中发布实体提供数据到所述消息传递分层,订阅实体从发布实体接收数据,以及访客实体用于临时加入所述网络以分发数据或执行查询。
13.权利要求10所述的方法,其中在多个实体之间形成的所述虚拟连接是顶层连接、父类层连接、或最靠近层连接。
14.权利要求13所述的方法,其中发布和订阅操作必须遍历虚拟连接的整个分层。
15.权利要求13所述的方法,其中数据传送穿过最靠近层连接以便旁路掉在虚拟连接的分层中的网络实体。
16.权利要求10所述的方法,其中每个网络实体具有数据持续性设定。
17.一种网络实体中订阅流程的方法,该网络实体为计算机网路中的消息传递分层的一部分,该方法包括:
从所述网络中的另一个实体接收订阅信息;
保留所述订阅信息以及相关联的连接信息;
当判定所述网络实体具有父类层时,将所述订阅信息提供给父类层;以及
将订阅信息提供给每个提供对应于所述订阅信息的数据的较低层实体。
18.权利要求17所述的方法,其中基于对于所述消息传递分层的数据层次建立所述父类层连接和较低层连接。
19.权利要求17所述的方法,进一步包括判定是否所述订阅信息的范围大于现存订阅实体的范围。
20.权利要求17所述的方法,其中所述网络实体包含数据持续性设定。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/416,714 | 2006-05-03 | ||
US11/416,714 US8171071B2 (en) | 2006-05-03 | 2006-05-03 | Open component manipulation system |
PCT/US2007/068184 WO2007131136A2 (en) | 2006-05-03 | 2007-05-03 | Open component manipulation system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101849383A true CN101849383A (zh) | 2010-09-29 |
Family
ID=38661131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200780025147A Pending CN101849383A (zh) | 2006-05-03 | 2007-05-03 | 开放式组分处理系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8171071B2 (zh) |
EP (1) | EP2030384A2 (zh) |
JP (1) | JP4783949B2 (zh) |
CN (1) | CN101849383A (zh) |
WO (1) | WO2007131136A2 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008085132A1 (en) * | 2007-01-08 | 2008-07-17 | Freesystems Pte. Ltd. | A multi-node media content relay system |
CN101656618B (zh) * | 2009-09-11 | 2012-09-05 | 中兴通讯股份有限公司 | 一种基于结构化对等网络的多媒体消息广播方法及系统 |
US20120047223A1 (en) * | 2010-08-20 | 2012-02-23 | Nokia Corporation | Method and apparatus for distributed storage |
US10033585B2 (en) * | 2010-12-15 | 2018-07-24 | Juniper Networks, Inc. | Methods and apparatus related to a switch fabric system having a multi-hop distributed control plane and a single-hop data plane |
US8910182B2 (en) | 2011-05-27 | 2014-12-09 | Microsoft Corporation | Managing and simplifying distributed applications |
US11012304B1 (en) * | 2020-01-24 | 2021-05-18 | Dell Products L.P. | Networking device replacement system |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5895485A (en) * | 1997-02-24 | 1999-04-20 | Eccs, Inc. | Method and device using a redundant cache for preventing the loss of dirty data |
US6249810B1 (en) * | 1999-02-19 | 2001-06-19 | Chaincast, Inc. | Method and system for implementing an internet radio device for receiving and/or transmitting media information |
US6766362B1 (en) * | 2000-07-28 | 2004-07-20 | Seiko Epson Corporation | Providing a network-based personalized newspaper with personalized content and layout |
US7523394B2 (en) * | 2002-06-28 | 2009-04-21 | Microsoft Corporation | Word-processing document stored in a single XML file that may be manipulated by applications that understand XML |
DE60329184D1 (de) * | 2002-07-16 | 2009-10-22 | Enterasys Networks Inc | Es netzwerk |
US7568148B1 (en) * | 2002-09-20 | 2009-07-28 | Google Inc. | Methods and apparatus for clustering news content |
GB0311260D0 (en) | 2003-05-16 | 2003-06-18 | Ibm | Publish/subscribe messaging system |
US7532623B2 (en) * | 2004-03-24 | 2009-05-12 | Bbn Technologies Corp. | Methods for wireless mesh multicasting |
US20050262205A1 (en) * | 2004-04-30 | 2005-11-24 | Nikolov Radoslav I | Delivering messages in an enterprise messaging system using message selector hierarchy |
US20060155581A1 (en) * | 2005-01-10 | 2006-07-13 | George Eisenberger | Systems with user selectable data attributes for automated electronic search, identification and publication of relevant data from electronic data records at multiple data sources |
US7623534B1 (en) * | 2005-09-09 | 2009-11-24 | At&T Intellectual Property I, Lp | Method and systems for content access and distribution |
US20070112575A1 (en) * | 2005-11-16 | 2007-05-17 | Sbc Knowledge Ventures L.P. | System and method for configuring a state of an internet protocol television network |
US7899456B2 (en) * | 2005-12-16 | 2011-03-01 | International Business Machines Corporation | Method for faster mobility handoff of a mobile node |
-
2006
- 2006-05-03 US US11/416,714 patent/US8171071B2/en not_active Expired - Fee Related
-
2007
- 2007-05-03 EP EP07783234A patent/EP2030384A2/en not_active Withdrawn
- 2007-05-03 CN CN200780025147A patent/CN101849383A/zh active Pending
- 2007-05-03 JP JP2009510084A patent/JP4783949B2/ja not_active Expired - Fee Related
- 2007-05-03 WO PCT/US2007/068184 patent/WO2007131136A2/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20070258467A1 (en) | 2007-11-08 |
US8171071B2 (en) | 2012-05-01 |
WO2007131136A2 (en) | 2007-11-15 |
WO2007131136A3 (en) | 2010-06-03 |
JP2009536416A (ja) | 2009-10-08 |
EP2030384A2 (en) | 2009-03-04 |
JP4783949B2 (ja) | 2011-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101842710B (zh) | 桥接/虚拟专用lan服务环境中的可缩放连通性故障管理 | |
Costa et al. | Semi-probabilistic content-based publish-subscribe | |
CN102257523B (zh) | 在线协作 | |
CN101849383A (zh) | 开放式组分处理系统 | |
CN102907065B (zh) | 用于管理对等网络中的数据传递的系统和方法 | |
JP4555337B2 (ja) | マルチドメイン仮想プライベートネットワークにおける接続判定方法及び装置 | |
KR20020013567A (ko) | 멀티캐스팅 방법 및 장치 | |
KR101485610B1 (ko) | 네트워크 구조를 고려한 분산형 컨텐트 전달 시스템 및 그 방법 | |
CN102067564B (zh) | 用于在对等覆盖网络中事件分发和路由的方法和装置 | |
JP2008022573A (ja) | 通信ネットワークにおける方法及び装置 | |
CN105743665A (zh) | 加强对多播传输的访问控制 | |
IL127789A (en) | A device, method and computer program for processing data of publications and subscribers | |
MXPA06001676A (es) | Sistema, metodo y producto de programa de computadora para la administracion centralizada de una red de area de sistema distribuido infiniband. | |
CN1988449A (zh) | 一种基于网络信息的数据分布/获取方法 | |
FI110976B (fi) | Menetelmä ja järjestelmä palvelujen ja laitteiden hallitsemiseksi tietoverkossa | |
CN108718244A (zh) | 一种用于多业务融合的参考系统及方法 | |
CN105207885A (zh) | 在会话界面中展示用户信息的方法及装置 | |
CN101110830A (zh) | 创建多维地址协议的方法、装置和系统 | |
CN103069751A (zh) | 网络信息处理系统、网络信息处理设备和信息处理方法 | |
CN107453994A (zh) | 基于dht网络的数据传输方法及装置 | |
CN101502073A (zh) | 在分布式网络中散发信息的方法 | |
CN105793786A (zh) | 用于控制工厂网格的方法 | |
CN105847448B (zh) | 一种ndn中基于路由和重定向的任播方法和系统 | |
Selim et al. | A replication oriented approach to event based middleware over structured peer to peer networks | |
WO2014057030A2 (en) | A method and computer program product for event notification in a workflow management platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20100929 |