CN104426909A - 为具有高级特征的正则表达式图样生成非确定有限自动机(nfa)图形 - Google Patents
为具有高级特征的正则表达式图样生成非确定有限自动机(nfa)图形 Download PDFInfo
- Publication number
- CN104426909A CN104426909A CN201410431555.1A CN201410431555A CN104426909A CN 104426909 A CN104426909 A CN 104426909A CN 201410431555 A CN201410431555 A CN 201410431555A CN 104426909 A CN104426909 A CN 104426909A
- Authority
- CN
- China
- Prior art keywords
- node
- type
- character
- pattern
- payload
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 157
- 230000008878 coupling Effects 0.000 claims description 98
- 238000010168 coupling process Methods 0.000 claims description 98
- 238000005859 coupling reaction Methods 0.000 claims description 98
- 230000013011 mating Effects 0.000 claims description 49
- 230000015654 memory Effects 0.000 claims description 37
- 238000007689 inspection Methods 0.000 claims description 27
- 239000000203 mixture Substances 0.000 claims description 16
- 230000008569 process Effects 0.000 description 113
- 230000003139 buffering effect Effects 0.000 description 27
- 238000010586 diagram Methods 0.000 description 25
- 238000012545 processing Methods 0.000 description 25
- 239000000284 extract Substances 0.000 description 20
- 239000011159 matrix material Substances 0.000 description 18
- 238000001514 detection method Methods 0.000 description 9
- 238000004321 preservation Methods 0.000 description 9
- 230000002155 anti-virotic effect Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 7
- 230000033001 locomotion Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 230000009545 invasion Effects 0.000 description 2
- 239000003607 modifier Substances 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000001953 sensory effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 206010051602 Laziness Diseases 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 244000045947 parasite Species 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/10—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
- G06F5/12—Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
- G06F5/14—Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations for overflow or underflow handling, e.g. full or empty flags
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/567—Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/28—Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2205/00—Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F2205/12—Indexing scheme relating to groups G06F5/12 - G06F5/14
- G06F2205/126—Monitoring of intermediate fill level, i.e. with additional means for monitoring the fill level, e.g. half full flag, almost empty flag
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/28—DMA
- G06F2213/2806—Space or buffer allocation for DMA transfers
Abstract
Description
Claims (60)
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361872612P | 2013-08-30 | 2013-08-30 | |
US201361872622P | 2013-08-30 | 2013-08-30 | |
US61/872,612 | 2013-08-30 | ||
US61/872,622 | 2013-08-30 | ||
US14/186,978 US9563399B2 (en) | 2013-08-30 | 2014-02-21 | Generating a non-deterministic finite automata (NFA) graph for regular expression patterns with advanced features |
US14/186,978 | 2014-02-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104426909A true CN104426909A (zh) | 2015-03-18 |
CN104426909B CN104426909B (zh) | 2019-01-04 |
Family
ID=52584716
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410432318.7A Active CN104516940B (zh) | 2013-08-30 | 2014-08-28 | 用于处理有限自动机的引擎架构 |
CN201410431555.1A Active CN104426909B (zh) | 2013-08-30 | 2014-08-28 | 用于将图样编译成非确定有限自动机(nfa)图形的方法和计算机系统 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410432318.7A Active CN104516940B (zh) | 2013-08-30 | 2014-08-28 | 用于处理有限自动机的引擎架构 |
Country Status (4)
Country | Link |
---|---|
US (5) | US9563399B2 (zh) |
KR (1) | KR101615915B1 (zh) |
CN (2) | CN104516940B (zh) |
HK (2) | HK1207179A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897447A (zh) * | 2017-03-02 | 2017-06-27 | 广州算易软件科技有限公司 | 一种基于规则电气图纸箱号的自动化查找方法 |
CN111159496A (zh) * | 2019-12-31 | 2020-05-15 | 奇安信科技集团股份有限公司 | 正则表达式nfa的构造方法及装置 |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9398033B2 (en) | 2011-02-25 | 2016-07-19 | Cavium, Inc. | Regular expression processing automaton |
US8954700B2 (en) | 2011-08-02 | 2015-02-10 | Cavium, Inc. | Method and apparatus for managing processing thread migration between clusters within a processor |
US9203805B2 (en) | 2011-11-23 | 2015-12-01 | Cavium, Inc. | Reverse NFA generation and processing |
US9426165B2 (en) | 2013-08-30 | 2016-08-23 | Cavium, Inc. | Method and apparatus for compilation of finite automata |
US9426166B2 (en) | 2013-08-30 | 2016-08-23 | Cavium, Inc. | Method and apparatus for processing finite automata |
US9563399B2 (en) | 2013-08-30 | 2017-02-07 | Cavium, Inc. | Generating a non-deterministic finite automata (NFA) graph for regular expression patterns with advanced features |
WO2015065015A1 (ko) | 2013-10-28 | 2015-05-07 | 엘지전자 주식회사 | 무선 통신 시스템에서 장치 대 장치 단말의 신호 송수신 방법 및 장치 |
WO2015084360A1 (en) * | 2013-12-05 | 2015-06-11 | Hewlett-Packard Development Company, L.P. | Regular expression matching |
US9419943B2 (en) | 2013-12-30 | 2016-08-16 | Cavium, Inc. | Method and apparatus for processing of finite automata |
US9544402B2 (en) | 2013-12-31 | 2017-01-10 | Cavium, Inc. | Multi-rule approach to encoding a group of rules |
US9275336B2 (en) | 2013-12-31 | 2016-03-01 | Cavium, Inc. | Method and system for skipping over group(s) of rules based on skip group rule |
US9667446B2 (en) | 2014-01-08 | 2017-05-30 | Cavium, Inc. | Condition code approach for comparing rule and packet data that are provided in portions |
US10362093B2 (en) * | 2014-01-09 | 2019-07-23 | Netronome Systems, Inc. | NFA completion notification |
US9904630B2 (en) | 2014-01-31 | 2018-02-27 | Cavium, Inc. | Finite automata processing based on a top of stack (TOS) memory |
US9602532B2 (en) | 2014-01-31 | 2017-03-21 | Cavium, Inc. | Method and apparatus for optimizing finite automata processing |
US10110558B2 (en) | 2014-04-14 | 2018-10-23 | Cavium, Inc. | Processing of finite automata based on memory hierarchy |
US10002326B2 (en) | 2014-04-14 | 2018-06-19 | Cavium, Inc. | Compilation of finite automata based on memory hierarchy |
US9438561B2 (en) | 2014-04-14 | 2016-09-06 | Cavium, Inc. | Processing of finite automata based on a node cache |
US9223551B1 (en) * | 2014-07-22 | 2015-12-29 | Here Global B.V. | Rendergraph compilation method and use thereof for low-latency execution |
EP3198474A1 (en) * | 2014-09-26 | 2017-08-02 | British Telecommunications Public Limited Company | Improved pattern matching |
US10776427B2 (en) | 2014-09-26 | 2020-09-15 | British Telecommunications Public Limited Company | Efficient conditional state mapping in a pattern matching automaton |
US10929419B2 (en) * | 2015-09-25 | 2021-02-23 | Netapp, Inc. | Object storage backed file system |
US11334540B2 (en) | 2015-09-25 | 2022-05-17 | Netapp, Inc. | Namespace hierarchy preservation with multiple object storage objects |
CN107025129B (zh) * | 2016-01-29 | 2020-10-09 | 腾讯科技(深圳)有限公司 | 一种数据处理方法以及装置 |
CN106230863B (zh) * | 2016-09-19 | 2019-05-07 | 成都知道创宇信息技术有限公司 | 一种基于WAF的ReDoS攻击检测方法 |
CN106789447B (zh) * | 2017-02-20 | 2019-11-26 | 成都欧飞凌通讯技术有限公司 | 一种多核中实现超有限自动机图变更时不丢包的方法 |
US10481881B2 (en) * | 2017-06-22 | 2019-11-19 | Archeo Futurus, Inc. | Mapping a computer code to wires and gates |
US9996328B1 (en) * | 2017-06-22 | 2018-06-12 | Archeo Futurus, Inc. | Compiling and optimizing a computer code by minimizing a number of states in a finite machine corresponding to the computer code |
US10528556B1 (en) * | 2017-12-31 | 2020-01-07 | Allscripts Software, Llc | Database methodology for searching encrypted data records |
US10901887B2 (en) * | 2018-05-17 | 2021-01-26 | International Business Machines Corporation | Buffered freepointer management memory system |
US10983721B2 (en) | 2018-07-13 | 2021-04-20 | Fungible, Inc. | Deterministic finite automata node construction and memory mapping for regular expression accelerator |
US10645187B2 (en) | 2018-07-13 | 2020-05-05 | Fungible, Inc. | ARC caching for determininstic finite automata of regular expression accelerator |
US10656949B2 (en) | 2018-07-13 | 2020-05-19 | Fungible, Inc. | Instruction-based non-deterministic finite state automata accelerator |
US10635419B2 (en) | 2018-07-13 | 2020-04-28 | Fungible, Inc. | Incremental compilation of finite automata for a regular expression accelerator |
US10908880B2 (en) * | 2018-10-19 | 2021-02-02 | Knowles Electronics, Llc | Audio signal circuit with in-place bit-reversal |
US10990627B1 (en) * | 2018-12-11 | 2021-04-27 | Amazon Technologies, Inc. | Sharing character data across lookups to identify matches to a regular expression |
CN109933973B (zh) * | 2019-01-24 | 2024-01-19 | 平安科技(深圳)有限公司 | 密码校验方法、装置、计算机设备及存储介质 |
US10831691B1 (en) * | 2019-05-24 | 2020-11-10 | International Business Machines Corporation | Method for implementing processing elements in a chip card |
JP7423757B2 (ja) * | 2019-08-22 | 2024-01-29 | グーグル エルエルシー | 同期プロセッサのためのシャーディング |
US11636154B2 (en) | 2019-09-26 | 2023-04-25 | Fungible, Inc. | Data flow graph-driven analytics platform using data processing units having hardware accelerators |
US11263190B2 (en) | 2019-09-26 | 2022-03-01 | Fungible, Inc. | Data ingestion and storage by data processing unit having stream-processing hardware accelerators |
US11636115B2 (en) | 2019-09-26 | 2023-04-25 | Fungible, Inc. | Query processing using data processing units having DFA/NFA hardware accelerators |
CN111176582A (zh) * | 2019-12-31 | 2020-05-19 | 北京百度网讯科技有限公司 | 矩阵存储方法、矩阵访问方法、装置和电子设备 |
US11934964B2 (en) | 2020-03-20 | 2024-03-19 | Microsoft Technology Licensing, Llc | Finite automata global counter in a data flow graph-driven analytics platform having analytics hardware accelerators |
US11449344B1 (en) * | 2020-04-21 | 2022-09-20 | Xilinx, Inc. | Regular expression processor and parallel processing architecture |
US11630729B2 (en) | 2020-04-27 | 2023-04-18 | Fungible, Inc. | Reliability coding with reduced network traffic |
CN112087507B (zh) * | 2020-09-02 | 2022-09-09 | 深圳市朗强科技有限公司 | 接口数据的发送、接收方法及设备 |
CN112416251B (zh) * | 2020-11-24 | 2023-02-10 | 上海壁仞智能科技有限公司 | 计算系统 |
US11782983B1 (en) * | 2020-11-27 | 2023-10-10 | Amazon Technologies, Inc. | Expanded character encoding to enhance regular expression filter capabilities |
CN112579651A (zh) * | 2020-12-28 | 2021-03-30 | 北京浩瀚深度信息技术股份有限公司 | 一种网络信息监管方法、装置及存储介质 |
CN113703715B (zh) * | 2021-08-31 | 2024-02-23 | 深信服科技股份有限公司 | 一种正则表达式匹配方法、装置、fpga及介质 |
KR20230042986A (ko) | 2021-09-23 | 2023-03-30 | 연세대학교 산학협력단 | 글루시코프 오토마타 생성과 하이브리드 매칭을 활용한 정규 표현식 엔진에 관한 오토마타 처리 장치 및 방법 |
US11861171B2 (en) | 2022-04-26 | 2024-01-02 | Xilinx, Inc. | High-throughput regular expression processing with capture using an integrated circuit |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6954424B2 (en) * | 2000-02-24 | 2005-10-11 | Zarlink Semiconductor V.N., Inc. | Credit-based pacing scheme for heterogeneous speed frame forwarding |
US20070282833A1 (en) * | 2006-06-05 | 2007-12-06 | Mcmillen Robert J | Systems and methods for processing regular expressions |
US20080228991A1 (en) * | 2007-03-13 | 2008-09-18 | Stmicroelectronics Sa | Ring buffer management |
WO2009017131A1 (ja) * | 2007-08-02 | 2009-02-05 | Nec Corporation | ε遷移を含まない非決定性有限オートマトン生成システムと方法およびプログラム |
US20100174770A1 (en) * | 2005-12-30 | 2010-07-08 | Pandya Ashish A | Runtime adaptable search processor |
US20110072199A1 (en) * | 2009-09-23 | 2011-03-24 | Lsi Corporation | Startup reconstruction of logical-to-physical address translation data for solid state disks |
US20110093496A1 (en) * | 2009-10-17 | 2011-04-21 | Masanori Bando | Determining whether an input string matches at least one regular expression using lookahead finite automata based regular expression detection |
CN102902713A (zh) * | 2012-03-29 | 2013-01-30 | 中国科学技术大学 | 一种基于图形处理单元的非确定有限自动机的匹配方法及装置 |
Family Cites Families (117)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5428554A (en) | 1992-09-03 | 1995-06-27 | International Business Machines Corporation | Hierarchical graph analysis method and apparatus |
US5608662A (en) | 1995-01-12 | 1997-03-04 | Television Computer, Inc. | Packet filter engine |
JP4153989B2 (ja) | 1996-07-11 | 2008-09-24 | 株式会社日立製作所 | 文書検索配送方法および装置 |
US5893142A (en) | 1996-11-14 | 1999-04-06 | Motorola Inc. | Data processing system having a cache and method therefor |
US6314513B1 (en) | 1997-09-30 | 2001-11-06 | Intel Corporation | Method and apparatus for transferring data between a register stack and a memory resource |
US20070192863A1 (en) | 2005-07-01 | 2007-08-16 | Harsh Kapoor | Systems and methods for processing data flows |
US8010469B2 (en) | 2000-09-25 | 2011-08-30 | Crossbeam Systems, Inc. | Systems and methods for processing data flows |
US20110238855A1 (en) | 2000-09-25 | 2011-09-29 | Yevgeny Korsunsky | Processing data flows with a data flow processor |
US7046848B1 (en) | 2001-08-22 | 2006-05-16 | Olcott Peter L | Method and system for recognizing machine generated character glyphs and icons in graphic images |
US7369984B2 (en) | 2002-02-01 | 2008-05-06 | John Fairweather | Platform-independent real-time interface translation by token mapping without modification of application code |
US7225188B1 (en) | 2002-02-13 | 2007-05-29 | Cisco Technology, Inc. | System and method for performing regular expression matching with high parallelism |
JP4047053B2 (ja) | 2002-04-16 | 2008-02-13 | 富士通株式会社 | 繰り返しを含む順序パターンを用いた検索装置および方法 |
US7487264B2 (en) | 2002-06-11 | 2009-02-03 | Pandya Ashish A | High performance IP processor |
WO2004013777A1 (en) | 2002-08-05 | 2004-02-12 | Fish Robert | System and method of parallel pattern matching |
US7119577B2 (en) | 2002-08-28 | 2006-10-10 | Cisco Systems, Inc. | Method and apparatus for efficient implementation and evaluation of state machines and programmable finite state automata |
US7464254B2 (en) | 2003-01-09 | 2008-12-09 | Cisco Technology, Inc. | Programmable processor apparatus integrating dedicated search registers and dedicated state machine registers with associated execution hardware to support rapid application of rulesets to data |
US7308446B1 (en) | 2003-01-10 | 2007-12-11 | Cisco Technology, Inc. | Methods and apparatus for regular expression matching |
JP2004240766A (ja) | 2003-02-06 | 2004-08-26 | Toshiba Corp | パターン検出処理プログラム生成システムおよびパターン検出処理プログラム生成方法 |
WO2004072797A2 (en) | 2003-02-07 | 2004-08-26 | Safenet, Inc. | System and method for determining the start of a match of a regular expression |
US7594002B1 (en) | 2003-02-14 | 2009-09-22 | Istor Networks, Inc. | Hardware-accelerated high availability integrated networked storage system |
CA2521576A1 (en) | 2003-02-28 | 2004-09-16 | Lockheed Martin Corporation | Hardware accelerator state table compiler |
US7093231B2 (en) | 2003-05-06 | 2006-08-15 | David H. Alderson | Grammer for regular expressions |
US20050108518A1 (en) | 2003-06-10 | 2005-05-19 | Pandya Ashish A. | Runtime adaptable security processor |
US20050114700A1 (en) | 2003-08-13 | 2005-05-26 | Sensory Networks, Inc. | Integrated circuit apparatus and method for high throughput signature based network applications |
US7870161B2 (en) | 2003-11-07 | 2011-01-11 | Qiang Wang | Fast signature scan |
US7685637B2 (en) | 2004-06-14 | 2010-03-23 | Lionic Corporation | System security approaches using sub-expression automata |
US7779464B2 (en) | 2004-06-14 | 2010-08-17 | Lionic Corporation | System security approaches utilizing a hierarchical memory system |
US7941585B2 (en) | 2004-09-10 | 2011-05-10 | Cavium Networks, Inc. | Local scratchpad and data caching system |
US8392590B2 (en) | 2004-09-10 | 2013-03-05 | Cavium, Inc. | Deterministic finite automata (DFA) processing |
US8560475B2 (en) | 2004-09-10 | 2013-10-15 | Cavium, Inc. | Content search mechanism that uses a deterministic finite automata (DFA) graph, a DFA state machine, and a walker process |
US7594081B2 (en) | 2004-09-10 | 2009-09-22 | Cavium Networks, Inc. | Direct access to low-latency memory |
WO2006031496A2 (en) | 2004-09-10 | 2006-03-23 | The Regents Of The University Of California | Method and apparatus for deep packet inspection |
US8301788B2 (en) | 2004-09-10 | 2012-10-30 | Cavium, Inc. | Deterministic finite automata (DFA) instruction |
US7260558B1 (en) | 2004-10-25 | 2007-08-21 | Hi/Fn, Inc. | Simultaneously searching for a plurality of patterns definable by complex expressions, and efficiently generating data for such searching |
US7356663B2 (en) | 2004-11-08 | 2008-04-08 | Intruguard Devices, Inc. | Layered memory architecture for deterministic finite automaton based string matching useful in network intrusion detection and prevention systems and apparatuses |
US7710988B1 (en) | 2005-03-11 | 2010-05-04 | Xambala Corporation | Method and system for non-deterministic finite automaton filtering |
US20080229415A1 (en) | 2005-07-01 | 2008-09-18 | Harsh Kapoor | Systems and methods for processing data flows |
US7979368B2 (en) | 2005-07-01 | 2011-07-12 | Crossbeam Systems, Inc. | Systems and methods for processing data flows |
JP4320004B2 (ja) | 2005-07-04 | 2009-08-26 | 日本電信電話株式会社 | XPath式処理方法、XPath式処理装置、XPath式処理プログラムおよびそのプログラムを格納した記憶媒体 |
US7805392B1 (en) | 2005-11-29 | 2010-09-28 | Tilera Corporation | Pattern matching in a multiprocessor environment with finite state automaton transitions based on an order of vectors in a state transition table |
US7702629B2 (en) | 2005-12-02 | 2010-04-20 | Exegy Incorporated | Method and device for high performance regular expression pattern matching |
US20070226362A1 (en) | 2006-03-21 | 2007-09-27 | At&T Corp. | Monitoring regular expressions on out-of-order streams |
US20080097959A1 (en) | 2006-06-14 | 2008-04-24 | Nec Laboratories America, Inc. | Scalable xml filtering with bottom up path matching and encoded path joins |
US20080071783A1 (en) | 2006-07-03 | 2008-03-20 | Benjamin Langmead | System, Apparatus, And Methods For Pattern Matching |
US20080034427A1 (en) | 2006-08-02 | 2008-02-07 | Nec Laboratories America, Inc. | Fast and scalable process for regular expression search |
US8220048B2 (en) | 2006-08-21 | 2012-07-10 | Wisconsin Alumni Research Foundation | Network intrusion detector with combined protocol analyses, normalization and matching |
GB2441351B (en) | 2006-09-01 | 2010-12-08 | 3Com Corp | Positionally dependent pattern checking in character strings using deterministic finite automata |
US20080077793A1 (en) | 2006-09-21 | 2008-03-27 | Sensory Networks, Inc. | Apparatus and method for high throughput network security systems |
US8024691B2 (en) | 2006-09-28 | 2011-09-20 | Mcgill University | Automata unit, a tool for designing checker circuitry and a method of manufacturing hardware circuitry incorporating checker circuitry |
GB2443240B (en) | 2006-10-27 | 2009-05-06 | 3Com Corp | Signature checking using deterministic finite state machines |
US7996348B2 (en) | 2006-12-08 | 2011-08-09 | Pandya Ashish A | 100GBPS security and search architecture using programmable intelligent search memory (PRISM) that comprises one or more bit interval counters |
US7899977B2 (en) | 2006-12-08 | 2011-03-01 | Pandya Ashish A | Programmable intelligent search memory |
WO2008073824A1 (en) | 2006-12-08 | 2008-06-19 | Pandya Ashish A | Dynamic programmable intelligent search memory |
CN101013441A (zh) | 2007-02-12 | 2007-08-08 | 杭州华为三康技术有限公司 | 确定性有限自动机生成方法和装置及索引方法和索引系统 |
US7962434B2 (en) | 2007-02-15 | 2011-06-14 | Wisconsin Alumni Research Foundation | Extended finite state automata and systems and methods for recognizing patterns in a data stream using extended finite state automata |
WO2008129635A1 (ja) | 2007-04-12 | 2008-10-30 | Fujitsu Limited | 性能障害要因分析プログラムおよび性能障害要因分析装置 |
US9021582B2 (en) | 2007-04-24 | 2015-04-28 | Juniper Networks, Inc. | Parallelized pattern matching using non-deterministic finite automata |
US7788206B2 (en) | 2007-04-30 | 2010-08-31 | Lsi Corporation | State machine compression using multi-character state transition instructions |
CN101360088B (zh) | 2007-07-30 | 2011-09-14 | 华为技术有限公司 | 正则表达式编译、匹配系统及编译、匹配方法 |
US8024802B1 (en) | 2007-07-31 | 2011-09-20 | Hewlett-Packard Development Company, L.P. | Methods and systems for using state ranges for processing regular expressions in intrusion-prevention systems |
CN101201836B (zh) | 2007-09-04 | 2010-04-14 | 浙江大学 | 基于带记忆确定有限自动机的正则表达式匹配加速方法 |
US8819217B2 (en) | 2007-11-01 | 2014-08-26 | Cavium, Inc. | Intelligent graph walking |
US8086609B2 (en) | 2007-11-01 | 2011-12-27 | Cavium, Inc. | Graph caching |
US7949683B2 (en) | 2007-11-27 | 2011-05-24 | Cavium Networks, Inc. | Method and apparatus for traversing a compressed deterministic finite automata (DFA) graph |
US8180803B2 (en) | 2007-11-27 | 2012-05-15 | Cavium, Inc. | Deterministic finite automata (DFA) graph compression |
US8051085B1 (en) | 2008-07-18 | 2011-11-01 | Netlogic Microsystems, Inc. | Determining regular expression match lengths |
CN101650718A (zh) | 2008-08-15 | 2010-02-17 | 华为技术有限公司 | 字符串匹配方法和装置 |
US8176300B2 (en) | 2008-08-25 | 2012-05-08 | Cavium, Inc. | Method and apparatus for content based searching |
US8683590B2 (en) | 2008-10-31 | 2014-03-25 | Alcatel Lucent | Method and apparatus for pattern matching for intrusion detection/prevention systems |
US8473523B2 (en) | 2008-10-31 | 2013-06-25 | Cavium, Inc. | Deterministic finite automata graph traversal with nodal bit mapping |
TWI482083B (zh) | 2008-12-15 | 2015-04-21 | Univ Nat Taiwan | 二階段式正規表示式比對處理方法及系統 |
TWI383618B (zh) | 2008-12-22 | 2013-01-21 | Univ Nat Taiwan | 管線架構型正規表示式樣式比對處理電路 |
US20100192225A1 (en) | 2009-01-28 | 2010-07-29 | Juniper Networks, Inc. | Efficient application identification with network devices |
KR101034389B1 (ko) | 2009-04-22 | 2011-05-16 | (주) 시스메이트 | 패킷 내 시그니처 위치에 따른 시그니처 검색 방법 |
US20110016154A1 (en) | 2009-07-17 | 2011-01-20 | Rajan Goyal | Profile-based and dictionary based graph caching |
CN101639861B (zh) | 2009-09-02 | 2012-06-27 | 福建星网锐捷网络有限公司 | 一种基于有限状态自动机的字符串匹配方法及装置 |
CN101876986B (zh) | 2009-11-27 | 2012-11-21 | 福建星网锐捷网络有限公司 | 基于有限状态自动机的字符串匹配方法及内容过滤设备 |
US8291258B2 (en) | 2010-01-08 | 2012-10-16 | Juniper Networks, Inc. | High availability for network security devices |
US8458354B2 (en) | 2010-01-27 | 2013-06-04 | Interdisciplinary Center Herzliya | Multi-pattern matching in compressed communication traffic |
CN102148805B (zh) | 2010-02-09 | 2015-04-08 | 华为技术有限公司 | 特征匹配方法和装置 |
US8522199B2 (en) | 2010-02-26 | 2013-08-27 | Mcafee, Inc. | System, method, and computer program product for applying a regular expression to content based on required strings of the regular expression |
CN101853301A (zh) | 2010-05-25 | 2010-10-06 | 华为技术有限公司 | 正则表达式匹配的方法和系统 |
US8650146B2 (en) | 2010-06-24 | 2014-02-11 | Lsi Corporation | Impulse regular expression matching |
CN101944121B (zh) | 2010-09-20 | 2012-05-30 | 北京星网锐捷网络技术有限公司 | 有限状态自动机生成方法、关键字匹配方法及装置和设备 |
CN102075511B (zh) | 2010-11-01 | 2014-05-14 | 北京神州绿盟信息安全科技股份有限公司 | 一种数据匹配设备和方法以及网络入侵检测设备和方法 |
US8516456B1 (en) | 2010-11-11 | 2013-08-20 | Netlogic Microsystems, Inc. | Compact instruction format for content search systems |
US20120221494A1 (en) | 2011-02-25 | 2012-08-30 | International Business Machines Corporation | Regular expression pattern matching using keyword graphs |
US9398033B2 (en) | 2011-02-25 | 2016-07-19 | Cavium, Inc. | Regular expression processing automaton |
CN102184197B (zh) | 2011-04-22 | 2012-10-10 | 湖南亿谷信息科技发展有限公司 | 基于智能有限自动机的正则表达式匹配方法 |
US8848970B2 (en) | 2011-04-26 | 2014-09-30 | Digimarc Corporation | Salient point-based arrangements |
US9246928B2 (en) | 2011-05-02 | 2016-01-26 | International Business Machines Corporation | Compiling pattern contexts to scan lanes under instruction execution constraints |
US8990259B2 (en) | 2011-06-24 | 2015-03-24 | Cavium, Inc. | Anchored patterns |
US9223618B2 (en) | 2011-09-20 | 2015-12-29 | Intel Corporation | Multi-threaded queuing system for pattern matching |
US9465662B2 (en) | 2011-10-17 | 2016-10-11 | Cavium, Inc. | Processor with efficient work queuing |
US8850125B2 (en) | 2011-10-25 | 2014-09-30 | Cavium, Inc. | System and method to provide non-coherent access to a coherent memory system |
US9203805B2 (en) | 2011-11-23 | 2015-12-01 | Cavium, Inc. | Reverse NFA generation and processing |
CN102420750B (zh) | 2011-11-28 | 2015-09-23 | 曙光信息产业(北京)有限公司 | 单包正则匹配设备和方法 |
CN103166802B (zh) | 2011-12-12 | 2016-12-07 | 中国移动通信集团湖南有限公司 | 一种确定有限自动机的构建方法及装置 |
US9280600B2 (en) | 2012-03-20 | 2016-03-08 | Yissum Research Development Company Of The Hebrew University Of Jerusalem Ltd. | Method and system for decompression-free inspection of shared dictionary compressed traffic over HTTP |
US9558299B2 (en) | 2012-04-30 | 2017-01-31 | Hewlett Packard Enterprise Development Lp | Submatch extraction |
US9524248B2 (en) | 2012-07-18 | 2016-12-20 | Micron Technology, Inc. | Memory management for a hierarchical memory system |
IN2015DN01932A (zh) | 2012-09-28 | 2015-08-07 | Ericsson Telefon Ab L M | |
US9064032B2 (en) | 2012-10-05 | 2015-06-23 | Intel Corporation | Blended match mode DFA scanning |
US8862585B2 (en) | 2012-10-10 | 2014-10-14 | Polytechnic Institute Of New York University | Encoding non-derministic finite automation states efficiently in a manner that permits simple and fast union operations |
US9046916B2 (en) | 2012-11-06 | 2015-06-02 | Intel Corporation | Cache prefetch for NFA instructions |
US9304768B2 (en) | 2012-12-18 | 2016-04-05 | Intel Corporation | Cache prefetch for deterministic finite automaton instructions |
US9177253B2 (en) | 2013-01-31 | 2015-11-03 | Intel Corporation | System and method for DFA-NFA splitting |
US9563399B2 (en) | 2013-08-30 | 2017-02-07 | Cavium, Inc. | Generating a non-deterministic finite automata (NFA) graph for regular expression patterns with advanced features |
US9426165B2 (en) | 2013-08-30 | 2016-08-23 | Cavium, Inc. | Method and apparatus for compilation of finite automata |
US9426166B2 (en) | 2013-08-30 | 2016-08-23 | Cavium, Inc. | Method and apparatus for processing finite automata |
US9419943B2 (en) | 2013-12-30 | 2016-08-16 | Cavium, Inc. | Method and apparatus for processing of finite automata |
US9432284B2 (en) | 2014-01-08 | 2016-08-30 | Cavium, Inc. | Method and apparatus for compiling search trees for processing request keys based on a key size supported by underlying processing elements |
US9904630B2 (en) | 2014-01-31 | 2018-02-27 | Cavium, Inc. | Finite automata processing based on a top of stack (TOS) memory |
US9602532B2 (en) | 2014-01-31 | 2017-03-21 | Cavium, Inc. | Method and apparatus for optimizing finite automata processing |
US10002326B2 (en) | 2014-04-14 | 2018-06-19 | Cavium, Inc. | Compilation of finite automata based on memory hierarchy |
US9438561B2 (en) | 2014-04-14 | 2016-09-06 | Cavium, Inc. | Processing of finite automata based on a node cache |
US10110558B2 (en) | 2014-04-14 | 2018-10-23 | Cavium, Inc. | Processing of finite automata based on memory hierarchy |
-
2014
- 2014-02-21 US US14/186,978 patent/US9563399B2/en active Active
- 2014-02-21 US US14/186,913 patent/US9507563B2/en active Active
- 2014-04-14 US US14/252,354 patent/US9823895B2/en active Active
- 2014-07-08 US US14/325,841 patent/US9785403B2/en active Active
- 2014-08-28 CN CN201410432318.7A patent/CN104516940B/zh active Active
- 2014-08-28 CN CN201410431555.1A patent/CN104426909B/zh active Active
- 2014-08-29 KR KR1020140114469A patent/KR101615915B1/ko active IP Right Grant
-
2015
- 2015-08-08 HK HK15107653.6A patent/HK1207179A1/zh unknown
- 2015-09-02 HK HK15108608.0A patent/HK1208104A1/zh unknown
-
2017
- 2017-09-13 US US15/703,638 patent/US10466964B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6954424B2 (en) * | 2000-02-24 | 2005-10-11 | Zarlink Semiconductor V.N., Inc. | Credit-based pacing scheme for heterogeneous speed frame forwarding |
US20100174770A1 (en) * | 2005-12-30 | 2010-07-08 | Pandya Ashish A | Runtime adaptable search processor |
US20070282833A1 (en) * | 2006-06-05 | 2007-12-06 | Mcmillen Robert J | Systems and methods for processing regular expressions |
US20080228991A1 (en) * | 2007-03-13 | 2008-09-18 | Stmicroelectronics Sa | Ring buffer management |
WO2009017131A1 (ja) * | 2007-08-02 | 2009-02-05 | Nec Corporation | ε遷移を含まない非決定性有限オートマトン生成システムと方法およびプログラム |
US20110072199A1 (en) * | 2009-09-23 | 2011-03-24 | Lsi Corporation | Startup reconstruction of logical-to-physical address translation data for solid state disks |
US20110093496A1 (en) * | 2009-10-17 | 2011-04-21 | Masanori Bando | Determining whether an input string matches at least one regular expression using lookahead finite automata based regular expression detection |
CN102902713A (zh) * | 2012-03-29 | 2013-01-30 | 中国科学技术大学 | 一种基于图形处理单元的非确定有限自动机的匹配方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897447A (zh) * | 2017-03-02 | 2017-06-27 | 广州算易软件科技有限公司 | 一种基于规则电气图纸箱号的自动化查找方法 |
CN111159496A (zh) * | 2019-12-31 | 2020-05-15 | 奇安信科技集团股份有限公司 | 正则表达式nfa的构造方法及装置 |
CN111159496B (zh) * | 2019-12-31 | 2024-01-23 | 奇安信科技集团股份有限公司 | 正则表达式nfa的构造方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104426909B (zh) | 2019-01-04 |
US20150067836A1 (en) | 2015-03-05 |
CN104516940B (zh) | 2019-03-01 |
HK1207179A1 (zh) | 2016-01-22 |
KR101615915B1 (ko) | 2016-04-27 |
US20150067200A1 (en) | 2015-03-05 |
KR20150026979A (ko) | 2015-03-11 |
US20180004483A1 (en) | 2018-01-04 |
CN104516940A (zh) | 2015-04-15 |
US10466964B2 (en) | 2019-11-05 |
US9507563B2 (en) | 2016-11-29 |
HK1208104A1 (zh) | 2016-02-19 |
US20150067123A1 (en) | 2015-03-05 |
US9785403B2 (en) | 2017-10-10 |
US9563399B2 (en) | 2017-02-07 |
US20150066927A1 (en) | 2015-03-05 |
US9823895B2 (en) | 2017-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104426909A (zh) | 为具有高级特征的正则表达式图样生成非确定有限自动机(nfa)图形 | |
US9652505B2 (en) | Content search pattern matching using deterministic finite automata (DFA) graphs | |
US9762544B2 (en) | Reverse NFA generation and processing | |
EP2215563B1 (en) | Method and apparatus for traversing a deterministic finite automata (dfa) graph compression | |
US8819217B2 (en) | Intelligent graph walking | |
US8180803B2 (en) | Deterministic finite automata (DFA) graph compression | |
US9419943B2 (en) | Method and apparatus for processing of finite automata | |
US9602532B2 (en) | Method and apparatus for optimizing finite automata processing | |
US7805392B1 (en) | Pattern matching in a multiprocessor environment with finite state automaton transitions based on an order of vectors in a state transition table | |
US20110016154A1 (en) | Profile-based and dictionary based graph caching | |
US20120221497A1 (en) | Regular Expression Processing Automaton | |
US20100114973A1 (en) | Deterministic Finite Automata Graph Traversal with Nodal Bit Mapping | |
CN104820666A (zh) | 基于栈顶(tos)存储器的有限自动机处理 | |
US9996387B2 (en) | Context switching for computing architecture operating on sequential data | |
CN104714995A (zh) | 用于遍历为具有高级特征的正则表达式图样生成的非确定有限自动机(nfa)的系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1208104 Country of ref document: HK |
|
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: Cavium, Inc. Address before: California, USA Applicant before: Cavium, Inc. |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200427 Address after: Singapore City Patentee after: Marvell Asia Pte. Ltd. Address before: Ford street, Grand Cayman, Cayman Islands Patentee before: Kaiwei international Co. Effective date of registration: 20200427 Address after: Ford street, Grand Cayman, Cayman Islands Patentee after: Kaiwei international Co. Address before: California, USA Patentee before: Cavium, Inc. |