用于信息中心网络中的基于自适应命名的点播内容交换的系统和方法
【专利摘要】本发明的一个实施例提供一种用于信息中心网络(ICN)中的内容交换的系统。在操作期间,所述ICN中的第一节点从第二节点接收对于一条内容的兴趣。所述兴趣指示所述条内容的名称以及由所述第二节点分配给所述兴趣的传入标识符。所述系统识别存储于所述第一节点上的标识符表中对应于所述传入标识符的匹配条目。所述匹配条目指示下一跳相邻节点和传出标识符。所述系统接着通过用所述传出标识符代替所述传入标识符来更新所述兴趣,并且将所述更新后的兴趣转发到所述下一跳相邻者。
【专利说明】
用于信息中心网络中的基于自适应命名的点播内容交换的系 统和方法
技术领域
[0001] 本发明大体上设及信息中屯、网络(ICN)。更确切地说,本发明设及一种实施基于自 适应命名的点播内容交换(OCEAN)的ICN架构。
【背景技术】
[0002] 因特网和电子商务的激增持续激发了网络行业中的革命性改变。现今,从在线电 影观看到每日新闻传送、零售销售和即时消息接发,大量的信息交换是在线进行的。越来越 多数目的因特网应用也在变成移动的。然而,当前因特网依靠主要基于位置的寻址方案来 操作。两种最普遍存在的协议:因特网协议(IP)和W太网协议,都是基于末端主机的地址。 也就是说,内容的消费者仅可通过从通常与物理对象或位置相关联的地址(例如,IP地址或 W太网媒体接入控制(MAC)地址)明确请求内容来接收所述内容。运种限制性寻址方案正变 得逐渐更加不足W满足不断改变的网络需求。
[0003] 近年来,行业中已经提出了信息中屯、网络(ICN)架构,其中直接对内容进行命名和 寻址。内容中屯、网络(CCN),运种示例性ICN架构引入了一种新的内容传输方法。并非在应用 级将网络业务视为内容在其上行进的端到端对话,而是基于内容的唯一名称来请求或返回 内容,且网络负责将内容从提供者路由到消费者。应注意,内容包含可在通信系统中传输的 数据,包含例如文本、图像、视频和/或音频等任何形式的数据。消费者和提供者可为在计算 机旁的人或在CCN内部或外部的自动过程。一条内容可W指代整个内容或内容的相应部分。 例如,报纸文章可能由体现为数据包的多条内容表示。一条内容也可与元数据相关联,所述 元数据W例如验证数据、创建日期、内容所有者等信息来描述或增补所述条内容。
[0004] 在例如CCN或命名数据网络(NDN)等现有的基于兴趣的ICN方法中,路由器(网络中 的或节点)需要维持待决兴趣表(PIT) W便存储兴趣状态,包含自其接收到对于特定命名数 据对象(ND0)的兴趣的接口 W及在其上转发此类兴趣的接口。PIT允许满足兴趣的ND0遵循 反向路径回到原始请求者同时隐藏原始请求者的标识。然而,随着通过路由器处理的兴趣 的数目增长,PIT的大小也增长,所述增长可W比传统路由表的大小大许多数量级,因为路 由器处理比网络中的路由器的数目远远更多的兴趣。
【发明内容】
[0005] 本发明的一个实施例提供一种用于信息中屯、网络(ICN)中的内容交换的系统。在 操作期间,ICN中的第一节点从第二节点接收对于一条内容的兴趣。兴趣指示所述条内容的 名称W及由第二节点分配给所述兴趣的传入标识符。系统识别存储于第一节点上的标识符 表中对应于传入标识符的匹配条目。匹配条目指示下一跳相邻节点和传出标识符。系统接 着通过用传出标识符代替传入标识符来更新兴趣,并且将更新后的兴趣转发到下一跳相邻 节点。
[0006] 在此实施例的变型中,传入标识符包含指示到第二节点的前一跳相邻节点的前驱 标志、转发标志、w及指示播发所述条内容的目的节点的错标志。转发标志对于到第二节点 的前一跳相邻节点、第一节点W及目的节点的组合是唯一的。
[0007]在另一变型中,传出标识符包含传出前驱标志、传出转发标志W及传出错标志。传 出前驱标志与转发标志相同,其中传出转发标志对于第二节点、下一跳相邻节点W及由传 出错标志指示的目的节点的组合是唯一的。
[000引在另一变型中,传入标识符是前驱标志、转发标志W及错标志的级联。
[0009] 在此实施例的变型中,响应于在标识符表中未找到对应于传入标识符的匹配条 目,系统基于存储在第一节点上的路由信息识别下一跳相邻节点,并在标识符表中创建针 对接收到的兴趣的条目。
[0010] 在另一变型中,创建条目包括生成传出标识符,并且所生成的传出标识符指示对 于第二节点、下一跳相邻节点W及播发所述条内容的目的节点的组合是唯一的传出转发标 击 "、,、〇
[0011] 在此实施例的变型中,接收到的兴趣进一步指示从第二节点到播发所述条内容的 目的节点的跳数。系统基于存储在第一节点上的路由信息W及跳数确定是否满足基于距离 的转发条件。响应于不满足基于距离的转发条件,系统丢弃兴趣并且向第一节点发回控制 消息。
[0012] 在此实施例的变型中,第一节点响应于兴趣接收内容对象。内容对象包含内容标 识符。系统识别存储于第一节点上的标识符表中对应于内容标识符的第二匹配条目。第二 匹配条目指示相对第一节点的前一跳节点W及与相对第一节点的前一跳节点相关联的标 识符。系统通过用与相对第一节点的前一跳节点相关联的标识符代替内容标识符来更新内 容对象,并且将更新后的内容对象转发到相对第一节点的前一跳节点。
【附图说明】
[0013] 图1图解说明根据本发明的实施例的网络的示例性架构。
[0014] 图2呈现图解说明根据本发明的实施例的示例性转发信息库(FIB)的图。
[001引图蛙现图解说明根据本发明的实施例的示例性数据应答路由表(dart)的图。
[0016] 图4图解说明根据本发明的实施例路由器如何标记兴趣。
[0017] 图5呈现图,所述图呈现根据本发明的实施例的OCEAN路由器的示例性架构。
[0018] 图6呈现图解说明根据本发明的实施例的示例性兴趣处理算法的图。
[0019] 图7呈现图解说明根据本发明的实施例的示例性DART条目创建算法的图。
[0020] 图8呈现图解说明根据本发明的实施例的示例性ND0消息处理算法的图。
[0021] 图9呈现图解说明根据本发明的实施例的用于处理到期DART条目的示例性算法的 图。
[0022] 图10呈现图解说明根据本发明的实施例的示例性NACK消息处理算法的图。
[0023] 图11呈现图解说明根据本发明的实施例的示例性链接失败处理算法的图。
[0024] 图12A到12B呈现图解说明根据本发明的实施例的OCEAN的操作实例的图。
[0025] 图13A到13C呈现图解说明根据本发明的实施例的OCEAN的操作实例的图。
[0026] 图14图解说明根据实施例的用于基于自适应命名的点播内容交换(OCEAN)的示例 性系统。
[0027]在图式中,相同参考数字指代相同图式元件。
【具体实施方式】 [002引遮述
[0029] 明的实施例提供一种实施基于自适应命名的点播内容交换(OCEAN)的CCN系 统。更确切地说,实施OCEAN的路由器不再需要维持待决兴趣表(PIT)。替代地,OCEAN路由器 维持数据应答路由表(MRT),其类似于在标记交换网络中使用标记调换表。每个兴趣陈述 所请求的内容的名称、跳数W及目的地和返回标志(dart),其在逐跳的基础上改变并且是 路由特定的。跳数用于确保正确的兴趣环路检测,并且(1曰的由转发路由器用来保留兴趣所 穿越的路径的轨迹。更确切地说,MRT中的条目将用于兴趣的传播的(1曰的映像到路由器的 面。
[0030] CCN 架构
[0031] -般来说,CCN使用两个类型的消息:兴趣和内容对象。兴趣携载内容对象的分层 结构的可变长度标识符化SVLI),也称为"名称",且充当针对所述对象的请求。如果网络元 件(例如路由器)接收到针对相同名称的多个兴趣,则网络元件可W聚合那些兴趣。沿着具 有匹配的内容对象的兴趣的路径的网络元件可高速缓存且返回所述对象,从而满足所述兴 趣。内容对象遵循兴趣的反向路径到所述兴趣的起点。
[0032] 本发明中使用的术语通常如下定义(但其解释不限于此):
[0033] 巧SVLI":分层结构的可变长度标识符,也称为名称。它是名称组成部分的有序列 表,可W是可变长度八位位组串。W人可读形式,其可W用例如ccnx:/path/part的格式表 示。另外,HSVLI可W不是人可读的。如上所述,HSVLI指代内容,且需要HS化I能够表示用于 内容的有组织结构且至少部分对人有意义。HSVLI的个别组成部分可W具有任意长度。此 外,HSVLI可W具有明确定界的组成部分,可W包含任何字节序列,且不限于人可读的字符。 最长前缀匹配查找在转发带有HS化I的包时至关重要。例如,指示对7parcA〇me/bob"的兴 趣的 HS 化 I 将匹配 ^parc/home/bob/test. txt"和 ^parc/home/bob/bar. txt"两者。在名称 组成部分的数目方面,最长匹配被视为最佳的,因为其是最特定的。在发明人Van L Jacobson和James D.化ornton于2009年9月23日提交的发明名称为《用于转发具有分层 结构的可变长度标识符的包的系统(SYSTEM FOR FORWARDING A PACKET WITH A HIERARCHICHALLY ST抓CTURED VARIABLE-LENGTH IDENTIFI邸)》的第8,160,069号美国专 利中可W找到HSVLI的详细描述,所述申请案的全部内容W引用的方式并入本文中。
[0034] "兴趣":对内容对象的请求。兴趣指定HS化I名称前缀和其它任选的选择符,所述 选择符可用W在具有相同名称前缀的多个对象当中进行挑选。其名称与兴趣名称前缀 及任选地其它所请求的参数,例如公布者密钥-ID匹配)匹配的任何内容对象都满足所述兴 趣。
[0035] "内容对象":响应于兴趣而发送的数据对象。其具有经由加密签名而绑定在一起 的HS化I名称和内容有效负载。任选地,所有内容对象具有由内容对象的甜A-256摘要组成 的隐式终端名称组成部分。在一个实施例中,隐式摘要不在线上传递,而是在需要时在每一 固b点处计算。在本发明中,术语"内容对象"和术语"命名数据对象(NDOr是可互换的。
[0036] "面":在CCN中,术语"面"是接口概念的一般化形式。面可W是与网络的连接,或直 接与应用程序方的连接。面可经配置w在特定网络接口上发送和接收广播或组播包,或者 使用基础传输中的点到点寻址或使用隧道(例如TCP隧道)来发送和接收包。面还可W是经 由如UDP的封装或0S特定的进程间通信路径与在同一机器上运行的单个应用程序进程的连 接。所有消息经由面到达并且经由面发送出去。在本发明中,术语"相邻节点"与术语"面"可 互换,指代兴趣的传入或传出接口。
[0037] "前缀":在本发明中,术语"前缀"可W用于指代特定内容对象的名称或内容对象 的名称前缀。
[0038] "错":在本发明中,术语"错"用于指代播发内容的路由器。更确切地说,播发对应 于前缀的一些或所有内容的路由器(或节点)被称作前缀的错。
[0039] 如之前所提到,HSVLI指示一条内容,是分层结构化的,且包含从最一般层级到最 特定层级排序的连续组成部分。相应HSVLI的长度是不固定的。在内容中屯、网络中,不同于 常规IP网络,包可W通过HS化I来识别。例如,"abcd/bob/papers/ccn/news"可为内容的名 称且识别对应包,即,在名为"ABC护的组织处针对名为"Bob"的用户的来自"ccn"论文合集 的"news"文章。为了请求一条内容,节点通过所述内容的名称来表达(例如,广播闲所述内 容的兴趣。对一条内容的兴趣可W是根据所述内容的名称或标识符对所述内容的查询。所 述内容如果在网络中是可用的,那么将所述内容从存储内容的任何节点发回到请求节点。 路由基础结构将兴趣智能地传播到很可能具有所述信息的预期节点,且随后沿着所述兴趣 消息穿过的反向路径携载可用的内容返回。内容对象基本上遵循兴趣消息留下的面包屑, 因此到达请求节点。
[0040] 图1图解说明根据本发明的实施例的网络的示例性架构。在此实例中,网络180包 括节点100到145。网络中的每个节点禪合到一个或多个其它节点。网络连接185是此种连接 的一个实例。网络连接被示为实线,但每一条线也可W表示可W将一个节点禪合到另一节 点的子网或超网。网络180可为内容中屯、的本地网络、超网络或子网络。运些网络中的每一 个可互连W使得一个网络中的节点可W到达其它网络中的节点。网络连接可W是宽带、无 线、电话、卫星或任何类型的网络连接。节点可为计算机系统、表示用户的端点和/或可产生 兴趣或发起内容的装置。
[0041] 根据本发明的实施例,消费者可W产生对一条内容的兴趣且将所述兴趣转发到网 络180中的节点。所述条内容可W由可位于网络内部或外部的公布者或内容提供者存储在 网络180中的节点处。例如,在图1中,对一条内容的兴趣在节点105处发起。如果所述内容在 所述节点处不可用,那么所述兴趣流动到禪合到第一节点的一个或多个节点。例如,在图1 中,兴趣流动(兴趣流150)到并不具有可用的所述内容的节点115。接着,所述兴趣从节点 115流动(兴趣流155)到节点125,节点125也不具有所述内容。随后兴趣流动(兴趣流160)到 确实具有可用的所述内容的节点130。内容对象的所述流随后反向地回溯其路径(内容流 165、170和175)直到其到达节点105为止,在节点105处传递所述内容。在所述内容流中可设 及例如验证等其它过程。
[0042] 在网络180中,在内容持有者(节点130)与兴趣产生节点(节点105)之间的路径中 的任何数目的中间节点(节点100到145)可参与当内容在网络上行进时高速缓冲存储所述 内容的本地副本。高速缓冲存储通过隐式地共享对本地高速缓冲存储内容的存取而减少对 接近其它订户定位的第二订户的网络负载。
[0043] 在常规CCN中,每个节点(也被称为路由器)维持Ξ个主要数据结构,包含转发信息 库(FIB)、内容存储区(CS)W及待决兴趣表(Ρ口)。
[0044] FIB用W朝向匹配内容对象的潜在源转发兴趣包。通常,路由协议用W在网络中的 所有节点当中填入FIB。在常规CCN中,FIB条目通常通过名称前缀编索引,每个条目包含匹 配兴趣应当被转发到的至少一个面的物理地址。在转发兴趣消息的同时,在FIB处执行名称 的最长前缀匹配查找,W找到匹配条目。
[0045] 内容存储区(CS)类似于在IP路由器中使用的缓冲存储器。更确切地说,CS临时缓 冲穿过此节点的内容对象,从而准许不同消费者的高效数据检索。当路由器接收到兴趣包 时,路由器首先检查它的内容存储区中是否存在匹配内容对象,然后向上游发布兴趣。
[0046] 待决兴趣表(PIT)用作兴趣状态的高速缓冲存储器。PIT跟踪向上游朝向内容源转 发的兴趣,使得返回的内容对象可W遵循反向兴趣路径向下游发送到其请求者。运样保持 了上游和下游网络流。在CCN中,仅路由兴趣包。返回的内容对象遵循兴趣包的路径回到内 容请求者。兴趣的PIT条目指定兴趣的名称或名称前缀和请求了所述兴趣的一个或多个传 入面。
[0047] 当兴趣包到达某一面上时,基于内容名称或HS化I完成最长匹配查找。用于名称查 找的索引结构W使得CS匹配将优选于PIT匹配而PIT匹配将优选于FIB匹配的方式排序。因 此,如果CS中已经存在匹配所述兴趣的内容对象,那么所述内容对象将经由所述兴趣到达 的面发送出去且所述兴趣将被丢弃。否则,将检查PITW查看是否可找到匹配。如果是,那么 将把兴趣的到达面添加到PIT条目的请求面列表且将丢弃所述兴趣。否则的话,将检查FIB 且沿着匹配FIB条目中列出的一个或多个面转发所述兴趣。
[0048] 如先前所论述,维持PIT并检查PIT中的匹配可为低效的,因为PIT的大小W大约通 过路由器处理的兴趣的数目增长,并且此类数目可W比网络中的路由器数目的多几个数量 级。因此期望设计不依赖于PITW将ND0返回到其原始请求者的基于兴趣的ICN系统。
[0049] 基于自适应命名的点播内容交换
[0050] OCEAN的设计是基于W下观察:(a)鉴于在控制面中随时可用多得多的路由信息, FIB可W比相对名称前缀的紧接着的跳维持更多信息;(b)基于兴趣的ICN的数据面中的路 由状态不必连接到ND0的特定名称;W及(C)对于基于兴趣的ICN的正确转发策略可W基于 转发给定兴趣的路由器的排序而不是尝试唯一地识别每个兴趣。
[0051 ]在操作期间,OCEAN使用兴趣、某些控制消息(例如NACK)W及数据对象来实施在节 点之间的内容交换。通过节点k发送的请求ND0n( j)的兴趣标示为I[n( j),hi化),化1化)],其 陈述所请求的ND0名称(n(j))、从节点k到最佳匹配n(j)的名称前缀n(jf的跳数化I化))、W 及应答所述兴趣的路由器应使用的dad(dti化))。响应于兴趣I[n(j),hi化),dti化)]而被 发送的内容对象标示为〇[110'),31邑0),扣1化)],其陈述兴趣的名称(11〇))、用^验证内容 对象的签名有效负载(sig(j))、促使ND0的传输的所述兴趣中的dad(dti化))W及ND0自 身。另一方面,响应于兴趣I[n(j),hi化),扣1化)]通过路由器i发送的控制消息(NACK)标示 为化[110),0)06,扣1化)],其中0)06陈述用于发送魁0(的原因。用于发送魁0(的可能原因 包含:(a)检测到兴趣环路、(b)未找到朝向所请求的内容的路线、(C)未找到内容、W及(d) DART条目到期。
[0化2] 为了实施兴趣、ND0和NACK的转发,OCEAN路由器维持FIB、任选的内容存储区W及 数据应答路由表(DART)。
[0053] 图2呈现图解说明根据本发明的实施例的示例性转发信息库(FIB)的图。在图2中, FIB 200包含使用内容名称前缀编索引的多个条目。每个条目陈述到名称前缀所识别的内 容的下一跳,W及到播发名称前缀的节点的跳数。出于注解的目的,在路由器i处,FIB标示 为FIBS并且用于名称前缀n(j)*的每个FIB条目标示为,例如FIB条目202。应注意,每 个FIB条目可W包含一个或多个元组的列表,每个下一跳一个元组。在中列出的到η (j Γ的所述组接下来的跳标示为。对于每个接口 q( g 6义,),对应元组陈述通过相邻 节点q到名称前缀n(jf的跳数(标示为}1(1,11〇')^〇))^及通过〇报告的对于11〇'^的错(标 示为a(i,n(j)*,q)) JIB 200还存储通过FIB 200中列出的任何相邻节点从路由器到每个 已知名称前缀的最小跳数。更确切地说,从路由器i到名称前缀n(jf的最小跳数标示为h (i,n(j)*)。
[0054] 图3呈现图解说明根据本发明的实施例的示例性数据应答路由表(DART)的图。 DART存储目的地和返回标志(dart)的映射。应注意,此类标志(不要与路由表DART混淆)用 W传播兴趣。更确切地说,请求NDOn(j)的路由器k发送包含ND0名称n(j)、跳数hi(k)W及 da;rt化1化)的兴趣I[n( j),hi化),化I化)]。跳数hi化)陈述当路由器k转发所述兴趣时从路 由器巧I报佳匹配ND0名称n(j)的名称前缀n(jT的跳数。dart化1化)陈述前一跳的标识符、 当前跳、W及播发与所请求的ND0的名称匹配的前缀的路由器。更确切地说,化1化)=p[dti 化)化f [扣1化)化a[化I化)],其中&标示字符串的级联,P标示前一跳,f标示当前跳,并且a标 示用于名称前缀的错。dart(例如dti化))中的第一元素称为dad的前驱标志,第二元素称 为dad的转发标志,并且第Ξ元素称为(1曰的的错标志。转发标志f[dti化)]是路由器i分配 给其从相邻节点k转发到特定相邻节点并且预期用于由某一错代管的任何名称前缀的任何 兴趣的本地唯一标识符(例如,本地产生的随机数)。
[0055] 在图3中,DART 300包含根据路由器i的接口组织的多个条目。在路由器i处,DART 标示为DARr,并且/A-标示在DARr中的子表,例如子表302,其包含对应于接口 P的条目。 每个子表中的条目通过从特定相邻节点(例如P)接收到的兴趣中陈述的dad编索引。应注 意,向路由器i发送关于ND0 n(j)的兴趣的相邻节点称为针对ND0 n(j)的i的前驱,并且针 对n(j)的路由器i的所述组前驱标示为il,;。另一方面,路由器i向其转发关于ND0 n(j)的 兴趣的路由器称为针对ND0 n(j)的i的后继,并且针对n(j)的路由器i的所述组后继标示为
[0056] 对应于从相邻节点P(其中P分配dad dti(p))接收到的一个或多个兴趣的DART条 目标示为。子表ΜΓ;中的每个条目(例如,条目304)指定前驱dad、由i所 选择的用W转发兴趣的后继的名称、在i转发兴趣时由其使用的后继dad、用W使用同一后 继dad转发兴趣的跳数;W及条目的使用期限。图3中说明DART条目的每个组成部分的注 解。例如,DART条目尤/Γ'(的)或图3中的条目304包含节点P的标识符、前驱 舶rt梦凌1(浊乂蛾、后继的标识符咸''(/,))、后继缸rt &'<(旅'(城庙路由器i转发兴趣时 由其采用的跳数與妳/ (妨).、W及使用娜良心7;!的/ (的)。
[0057] DART条目的使用期限在路由器存储DART条目时递减,并且条目在使用期限达到零 时被删除。与PIT中的条目的使用期限相比,DART条目的使用期限不是关键设计参数。DART 中的条目可W在没有拓扑变化的情况下在存储装置中保留较长周期(例如,多秒)。此外, DART条目的删除导致仅一些兴趣的轻微减速,并且在稳定网络中最可能的情况是代替DART 条目W陈述与被擦除的条目相同的信息。
[0058] 通过在兴趣中包含跳数参数,OCEAN确保任何兴趣环路的正确检测。更确切地说, OCEAN实施基于距离的转发策略,W确保在相邻节点转发兴趣时,只要路由器确定其通过至 少一个接口比相邻节点更接近前缀则所述路由器接受来自所述相邻节点的所述兴趣。在发 明人化se J.Garcia-Luna-Aceves于2014年12月16日提交的发明名称为《用于基于距离的 兴趣转发的系统和方法(SYSTEM AND METHOD FOR DISTANCE-BASED INTEREST FORWA畑ING)》的第14/572,608号共同未决专利申请案(律师档案号?4亂-2014017811501)中 可W找到可W用来防止兴趣环路的基于距离的转发策略的详细描述,所述申请案的全部内 容W引用的方式并入本文中。
[0059] 当实施OCEAN的路由器接收到兴趣时,它们首先使用跳数兴趣转发规则化IFR)确 定是否接受所述兴趣,HIF啡东述若满足W下条件则路由器i可W接受来自相邻节点k的兴趣 I[n( j),hi(k),化1化)]:
[0060]
[0061] 应注意,与在实施PIT并且因此允许兴趣聚合的CCN中使用的基于距离的转发策略 相比,在本发明的实施例中,兴趣转发规则不再考虑兴趣聚合,因为OCEAN路由器不维持 PIT。
[0062] 一旦路由器i接受待转发的兴趣,其必须在DART1中创建新的条目或使用DART1中的 现有条目,使得响应于通过路由器i转发的兴趣接收到的ND0或NACK可W沿着兴趣所穿越的 反向路径被转发到i的适当的相邻节点。为了隐藏原始请求者的标识,路由器需要运么做而 不使用针对兴趣的起点的任何标识符。另外,MRT条目应唯一地标示每个兴趣;否则的话, DART的大小将会太大。
[0063] 在一些实施例中,路由器i使用W下规则来用dad标记兴趣并且调换兴趣中的 daパ与ND0/NACK,W此方式使得ND0/NACK与转发的兴趣正确地相关联。兴趣标记规则(ILR) 陈述:若路由器i接受来自相邻节点k的兴趣1[11(^,}11(10,(1*1(10],其中(1*1(1〇=口[(1*1 化)化fWti化)化a[dti化)],并且将所述兴趣转发到相邻节点q,则其在所述转发的兴趣中 设置 dti(i)=P[dti(i)化 f[dti(i)化 a[i,n(j)*,q],其中p[dtI(i)] = f[dtI化)],并且f[dtI 化)]是路由器i分配给其从相邻节点k转发到相邻节点q的关于相同错3[1,110')^9]的任何 兴趣的本地唯一标识符。换句话说,当转发兴趣时,路由器调换包含于接收到的兴趣中的 dad (化I化))与新的dad(化I(i))。应注意,运算符乂"标示字符串的级联,其中每个字符串 可从聚合中识别。
[0064] 除在转发的兴趣中设置新的dart之外,路由器i在DART1中建立具有映射 悼冰'(剧一[g;冰'仰的条目。更确切地说,此类映射通过DART条目化1/巧(成/(饼反映,所 述DART条目列出传入接口(k)、前驱化rt (.的4(凌'脚))、后继/传出接口( 4(油''(0) )、W 及后继dart ( s姨^ (婚''你)))。
[0065] 当从相邻节点q接收到具有对应于在从i转发到q的兴趣中使用的dad dti(i)的 标志的NDO或NAC即寸,路由器i查找DARTiW获得对于[q;dti(i)]的精确匹配,并且基于匹配 条目识别相邻节点k。路由器i接着使用在匹配dad条目中列出的dad化1化)调换化i(i), 并且将ND0或NACK转发到k。
[0066] 图4图解说明根据本发明的实施例路由器如何标记兴趣。在图4中,网络400包含多 个路由器,例如路由器a、b、C、d、X W及y。在此特定实例中,路由器a和X是兴趣的起点。更确 切地说,路由器a用dada^a(l)&d标记其兴趣,其中a勺Pa(l)是路由器a使用于其发起的被 发送到相邻节点b且预期用于由错d代管的任何名称前缀的兴趣的标识符。更确切地说,a* 是前驱标志并且a(l)是转发标志。运两个标志都是由路由器i分配的并且是本地唯一的。类 似地,路由器X用dad x*&x( 1 )&d标记其兴趣。
[0067] 当来自路由器a的兴趣被转发到路由器b时,路由器b调换标记为a(l)&b(l)&d。此 处,前驱标志现在是包含于兴趣中的转发标志,并且转发标志现在是b(l),其是路由器b用 来标记从具有转发标志a(l)的相邻节点a接收到的、发送到相邻节点C的、并且预期用于由 错d代管的任何名称前缀的所有兴趣的标识符。因此,此转发标志对于传入面、传出面W及 兴趣的目的地的组合是唯一的。换句话说,此转发标志的路线是唯一的。类似地,路由器b用 新的da;rtx(l)&b(2)&d标记其从相邻节点x(其具有da;rtx?x(l)&d)接收到的兴趣。应注 意,路由器b使用的用于运两个兴趣的转发标记不同。此处b(2)是路由器b用来标记从具有 转发标志x(l)的相邻节点X接收到的、发送到相邻节点C的、并且预期用于由错d代管的任何 名称前缀的所有兴趣的标识符。如可W看到的,即使下一跳(相邻节点C)和兴趣的目的地相 同(错d);若兴趣是从不同相邻节点接收,则中间路由器仍分配不同的转发标志。在图4中, 标记周围的不同图案的框指代不同兴趣,并且虚线指示兴趣路线。
[0068] 在路由器C处执行的对于兴趣的标记调换操作类似于在路由器X处执行的对于兴趣的标 记调换操作。更确切地说,当路由器C转发兴趣时,在路由器a处发起的兴趣被分配dart b(l)&c (l)&d,并且在路由器X处发起的兴趣被分配dart b(2)&c(2)&d。当调换标记时,路由器在其DART 中维持dart的映射。例如,路由器b上的DART维持映射帖幻*&α(1)惠词<--> [C; α(0 &柏η & <:/] 和[.V; .V*底卿)及少h--Η;。-(!)&6口)备J],阵且路由器C上的DART维持映射 的(,·(!)&刮!诚(/] <----> 的:b(]) &斗〇&(/|韦| 1 郭 x(〇&旬2)及':/]今-
[0069] 当错d从路由器C接收到具有dad b(l)&c(l)&d的兴趣时,其向C发送回具有相同 daパ的ND0消息。继而,当路由器C处理此类ND0消息时,其检查在其DART(DARr)中的条目W 寻找映射[化。山&,',(!)底<-->!>川(!)。随后,路由器C基于映射调换ND0消息中 的dad,即,将(1曰的从6( 1 )&c( 1 )&d改变为a( 1 )&b( 1 )&d;并且将ND0消息转发到路由器b(其 也是基于映射识别的)。类似地,当路由器b从C接收到此类ND0消息时,其检查其自身的DART 并且将ND0消息中的(1曰的从曰(1)加(1)&(1调换为a*&a(l)&d,并且接着将所述消息转发到路 由器a。因此,转发响应于由a发起的兴趣发送的ND0消息的每个路由器可W由于在每个路由 器处执行的dad的调换而作出正确的转发决策。
[0070] 图5呈现图,所述图呈现根据本发明的实施例的OCEAN路由器的示例性架构。在图5 中,OCEAN路由器500包含:多个面,例如面502、504和506;兴趣处理模块508;转发模块510; ND0/NACK处理模块512;控制消息产生模块514; W及数据库516。
[0071] 面502到506不仅可包含物理接口,而且包含能够发送和接收包(包含兴趣和ND0) 的应用程序过程。兴趣处理模块508负责处理在各个面上接收的兴趣。在一些实施例中,兴 趣处理模块508基于上述跳数兴趣转发规则化IFR)确定是否接受传入兴趣。若接受所述兴 趣,则兴趣处理模块508检查数据库516中维持的DARTW寻找dad映射,并且基于所述映射 调换包含于所述兴趣中的dad。转发模块510负责向所述面转发包,例如兴趣或内容对象。 在一些实施例中,转发模块510基于dad映射转发兴趣/NDO。当兴趣处理模块508拒绝或丢 弃兴趣时,控制消息产生模块514产生控制消息,其可W包含不同的NACK消息。在一些实施 例中,控制消息产生模块514在各种条件下产生NACK消息,包含但不限于如下时候:检测到 兴趣环路、未找到朝向所请求的内容的路线、未找到内容、W及对应的DART条目过期。响应 于对于名称η(j)的兴趣的NACK消息标示为NI [n( j),CODE,化I化)],其中CODE陈述发送NACK 的条件。ND0/NACK处理模块512负责处理响应于兴趣接收到的ND0/NACK消息。在一些实施例 中,ND0/NACK处理模块512检查数据库516中维持的DARTW寻找dad映射,并且基于所述映 射调换包含于所述ND0/NACK消息中的dad。数据库516存储用于OCEAN操作所需的数据结 构:转发信息库和数据应答路由表。数据库516任选地存储内容存储区。
[0072] 图6呈现图解说明根据本发明的实施例的示例性兴趣处理算法的图。在实施图6中 示出的示例性算法时,假定来自本地内容消费者的内容请求W针对内容的陈述无限跳数的 兴趣W及空(13的的形式被发送到路由器。另外,路由器了解哪些接口是远程的(即,相邻路 由器)W及哪些是本地的。
[0073] 从图6可W看出,当路由器i的兴趣处理模块508从相邻节点k接收到兴趣I[n(j), hi化),化1化)]时,其首先检查内容存储区CSi^寻找匹配。若找到匹配,则转发模块510将匹 配的ND0返回到相邻节点k。应注意,D[n( j),sig( j),化1化)]标示响应于兴趣I[n( j),hi化), 化1化)]而发送的内容对象消息。
[0074] 若在内容存储区中未找到匹配,则兴趣处理模块508检查DARTW寻找匹配条目。若 存在DART条目,其中前驱(1曰的等于在从路由器k接收到的兴趣中陈述的dad,则路由器调换 所述兴趣中的dart并且将所述兴趣转发到由匹配DART条目指示的后继。应注意, 如如如(反))居公如巧标示在公心巧中存在条目的情况,其中前驱dad等于路由器k在先前 兴趣中发送给路由器i的dad化1化)。
[0075] 若在DART中未找到匹配,则路由器i检查其FIBW寻找匹配。如果在FIB中未找到匹 配,则确定不存在到所请求的内容的路线。作为响应,控制消息产生模块514产生NACK消息 NI[n(j),no route,dti(k)],陈述因为未找到路线,所W发出NACK。随后,转发模块510将 NACK转发到相邻节点k,并且兴趣处理模块508丢弃接收到的兴趣。
[0076] 若在FIB中找到匹配,则兴趣处理模块50如角定是否可W基于HIFR转发兴趣,即,当 路由器k发送其兴趣时路由器i是否通过至少一个相邻节点比路由器k更接近名称前缀η (J'r。如果是,则确定可W转发兴趣,路由器i创建DART条目,并且转发模块510基于适当的 转发算法转发所述兴趣。更确切地说,当处理兴趣时,路由器i选择在存储于针对前缀n(j)* 的FIB1中的接口分级列表中找到的第一相邻节点V,使得V提供所具有的朝向所请求的内容 的跳数绝对小于在所转发的兴趣中陈述的跳数的路径。应注意,尽管有可能设计更复杂的 转发策略W实现在朝向内容的多个可用路线之间的负载均衡,但是此类方法可能要求在控 制面中采用不带环路的路由协议。在此背景下,控制面使用长期性能量度建立到内容前缀 的有效的多路径,并且数据面使用短期性能亮度(例如,使用基于距离的转发策略)利用那 些路径,而不会有与循环造成的回溯相关联的长延迟的风险。
[0077] 若违反了 HIFR,则确定兴趣可W穿越环路。作为响应,控制消息产生模块514产生 NACK消息NI [n( j),loop,化I化)],陈述因为找到环路,所W发出NACK。随后,转发模块510将 NACK转发到相邻节点k,并且兴趣处理模块508丢弃接收到的兴趣。
[0078] 在实施图6中示出的示例性算法时,假定来自本地内容消费者的内容请求W针对 内容的陈述无限跳数的兴趣W及空(13的的形式被发送到路由器。另外,路由器了解哪些接 口是远程的(即,相邻路由器)W及哪些是本地的。
[0079] 图7呈现图解说明根据本发明的实施例的示例性DART条目创建算法的图。在操作 期间,路由器i使用包含于兴趣中的dad,针对所述dad创建了 DART条目用作密钥(前驱 dad)。所创建的DART条目将V列为dad的后继、通过路由器i根据ILR创建的后继dad、在兴 趣中使用的跳数化i(i))W及条目的使用期限。更确切地说,后继dad使用接收到的兴趣的 转发标志作为前驱标志,使用唯一本地标识符(标示为作为转发标志,并且使 用选择用于前缀n(jf的错的名称作为错标志。后继(1曰的是^个标志的级联。DART条目的使 用期限假定为预定义常数MLT。
[0080] 图8呈现图解说明根据本发明的实施例的示例性ND0消息处理算法的图。根据图8 中示出的算法,若路由器具有的DART条目具有与ND0消息中陈述的dad匹配的后继dad,贝U 其接受从相邻节点接收到的所述ND0。应注意,S凉(冻J巧))€化觀标示在度《中存在 条目的情况,所述条目具有与在通过路由器i的相邻节点k发送到路由器i的兴趣中使用的 前驱dad化1化)匹配的后继dart A,油切r'a'))。路由器可W任选地验证签名有效负载并在 此类验证失败的情况下丢弃ND0。若未找到匹配的DART条目,则路由器丢弃所述兴趣。此外, 路由器可W任选地根据某些ICN高速缓冲存储策略(所述策略可W是基于路径或基于边缘 的)存储其接收到的数据对象。尽管图8中示出的算法假定通过路由器高速缓冲存储内容是 沿着兴趣所穿越的路径发生的,但是不排除当仅在网络边缘处进行高速缓冲存储时OCEAN 可W很好地操作的情况。应注意,当转发ND0时,如通过对应DART条目所指定,路由器调换在 接收到的ND0中的(1曰的与在匹配DART条目中的处理器dad,并且将修改后的ND0转发到发送 对应兴趣的相邻节点。
[0081] 图9呈现图解说明根据本发明的实施例的用于处理到期DART条目的示例性算法的 图。当与相邻节点P建立的对于dad (1的04^条目到期时,路由器i简单地删除所述DART条 目。
[0082] 图10呈现图解说明根据本发明的实施例的示例性NACK消息处理算法的图。根据图 10中示出的算法,只要路由器i具有的DART条目具有与在NACK中陈述的dad匹配的后继 dart,路由器i就转发其接收到的对于n(j)的NACK。应注意,NACK的处理类似于ND0的处理, 其还包括调换NACK所携载的dad并且将所述NACK转发到发送对应兴趣的相邻节点。
[0083] 图11呈现图解说明根据本发明的实施例的示例性链接失败处理算法的图。在操作 期间,当路由器i检测到至相邻节点k的连接丢失时,其删除对于从k接收到的兴趣的所有 DART条目W及对于转发到k的兴趣的所有DART条目。另外,路由器i发送NACK到相邻节点q, 因为每个DART条目将k列为来自q的兴趣的后继。所述算法假定控制面更新FIBi^反映由至 一个或多个相邻节点的连接丢失而造成的到名称前缀的跳数的任何改变。
[0084] 操作实例
[0085] 图12A到12B呈现图解说明根据本发明的实施例的OCEAN的操作实例的图。更确切 地说,图12A图解说明控制面确定的路由信息,并且图12B图解说明兴趣如何穿越所述链路。 在图式中,网络1200包含多个节点,例如节点1202到1214,其中标有箭头的线条指示到通过 路由器1214根据存储在路由器中的FIB条目播发的内容(具有名称n(j))的接下来的跳。标 有箭头的线条的线条粗细指示接口的察觉到的性能。较粗的线条指示接口比W较细线条示 出的接口更好。例如,链接(节点1206、节点1208)比链接(节点1204、1206)性能更好。
[0086] 图12A到12B中示出的实例用于展示控制面建立到每个名称前缀的多个路径但不 保证不带环路的路由表的情况下的操作。在运个实例中,假设:(a)路由器执行不实行不带 环路的FIB的路由协议;W及(b)在每个路由器处使用某种基于每个路径和接口的察觉到的 性能的数据面策略独立地确定相邻节点的分级。应注意,路径的距离值不需要与图中示出 的路径的跳数值成正比。
[0087] 如图12A中所示,节点1202与1214之间存在多个路径,并且路由表可W包含一条环 路:节点1204-节点1206-节点1208-节点1204。此外,在图12A中,在从路由器出来到其相邻 节点的每个链路处,列出了一对数字,表示通过相邻节点到η(j)(节点1214)的跳数(第一数 字)和相邻节点在FIB中的等级(第二数字)。应注意,针对相同链路可W有两对数字,并且每 一对数字存储在更接近运对数字的路由器中的FIB处。例如,在从路由器1204到路由器1206 的链路上,在链路旁边示出了两对数字,即(4,1)对和(5,2)对。数字对(4,1)邻近于路由器 1204并存储于路由器1204的FIB中,并且数字对(5,2)邻近于路由器1206并存储于路由器 1206的FIB中。更确切地说,邻近于路由器1204的数字对(4,1)指示经由其相邻节点1206到η (j)的跳数是4,并且相邻节点1206在路由器1204的FIB中的等级第1。另一方面,邻近于路由 器1206的数字对巧,2)指示从其相邻节点1204到n(j)的跳数是5,并且相邻者1204在路由器 1206的FIB中的等级是第2。
[0088] 可W使用元组(v,h,r)来指示相邻节点、其跳数及其等级。应注意,此类元组可W 是在名称前缀n(j)*下在FIB中列出的条目。例如,FIBn°dei2〇4可W列出元组(N〇del206,4,l)、 (Nodel210,4,2)和(Nodel208,6,3)。类似地,FIBn°dei2〇2 可W列出元组(N〇del204,5,l); FIβn。del206可w列出元组(Nodel208,6,l)、(Nodel204,5,2)和(Nodel212,3,3);并且 FIBnDdeuos可W列出元组(N〇del206,5,l)和(Nodel204,5,2)。应注意,图12A中还示出节点 1210和1212的部分FIB条目。
[0089 ]图12B图解说明OCEAN路由器如何转发兴趣。在图12B中示出的实例中,路由器1204 在时间ti从路由器1202接收到对于名称n( j)的兴趣I[n( j),hi(Nodel202) = 5,dti (Nodel202)]。鉴于 hi(Nodel202)>h(Nodel204,n(j)*,Nodel206)=4,路由器 1204接受所述 兴趣,因为其具有符合HIFR的至少一个相邻节点(路由器1206)。路由器1204接着将所述兴 趣转发到路由器1206,因为路由器1206是符合HIFR的等级最高的相邻节点。应注意,在转发 之前,路由器1204调换所述兴趣中的dart,并且将兴趣I [n( j),hi(Nodel204) = 4,dti (Nodel204)]转发到路由器1206。
[0090]路由器1204在时间t2 接收I[n(j),hi(Nodel204)=4,dti(Nodel204)],并且接受 它,因为 4 = hi(Nodel204)>h(Nodel206,n(j)*,Nodel212)=3。路由器 1204接着使用路由器 1212作为针对所述兴趣的下一跳,因为路由器1212是符合HIFR的等级最高的相邻节点。兴 趣所穿越的路线通过虚线遵循时间序列指示。应注意,每个路由器沿着所述路径 调换包含于所述兴趣中的dadW确保返回的NDO可W遵循所述兴趣的反向路径。
[0091] 类似地,由路由器1208产生的兴趣朝向n(j)转发到路由器1212(路线通过不同的 虚线遵循时间序列t3^t4^t5指示)而不穿越环路,因为每个中继转发路由器必须满足 HIFR。
[0092] 从图12A到12B中示出的实例可见,若路由器实施OCEAN并且通过路由器维持的FIB 具有一致信息,则沿着不带环路的路径转发兴趣,即使FIB中隐含的多路径中的一些包括环 路。可W证实,总的来说,在实施OCEAN的ICN中,无法发生并且检测不到兴趣环路。还可W证 实,在没有故障和传输错误的ICN中,OCEAN是安全的。
[0093] 图13A到13C呈现图解说明根据本发明的实施例的OCEAN的操作实例的图。更确切 地说,图13A到13C中示出的实例是用于展示控制面仅仅使用单路径路由的情况下的操作。 在图13A中,每个路由器针对其FIB中列出的每个前缀具有单个下一跳和一个跳数。例如,针 对路由器1314播发的名称前缀n(jf,路由器1304列出经由相邻路由器1306的4的跳数,并 且路由器1306列出经由相邻路由器1308的6的跳数。应注意,从路由器到名称前缀n(jf的 距离可不与路径的跳数成正比。例如,链接(节点1306、节点1312)可W具有有限带宽或较长 延迟,并且因此节点1306更倾向通过节点1308到达节点1314处的n(jf的路径。
[0094] 当路由器1304与路由器1310之间的链接失败时,路由器1306更新其FIBW反映在 时间to的链接失败,如图13A中所示。应注意,此类链接失败导致在转发兴趣时网络1300中 的路由器针对n(j)具有不一致的FIB状态。在时间ti,路由器1302向路由器1304发送对于名 称n(j)的兴趣1[110'),}11(齡(161302) = 5,化1(齡(161302)]。图138示出路由器1304在时间12 向路由器1306转发兴趣。应注意,已经基于上述兴趣标记规则调换了包含于兴趣中的dad。 图13B还示出路由器1306在时间t3用NACK响应兴趣,因为4 = hi(Nodel304)》h(Nodel306,n 。)^ Node 1308) = 6,运违反了HIFR。实际上,NACK将指示NACK的原因为检测到环路。在时间 t4,NACK将最终被一直转发到兴趣的发起者,即路由器1302,如图13C中所示。
[0095] 图13B还示出在时间t3路由器1308向路由器1304发送对于名称n(j)的兴趣I [η (j),hi(Nodel308)=5,dti(Nodel308)]。此类兴趣还促使在时间ts处归因于HIFR违反而导 致来自路由器1306的NACK,如图13C中所示。图13C还图解说明在时间t6处路由器1304将 NACK从路由器1306转发到路由器1308。应注意,此类转发是基于包含于NACK中的dad和维 持在路由器1306上的DART条目。
[0096] 在有限时间内,更新FIBN°del3M、FIBN°del3〇 6和FigNDdeUOSw反映新的拓扑状态。更确 切地说,节点1306的FIB可W不再列出节点1308为其下一跳,并且来自节点1302的关于η (J'r的兴趣可W沿着朝向n(jr(即,节点1314)的节点1304、1306和1312的传送链转发。类似 地,在有限时间内,来自节点1308的关于n(jf的兴趣可W朝向n(jf被转发到节点1304和 1306。
[0097] 如先前所论述,基于自适应命名的点播内容交换(OCEAN)系统实施用于基于兴趣 的ICN的转发策略,其不要求待决兴趣表(P 口)的操作。OCEAN通过W下步骤来操作:要求FIB 存储下一跳相邻节点的通过此类相邻节点到命名内容的跳数,并且使每个兴趣陈述所请求 的内容的名称、从中继转发路由器到所述内容的跳数W及目的地和返回标志(dart), dart 包含路线唯一的Ξ个级联的标识符。兴趣不被聚合,并且兴趣环路检测是基于到内容前缀 的距离。
[0098] OCEAN路由器使用数据应答路由表(DART)来维持兴趣状态,而不是使用PIT。路由 器处的每个DART条目在传入接口与传出接口之间建立映射,数据对象或否定应答必须经由 所述接口发送回发布兴趣的消费者。DART的状态取决于朝向播发内容前缀的路由器穿越的 路线,而不是由请求特定命名数据对象(ND0)的个别兴趣穿越的路线,如在常规CCN或NDN网 络中。换句话说,不同于具有兴趣特定的条目并且大小随兴趣的数目而增长的PIT,DART条 目是路线特定的;因此,DART的大小比PIT的大小小得多。另外,OCEAN实施的转发规则是通 过使用路由器相对于前缀的排序来防止不能检测到兴趣环路。
[0099] 计算机及通信系统
[0100] 图14图解说明根据本发明的实施例的用于基于自适应命名的点播内容交换的示 例性系统。用于基于自适应命名的点播内容交换的系统1400包括处理器1410、存储器1420 W及存储装置1430。存储装置1430通常存储可W载入存储器1420中并通过处理器1410执行 W实施上述方法的指令。在一个实施例中,存储装置1430中的指令可W实施兴趣处理模块 1432、命名数据对象处理模块1434、转发模块1436W及控制消息产生模块1438,运些模块全 都可W通过多种方式彼此通信。存储装置1430可进一步包括多个数据结构,例如内容存储 区1440、转发信息库1442 W及数据应答路由表1444。
[0101] 在一些实施例中,模块1432、1434、1436W及1438可部分地或完全地W硬件实施且 可为处理器1410的部分。此外,在一些实施例中,所述系统可不包含单独的处理器和存储 器。实际上,除执行其特定任务之外,模块1432、1434、1436W及1438单独地或协同地可W是 通用或专用计算引擎的一部分。
[0102] 存储装置1430存储将通过处理器1410执行的程序。具体来说,存储装置1430存储 实施用于基于自适应命名的点播内容交换的系统(应用程序)的程序。在操作期间,应用程 序可从存储装置1430加载到存储器1420中且通过处理器1410执行。因此,系统1400可执行 上述功能。系统1400可W禪合到任选的显示器1480(其可W是触摸屏显示器)、键盘1460和 指向装置1470,并且还可W经由一个或多个网络接口禪合到网络1482。
[0103] 此【具体实施方式】中所描述的数据结构W及代码通常储存在计算机可读存储媒体 上,所述计算机可读存储媒体可W是能存储计算机系统可用的代码和/或数据的任何装置 或媒体。计算机可读存储媒体包含(但不限于)易失性存储器、非易失性存储器、磁性W及光 学存储装置,例如磁盘驱动器、磁带、CD(光盘)、DVD(数字通用光盘或数字视频光盘)、或能 够存储目前已知或后续开发的计算机可读媒体的其它媒体。
[0104] 在【具体实施方式】部分中所描述的方法和过程可W实施为代码和/或数据,所述代 码和/或数据可W存储于如上文所描述的计算机可读存储媒体中。当计算机系统读取并且 执行存储于计算机可读存储媒体上的编码和/或数据时,计算机系统执行W数据结构W及 编码形式实施且存储在计算机可读存储媒体内的方法W及程序。
[0105] 此外,本文中所描述的方法W及过程可W包含在硬件模块或设备中。运些模块或 设备可W包含但不限于专用集成电路(ASIC)忍片、现场可编程口阵列(FPGA)、在特定时间 执行特定软件模块或一段代码的专用处理器或共享处理器、和/或目前已知或后续开发的 其它可编程逻辑装置。当硬体模块或设备启动时,运些硬体模块或设备执行其内部所包含 的方法和程序。
【主权项】
1. 一种用于信息中心网络(ICN)中的内容交换的计算机可执行方法,所述方法包括: 通过所述ICN中的第一节点从第二节点接收对于一条内容的兴趣,其中所述兴趣指示 所述条内容的名称以及由所述第二节点分配给所述兴趣的传入标识符; 识别存储于所述第一节点上的标识符表中对应于所述传入标识符的匹配条目,其中所 述匹配条目指示下一跳相邻节点和传出标识符; 通过用所述传出标识符代替所述传入标识符来更新所述兴趣;以及 将所述更新后的兴趣转发到所述下一跳相邻节点。2. 根据权利要求1所述的方法,其中所述传入标识符包含指示到所述第二节点的前一 跳相邻节点的前驱标志、转发标志、以及指示播发所述条内容的目的节点的锚标志,其中所 述转发标志对于到所述第二节点的所述前一跳相邻节点、所述第一节点以及所述目的节点 的组合是唯一的。3. 根据权利要求2所述的方法,其中所述传出标识符包含传出前驱标志、传出转发标志 以及传出锚标志,其中所述传出前驱标志与所述转发标志相同,并且其中所述传出转发标 志对于所述第二节点、所述下一跳相邻节点以及由所述传出锚标志指示的目的节点的组合 是唯一的。4. 根据权利要求2所述的方法,其中所述传入标识符是所述前驱标志、所述转发标志以 及所述锚标志的级联。5. 根据权利要求1所述的方法,其进一步包括: 响应于在所述标识符表中未找到对应于所述传入标识符的匹配条目,基于存储在所述 第一节点上的路由信息识别下一跳相邻节点;以及 在所述标识符表中创建针对所述接收到的兴趣的条目。6. -种存储指令的非暂时性计算机可读存储媒体,所述指令当通过计算装置执行时使 得所述计算装置执行用于信息中心网络(ICN)中的内容交换的方法,所述方法包括: 通过所述ICN中的第一节点从第二节点接收对于一条内容的兴趣,其中所述兴趣指示 所述条内容的名称以及由所述第二节点分配给所述兴趣的传入标识符; 识别存储于所述第一节点上的标识符表中对应于所述传入标识符的匹配条目,其中所 述匹配条目指示下一跳相邻节点和传出标识符; 通过用所述传出标识符代替所述传入标识符来更新所述兴趣;以及 将所述更新后的兴趣转发到所述下一跳相邻节点。7. 根据权利要求6所述的计算机可读存储媒体,其中所述传入标识符包含指示到所述 第二节点的前一跳相邻节点的前驱标志、转发标志、以及指示播发所述条内容的目的节点 的锚标志,其中所述转发标志对于到所述第二节点的所述前一跳相邻节点、所述第一节点 以及所述目的节点的组合是唯一的。8. -种用于信息中心网络(ICN)中的内容交换的计算机系统,所述系统包括: 兴趣接收模块,其被配置成通过所述ICN中的第一节点从第二节点接收对于一条内容 的兴趣,其中所述兴趣指示所述条内容的名称以及由所述第二节点分配给所述兴趣的传入 标识符; 兴趣处理模块,其被配置成: 识别存储于所述第一节点上的标识符表中对应于所述传入标识符的匹配条目,其中所 述匹配条目指示下一跳相邻节点和传出标识符;并且 通过用所述传出标识符代替所述传入标识符来更新所述兴趣;以及 转发模块,其配置成将所述更新后的兴趣转发到所述下一跳相邻节点。9. 根据权利要求8所述的系统,其中所述传入标识符包含指示到所述第二节点的前一 跳相邻节点的前驱标志、转发标志、以及指示播发所述条内容的目的节点的锚标志,其中所 述转发标志对于到所述第二节点的所述前一跳相邻节点、所述第一节点以及所述目的节点 的组合是唯一的。10. 根据权利要求9所述的系统,其中所述传出标识符包含传出前驱标志、传出转发标 志以及传出锚标志,其中所述传出前驱标志与所述转发标志相同,并且其中所述传出转发 标志对于所述第二节点、所述下一跳相邻节点以及由所述传出锚标志指示的目的节点的组 合是唯一的。
【文档编号】H04L29/08GK105872008SQ201610035300
【公开日】2016年8月17日
【申请日】2016年1月19日
【发明人】J·J·加西亚-鲁娜-阿塞韦斯
【申请人】帕洛阿尔托研究中心公司