用于内容中心网络中的多源组播的系统和方法与流程

文档序号:13727234阅读:134来源:国知局
技术领域本发明大体上涉及内容中心网络(CCN)。更确切地说,本发明涉及用于支持具有内容中心网络(CCN)中的多个源的组播组的系统和方法。

背景技术:
因特网和电子商务的激增持续激发网络行业中的革命性改变。现今,从在线电影观看到每日新闻传递、零售销售和即时消息接发,大量的信息交换是在线进行的。越来越多数目的因特网应用程序也在变成移动的。然而,当前因特网依靠主要基于位置的寻址方案而操作。两种最普遍存在的协议:因特网协议(IP)和以太网协议,两者都是基于末端主机的地址。也就是说,内容的消费者仅可通过从通常与物理对象或位置相关联的地址(例如,IP地址或以太网媒体接入控制(MAC)地址)明确请求内容来接收所述内容。这种限制性寻址方案正变得逐渐更加不足以满足不断改变的网络需求。近年来,行业中已经提出了信息中心网络(ICN)架构,其中直接对内容进行命名和寻址。内容中心网络(CCN),这个例示性ICN架构引入一种新的内容传输方法。并非在应用级将网络业务视为内容在其上行进的端到端对话,而是基于内容的唯一名称来请求或返回内容,且网络负责将内容从提供者路由到消费者。应注意,内容包含可在通信系统中传输的数据,包含例如文本、图像、视频和/或音频等任何形式的数据。消费者和提供者可为在计算机旁的人或在ICN内部或外部的自动化过程。一条内容可指代整个内容或内容的相应部分。举例来说,报纸文章可能由体现为数据包的多条内容表示。一条内容也可与元数据相关联,所述元数据以例如验证数据、创建日期、内容所有者等信息来描述或增补所述条内容。在所有ICN架构的核心处为名称解析和内容的路由,且已经提出若干方法。在一些ICN架构中,数据对象的名称借助于目录服务器映射到地址中,且接着基于地址的路由用于内容传递。相比之下,大量ICN架构使用内容的基于名称的路由,其集成了名称解析和内容路由。通过基于名称的路由,路由器(生产者或高速缓存站点)中的一些播发表示具有共享常用前缀的名称的一组对象的命名的数据对象(NDO)或名称前缀的本地复本的存在,且建立到其的路线;内容的消费者发出沿着到发布NDO或名称前缀广告的路由器的路线转发的内容请求。在各种ICN架构之中,CCN使用分布式路由协议以建立路线,经由所述路线转发内容请求。在CCN中,内容请求(称为“兴趣”)可经由一个或多个路径发送到名称前缀。已证明,基于兴趣的ICN架构(例如CCN)提供用于组播的“本机支持”。然而,如果兴趣中的名称表示组播组的源,那么此仅为用于单源组播的情况。

