用于执行分组流的并行散列的计算机系统技术方案

技术编号:12063095 阅读:85 留言:0更新日期:2015-09-17 14:07
本发明专利技术的一个实施例提供用于执行分组流的并行散列的系统。在操作中,所述系统在控制器上接收分组流。所述控制器然后基于所接收的分组识别多个不同的散列运算的类型和参数。所述控制器进一步将分组同时发送到对应的不同的散列模块,以产生不同的散列值,所述不同的散列值能够用来促进分组的转发。

【技术实现步骤摘要】

本申请一般涉及促进网络中的数据处理。更具体地,本申请涉及用于促进数据流中的直接并行散列(hash)和子散列的系统和方法。
技术介绍
互联网和电子商务的繁荣继续引发网络行业的革命性变化。当今,从在线观看电影到每日新闻发送、零售和即时消息的相当大量的信息交互是在线进行的。日益增长的互联网应用也变成移动的。然而,当前的互联网基于大型的基于位置的寻址方案工作。两个最普遍存在的协议即互联网协议(IP)和以太网协议都以基于位置的地址为基础。即,内容的消费者可以只接收通过从与物理对象或位置紧密关联的地址(例如IP地址或以太网介质访问控制(MAC)地址)显式请求内容的内容。此限制性的寻址方案越来越不足以满足不断变化的网络需求。最近,行业中已经提出内容中心网络(CCN)架构。CCN将新方法引入到内容传输。代替在应用层以内容得以通过的端对端对话查看网络流量,内容是基于其唯一的名称请求或返回的,网络负责将内容从提供商路由到消费者。注意,内容包括可以在通信系统中传输的数据,包括任何形式的数据,诸如文本、消息、视频和/或音频。消费者或提供商可以是位于CCN内部或外部的计算机或自动过程的个人。一项内容可以指整个内容或内容的相应部分。例如,报纸文章可以由体现为数据分组(data packet)的多项内容代表。一项内容还可以与描述或用诸如认证数据、创建日期、内容所有人等的信息扩充该项内容的元数据关联。在CCN中,内容对象和关注由其名称标识,所述名称通常是分层结构的可变长度标识符(HSVLI)。一些联网系统可能在相同的数据流上需要多个散列来处理分组。这些散列可以是不同类型,一些散列可能需要从之前的散列传送状态。在产生数据流的多个散列的同时有效处理CCN分组仍是一个挑战。
技术实现思路
本专利技术的一个实施例提供用于执行分组流(packet stream)的并行散列的系统。在操作中,所述系统在控制器上接收分组流。控制器然后基于所接收的分组识别多个不同的散列运算的类型和参数。控制器进一步并行地将分组发送到相应的不同散列模块,以产生不同的散列值,所述不同的散列值可以用来促进分组的转发。在此实施例的一个变形中,多个散列运算的第一个使用第二散列运算的中间状态作为输入。在进一步的变形中,第一和第二散列运算是SipHash运算。在此实施例的一个变形中,多个不同的散列运算包括以下当中的一个或多个:SHA-2散列或截断;SHA-3散列或截断;SipHash ;和可变大小的Flower-Noll-Vo(FNV)散列。在此实施例的一个变形中,控制器从不同的散列运算接收状态,基于所接收的不同散列运算的状态在下一周期中安排散列运算。在此实施例的一个变形中,所述系统接收并行地进入到多个对应控制器的多个分组流,将相应分组流交叉连接到散列模块阵列,从而促进多个分组流中每一个的并行多散列运算。在进一步的变形中,当散列运算返回指示错误或故障的状态时,所述系统停止使用相应的散列模块。【附图说明】图1图解说明根据本专利技术的实施例的网络的示例性架构。图2图解说明根据本专利技术的一个实施例在CCN内容对象分组上的并行散列。图3图解说明根据本专利技术的一个实施例在CCN内容对象分组上的并行散列。图4图解说明根据本专利技术的一个实施例来自散列处理器的输出的示例性下游处理。图5图解说明根据本专利技术的实施例的示例性散列处理器。图6图解说明根据本专利技术的一个实施例的这种散列阵列。图7A、7B和7C分别图解说明根据本专利技术的一个实施例的分组散列处理的示例性第一、第二和第三阶段。图8图解说明根据本专利技术的一个实施例促进多输入分组队列的并行处理的示例性系统。【具体实施方式】本专利技术的实施例提供用于促进CCN数据分组的散列并行产生的系统和方法。在操作中,当CCN-使能开关或路由器接收内容对象或内容对象的片段时,开关确定内容对象应当被缓存,并且向内容存储管理器发送内容对象(或其片段)的副本。内容存储管理器(根据需要)重新组合片段,将内容对象的副本写入附连的存储器中。更具体地,在写入附连存储器之前,内容存储管理器还可以将内容对象片段化成适当尺寸以进行传输。每个传输的片段被写入到附连存储器中的一组连续的块中,内容存储管理器向每组连续的块增加传输和片段标题(header)。此外,内容存储管理器生成并占据由内容对象的名称前缀索引的缓存表。缓存表的入口规定内容对象的片段所在的存储块的集合的位置。在一些实施例中,缓存入口包括预先组合的数据通信帧的集合,每个帧专用于一个片段。预先组合的帧可以包括适当的传输标题和指向存储块的指针,并且可以用来从附连的存储器检索相应的片段。通常,CCN使用两种类型的消息:关注(Interest)和内容对象(Content Object)。关注携带内容对象的分层结构的可变长度标识符(HSVLI),也称作“名称(name)”,用作对该对象的请求。如果网络元件(例如路由器)接收对相同名称的多个关注,则它可以聚合这些关注。在关注路径上具有匹配的内容对象的网络元件可以缓存并返回该对象,满足该关注。内容对象遵循相反的关注路径回到关注的(若干)来源。内容对象包含同一 HSVLI,对象的有效载荷和用来将HSVLI绑定到有效载荷的加密信息以及其它信息。本申请中使用的词语通常如下定义(但对他们的解释不局限于这些):“HSVLI”:分层结构的可变长度标识符,也称作Name (名称)。它是名称组成的排序列表,可以是可变长度的八位字节字符串(octet string)。以人可读的形式,它可以表示为诸如ccnx:/path/part的格式。不存在主机或查询字符串。如上文提到的,HSVLI引用内容,期望HSVLI能够代表内容的组织结构,并对人是至少部分有意义的。HSVLI的各个组成可以有任意长度。而且,HSVLI可以有显式界定的组成,可以包括字节的任何序列,不局限于人可读的字符。最长的前缀匹配查询对转发具有HSVLI的分组时是重要的。例如,指不 “/parc/home/bob” 中的关注的 HSVLI 会与 “/parc/home/bob/test.txt” 和 “/pare/home/bob/bar.txt”都匹配。根据名称组成的数目,最长匹配被认为是最好的,原因是它是最具体的。“Interest (关注)”:对内容对象的请求。关注指定HSVLI名称前缀和可以用来从多个对象中选择相同名称前缀的其它可选选择器。名称与关注名称前缀和选择器匹配的任何内容对象都满足关注。“Content Object (内容对象)”:响应于关注发送的数据对象。它具有通过加密签名绑定在一起的HSVLI名称和内容有效载荷。可选地,所有的内容对象都具有由内容对象的SHA-256摘要组成的隐式终端名称组成。在一个实施例中,隐式摘要不在线上传输,但根据需要在每次跳转时计算。如前面提到的,HSVLI指一项内容,是有层次结构的,包括从最通用级别向最具体级别排序的连续组成。相应的HSVLI的长度是不固定的。在内容中心的网络中,与传统的IP网络不同,分组可以由HSVLI标识。例如,“abcd/bob/papers/ccn/news”可以是内容的名称,标识(若干)相应分组,即来自名称为“AB⑶”的组织、名字为“Bob”的用户的文章的“ccn”集的“news本文档来自技高网
...

【技术保护点】
一种用于执行分组流的并行散列的计算机系统,所述方法包括:接收队列,所述接收队列适于接收分组流;控制器,所述控制器耦连到所述接收队列,并适于基于所接收的分组识别多个不同的散列运算的类型和参数;以及多个散列模块,所述多个散列模块耦连到所述控制器,其中,所述控制器适于将分组并行地发送到不同的散列模块以产生不同的散列值,所述不同的散列值能够用来促进分组的转发。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:M·E·莫斯科G·C·斯科特
申请(专利权)人:帕洛阿尔托研究中心公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1