{"id":"https://openalex.org/W4242309756","doi":"https://doi.org/10.1145/1159913.1159952","title":"Algorithms to accelerate multiple regular expressions matching for deep packet inspection","display_name":"Algorithms to accelerate multiple regular expressions matching for deep packet inspection","publication_year":2006,"publication_date":"2006-08-11","ids":{"openalex":"https://openalex.org/W4242309756","doi":"https://doi.org/10.1145/1159913.1159952"},"language":"en","primary_location":{"id":"doi:10.1145/1159913.1159952","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1159913.1159952","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 conference on Applications, technologies, architectures, and protocols for computer communications","raw_type":"proceedings-article"},"type":"conference-paper","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/A5103517707","display_name":"Sailesh Kumar","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Sailesh Kumar","raw_affiliation_strings":["Washington University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Washington University","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5054225262","display_name":"Sarang Dharmapurikar","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Sarang Dharmapurikar","raw_affiliation_strings":["Washington University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Washington University","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5020271369","display_name":"Yu Fang","orcid":"https://orcid.org/0000-0002-0262-3872"},"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"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Fang Yu","raw_affiliation_strings":["University of California, Berkeley"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of California, Berkeley","institution_ids":["https://openalex.org/I95457486"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5081087040","display_name":"Patrick Crowley","orcid":"https://orcid.org/0000-0003-4222-5091"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Patrick Crowley","raw_affiliation_strings":["Washington University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Washington University","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5110102724","display_name":"Jonathan Turner","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Jonathan Turner","raw_affiliation_strings":["Washington University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Washington University","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":9.5968,"has_fulltext":false,"cited_by_count":232,"citation_normalized_percentile":{"value":0.99018882,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":94,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"339","last_page":"350"},"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.9998999834060669,"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.9998999834060669,"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.9876000285148621,"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/T11441","display_name":"Organoboron and organosilicon chemistry","score":0.9817000031471252,"subfield":{"id":"https://openalex.org/subfields/1605","display_name":"Organic Chemistry"},"field":{"id":"https://openalex.org/fields/16","display_name":"Chemistry"},"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.885116457939148},{"id":"https://openalex.org/keywords/regular-expression","display_name":"Regular expression","score":0.8420547246932983},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7871029376983643},{"id":"https://openalex.org/keywords/network-packet","display_name":"Network packet","score":0.668728768825531},{"id":"https://openalex.org/keywords/deterministic-finite-automaton","display_name":"Deterministic finite automaton","score":0.6108867526054382},{"id":"https://openalex.org/keywords/throughput","display_name":"Throughput","score":0.5304989814758301},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.49729016423225403},{"id":"https://openalex.org/keywords/finite-state-machine","display_name":"Finite-state machine","score":0.44491875171661377},{"id":"https://openalex.org/keywords/matching","display_name":"Matching (statistics)","score":0.43858206272125244},{"id":"https://openalex.org/keywords/automaton","display_name":"Automaton","score":0.43402552604675293},{"id":"https://openalex.org/keywords/string","display_name":"String (physics)","score":0.4280141592025757},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.42083340883255005},{"id":"https://openalex.org/keywords/pattern-matching","display_name":"Pattern matching","score":0.41334670782089233},{"id":"https://openalex.org/keywords/string-searching-algorithm","display_name":"String searching algorithm","score":0.4119942784309387},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.36352330446243286},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.3452277183532715},{"id":"https://openalex.org/keywords/computer-network","display_name":"Computer network","score":0.32489269971847534},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.15341076254844666},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.10815167427062988}],"concepts":[{"id":"https://openalex.org/C204679922","wikidata":"https://www.wikidata.org/wiki/Q734252","display_name":"Deep packet inspection","level":3,"score":0.885116457939148},{"id":"https://openalex.org/C121329065","wikidata":"https://www.wikidata.org/wiki/Q185612","display_name":"Regular expression","level":2,"score":0.8420547246932983},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7871029376983643},{"id":"https://openalex.org/C158379750","wikidata":"https://www.wikidata.org/wiki/Q214111","display_name":"Network packet","level":2,"score":0.668728768825531},{"id":"https://openalex.org/C104091681","wikidata":"https://www.wikidata.org/wiki/Q837528","display_name":"Deterministic finite automaton","level":3,"score":0.6108867526054382},{"id":"https://openalex.org/C157764524","wikidata":"https://www.wikidata.org/wiki/Q1383412","display_name":"Throughput","level":3,"score":0.5304989814758301},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.49729016423225403},{"id":"https://openalex.org/C167822520","wikidata":"https://www.wikidata.org/wiki/Q176452","display_name":"Finite-state machine","level":2,"score":0.44491875171661377},{"id":"https://openalex.org/C165064840","wikidata":"https://www.wikidata.org/wiki/Q1321061","display_name":"Matching (statistics)","level":2,"score":0.43858206272125244},{"id":"https://openalex.org/C112505250","wikidata":"https://www.wikidata.org/wiki/Q787116","display_name":"Automaton","level":2,"score":0.43402552604675293},{"id":"https://openalex.org/C157486923","wikidata":"https://www.wikidata.org/wiki/Q1376436","display_name":"String (physics)","level":2,"score":0.4280141592025757},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.42083340883255005},{"id":"https://openalex.org/C68859911","wikidata":"https://www.wikidata.org/wiki/Q1503724","display_name":"Pattern matching","level":2,"score":0.41334670782089233},{"id":"https://openalex.org/C7757238","wikidata":"https://www.wikidata.org/wiki/Q374040","display_name":"String searching algorithm","level":3,"score":0.4119942784309387},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.36352330446243286},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.3452277183532715},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.32489269971847534},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.15341076254844666},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.10815167427062988},{"id":"https://openalex.org/C37914503","wikidata":"https://www.wikidata.org/wiki/Q156495","display_name":"Mathematical physics","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/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.0},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0},{"id":"https://openalex.org/C76155785","wikidata":"https://www.wikidata.org/wiki/Q418","display_name":"Telecommunications","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1159913.1159952","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1159913.1159952","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 conference on Applications, technologies, architectures, and protocols for computer communications","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/9","display_name":"Industry, innovation and infrastructure","score":0.5600000023841858}],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":23,"referenced_works":["https://openalex.org/W177221912","https://openalex.org/W1556957983","https://openalex.org/W1577337656","https://openalex.org/W1601718731","https://openalex.org/W1710586424","https://openalex.org/W1891233321","https://openalex.org/W1965680834","https://openalex.org/W2000667158","https://openalex.org/W2002089154","https://openalex.org/W2006508099","https://openalex.org/W2017927472","https://openalex.org/W2030102079","https://openalex.org/W2099964107","https://openalex.org/W2115775347","https://openalex.org/W2118599039","https://openalex.org/W2132926044","https://openalex.org/W2134684274","https://openalex.org/W2149375166","https://openalex.org/W4241977206","https://openalex.org/W4247093768","https://openalex.org/W4251400443","https://openalex.org/W6605045863","https://openalex.org/W6664434888"],"related_works":["https://openalex.org/W1999162684","https://openalex.org/W2113425091","https://openalex.org/W2159281873","https://openalex.org/W1492858093","https://openalex.org/W2015535429","https://openalex.org/W2092552144","https://openalex.org/W2022407883","https://openalex.org/W1979346480","https://openalex.org/W4242309756","https://openalex.org/W2137664506"],"abstract_inverted_index":{"There":[0],"is":[1,53,133],"a":[2,44,109,129,137,148,164,176,213,223],"growing":[3,54],"demand":[4],"for":[5,112],"network":[6,20,94],"devices":[7],"capable":[8],"of":[9,13,49,59,88,99,144,158,166],"examining":[10],"the":[11,57,116,145,156,186,229],"content":[12,241],"data":[14],"packets":[15,42],"in":[16,56,93,211],"order":[17],"to":[18,40,81,128],"improve":[19],"security":[21],"and":[22,71,173,220,231],"provide":[23,238],"application-specific":[24],"services.":[25],"Most":[26],"high":[27,233],"performance":[28],"systems":[29],"that":[30,196,215,249],"perform":[31,198],"deep":[32,199],"packet":[33,200,240],"inspection":[34,201],"implement":[35,82],"simple":[36],"string":[37],"matching":[38],"algorithms":[39],"match":[41],"against":[43],"large,":[45],"but":[46],"finite":[47,74],"set":[48],"strings.":[50],"owever,":[51],"there":[52],"interest":[55],"use":[58],"regular":[60,65,83,89,113,167],"expression-based":[61],"pattern":[62],"matching,":[63],"since":[64],"expressions":[66,168],"offer":[67],"superior":[68],"expressive":[69],"power":[70],"flexibility.":[72],"Deterministic":[73],"automata":[75],"(DFA)":[76],"representations":[77,87],"are":[78,250],"typically":[79],"used":[80],"expressions.":[84],"However,":[85],"DFA":[86,119,138],"expression":[90],"sets":[91],"arising":[92],"applications":[95],"require":[96],"large":[97],"amounts":[98],"memory,":[100],"limiting":[101],"their":[102],"practical":[103],"application.In":[104],"this":[105],"paper,":[106],"we":[107,191],"introduce":[108],"new":[110],"representation":[111,178],"expressions,":[114],"called":[115],"Delayed":[117],"Input":[118],"(D2FA),":[120],"which":[121],"substantially":[122,187],"reduces":[123,155,179],"space":[124,189],"equirements":[125],"as":[126],"compared":[127],"DFA.":[130],"A":[131],"D2FA":[132,177],"constructed":[134],"by":[135,181],"transforming":[136],"via":[139],"incrementally":[140],"replacing":[141],"several":[142],"transitions":[143,160,180],"automaton":[146],"with":[147,246,252],"single":[149],"default":[150],"transition.":[151],"Our":[152,205,235],"approach":[153],"dramatically":[154],"number":[157],"distinct":[159],"between":[161],"states.":[162],"For":[163],"collection":[165],"drawn":[169],"from":[170],"current":[171,253],"commercial":[172],"academic":[174],"systems,":[175],"more":[182],"than":[183],"95%.":[184],"Given":[185],"reduced":[188],"equirements,":[190],"describe":[192],"an":[193],"efficient":[194],"architecture":[195,206,236],"can":[197,237],"at":[202,243],"multi-gigabit":[203],"rates.":[204],"uses":[207],"multiple":[208],"on-chip":[209],"memories":[210],"such":[212],"way":[214],"each":[216],"remains":[217],"uniformly":[218],"occupied":[219],"accessed":[221],"over":[222],"short":[224],"duration,":[225],"thus":[226],"effectively":[227],"distributing":[228],"load":[230],"enabling":[232],"throughput.":[234],"ostffective":[239],"scanning":[242],"OC-192":[244],"rates":[245],"memory":[247],"requirements":[248],"consistent":[251],"ASIC":[254],"technology.":[255]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":3},{"year":2021,"cited_by_count":8},{"year":2020,"cited_by_count":5},{"year":2019,"cited_by_count":4},{"year":2018,"cited_by_count":8},{"year":2017,"cited_by_count":13},{"year":2016,"cited_by_count":13},{"year":2015,"cited_by_count":19},{"year":2014,"cited_by_count":8},{"year":2013,"cited_by_count":9},{"year":2012,"cited_by_count":26}],"updated_date":"2026-07-29T14:22:42.915294","created_date":"2025-10-10T00:00:00"}
