使用利用确切名称的集合同步的服务发现的制作方法

文档序号:9263505阅读:222来源:国知局
使用利用确切名称的集合同步的服务发现的制作方法
【技术领域】
[0001]本发明大体上涉及数据同步。更具体来说,本发明涉及通过使用确切匹配名称在网络上的对等机之间执行集合同步的服务发现。
【背景技术】
[0002]在许多计算应用中,网络上的对等机使其相应数据集合同步常常是重要的。数字内容的激增产生了大量需要调和的集合。内容中心网络(CCN)架构已经设计以促进存取及处理此类数字内容。CCN包含实体或节点,例如网络客户端、转发器(例如,路由器)及内容产生器,其通过发送对于各种内容项目的“兴趣”包及接收返回的“内容对象”包而彼此通信。基于唯一名称识别CCN兴趣及内容对象,所述唯一名称通常为阶层结构可变长度识别符(HSVLI),且包括从最一般层级到最特定层级排序的连续名称组成部分。
[0003]当前CCN同步协议使用最长前缀匹配方法,其中对“/parc/events/”的兴趣将匹配“/pare/events/calendar, txt”及“/pare/events/conference, txt”两者。此当前同步协议是基于扩展兴趣的名称的响应。此同步协议描述于以下申请案中:
[0004]标题为“使用数据库同步的动态路由协议(DYNAMIC ROUTING PROTOCOLS USINGDATABASE SYNCHRONIZAT1N) ”的第13/720,736号美国专利申请案(代理人档案号码PARC-20111397-US-NP),发明人为 Van L.Jacobson 及 Marc E.Mosko,于 2012 年 12 月 19 H申请(下文中称为“第13/720,736号美国专利申请案”);以及
[0005]标题为“通过按名称的内容同步进行数据输送(DATA TRANSPORT BY NAMEDCONTENT SYNCHRONIZAT1N) ”的第13/681,306号美国专利申请案(代理人档案号码PARC-20111317-US-NP),发明人为 Van L.Jacobson 及 Marc E.Mosko,于 2012 年 11 月 19 H申请(下文中称为“第13/681,306号美国专利申请案”)。
[0006]随着CCN架构演变,存在对于基于同步协议发现装置及由那些装置提供的服务的需要,所述同步协议允许使用确切名称匹配而非当前的最长前缀匹配。在此类新架构中,当前CCN同步协议将不起作用。

【发明内容】

