发明名称 CALCULATING CONSECUTIVE MATCHES USING PARALLEL COMPUTING
摘要 Methods and systems for determining consecutive matches are provided. According to one embodiment, a class definition and a data stream are received by a network security device. The data stream is partitioned into multiple data blocks each containing N data segments. Each data block is processed in parallel to compute: (i) a value (F) indicating whether every data segment value meets the class definition; (ii) a value (L) indicating a number of consecutive data segment values meeting the class definition starting from the left; (iii) a value (M) indicating a maximum number of consecutive data segment values meeting the class definition; and (iv) a value (R) indicating a number of consecutive data segment values meeting the class definition starting from the right. Corresponding values for each data block are then aggregated to determine a maximum number of consecutive data segment values meeting the class definition for the entire data stream.
申请公布号 US2017126713(A1) 申请公布日期 2017.05.04
申请号 US201615280384 申请日期 2016.09.29
申请人 Fortinet, Inc. 发明人 Zheng Juneng
分类号 H04L29/06;G06F7/02;G06F17/30 主分类号 H04L29/06
代理机构 代理人
主权项 1. A system comprising: a data stream and class definition receive module configured to receive a data stream having a defined number of data blocks and a class definition for the data stream; a data stream partition module configured to partition said received data stream into a set of data blocks, wherein each data block comprises N data segments; a data block processing module configured to process each data block in parallel, and for each data block, compute the following: a first integer value based on whether each segment value of the data block forms part of the class definition;a second integer value based on a number of consecutive data segment values that form part of the class definition starting from a left-hand side of the data block;a third integer value based on a maximum number of consecutive data segment values in the data block that form part of the class definition; anda fourth integer value based on a number of consecutive data segment values that form part of the class definition starting from a right-hand side of the data block; and a data block integration module configured to aggregate the first integer value, the second integer value, the third integer value, and the fourth integer value for each data block in a sequential and associative manner to determine, for the received data stream, a maximum number of consecutive data segment values in the received data stream that form part of the class definition.
地址 Sunnyvale CA US