用于串流存储装置中的高效内容高速缓冲存储的系统和方法_2

文档序号:9200166阅读:来源:国知局
转发散列(FH)表示沿着匹配兴趣名称的数据路径的各种转发装置 (例如,路由器、交换器等)中的路由表中的最长匹配前缀。FH是基于兴趣包的名称的一或 多个组件而计算。一般来说,兴趣包的源节点可基于名称组件的最高层级阶层(其中最高 阶层是"/")计算FH。
[0039] 如之前所提到,HSVLI指示一条内容,经阶层式结构化,且包含从最一般层级到最 特定层级排序的连续组件。相应HSVLI的长度不是固定的。在内容中心网络中,不同于常 规IP网络,包可由HSVLI识别。举例来说,"abcd/bob/papers/ccn/news"可为内容的名称 且识别对应包,即,在名为"AB⑶"的组织处针对名为"Bob"的用户的来自"ccn"论文收集 的"新闻"文章。为了请求一条内容,节点通过所述内容的名称来表达(例如,广播)对所 述内容的兴趣。对一条内容的兴趣可为根据所述内容的名称或识别符对所述内容的查询。 在网络中可用的情况下,内容从存储所述内容的任何节点路由回到网络。路由基础结构将 兴趣智能地传播到很可能具有所述信息的前瞻性节点且随后沿着所述兴趣穿越的路径携 载可用的内容返回。
[0040] 图1图解说明根据本发明的实施例的网络的示范性架构。在此实例中,网络180 包括节点100到145。网络中的每一节点耦合到一或多个其它节点。网络连接185是此类 连接的实例。网络连接展示为实线,但每一线也可表示可将一个节点耦合到另一节点的子 网络或超网络。网络180可为内容中心的本地网络、超网络或子网络。这些网络中的每一 者可经互连以使得一个网络中的节点可到达其它网络中的节点。网络连接可为宽带、无线、 电话、卫星或任何类型的网络连接。节点可为计算机系统、表示用户的端点和/或可产生兴 趣或发源内容的装置。
[0041] 根据本发明的实施例,消费者可产生对一条内容的兴趣且随后将所述兴趣发送到 网络180中的节点。所述条内容可由可位于网络内部或外部的出版商或内容提供者存储在 网络180中的节点处。举例来说,在图1中,对一条内容的兴趣在节点105处发源。如果所 述内容在所述节点不可用,那么所述兴趣流动到耦合到所述第一节点的一或多个节点。举 例来说,在图1中,兴趣流动(兴趣流150)到并不具有可用的所述内容的节点115。接着, 所述兴趣从节点115流动(兴趣流155)到再次并不具有所述内容的节点125。所述兴趣随 后流动(兴趣流160)到确实具有可用的所述内容的节点130。内容的所述流随后反向地回 溯其路径(内容流165、170和175)直到其到达递送所述内容的节点105。在所述内容流中 可涉及例如验证等其它过程。
[0042] 在网络180中,在内容持有者(节点130)与兴趣产生节点(节点105)之间的路 径中的任何数目的中间节点(节点100到145)可参与在内容在网络上行进时高速缓冲存 储所述内容的本地副本。高速缓冲存储通过隐式地共享对本地高速缓冲存储内容的存取而 减少对位于接近其它订户处的第二订户的网络负载。
[0043] 如先前所描述,在CCN中,期望具有高速缓冲存储内容的本地副本的中间节点。这 要求中间节点具有大存储容量,因为穿过网络的内容流的量可为巨大的。另外,内容数据流 的速度可较高,因为快速CCN路由器能够每秒处理数千万的内容包。举例来说,IOOGbps (每 秒千兆位)线卡可每秒处理超过4百万对象(假定兴趣和对象的大小各自是1500字节)。 因此,需要快速高效的高速缓冲存储机制。
[0044] 在本发明的一些实施例中,允许在正接收内容数据(例如视频文件)时高速缓冲 存储它们且允许新数据覆写旧数据的串流存储装置用于内容高速缓冲存储。为了在高速下 高速缓冲存储大量数据,所述串流存储装置可包含多个大容量(例如250GB或1TB)磁盘, 其可包含磁性硬盘驱动器或固态驱动器(SSD)。应注意,通过实施多个磁盘,并行串流可用 以实现高处理量。典型磁盘可实现多达150MB/秒的持久处理量。举例来说,Seagate? (加 利福尼亚库珀蒂诺市的希捷技术公司的注册商标)3. 5 "视频硬盘驱动器可维持146MB/秒 的速度的读取和写入。为了以12. 5GB/秒存储数据,系统需要并行地在100个磁盘上写入 数据。固态驱动器(SSD)可提供较高处理量。为了存储相同的12. 5GB/秒数据,可需要仅 大约50个SSD。
[0045] 除并行操作之外,为了确保高速,实施高效的编索引机制。在一些实施例中,产生 存储器内高速缓冲存储器表,其具有指向对应高速缓冲存储内容包的磁盘位置的条目。此 外,为了确保快速表查找,以充分短的串对存储器内高速缓冲存储器表编索引。当网络中实 施散列转发时,每一内容对象或兴趣包含散列标头,所述散列标头包含相似性散列(SH)和 转发散列(FH)。计算相似性散列以唯一地识别一条内容,且相似性散列可为内容包中的名 称和一或多个字段的散列。转发散列是基于兴趣包的名称的一或多个组件而计算。散列转 发、相似性散列和转发散列的详细描述可参见由发明人马可· E ·莫斯科和迈克尔· F ·普 拉斯在2013年10月29日申请的标题为"用于具有阶层式结构化可变长度识别符的包的基 于散列的转发的系统和方法"的第14/065, 961号(代理人案号PARC-20130997US01)美国 专利申请案。
[0046] 在一些实施例中,SH和/或ra可在每一跃点计算(如果这些值尚未包含在包标 头中)。系统还可使用除了所陈述SH和ra之外的值用于编索引目的。举例来说,系统可仅 通过内容对象的内容对象散列而高速缓冲存储内容对象,所述内容对象散列是整个内容对 象的SHA 256散列且仅通过散列值响应于要求数据的兴趣。
[0047] SH和ra的组合可唯一地识别兴趣和响应于兴趣的内容对象。虽然可能使用此类 组合对存储器内高速缓冲存储器表编索引,但此类组合可包含长位串,从而消耗索引查找 时间。举例来说,SH和ra各自可为128位长,且其组合(通过串联)将为256位长,这可 使表查找的计算代价较大。在一些实施例中,为了简化表查找过程,将SH-Hl组合向下散列 到较短长度索引。举例来说,256位SH-Hl组合可向下散列到34位串,其可随后用以对存 储器内高速缓冲存储器表编索引。也可能使用甚至更短的串作为索引,例如具有28与32 位之间的长度的串。高速缓冲存储器表中的条目指示存储于串流存储装置中的内容对象的 位置。举例来说,条目可包含磁盘编号、块编号以及指示由对应内容对象占据的块的数目 的计数。高速缓冲存储器条目中还可包含额外字段。应注意应使用抗冲突散列函数来散列 SH-Hl组合以确保攻击者无法容易地致使系统覆写现有内容。在一些实施例中,所述系统使 用CRC-64-ECMA-182的较低位来散列SH-Hl组合。应注意此散列函数计算极快速,且在硬 件中可用。例如FVN-Ia散列算法或SipHash或其它硬件支持散列函数等其它类型的算法 也可用以计算索引。
[0048] 图2呈现说明根据本发明的实施例的SH-Hl组合与磁盘位置之间的示范性映射的 图。在图2中,将256位SH-Hl组合串202(包含内容对象的SH和字段)向下散列到较 短长度索引204。在一些实施例中,较短长度索引204可在28与32位长之间。较短长度索 弓丨204映射到高速缓冲存储器表206中的条目,例如条目208。高速缓冲存储器表206中 的每一条目可包含磁盘编号字段210 (可为8位长)、块编号字段212 (可为28位长)以及 块计数字段214(可为4位长)。磁盘编号字段210指示对应内容对象位于哪一磁盘(例 如磁盘216)。块编号字段212指示在磁盘内内容对象占据的是从哪一块(例如块218)开 始。块计数字段214指示内容对象占据的块的总数。应注意,每次将新内容对象高速缓冲 存储到串流存储装置中时,高速缓冲存储器表206中的对应条目(基于SH-Hl组合)经更 新。更具体来说,高速缓冲存储器条目中的磁盘编号字段和块编号字段经更新以反映内容 对象高速缓冲存储到的位置。
[0049] 为了确保传入内容包在串流存储装置中连续高速缓冲存储,所述系统维持尾指针 220,其指示将使用的下一可用块。在一些实施例中,尾指针包含磁盘编号和块编号。当将新 内容对象写入到串流存储装置中时,系统查找当前尾指针,使用尾指针更新高速缓冲存储 器表中的对应条目,且根据存储内容对象需要的块的数目向前移动尾指针。应注意,以磁盘 大小为模来递增尾指针。当到达磁盘的末端(以块计)时,尾指针绕回到磁盘的开始。在 图2中所示的其中使用多个磁盘的实例中,所述绕回可包含磁盘编号。或者,尾指针可先在 磁盘上递增,随后作为较慢的循环在磁盘上的块上递增。在尾指针绕回时,系统需要首先读 取一块且确定所述块是否由索引条目(高速缓冲存储器表中的条目)使用。如果是,那么 系统在将新索引条目写入到包含磁盘块标头的所指示位置之前使索引条目无效。这是针对
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1