[0007]一个实施例提供一种基于通过使用基于确切匹配名称的同步协议而使清单在内容中心网络中的装置之间同步来促进服务发现的系统。在操作期间,本地装置接收对应于远程装置的远程清单的播发。清单表示服务记录的集合,且播发包含对应于所述远程装置的服务记录。所述本地装置响应于确定本地清单及远程清单对应于相同名称空间而通过将所播发的服务记录插入到本地清单中来更新其本地清单。
[0008]在一些实施例中,所述本地装置发射对于对应于远程装置的远程清单的播发的查询。
[0009]在一些实施例中,本地装置发射对应于本地装置的本地清单的播发,且所述播发包含对应于所述本地装置的服务记录。
[0010]在一些实施例中,所述本地装置从远程装置接收对于对应于本地清单的播发的查询,且所述播发包含对应于所述本地装置的服务记录。
[0011]在一些实施例中,由本地装置发送或接收的数据包指示以下各者中的一或多者:识别清单的可路由前缀;用以确定数据包对应于数据传送的识别符;用以确定数据包对应于数据播发的识别符;清单的根散列值;清单中的服务记录的名称;以及服务记录。
[0012]在一些实施例中,响应于确定播发的服务记录的序列号大于本地清单中与播发的服务记录具有相同名称的服务记录的序列号,本地装置用播发的服务记录的值更新本地清单中的服务记录的值。
[0013]在一些实施例中,本地装置在没有清单的情况下初始化到网络上。本地装置创建对应于本地装置的服务记录,且创建用于本地装置的包括服务记录的清单。
[0014]在一些实施例中,本地装置响应于确定本地清单的根散列值不同于所播发的远程清单的根散列值而发送对于远程清单的请求,其中根散列值识别清单的服务记录。基于所接收的远程清单,本地装置确定远程清单中表示的哪些服务记录不同于本地清单中表示的服务记录。本地装置发射对于不同的服务记录的一组兴趣。
[0015]在一些实施例中,响应于本地清单中的服务记录的存留时间(TTL)的出现,本地装置通过从本地清单删除到期的服务记录而更新本地清单。本地装置发射对应于经更新本地清单的播发。
【附图说明】
[0016]图1说明根据本发明的实施例的促进使清单在内容中心网络中的节点之间同步的示范性计算机系统。
[0017]图2说明根据本发明的实施例的在本地节点与远程节点之间的示范性通信。
[0018]图3呈现根据本发明的实施例的说明用于使与远程清单及本地清单相关联的内容同步的方法的流程图。
[0019]图4呈现根据本发明的实施例的说明用于基于修改时间使与远程清单及本地清单相关联的内容同步的方法的流程图。
[0020]图5呈现根据本发明的实施例的说明用于发射对应于清单的播发的方法的流程图。
[0021]图6A呈现根据本发明的实施例的描绘集合中所表示的清单及内容对象的格式的表。
[0022]图6B呈现根据本发明的实施例的描绘在同步期间的两个清单的格式的表,其中本地清单缺少来自远程清单的内容对象。
[0023]图6C呈现根据本发明的实施例的描绘在同步期间的两个清单的格式的表,其中本地清单中的相同名称的内容对象的摘要不同于远程清单中的摘要,且其中远程节点播发其清单。
[0024]图6D呈现根据本发明的实施例的描绘在同步期间的两个清单的格式的表,其中本地清单中的相同名称的内容对象的摘要不同于远程清单中的摘要,且其中本地节点播发其清单。
[0025]图6E呈现根据本发明的实施例的描绘在同步期间的两个清单的格式的表,此时本地清单中的相同名称的内容对象的摘要及修改时间不同于远程清单中的摘要。
[0026]图7说明根据本发明的实施例的基于清单在内容中心网络中的装置之间的同步而促进服务发现的示范性计算机系统。
[0027]图8说明根据本发明的实施例的在两个装置之间的示范性通信。
[0028]图9A及9B呈现根据本发明的实施例的说明用于基于网络中的两个装置的清单的同步而促进服务发现的方法的流程图。
[0029]图1OA呈现根据本发明的实施例的描绘集合中所表示的清单及服务记录的格式的表。
[0030]图1OB呈现根据本发明的实施例的描绘在使用同步协议的服务发现期间的两个清单的格式的表,其中本地装置不需要检索远程清单。
[0031]图1OC呈现根据本发明的实施例的描绘在使用同步协议的服务发现期间的两个清单的格式的表,其中本地装置从远程装置接收经更新服务记录。
[0032]图1OD呈现根据本发明的实施例的描绘在使用同步协议的服务发现期间的两个清单的格式的表,其中本地装置初始化、执行服务发现且检索远程清单。
[0033]图11说明根据本发明的实施例的基于清单在内容中心网络中的装置之间的同步而促进服务发现的示范性计算机及通信系统。
[0034]在诸图式中,相同参考数字指代相同图式元件。
【具体实施方式】
[0035]呈现以下描述以使所属领域的技术人员能够制备且使用实施例,且在特定应用以及其要求的背景下提供以下描述。所属领域的技术人员将易于了解对所揭示的实施例的各种修改,且在不脱离本发明的精神和范围的情况下,本文中所定义的一般原理可应用于其它实施例以及应用。因此,本发明不限于所示出的实施例,而是应被赋予与本文所揭示的原理以及特征一致的最宽范围。
[0036]本发明的实施例提供一种基于通过使用基于确切匹配名称而使清单在网络中上的节点之间同步来促进发现装置及由内容中心网络(CCN)中的那些装置提供的服务的系统。在本发明的实施例的以下描述中,相关CCN实体为本地节点及远程节点,但角色可反转。在一些实施例中,相关CCN实体为本地节点处的装置(“本地装置”)及远程节点处的装置(“远程节点”)。本地及远程节点或装置中的每一者与清单相关联,所述清单表示节点处的内容对象的集合。清单通过特定前缀识别,使得具有相同前缀的两个清单对应于相同内容对象集合。
[0037]在一些实施例中,清单为识别内容对象集合的有序列表。集合中的每一内容对象通过其名称及对应摘要识别,其中摘要为内容对象的散列值。在一些实施例中,每一内容对象还通过修改时间识别,所述修改时间指示修改内容的时间。出于此描述的目的,将清单描述为有序列表,但其它实施例包含结构化为同步树的清单,其含有内容对象以及嵌套的内容对象集合。系统产生用于清单的根散列值。根散列值为基于集合的个别内容对象的散列值的累加散列值。清单的根散列值为用于清单的唯一识别符。
[0038]系统可使用确切匹配名称使本地清单中的集合与本地清单中的内容同步。远程节点播发其清单的散列。本地节点接收所述播发且确定所播发的远程清单对应于本地清单,其中远程清单及本地清单对应于相同内容对象集合。本地节点通过比较本地清单的根散列值与远程清单的根散列值而确定本地清单的内容是否与远程清单的内容同步。如果其并不匹配,则本地节点通过将对于远程清单的请求发送到远程节点来检索远程清单。在一些实施例中,本地节点基于组块协议发送一组兴趣,且每一兴趣对应于清单的经编号信息块。在一些实施例中,所述远程节点可播发对应于其清单的信息块的编号。拥有远程清单的本地节点确定远程清单中指示的哪些内容对象不同于本地清单中指示的内容对象。随后,本地节点发射对于不同的内容对象的一组兴趣,其中所述兴趣包含所请求内容对象的名称。在一些实施例中,所述兴趣还包含所请求内容对象的对应散列值。以此方式,所述系统使用确切名称匹配来请求及接收不同内容对象集合。
[0039]在一些实施例中,使用结构化技术发射所述清单,例如按rsync协议的滚动散列技术,而非发送完整清单。
[0040]在一些实施例中,进一步通过对应修改时间识别集合中的内容对象,修改时间指示修改内容对象的时间。用于确定为不同的每一内容对象,本地节点确定远程清单中的内容对象的修改时间比本地清单中的对应内容对象更为新近还是较不新近。如果远程内容对象对应于更为新近的版本,则本地节点用来自远程清单的内容对象的值更新本地清单中的内容对象的值。第13/681,306号美国专利申请案中含有如何从数据集合移除或“空出(white-out) ”内容项目的描述。
[0041]在一些实施例中,内容对象的名称为阶层结构可变长度识别符(HSLVI),且指示版本号或时间戳或隐式排序次序,其用于代替清单中的修改时间来确定内容对象的最近版本。
[0042]在一些实施例中,如果远程内容对象对应于较不新近的版本,则系统可通过将来自远程清单的内容对象的值插入到本地清单中的对应内容对象的历史字段中来确定是否保留历史。系统相应地对于确定为不同的每一内容对象更新所述值。以此方式,系统使本地节点处的清单与远程节点处的清单同步。
[0043]在一
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1