{"id":"https://openalex.org/W2099290142","doi":"https://doi.org/10.1145/1095890.1095916","title":"Fast and scalable pattern matching for content filtering","display_name":"Fast and scalable pattern matching for content filtering","publication_year":2005,"publication_date":"2005-10-26","ids":{"openalex":"https://openalex.org/W2099290142","doi":"https://doi.org/10.1145/1095890.1095916","mag":"2099290142"},"language":"en","primary_location":{"id":"doi:10.1145/1095890.1095916","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1095890.1095916","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2005 ACM 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/A5054225262","display_name":"Sarang Dharmapurikar","orcid":null},"institutions":[{"id":"https://openalex.org/I204465549","display_name":"Washington University in St. Louis","ror":"https://ror.org/01yc7t268","country_code":"US","type":"education","lineage":["https://openalex.org/I204465549"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Sarang Dharmapurikar","raw_affiliation_strings":["Washington University in St. Louis","Washington Univ. in St. Louis, St. Louis MO"],"affiliations":[{"raw_affiliation_string":"Washington University in St. Louis","institution_ids":["https://openalex.org/I204465549"]},{"raw_affiliation_string":"Washington Univ. in St. Louis, St. Louis MO","institution_ids":["https://openalex.org/I204465549"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5109984251","display_name":"John Lockwood","orcid":null},"institutions":[{"id":"https://openalex.org/I204465549","display_name":"Washington University in St. Louis","ror":"https://ror.org/01yc7t268","country_code":"US","type":"education","lineage":["https://openalex.org/I204465549"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"John Lockwood","raw_affiliation_strings":["Washington University in St. Louis","Washington Univ. in St. Louis, St. Louis MO"],"affiliations":[{"raw_affiliation_string":"Washington University in St. Louis","institution_ids":["https://openalex.org/I204465549"]},{"raw_affiliation_string":"Washington Univ. in St. Louis, St. Louis MO","institution_ids":["https://openalex.org/I204465549"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5054225262"],"corresponding_institution_ids":["https://openalex.org/I204465549"],"apc_list":null,"apc_paid":null,"fwci":6.0675,"has_fulltext":false,"cited_by_count":80,"citation_normalized_percentile":{"value":0.96437397,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"183","last_page":"192"},"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/T11478","display_name":"Caching and Content Delivery","score":0.9994000196456909,"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/T11269","display_name":"Algorithms and Data Compression","score":0.9868999719619751,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8737009763717651},{"id":"https://openalex.org/keywords/bloom-filter","display_name":"Bloom filter","score":0.7386196851730347},{"id":"https://openalex.org/keywords/scalability","display_name":"Scalability","score":0.7361928224563599},{"id":"https://openalex.org/keywords/bottleneck","display_name":"Bottleneck","score":0.6843805909156799},{"id":"https://openalex.org/keywords/string-searching-algorithm","display_name":"String searching algorithm","score":0.674157977104187},{"id":"https://openalex.org/keywords/throughput","display_name":"Throughput","score":0.5965903997421265},{"id":"https://openalex.org/keywords/network-packet","display_name":"Network packet","score":0.5902276039123535},{"id":"https://openalex.org/keywords/pattern-matching","display_name":"Pattern matching","score":0.5698926448822021},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5442289710044861},{"id":"https://openalex.org/keywords/matching","display_name":"Matching (statistics)","score":0.5088577270507812},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.4316962659358978},{"id":"https://openalex.org/keywords/static-random-access-memory","display_name":"Static random-access memory","score":0.42062169313430786},{"id":"https://openalex.org/keywords/deep-packet-inspection","display_name":"Deep packet inspection","score":0.41990742087364197},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.41419845819473267},{"id":"https://openalex.org/keywords/computer-hardware","display_name":"Computer hardware","score":0.3568613529205322},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.2557486295700073},{"id":"https://openalex.org/keywords/computer-network","display_name":"Computer network","score":0.1589595377445221},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.10608938336372375}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8737009763717651},{"id":"https://openalex.org/C147224247","wikidata":"https://www.wikidata.org/wiki/Q885373","display_name":"Bloom filter","level":2,"score":0.7386196851730347},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.7361928224563599},{"id":"https://openalex.org/C2780513914","wikidata":"https://www.wikidata.org/wiki/Q18210350","display_name":"Bottleneck","level":2,"score":0.6843805909156799},{"id":"https://openalex.org/C7757238","wikidata":"https://www.wikidata.org/wiki/Q374040","display_name":"String searching algorithm","level":3,"score":0.674157977104187},{"id":"https://openalex.org/C157764524","wikidata":"https://www.wikidata.org/wiki/Q1383412","display_name":"Throughput","level":3,"score":0.5965903997421265},{"id":"https://openalex.org/C158379750","wikidata":"https://www.wikidata.org/wiki/Q214111","display_name":"Network packet","level":2,"score":0.5902276039123535},{"id":"https://openalex.org/C68859911","wikidata":"https://www.wikidata.org/wiki/Q1503724","display_name":"Pattern matching","level":2,"score":0.5698926448822021},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5442289710044861},{"id":"https://openalex.org/C165064840","wikidata":"https://www.wikidata.org/wiki/Q1321061","display_name":"Matching (statistics)","level":2,"score":0.5088577270507812},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.4316962659358978},{"id":"https://openalex.org/C68043766","wikidata":"https://www.wikidata.org/wiki/Q267416","display_name":"Static random-access memory","level":2,"score":0.42062169313430786},{"id":"https://openalex.org/C204679922","wikidata":"https://www.wikidata.org/wiki/Q734252","display_name":"Deep packet inspection","level":3,"score":0.41990742087364197},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.41419845819473267},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.3568613529205322},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.2557486295700073},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.1589595377445221},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.10608938336372375},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","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/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/C76155785","wikidata":"https://www.wikidata.org/wiki/Q418","display_name":"Telecommunications","level":1,"score":0.0},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/1095890.1095916","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1095890.1095916","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2005 ACM symposium on Architecture for networking and communications systems","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.477.4819","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.477.4819","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.ece.ncsu.edu/asic/ece792A/2009/ECE792A/Readings_files/p183-dharmapurikar.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":13,"referenced_works":["https://openalex.org/W118606128","https://openalex.org/W1529615245","https://openalex.org/W1531610435","https://openalex.org/W1891233321","https://openalex.org/W1960511147","https://openalex.org/W2099964107","https://openalex.org/W2115775347","https://openalex.org/W2123845384","https://openalex.org/W2126540423","https://openalex.org/W2134684274","https://openalex.org/W2162080541","https://openalex.org/W2172264011","https://openalex.org/W6631793881"],"related_works":["https://openalex.org/W3145382147","https://openalex.org/W2734832476","https://openalex.org/W2115775347","https://openalex.org/W3145288231","https://openalex.org/W2371263218","https://openalex.org/W2092552144","https://openalex.org/W2131757333","https://openalex.org/W2354196777","https://openalex.org/W2257399947","https://openalex.org/W2053280236"],"abstract_inverted_index":{"High-speed":[0],"packet":[1,50],"content":[2,95],"inspection":[3],"and":[4,35,109,178,195],"filtering":[5,96],"devices":[6],"rely":[7],"on":[8,198],"a":[9,38,76,89,124,132,144,170,179],"fast":[10],"multi-pattern":[11],"matching":[12,27,55,92,155],"algorithm":[13,93,118,152,191],"which":[14,98],"is":[15,28,36,83,99],"used":[16],"to":[17,30,119],"detect":[18],"predefined":[19],"keywords":[20],"or":[21,85],"signatures":[22],"in":[23,101],"the":[24,81,105,110,115,167,187],"packets.":[25],"Multi-pattern":[26],"known":[29],"require":[31],"intensive":[32],"memory":[33,136,177],"accesses":[34,137],"often":[37],"performance":[39],"bottleneck.":[40],"Hence":[41],"specialized":[42],"hardware-accelerated":[43],"algorithms":[44,56],"are":[45],"being":[46],"developed":[47,60],"for":[48,61,94,126],"line-speed":[49],"processing.":[51],"While":[52],"several":[53,157],"pattern":[54,91,111],"have":[57],"already":[58],"been":[59],"such":[62],"applications,":[63,97],"we":[64,130],"find":[65],"that":[66],"most":[67],"of":[68,79,103,107,135,147,156,159,169,175,182,189],"them":[69],"suffer":[70],"from":[71],"scalability":[72],"issues.":[73],"To":[74],"support":[75,154],"large":[77,133],"number":[78,106],"patterns,":[80],"throughput":[82],"compromised":[84],"vice":[86],"versa.We":[87],"present":[88],"hardware-implementable":[90],"scalable":[100],"terms":[102],"speed,":[104],"patterns":[108,160],"length.":[112],"We":[113,185],"modify":[114],"classic":[116],"Aho-Corasick":[117],"consider":[120],"multiple":[121],"characters":[122],"at":[123,161],"time":[125],"higher":[127],"throughput.":[128],"Furthermore,":[129],"suppress":[131],"fraction":[134],"by":[138],"using":[139],"Bloom":[140],"filters":[141],"implemented":[142],"with":[143,166],"small":[145],"amount":[146],"on-chip":[148],"memory.":[149],"The":[150],"resulting":[151],"can":[153],"thousands":[158],"more":[162],"than":[163,172],"10":[164],"Gbps":[165],"help":[168],"less":[171],"50":[173],"KBytes":[174],"embedded":[176],"few":[180],"megabytes":[181],"external":[183],"SRAM.":[184],"demonstrate":[186],"merit":[188],"our":[190],"through":[192],"theoretical":[193],"analysis":[194],"simulations":[196],"performed":[197],"Snort's":[199],"string":[200],"set.":[201]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":2},{"year":2015,"cited_by_count":5},{"year":2014,"cited_by_count":1},{"year":2013,"cited_by_count":6},{"year":2012,"cited_by_count":5}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
