用于执行高速上下文检索和数据模式特征描述的可编程规则处理设备制造技术

技术编号:2920865 阅读:222 留言:0更新日期:2012-04-11 18:40
在此公开了一种用于进行上下文搜索的规则处理器的方法和设备,所述处理器包括多个输入载荷搜索寄存器,连接到所述多个搜索寄存器的用于响应于执行规则而通过并行模式匹配对所述搜索寄存器中的内容执行一个或多个上下文搜索的搜索执行引擎,所述规则指定一个或多个搜索并向所述搜索寄存器中内容提交一个或多个模式。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及信息处理领域,尤其是内容分析学和处理领域。
技术介绍
计算和通信领域的显著趋势导致充斥着内容分析学和处理的环境的出现。这些环境在某些类型的功能上要求高性能以及可编程性,即对消息、文档或者信息包中的内容进行搜索、剖析、分析、解释以及转化。强调所述的大容量内容分析学和处理的显著领域包括内容识别(content-aware)网络,基于内容的安全系统,监视,分布式计算,无线通信,人机接口,信息存储和检索系统,语义网络上的内容搜索,生物信息学以及其他等等。内容识别网络领域需要对信息包或消息中的内容进行搜索和检查以确定将会把这些信息包和消息发送或转发到哪里。所述检查必须在以“线速”传送中的消息上进行操作,所述“线速”是指网络连接的数据速率。假定当今网络中整个过程的线路速率范围从100Mbits/S到40Gbits/S,这对内容检查功能被执行时所需要的速率有巨大的压力。基于内容的安全系统和监视与监控系统需要用来分析消息或信息包的内容并且应用一系列规则以确定是否存在安全缺口或者入侵的可能性。典型地,在当今的网络入侵检测系统中(NIDS),必须以线路速率对输入有效载荷应用大量模式、规则和语法以确保所有潜在的系统弱点被揭示出来。倘若网络和计算的基础结构在不断地发展,新的弱点就会不断出现。而且,入侵者采用了越来越复杂的攻击以避免被检测到。入侵检测系统需要能够检测到系统中所有已知的攻击,并且还要足够智能化以检测不正常的和可疑的预示新的攻击的行为。所有这些因素导致了对内容分析和处理的可编程性与极度高性能两方面的需求。随着分布式和聚集式计算的出现,现今任务被分配给互相协作与通信的多台计算机或服务器以完成综合工作。这种分配导致计算机通信的迅速增长,对这些消息的处理要求高性能。随着作为通用数据交换的新标准的XML(扩展标记语言)的出现,应用程序使用XML作为“应用层数据传输”进行互相通信。消息和文档现在被嵌入在XML标记中。所有的消息处理首先要求对XML文档进行解析,并且提取和解释相关内容,接下来是任何所需的转化和过滤。由于这些功能需要以很高的信息速率进行,它们在计算性能上要求很苛刻。随着无线(untethered)通信和无线网络的发展,从无线设备对信息的访问有一定增长。对于给定的小型化(light form factor)客户端设备,对投递到该设备的数据进行过滤并保持有效载荷较低是很重要的。未来的环境会将来自有线基础结构的XML内容过滤并转化为无线基础结构上的轻量内容(使用无线标记语言或者WML)。随着无线网络应用的不断增长,这种内容转化功能会变得很常见,从而需要对其进行处理的有效解决方案。另一种重要的新兴需求是使用人机接口例如语音与计算机进行通信和交互的能力。语音处理和自然语言处理在内容搜索、词汇分析、内容解析以及语法处理中特别密集。一旦音频流被转换为文本,语音系统需要对进入的文本流应用大量词汇以及句法和语法规则以理解语音。万维网的出现和发展给信息检索(IR)系统带来了巨大的计算负荷。信息继续被高速添加到网络。这些信息典型地针对完备的词汇表进行完全索引并且被添加到搜索引擎和IR系统的数据库。由于信息不断产生并添加,索引编制器(indexer)需要“一直在线”。为了提供高效实时的上下文检索,需要高性能的模式匹配系统用于索引功能。另一个强调大容量内容分析学和处理的领域是生物信息学领域。基因分析学和蛋白体学(proteomics)需要对基因序列和结构应用复杂的搜索和分析算法。同样地,这样的计算需要高性能的搜索、分析以及解释能力。因此,未来出现的计算机和通信环境会强调大容量内容分析和处理。这样的环境对于以下功能需要高效率和可编程的解决方案——对文档、消息或者信息包中的内容的搜索、词汇分析、解析、特征描述、解释、过滤以及转化。这些大容量内容处理功能的核心是进行上下文和基于内容的搜索和导航以及大量相关查找的操作。在以前的技术中,搜索和查找处理典型地以两种方式中的一者进行。在第一种方式中,这样的处理使用由内容可寻址存储器(CAM)、比较器硬件和专用逻辑组成的固定的专用集成电路(ASIC)解决方案进行。例如,搜索规则存储在内容可寻址存储器中,并且数据流过该结构,每次将其移位1个字节或者1个字长。可选择地,特定比较器被设置在固定位置以识别输入数据中的特定值。匹配的出现通过专用逻辑由目标应用的需要进行记录和使用。尽管固定ASIC方法可以增加性能,但是它缺乏简易的可编程性,因此其应用被严重限制。而且,对于每个目标解决方案的与设计和定制特定芯片相关的费用也受到限制。在第二种方式中,使用了传统的通用微处理器以处理大量搜索和查找功能以及相关的内容处理。微处理器是完全可编程器件并且能够处理不断变化的问题的需求——通过对软件简单的重新编程,新的功能可以重新设置。然而,传统微处理器在其可以提供的大容量内容分析和处理的性能级别上受到限制。对于内容分析的性能局限性是微处理器架构的设计和演化所固有的。微处理器作为计算单元而产生,对1、2、4、8字节字长进行算术运算。接着,随着计算领域的发展,更多的功能不断添加到微处理器以应用于不断出现的领域。最终,通用微处理器可以使用于非常广泛范围内的应用,但是对于特殊的任何一者并不是非常协调。基本地,在它应用到内容分析学的需求上时,微处理器架构具有两种关键的局限性——(1)它缺乏对大型数据集同时进行大规模并行而且精细的模式匹配以及比较运算的能力,以及(2)它缺乏基于输入数据进行快速的多状态转换和高效的多方向控制流改变的能力。微处理器的指令组是标量(scalar)指令组,从而指令需要在单个有序序列中执行。典型的微处理器的指令组可以对存储在寄存器中的单个64位数值与存储在不同的寄存器中的64位数值进行比较。这种比较在两个运算数对齐时进行。如果为了模式搜索而进行比较,那么需要在每次对操作数中的一者或两者移位可变数量的字节后重复调用比较。通常地,这样的重复移位以控制流改变在循环中进行,所述控制流改变在每次循环中将控制从循环底部的代码传送到循环顶部的代码。微处理器中的控制流改变通过分支到新的代码序列而完成。由于当今的微处理器高度流水线化(pipelined)(在位于加利福尼亚圣塔克莱拉的Intel公司提供的奔腾三代和奔腾四代处理器等产品中达到20-30级),由于分支带来的性能损失是巨大的。整个微处理器流水线需要在采用的分支上被刷新(flushed)。因此需要对这样的处理器应用复杂的分支预测技术从而紧跟控制流改变之后保持流水线被来自所需路径的指令充分地供应。然而,多数分支预测技术仅仅提供经验和统计上的性能改进,从而控制流改变在极大程度上带来了所能提供的性能级别上的减缓以及非确定性。大量搜索和模式匹配算法被发展以最好地利用微处理器。Boyer-Moore算法被广泛的认为是微处理器上采用的用于寻找给定数据集中的模式发生的最著名的技术之一。该算法每次仅处理一个模式并且如果在数据集中有多于一个的模式需要搜索时则必须反复调用。对于每个将要搜索的模式,它在数据集中顺次前进以基于从特征化模式过程中所获得的观测数据进行选择性的比较。该算法通过减少在给定数据集内进行的比较总次数从而提供了相对于其他模式匹配算法更优的性能。然而,由于本文档来自技高网...

【技术保护点】
一种进行上下文搜索的规则处理器,所述规则处理器包括:多个输入有效载荷搜索寄存器;连接到所述多个搜索寄存器的搜索执行引擎,响应于指定一个或多个模式搜索并向所述搜索寄存器中的内容提出一个或多个模式的一个或多个搜索指令的执行,通过 并行模式匹配对所述搜索寄存器中的内容执行一个或多个上下文搜索。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:H沙兰帕尼R帕尔蒂
申请(专利权)人:思科系统公司
类型:发明
国别省市:US[美国]

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

1