技术实现要素:
本发明的一个实施例提供一种用于更新与信息中心网络(ICN)中的组播组相关联的路由信息的系统。在操作期间,ICN中的第一节点从相邻节点接收用于组播组的更新消息。组播组包含根锚节点及大量锚节点,其中所述根锚节点具有比所述锚节点更小的名称。更新消息指定与组播组和组播组的根锚节点相关联的前缀。所述系统基于存储在第一节点上的拓扑信息从第一节点的相邻节点选择符合通知书条件的一个或多个下一跳相邻节点,且将更新消息转发到一个或多个下一跳相邻节点。在此实施例的变型中,符合所述通知书条件的下一跳相邻节点为组播组的锚节点,且锚节点的所有相邻节点将所述锚节点报告为优选的锚节点。在此实施例的变型中,符合所述通知书条件的下一跳相邻节点提供到锚节点中的至少一个的最短路径。在此实施例的变型中,意图加入组播组的第二节点生成加入请求。所述系统基于排序条件选择第二节点的相邻节点作为到组播组的根锚的下一跳节点。第二节点的到根锚节点的下一跳节点提供到根锚节点的最短路径。所述系统将加入请求转发到第二节点的选定相邻节点。在另一变型中,所述系统接收对从组播组的根锚节点或锚节点发送的加入请求的响应。所述响应穿越加入请求的反向路径到第二节点。在另一变型中,所述系统建立包含根锚节点、锚节点和接收加入请求的一个或多个路由器的多点生成树。在此实施例的变型中,根锚节点和锚节点为组播组的源和组播组的接收器两者中的一个。附图说明图1说明根据本发明的实施例的网络的例示性架构。图2呈现说明根据本发明的实施例的保持在路由器处的例示性相邻节点表的图。图3呈现说明根据本发明的实施例的保持在路由器处的例示性路由表的图。图4呈现说明根据本发明的实施例的保持在路由器处的例示性多点路由表的图。图5呈现展示根据本发明的实施例的实施ICM的路由器的例示性架构的图。图6说明根据本发明的实施例的例示性ICN中的根锚更新的传播。图7说明根据本发明的实施例的例示性ICN中的多重实例化目的地生成树(MIDST)的建立。图8说明根据本发明的实施例的用于信息中心组播的例示性系统。在图式中,相同参考数字指代同一图式元件。具体实施方式概述本发明的实施例提供用于支持具有信息中心网络(ICN)中的多个源的组播组的信息中心组播(ICM)系统。更确切地说,ICM通过建立用于表示组播组的每一名称前缀的多重实例化目的地生成树(MIDST)支持路由到组播组。给定组播组的所有锚经由用于前缀的MIDST连接。ICM可支持源启动的组播(SIM)和接收器启动的组播(RIM)两者。例示性CCN架构为了展现链路状态内容路由(LCR)系统的操作,本发明使用CCN作为一实例。然而,LCR系统的操作不限于CCN。一般来说,LCR可应用于任何其它类型的ICN网络。CCN使用两种类型的消息:兴趣和内容对象。兴趣携载内容对象的分层结构化的可变长度识别符(HSVLI),也称为“名称”,且充当针对所述对象的请求。如果网络元件(例如路由器)接收到针对同一名称的多个兴趣,那么网络元件可以聚合那些兴趣。沿着具有匹配的内容对象的兴趣的路径的网络元件可高速缓存且返回所述对象,从而满足所述兴趣。内容对象遵循兴趣到所述兴趣的起源的反向路径。本发明中使用的术语通常如下定义(但其解释不限于此):“HSVLI”:分层结构化的可变长度识别符,也称为名称。它是名称组成部分的有序列表,其可以是可变长度的八位字节串。以人可读形式,其可以用例如ccnx:/path/part的格式表示。HSVLI也可以是人不可读的。如上所述,HSVLI指代内容,且需要HSVLI能够表示用于内容的组织结构且至少部分对人有意义。HSVLI的个别组成部分可具有任意长度。此外,HSVLI可以具有明确定界的组成部分,可包含任何字节序列,且不限于人可读的字符。最长前缀匹配查找在转发带有HSVLI的包时是重要的。举例来说,指示对“/parc/home/bob”的兴趣的HSVLI将匹配“/parc/home/bob/test.txt”和“/parc/home/bob/bar.txt”两者。在名称组成部分的数目方面,最长匹配被视为最佳的,因为它是最特定的。可在美国专利第8,160,069号中找到HSVLI的详细描述,其名称为“用于转发带有分层结构化的可变长度识别符的包的系统(SYSTEMFORFORWARIDNGAPACKETWITHAHIERARCHICHALLYSTRUCTUREDVARIABLE-LENGTHIDENTIFIER)”,发明人为VanL.Jacobson和JamesD.Thornton,2009年9月23日提交,所述专利的公开内容以引用的方式全文并入本文中。“兴趣”:对内容对象的请求。兴趣指定HSVLI名称前缀和其它任选的选择器,所述选择器可用于在具有相同名称前缀的多个对象当中进行挑选。名称与兴趣名称前缀(以及任选地其它所请求的参数,例如发行者密钥-ID匹配)匹配的任何内容对象都满足所述兴趣。“内容对象”:响应于兴趣而发送的数据对象。其具有经由加密签名而绑定在一起的HSVLI名称和内容有效负载。任选地,所有内容对象具有由内容对象的SHA-256摘要组成的隐式终端名称组成部分。在一个实施例中,隐式摘要不在线上传送,但在需要时在每一跃点处计算。在本发明中,术语“内容对象”和术语“命名的数据对象(NDO)”是可互换的。“面”:在CCN中,面这个术语是接口概念的一般化形式。面可以是与网络的连接,或直接与应用程序方的连接。面可经配置以在特定网络接口上发送和接收广播或组播包,或者使用基础传输中的点到点寻址或使用隧道(例如TCP隧道)来发送和接收包。面还可以是经由如UDP的封装或OS特定的进程间通信路径与在同一机器上运行的单个应用程序进程的连接。所有消息经由面到达,并且经由面发送出去。在本发明中,“相邻节点”这个术语与“面”这个术语可互换,指代兴趣的传入或传出接口。“实例”:在本发明中,术语“实例”可用于指代组播组的接收器或源。“前缀”:在本发明中,术语“前缀”可用于指代特定组播组的名称或用于组播组的名称前缀。“锚”:在本发明中,术语“锚”用于指代播发具有可在本地使用组播组的实例的路由器。更确切地说,播发给对应于前缀的一些或所有内容的路由器(或节点)被称作前缀的锚。如之前所提到,HSVLI指示一条内容,具有分层结构,且包含从最一般层级到最特定层级排序的连续组成部分。相应HSVLI的长度不是固定的。在内容中心网络中,不同于常规IP网络,包可以通过HSVLI来识别。举例来说,“abcd/bob/papers/ccn/news”可为内容的名称且识别对应包,即,在名为“ABCD”的组织处针对名为“Bob”的用户的来自“ccn”论文合集的“news”文章。为了请求一条内容,节点通过所述内容的名称来表达(例如,广播)对所述内容的兴趣。对一条内容的兴趣可为根据所述内容的名称或识别符对所述内容的查询。所述内容如果在网络中是可用的,那么将所述内容从存储内容的任何节点发回到请求节点。路由基础结构将兴趣智能地传播到有可能具有所述信息的预期节点,且接着沿着所述兴趣消息穿越的反向路径携载可用的内容返回。基本上,内容对象遵循兴趣消息留下的面包屑(breadcrumb),并且因此到达请求节点。图1说明根据本发明的实施例的网络的例示性架构。在此实例中,网络180包括节点100到145。网络中的每个节点耦合到一个或多个其它节点。网络连接185是此类连接的实例。网络连接显示为实线,但每条线也可表示可将一个节点耦合到另一个节点的子网络或超网络。网络180可为内容中心的本地网络、超网络或子网络。这些网络中的每一个可互连以使得一个网络中的节点可以到达其它网络中的节点。网络连接可以是宽带、无线、电话、卫星或任何类型的网络连接。节点可为计算机系统、表示用户的端点和/或可生成兴趣或发源内容的装置。根据本发明的实施例,消费者可以生成针对一条内容的兴趣,并且将所述兴趣转发到网络180中的节点。发行者或内容提供者可以将这条内容存储在网络180中的节点处,发行者或内容提供者可以位于网络内部或外部。举例来说,在图1中,对一条内容的兴趣在节点105处发源。如果所述内容在所述节点处不可用,那么兴趣流动到耦合到第一节点的一个或多个节点。举例来说,在图1中,兴趣流动(兴趣流150)到并不具有可用的所述内容的节点115。随后,所述兴趣从节点115流动(兴趣流155)到节点125,节点125也不具有所述内容。接着兴趣流动(兴趣流160)到确实具有可用的所述内容的节点130。内容对象的流动接着反向地回溯其路径(内容流165、170和175)直到其到达节点105为止,在所述节点处传递所述内容。在所述内容流中可涉及例如验证等其它过程。在网络180中,在内容持有者(节点130)与兴趣生成节点(节点105)之间的路径中的任何数目的中间节点(节点100到145)可以参与在内容在网络上行进时高速缓存所述内容的本地副本。高速缓存通过隐式地共享对本地高速缓存内容的接入而减少对位于接近其它订户处的第二订户的网络负载。信息中心组播系统已经提出各种方法以支持ICN中的组播,包含依赖于大量涌入阐述邻近链接的状态和用于不同组播组的接收器的存在的链路状态广告(LSA)的每一节点的链路状态路由方法。基于核心的树(CBT)也已经引入为避免从每一组播源的涌入或关于具有附接的组播组接收器的那些路由器的信息的涌入的组播路由方法。在CBT中,预定义节点充当组播组的中间物且被称为所述组的核心。节点保持到所有网络节点的路线且因此保持到所有可能的核心的路线,且通过一些外部装置学习从组播组地址到核心地址的映射组播组的每一接收器向所述组的核心发送加入请求以建立跨越所有接收器和核心的共享的组播树。源仅向核心发送数据包,且数据包经由组播树发送到组播组的所有接收器。另一方法,协议无关组播(PIM)类似于CBT,但组播树为单向传输的;因此,源必须将组播数据发送到中间节点(称为集合点(RP)),其接着经由组播树使数据涌入。其它组播方法包含拉动式方法和推动式方法。在基于兴趣的ICN架构(例如CCN和命名的数据网络(NDN))中采用拉动式方法。已证明,在沿着针对具有所请求的内容的站点的树汇总兴趣的条件下,NDN和CCN提供本机支持以用于组播。然而,假设兴趣阐述请求的组播源的名称且组播组源的现况资讯在网络中播发,CCN和NDN仅可提供用于单源组播的有效支持。在通过大量源组播的情况下此方法并未很好地起作用,由于每一组播源必须在网络中已知且需要保持针对每一此类源的树,其并未很好地按比例缩放。已通过不基于兴趣的其它ICN架构采用推动式组播方法。面向内容的公布/订用系统(COPSS)为基于PIM的方法的良好实例。在COPSS中,用户订用内容描述符(CD)上的内容,其可为任何法定的内容名称,且每一CD与集合点(RP)相关联。RP的数目可与ICN节点的数目一样大。路由器保持基于CD的预订表以将同一功能性作为IP组播提供,且COPSS支持在内容层处组播的稀疏模式。RP从一个或多个发行者接收内容且将其经由通过用于组播组的路由器建立的组播树发送。然而,此类推动式组播方案可为低效的,尤其在支持多源组播时。本发明的实施例提供可支持基于兴趣的ICN架构中的多源组播且比基于PIM的方法更有效的信息中心组播系统(ICM)。假设ICM系统的操作如下:(a)每一网络节点通过扁平或分层结构指定名称;(b)可借助于唯一名称请求每一组播组;(c)组播组名称(MGN)可使用扁平或分层命名(例如基于HSVLI的命名)表示,且同一命名规则用于整个系统;且(d)路由协议在网络中操作以将具有至少一条路线的每一路由器提供到在网络中播发的每一组播组的最近的实例。为了实施ICM,路由器保持大量的数据结构,包含链路开销表(LTi)、相邻节点表(NTi)或拓扑表(TTi)、路由表(RTi)和多点路由表(MRTi)。应注意,链路开销表、相邻节点/拓扑表和路由表通过在ICN中运行的内容路由协议提供,且多点路由表通过ICM构建。路由器i的链路开销表(LTi)列举了从路由器i到其相邻节点中的每一个的链路的开销。在本发明中,从路由器i到路由器k的链路表示为(i,k)且链路的开销表示为在一些实施例中,假设链路的开销为正数,其可为通过链路中的路由器i制定的管理限制和性能测量的函数。链路(i,k)的链路开销表中的条目包含相邻节点k的名称和链路的开销相邻节点表(NTi)将集合Ni(其含有路由器i和其相邻路由器)中每一路由器的路由信息存储到前缀。在一些实施例中,关于前缀j的路由器k的存储于NTi中的信息表示为且由所述前缀的最近的锚和根锚的路由信息构成。图2呈现说明根据本发明的实施例的保持在路由器处的例示性相邻节点表的图。在图2中,通过路由器i保持的相邻节点表200包含通过相邻路由器的名称和前缀索引化的大量条目。举例来说,条目202包含关于前缀j的路由器k的信息。条目202包含通过k报告的前缀j的最近的锚的路由信息,其为阐述存储前缀j的锚从相邻节点k到前缀j的距离和通过前缀j的产生的序号的3元组。条目202还包含前缀j的根锚的路由信息,其为识别前缀j的根锚从相邻节点k到j的根锚的距离和通过前缀j的产生的序号的3元组。前缀的根锚为具有最小名称或最小字典序值的前缀的锚。在本发明中,|i|表示名称i的字典序值。因此,在每一路由器i处且对于任何相邻节点k∈Ni,且其中为前缀j的根锚。应注意,如果前缀j在路由器i处为本地可用的,那么且在此情况下,路由器i为前缀j的其自身的最近的锚,但可以不是前缀j的根锚。从路由器i到根锚的距离为其中s≠i为通过路由器i选择的到根锚的下一跳。如果路由器i为前缀j的根锚,那么在一些实施例中,当网络运行基于链路状态信息的内容路由协议时,相邻节点表(NTi)中包含的信息可从拓扑表(TTi)导出。拓扑表(TTi)阐述通过每一路由器的每一相邻节点和每一已知的前缀报告或转发的链路状态信息。在一些实施例中,存储于TTi中的信息包含从i到每一相邻节点和到每一本地可用的前缀的链路,以及到通过相邻路由器转发的节点或前缀的链路。保持在路由器i处的路由表(RTi)存储在路由器i处已知的每一前缀的路由信息。在一些实施例中,路由表可包含通过前缀索引化的多个条目。图3呈现说明根据本发明的实施例的保持在路由器处的例示性路由表的图。在图3中,通过路由器i保持的路由表300包含多个条目。每一条目包含前缀的名称、用于前缀的路由更新信息、到前缀的有效的下一跳相邻节点的集合、提供到前缀的最短距离的相邻节点和存储通过任何下一跳相邻节点报告的每一不同的有效的锚的元组的锚列表。举例来说,条目302包含前缀(j)、路由更新信息到前缀j的有效的下一跳相邻节点的集合到前缀j的最短路径相邻节点和锚集合路由更新信息包含3元组,其阐述从路由器i到前缀j的当前距离具有提供到j的最短距离的那些名称之中的最小的名称的前缀的锚和通过前缀j的产生的序号锚集合字储通过任何下一跳相邻节点报告的每一不同的有效的锚的元组其中m为锚的名称且sn(m)为通过锚m报告的序号。多点路由表(MRTi)包含通过前缀索引化的多个条目,且通过路由器之中的消息的交换更新。图4呈现说明根据本发明的实施例的保持在路由器处的例示性多点路由表的图。在图4中,通过路由器i保持的多点路由表400包含多个条目。每一条目包含前缀的名称、前缀的多点更新信息和已加入前缀的MIDST的相邻节点的列表。举例来说,条目402包含前缀(j)、前缀j的多点更新信息和已加入前缀j的MIDST的相邻节点的集合多点更新信息包含3元组,其阐述前缀j的根锚到根锚的距离和通过前缀j的产生的序号每一路由器更新基于从其相邻节点接收的更新消息和在路由器之中交换的传信消息的其多点路由表以加入某些MIDTS。在一些实施例中,从路由器i发送到其相邻节点m的更新消息可包含路由器i的名称、用于识别消息的消息序号(msni)和更新(其为对需要更新的每一前缀的更新)的列表。通过路由器i发送的对前缀j的更新表示为且阐述前缀j的名称、到j的距离锚和通过前缀j的锚产生的序号另一方面,通过路由器i从针对前缀j的路由器i的相邻节点k接收的更新消息可表示为且阐述前缀j的名称、到j的距离锚和通过针对前缀j的锚产生的序号ICM支持借助于多重实例化目的地生成树(MIDST)路由到组播组。对应于组播组的给定前缀的所有锚经由针对前缀的MIDST(其在所述前缀的根锚处生根)与彼此连接。在一些实施例中,MIDST使用仅通过定位于同一组的根锚和其它锚之间的路由器交换的路由更新来建立。针对前缀的MIDST可以分布式方式建立。更确切地说,知道关于除被认为是根锚的锚以外的前缀的多个锚的路由器将关于沿着优选的路径的根锚的更新发送到其知道的其它锚中的每一个。接收关于根锚的更新的路由器将其自身的更新发送到其优选的下一跳再到其知道的其它锚中的每一个。因此,关于根锚的距离更新传播到同一前缀的所有其它锚。关于根锚的更新仅传播到在根锚与其它锚之间的优选路径中的那些路由器。如果路由器i改变前缀j的根锚的路由器i的路由信息,前缀j将关于其根锚的更新安排到满足根锚通知书条件(RNC)的每一相邻节点。RNC阐述仅当以下两个表述为真时,路由器i才将多点更新(其包含3元组)发送到路由器k∈Ni-{i
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1