{"id":"https://openalex.org/W1982420044","doi":"https://doi.org/10.1145/1839667.1839672","title":"A memory-efficient pipelined implementation of the aho-corasick string-matching algorithm","display_name":"A memory-efficient pipelined implementation of the aho-corasick string-matching algorithm","publication_year":2010,"publication_date":"2010-09-01","ids":{"openalex":"https://openalex.org/W1982420044","doi":"https://doi.org/10.1145/1839667.1839672","mag":"1982420044"},"language":"en","primary_location":{"id":"doi:10.1145/1839667.1839672","doi":"https://doi.org/10.1145/1839667.1839672","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1839667.1839672","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1839667.1839672","source":{"id":"https://openalex.org/S26056741","display_name":"ACM Transactions on Architecture and Code Optimization","issn_l":"1544-3566","issn":["1544-3566","1544-3973"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["cwts-core","jufo-1","norway-2"],"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Architecture and Code Optimization","raw_type":"journal-article"},"volume":null,"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/1839667.1839672","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5022335495","display_name":"Derek C.W. Pao","orcid":"https://orcid.org/0000-0002-0304-600X","observed_orcids":["https://orcid.org/0000-0002-0304-600X"]},"institutions":[{"id":"https://openalex.org/I168719708","display_name":"City University of Hong Kong","ror":"https://ror.org/03q8dnn23","country_code":"HK","type":"education","lineage":["https://openalex.org/I168719708"]}],"countries":["HK"],"is_corresponding":false,"raw_author_name":"Derek Pao","raw_affiliation_strings":["City University of Hong Kong, Hong Kong"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"City University of Hong Kong, Hong Kong","institution_ids":["https://openalex.org/I168719708"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5101663406","display_name":"Wei Ming Lin","orcid":"https://orcid.org/0000-0002-2751-3362","observed_orcids":["https://orcid.org/0000-0002-2751-3362"]},"institutions":[{"id":"https://openalex.org/I99065089","display_name":"Tsinghua University","ror":"https://ror.org/03cve4549","country_code":"CN","type":"education","lineage":["https://openalex.org/I99065089"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Wei Lin","raw_affiliation_strings":["Tsinghua University, Beijing, PRC"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Tsinghua University, Beijing, PRC","institution_ids":["https://openalex.org/I99065089"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5100395534","display_name":"Bin Liu","orcid":"https://orcid.org/0000-0002-8588-8744","observed_orcids":["https://orcid.org/0000-0002-8588-8744"]},"institutions":[{"id":"https://openalex.org/I99065089","display_name":"Tsinghua University","ror":"https://ror.org/03cve4549","country_code":"CN","type":"education","lineage":["https://openalex.org/I99065089"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Bin Liu","raw_affiliation_strings":["Tsinghua University, Beijing, PRC"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Tsinghua University, Beijing, PRC","institution_ids":["https://openalex.org/I99065089"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":3.6641,"has_fulltext":true,"cited_by_count":48,"citation_normalized_percentile":{"value":0.93006843,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":"7","issue":"2","first_page":"1","last_page":"27"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T12326","display_name":"Network Packet Processing and Optimization","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T12326","display_name":"Network Packet Processing and Optimization","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11269","display_name":"Algorithms and Data Compression","score":0.0003000000142492354,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T13292","display_name":"Embedded Systems and FPGA Applications","score":0.0,"subfield":{"id":"https://openalex.org/subfields/2208","display_name":"Electrical and Electronic Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/aho-corasick-algorithm","display_name":"Aho-Corasick algorithm","score":0.9990000128746033},{"id":"https://openalex.org/keywords/string-matching","display_name":"string matching","score":0.9589999914169312},{"id":"https://openalex.org/keywords/pipelined-hardware-architecture","display_name":"pipelined hardware architecture","score":0.7559999823570251},{"id":"https://openalex.org/keywords/memory-efficiency","display_name":"memory efficiency","score":0.8220000267028809},{"id":"https://openalex.org/keywords/deterministic-finite-automata","display_name":"deterministic finite automata","score":0.9070000052452087},{"id":"https://openalex.org/keywords/lookup-tables","display_name":"look-up table","score":0.9430000185966492},{"id":"https://openalex.org/keywords/fpga-implementation","display_name":"FPGA implementation","score":0.8029999732971191},{"id":"https://openalex.org/keywords/dual-port-memory","display_name":"dual-port memory","score":0.8360000252723694},{"id":"https://openalex.org/keywords/signature-based-intrusion-detection","display_name":"signature-based intrusion detection","score":0.6119999885559082},{"id":"https://openalex.org/keywords/real-time-network-security","display_name":"real-time network security","score":0.5910000205039978}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8713645935058594},{"id":"https://openalex.org/C190290938","wikidata":"https://www.wikidata.org/wiki/Q387015","display_name":"Trie","level":3,"score":0.7080357670783997},{"id":"https://openalex.org/C7757238","wikidata":"https://www.wikidata.org/wiki/Q374040","display_name":"String searching algorithm","level":3,"score":0.6943510174751282},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.5286581516265869},{"id":"https://openalex.org/C2779696439","wikidata":"https://www.wikidata.org/wiki/Q7512811","display_name":"Signature (topology)","level":2,"score":0.5064936876296997},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5001254081726074},{"id":"https://openalex.org/C157486923","wikidata":"https://www.wikidata.org/wiki/Q1376436","display_name":"String (physics)","level":2,"score":0.4527299106121063},{"id":"https://openalex.org/C157764524","wikidata":"https://www.wikidata.org/wiki/Q1383412","display_name":"Throughput","level":3,"score":0.4138287305831909},{"id":"https://openalex.org/C68859911","wikidata":"https://www.wikidata.org/wiki/Q1503724","display_name":"Pattern matching","level":2,"score":0.32564976811408997},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.32417064905166626},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.27560490369796753},{"id":"https://openalex.org/C62520636","wikidata":"https://www.wikidata.org/wiki/Q944","display_name":"Quantum mechanics","level":1,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C76155785","wikidata":"https://www.wikidata.org/wiki/Q418","display_name":"Telecommunications","level":1,"score":0.0},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.0},{"id":"https://openalex.org/C555944384","wikidata":"https://www.wikidata.org/wiki/Q249","display_name":"Wireless","level":2,"score":0.0},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1839667.1839672","doi":"https://doi.org/10.1145/1839667.1839672","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1839667.1839672","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1839667.1839672","source":{"id":"https://openalex.org/S26056741","display_name":"ACM Transactions on Architecture and Code Optimization","issn_l":"1544-3566","issn":["1544-3566","1544-3973"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["cwts-core","jufo-1","norway-2"],"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Architecture and Code Optimization","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/1839667.1839672","doi":"https://doi.org/10.1145/1839667.1839672","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1839667.1839672","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1839667.1839672","source":{"id":"https://openalex.org/S26056741","display_name":"ACM Transactions on Architecture and Code Optimization","issn_l":"1544-3566","issn":["1544-3566","1544-3973"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["cwts-core","jufo-1","norway-2"],"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Architecture and Code Optimization","raw_type":"journal-article"},"sustainable_development_goals":[],"sustainable_development_goals_aurora":[{"display_name":"Industry, innovation and infrastructure","id":"https://metadata.un.org/sdg/9","score":0.5}],"study_designs":[],"awards":[{"id":"https://openalex.org/G2966833885","display_name":null,"funder_award_id":"9041500","funder_id":"https://openalex.org/F4320321592","funder_display_name":"Research Grants Council, University Grants Committee"},{"id":"https://openalex.org/G5101898688","display_name":null,"funder_award_id":"60625201608732509732007CB310701","funder_id":"https://openalex.org/F4320321001","funder_display_name":"National Natural Science Foundation of China"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"},{"id":"https://openalex.org/F4320321001","display_name":"National Natural Science Foundation of China","ror":"https://ror.org/01h0zpd94"},{"id":"https://openalex.org/F4320321592","display_name":"Research Grants Council, University Grants Committee","ror":"https://ror.org/00djwmt25"},{"id":"https://openalex.org/F4320322392","display_name":"Tsinghua University","ror":"https://ror.org/03cve4549"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W1982420044.pdf","grobid_xml":"https://content.openalex.org/works/W1982420044.grobid-xml"},"referenced_works_count":30,"referenced_works":["https://openalex.org/W1531610435","https://openalex.org/W1655192411","https://openalex.org/W1834037038","https://openalex.org/W1891233321","https://openalex.org/W1976716770","https://openalex.org/W1985108724","https://openalex.org/W1995458676","https://openalex.org/W2045821558","https://openalex.org/W2049650913","https://openalex.org/W2063109203","https://openalex.org/W2099964107","https://openalex.org/W2108522784","https://openalex.org/W2114060596","https://openalex.org/W2114164241","https://openalex.org/W2115025779","https://openalex.org/W2116563953","https://openalex.org/W2116967744","https://openalex.org/W2130225994","https://openalex.org/W2131473773","https://openalex.org/W2133560322","https://openalex.org/W2134684274","https://openalex.org/W2137001401","https://openalex.org/W2137959021","https://openalex.org/W2145492393","https://openalex.org/W2146052712","https://openalex.org/W2158900125","https://openalex.org/W2159599528","https://openalex.org/W2169855483","https://openalex.org/W2171421880","https://openalex.org/W4255970238"],"related_works":["https://openalex.org/W3145288231","https://openalex.org/W2018448968","https://openalex.org/W2371263218","https://openalex.org/W2343253211","https://openalex.org/W2529376784","https://openalex.org/W2092552144","https://openalex.org/W2354196777","https://openalex.org/W2965473297","https://openalex.org/W2799512315","https://openalex.org/W2108265183"],"abstract_inverted_index":{"With":[0,188],"rapid":[1],"advancement":[2],"in":[3,11,32,72,94,194],"Internet":[4],"technology":[5],"and":[6,14,83,177],"usages,":[7],"some":[8],"emerging":[9],"applications":[10],"data":[12,23,215],"communications":[13],"network":[15],"security":[16],"require":[17],"matching":[18],"of":[19,22,30,44,60,79,89,92,101,116,145,151,173,181,191],"huge":[20],"volume":[21],"against":[24],"large":[25],"signature":[26,96,162,227],"sets":[27],"with":[28,141],"thousands":[29],"strings":[31,93,166],"real":[33],"time.":[34],"In":[35],"this":[36],"article,":[37],"we":[38,197],"present":[39],"a":[40,52,132,161],"memory-efficient":[41],"hardware":[42],"implementation":[43,144],"the":[45,61,69,77,80,84,90,95,102,106,113,117,126,148,182,189,200,205,210,226,234,239],"well-known":[46],"Aho-Corasick":[47],"(AC)":[48],"string-matching":[49,70],"algorithm":[50,63,104],"using":[51],"pipelining":[53],"approach":[54],"called":[55],"P-AC.":[56],"An":[57],"attractive":[58],"feature":[59],"AC":[62,103],"is":[64,87,105,129,153,175,185,221],"that":[65,135,209],"it":[66],"can":[67,198,212,229],"solve":[68],"problem":[71],"time":[73,86],"linearly":[74],"proportional":[75],"to":[76,111,131,225],"length":[78],"input":[81],"stream,":[82],"computation":[85],"independent":[88],"number":[91],"set.":[97],"A":[98],"major":[99],"disadvantage":[100],"high":[107],"memory":[108,149],"cost":[109,150,180],"required":[110],"store":[112],"transition":[114],"rules":[115],"underlying":[118],"deterministic":[119],"finite":[120],"automaton.":[121],"By":[122],"incorporating":[123],"pipelined":[124],"processing,":[125],"state":[127],"graph":[128],"reduced":[130],"character":[133,159],"trie":[134],"only":[136,154],"contains":[137],"forward":[138],"edges.":[139],"Together":[140],"an":[142],"intelligent":[143],"look-up":[146,235],"tables,":[147],"P-AC":[152,174],"about":[155],"18":[156],"bits":[157],"per":[158],"for":[160],"set":[163,228],"containing":[164],"6,166":[165],"extracted":[167],"from":[168],"Snort.":[169],"The":[170,179],"control":[171,183,206],"structure":[172],"simple":[176],"elegant.":[178],"logic":[184,207],"very":[186],"low.":[187],"availability":[190],"dual-port":[192],"memories":[193],"FPGA":[195,240],"devices,":[196],"double":[199],"system":[201,211],"throughput":[202],"by":[203,232],"duplicating":[204],"such":[208],"process":[213],"two":[214],"streams":[216],"concurrently.":[217],"Since":[218],"our":[219],"method":[220],"memory-based,":[222],"incremental":[223],"changes":[224],"be":[230],"accommodated":[231],"updating":[233],"tables":[236],"without":[237],"reconfiguring":[238],"circuitry.":[241]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":5},{"year":2022,"cited_by_count":4},{"year":2021,"cited_by_count":3},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":3},{"year":2017,"cited_by_count":4},{"year":2016,"cited_by_count":4},{"year":2015,"cited_by_count":7},{"year":2014,"cited_by_count":5},{"year":2013,"cited_by_count":3},{"year":2012,"cited_by_count":4}],"updated_date":"2026-09-26T08:19:03.415552","created_date":"2025-10-10T00:00:00"}
