{"id":"https://openalex.org/W2030102079","doi":"https://doi.org/10.1145/1185347.1185360","title":"Fast and memory-efficient regular expression matching for deep packet inspection","display_name":"Fast and memory-efficient regular expression matching for deep packet inspection","publication_year":2006,"publication_date":"2006-12-03","ids":{"openalex":"https://openalex.org/W2030102079","doi":"https://doi.org/10.1145/1185347.1185360","mag":"2030102079"},"language":"en","primary_location":{"id":"doi:10.1145/1185347.1185360","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1185347.1185360","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2006 ACM/IEEE symposium on Architecture for networking and communications systems","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5020271369","display_name":"Yu Fang","orcid":"https://orcid.org/0000-0002-0262-3872"},"institutions":[{"id":"https://openalex.org/I134446601","display_name":"Berkeley College","ror":"https://ror.org/02xewxa75","country_code":"US","type":"education","lineage":["https://openalex.org/I134446601"]},{"id":"https://openalex.org/I95457486","display_name":"University of California, Berkeley","ror":"https://ror.org/01an7q238","country_code":"US","type":"education","lineage":["https://openalex.org/I95457486"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Fang Yu","raw_affiliation_strings":["UC Berkeley","UC Berkeley, Berkeley, CA#TAB#"],"affiliations":[{"raw_affiliation_string":"UC Berkeley","institution_ids":["https://openalex.org/I134446601","https://openalex.org/I95457486"]},{"raw_affiliation_string":"UC Berkeley, Berkeley, CA#TAB#","institution_ids":["https://openalex.org/I95457486"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5100715424","display_name":"Zhifeng Chen","orcid":"https://orcid.org/0000-0001-8631-2424"},"institutions":[{"id":"https://openalex.org/I1291425158","display_name":"Google (United States)","ror":"https://ror.org/00njsd438","country_code":"US","type":"company","lineage":["https://openalex.org/I1291425158","https://openalex.org/I4210128969"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Zhifeng Chen","raw_affiliation_strings":["Google Inc","GOOGLE INC "],"affiliations":[{"raw_affiliation_string":"Google Inc","institution_ids":["https://openalex.org/I1291425158"]},{"raw_affiliation_string":"GOOGLE INC ","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5109548832","display_name":"Yanlei Diao","orcid":"https://orcid.org/0009-0000-7793-9671"},"institutions":[{"id":"https://openalex.org/I24603500","display_name":"University of Massachusetts Amherst","ror":"https://ror.org/0072zz521","country_code":"US","type":"education","lineage":["https://openalex.org/I24603500"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Yanlei Diao","raw_affiliation_strings":["University of Massachusetts, Amherst","University of Massachusetts: Amherst#TAB#"],"affiliations":[{"raw_affiliation_string":"University of Massachusetts, Amherst","institution_ids":["https://openalex.org/I24603500"]},{"raw_affiliation_string":"University of Massachusetts: Amherst#TAB#","institution_ids":["https://openalex.org/I24603500"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5079816803","display_name":"T. V. Lakshman","orcid":null},"institutions":[{"id":"https://openalex.org/I1322087612","display_name":"Alcatel Lucent (Germany)","ror":"https://ror.org/00c5mwp75","country_code":"DE","type":"company","lineage":["https://openalex.org/I1322087612"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"T. V. Lakshman","raw_affiliation_strings":["Bell Laboratories, Lucent Technologies","Bell Laboratories - Lucent Technologies"],"affiliations":[{"raw_affiliation_string":"Bell Laboratories, Lucent Technologies","institution_ids":["https://openalex.org/I1322087612"]},{"raw_affiliation_string":"Bell Laboratories - Lucent Technologies","institution_ids":["https://openalex.org/I1322087612"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5109560331","display_name":"Randy H. Katz","orcid":null},"institutions":[{"id":"https://openalex.org/I95457486","display_name":"University of California, Berkeley","ror":"https://ror.org/01an7q238","country_code":"US","type":"education","lineage":["https://openalex.org/I95457486"]},{"id":"https://openalex.org/I134446601","display_name":"Berkeley College","ror":"https://ror.org/02xewxa75","country_code":"US","type":"education","lineage":["https://openalex.org/I134446601"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Randy H. Katz","raw_affiliation_strings":["UC Berkeley","UC BERKELEY"],"affiliations":[{"raw_affiliation_string":"UC Berkeley","institution_ids":["https://openalex.org/I134446601","https://openalex.org/I95457486"]},{"raw_affiliation_string":"UC BERKELEY","institution_ids":["https://openalex.org/I134446601"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":5,"corresponding_author_ids":["https://openalex.org/A5020271369"],"corresponding_institution_ids":["https://openalex.org/I134446601","https://openalex.org/I95457486"],"apc_list":null,"apc_paid":null,"fwci":21.6006,"has_fulltext":false,"cited_by_count":462,"citation_normalized_percentile":{"value":0.99745443,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":96,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"93","last_page":"102"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T12326","display_name":"Network Packet Processing and Optimization","score":1.0,"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":1.0,"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/T10400","display_name":"Network Security and Intrusion Detection","score":0.9972000122070312,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/T11478","display_name":"Caching and Content Delivery","score":0.9864000082015991,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/deep-packet-inspection","display_name":"Deep packet inspection","score":0.8654184341430664},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8284661769866943},{"id":"https://openalex.org/keywords/network-packet","display_name":"Network packet","score":0.7159245014190674},{"id":"https://openalex.org/keywords/regular-expression","display_name":"Regular expression","score":0.704575777053833},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.5965813994407654},{"id":"https://openalex.org/keywords/scanner","display_name":"Scanner","score":0.5359196662902832},{"id":"https://openalex.org/keywords/memory-management","display_name":"Memory management","score":0.4995384216308594},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.4885495603084564},{"id":"https://openalex.org/keywords/pattern-matching","display_name":"Pattern matching","score":0.47325068712234497},{"id":"https://openalex.org/keywords/payload","display_name":"Payload (computing)","score":0.4728318154811859},{"id":"https://openalex.org/keywords/matching","display_name":"Matching (statistics)","score":0.4342755079269409},{"id":"https://openalex.org/keywords/real-time-computing","display_name":"Real-time computing","score":0.3757581412792206},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.33561086654663086},{"id":"https://openalex.org/keywords/computer-network","display_name":"Computer network","score":0.3326708674430847},{"id":"https://openalex.org/keywords/computer-engineering","display_name":"Computer engineering","score":0.3280949592590332},{"id":"https://openalex.org/keywords/computer-hardware","display_name":"Computer hardware","score":0.2957151234149933},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.2913418710231781},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.13223713636398315},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.1263372004032135},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.09610208868980408}],"concepts":[{"id":"https://openalex.org/C204679922","wikidata":"https://www.wikidata.org/wiki/Q734252","display_name":"Deep packet inspection","level":3,"score":0.8654184341430664},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8284661769866943},{"id":"https://openalex.org/C158379750","wikidata":"https://www.wikidata.org/wiki/Q214111","display_name":"Network packet","level":2,"score":0.7159245014190674},{"id":"https://openalex.org/C121329065","wikidata":"https://www.wikidata.org/wiki/Q185612","display_name":"Regular expression","level":2,"score":0.704575777053833},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.5965813994407654},{"id":"https://openalex.org/C2779751349","wikidata":"https://www.wikidata.org/wiki/Q1474480","display_name":"Scanner","level":2,"score":0.5359196662902832},{"id":"https://openalex.org/C176649486","wikidata":"https://www.wikidata.org/wiki/Q2308807","display_name":"Memory management","level":3,"score":0.4995384216308594},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.4885495603084564},{"id":"https://openalex.org/C68859911","wikidata":"https://www.wikidata.org/wiki/Q1503724","display_name":"Pattern matching","level":2,"score":0.47325068712234497},{"id":"https://openalex.org/C134066672","wikidata":"https://www.wikidata.org/wiki/Q1424639","display_name":"Payload (computing)","level":3,"score":0.4728318154811859},{"id":"https://openalex.org/C165064840","wikidata":"https://www.wikidata.org/wiki/Q1321061","display_name":"Matching (statistics)","level":2,"score":0.4342755079269409},{"id":"https://openalex.org/C79403827","wikidata":"https://www.wikidata.org/wiki/Q3988","display_name":"Real-time computing","level":1,"score":0.3757581412792206},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.33561086654663086},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.3326708674430847},{"id":"https://openalex.org/C113775141","wikidata":"https://www.wikidata.org/wiki/Q428691","display_name":"Computer engineering","level":1,"score":0.3280949592590332},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.2957151234149933},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.2913418710231781},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.13223713636398315},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.1263372004032135},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.09610208868980408},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C98986596","wikidata":"https://www.wikidata.org/wiki/Q1143031","display_name":"Semiconductor memory","level":2,"score":0.0},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1185347.1185360","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1185347.1185360","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2006 ACM/IEEE symposium on Architecture for networking and communications systems","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":27,"referenced_works":["https://openalex.org/W1531610435","https://openalex.org/W1707172707","https://openalex.org/W1960511147","https://openalex.org/W1969783316","https://openalex.org/W1976716770","https://openalex.org/W2002089154","https://openalex.org/W2006508099","https://openalex.org/W2013120826","https://openalex.org/W2030102079","https://openalex.org/W2059807497","https://openalex.org/W2096474000","https://openalex.org/W2106062486","https://openalex.org/W2116967744","https://openalex.org/W2118599039","https://openalex.org/W2135611729","https://openalex.org/W2135932040","https://openalex.org/W2146052712","https://openalex.org/W2149375166","https://openalex.org/W2149695592","https://openalex.org/W2153102141","https://openalex.org/W2162080541","https://openalex.org/W2498461899","https://openalex.org/W2914154200","https://openalex.org/W3144157896","https://openalex.org/W4242309756","https://openalex.org/W6641347428","https://openalex.org/W6665642939"],"related_works":["https://openalex.org/W2159281873","https://openalex.org/W2184740474","https://openalex.org/W4242309756","https://openalex.org/W2393727648","https://openalex.org/W2137664506","https://openalex.org/W1606491045","https://openalex.org/W2052853109","https://openalex.org/W2172018661","https://openalex.org/W2292875219","https://openalex.org/W2149513953"],"abstract_inverted_index":{"Packet":[0],"content":[1,24],"scanning":[2,61],"at":[3],"high":[4,54],"speed":[5,102],"has":[6],"become":[7],"extremely":[8],"important":[9],"due":[10],"to":[11,137,148,159],"its":[12],"applications":[13],"in":[14,59,95,106],"network":[15,17],"security,":[16],"monitoring,":[18],"HTTP":[19],"load":[20],"balancing,":[21],"etc.":[22],"In":[23,40],"scanning,":[25],"the":[26,117,149],"packet":[27,60,114,155],"payload":[28],"is":[29],"compared":[30],"against":[31],"a":[32,79,86,111,133,142],"set":[33,87],"of":[34,88,98,135],"patterns":[35,57,127],"specified":[36],"as":[37],"regular":[38,66,89,99],"expressions.":[39],"this":[41],"paper,":[42],"we":[43,77],"first":[44],"show":[45,128],"that":[46,70,82,129],"memory":[47,74,107],"requirements":[48],"using":[49,116,123],"traditional":[50],"methods":[51],"are":[52],"prohibitively":[53],"for":[55],"many":[56],"used":[58,144],"applications.":[62],"We":[63,109],"then":[64],"propose":[65],"expression":[67,100],"rewrite":[68],"techniques":[69],"can":[71,83],"effectively":[72],"reduce":[73],"usage.":[75,108],"Further,":[76],"develop":[78],"grouping":[80],"scheme":[81],"strategically":[84],"compile":[85],"expressions":[90],"into":[91],"several":[92],"engines,":[93],"resulting":[94],"remarkable":[96],"improvement":[97,140],"matching":[101],"without":[103],"much":[104],"increase":[105],"implement":[110],"new":[112],"DFA-based":[113,145,154],"scanner":[115,156],"above":[118],"techniques.":[119],"Our":[120],"experimental":[121],"results":[122],"real-world":[124],"traffic":[125],"and":[126],"our":[130,153],"implementation":[131],"achieves":[132,157],"factor":[134],"12":[136],"42":[138],"performance":[139],"over":[141],"commonly":[143],"scanner.":[146],"Compared":[147],"state-of-art":[150],"NFA-based":[151],"implementation,":[152],"50":[158],"700":[160],"times":[161],"speedup.":[162]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":6},{"year":2024,"cited_by_count":8},{"year":2023,"cited_by_count":6},{"year":2022,"cited_by_count":13},{"year":2021,"cited_by_count":18},{"year":2020,"cited_by_count":14},{"year":2019,"cited_by_count":17},{"year":2018,"cited_by_count":27},{"year":2017,"cited_by_count":24},{"year":2016,"cited_by_count":25},{"year":2015,"cited_by_count":26},{"year":2014,"cited_by_count":40},{"year":2013,"cited_by_count":37},{"year":2012,"cited_by_count":35}],"updated_date":"2026-04-23T09:07:50.710637","created_date":"2025-10-10T00:00:00"}
