{"id":"https://openalex.org/W2028273207","doi":"https://doi.org/10.1145/1723112.1723167","title":"Memory efficient string matching","display_name":"Memory efficient string matching","publication_year":2010,"publication_date":"2010-02-21","ids":{"openalex":"https://openalex.org/W2028273207","doi":"https://doi.org/10.1145/1723112.1723167","mag":"2028273207"},"language":"en","primary_location":{"id":"doi:10.1145/1723112.1723167","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1723112.1723167","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 18th annual ACM/SIGDA international symposium on Field programmable gate arrays","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/A5050425828","display_name":"Hoang Le","orcid":null},"institutions":[{"id":"https://openalex.org/I1174212","display_name":"University of Southern California","ror":"https://ror.org/03taz7m60","country_code":"US","type":"education","lineage":["https://openalex.org/I1174212"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Hoang Le","raw_affiliation_strings":["University of Southern California, Los Angeles, CA, USA","[University of Southern California Los, Angeles, CA, USA]"],"affiliations":[{"raw_affiliation_string":"University of Southern California, Los Angeles, CA, USA","institution_ids":["https://openalex.org/I1174212"]},{"raw_affiliation_string":"[University of Southern California Los, Angeles, CA, USA]","institution_ids":["https://openalex.org/I1174212"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5045357286","display_name":"Yi-Hua E. Yang","orcid":null},"institutions":[{"id":"https://openalex.org/I1174212","display_name":"University of Southern California","ror":"https://ror.org/03taz7m60","country_code":"US","type":"education","lineage":["https://openalex.org/I1174212"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Yi-Hua Yang","raw_affiliation_strings":["University of Southern California, Los Angeles, CA, USA","[University of Southern California Los, Angeles, CA, USA]"],"affiliations":[{"raw_affiliation_string":"University of Southern California, Los Angeles, CA, USA","institution_ids":["https://openalex.org/I1174212"]},{"raw_affiliation_string":"[University of Southern California Los, Angeles, CA, USA]","institution_ids":["https://openalex.org/I1174212"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5033166029","display_name":"Viktor K. Prasanna","orcid":"https://orcid.org/0000-0002-1609-8589"},"institutions":[{"id":"https://openalex.org/I1174212","display_name":"University of Southern California","ror":"https://ror.org/03taz7m60","country_code":"US","type":"education","lineage":["https://openalex.org/I1174212"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Viktor K. Prasanna","raw_affiliation_strings":["University of Southern California, Los Angeles, CA, USA","[University of Southern California Los, Angeles, CA, USA]"],"affiliations":[{"raw_affiliation_string":"University of Southern California, Los Angeles, CA, USA","institution_ids":["https://openalex.org/I1174212"]},{"raw_affiliation_string":"[University of Southern California Los, Angeles, CA, USA]","institution_ids":["https://openalex.org/I1174212"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5050425828"],"corresponding_institution_ids":["https://openalex.org/I1174212"],"apc_list":null,"apc_paid":null,"fwci":0.2497,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.55497735,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"285","last_page":"285"},"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/T10400","display_name":"Network Security and Intrusion Detection","score":0.9984999895095825,"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.9898999929428101,"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/computer-science","display_name":"Computer science","score":0.8060434460639954},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5868905186653137},{"id":"https://openalex.org/keywords/auxiliary-memory","display_name":"Auxiliary memory","score":0.48678967356681824},{"id":"https://openalex.org/keywords/byte","display_name":"Byte","score":0.47512537240982056},{"id":"https://openalex.org/keywords/interleaved-memory","display_name":"Interleaved memory","score":0.4713318347930908},{"id":"https://openalex.org/keywords/string-searching-algorithm","display_name":"String searching algorithm","score":0.4677090048789978},{"id":"https://openalex.org/keywords/static-random-access-memory","display_name":"Static random-access memory","score":0.44714105129241943},{"id":"https://openalex.org/keywords/field-programmable-gate-array","display_name":"Field-programmable gate array","score":0.4183262586593628},{"id":"https://openalex.org/keywords/block","display_name":"Block (permutation group theory)","score":0.41640377044677734},{"id":"https://openalex.org/keywords/computer-hardware","display_name":"Computer hardware","score":0.3290703296661377},{"id":"https://openalex.org/keywords/memory-management","display_name":"Memory management","score":0.30474257469177246},{"id":"https://openalex.org/keywords/pattern-matching","display_name":"Pattern matching","score":0.28166601061820984},{"id":"https://openalex.org/keywords/semiconductor-memory","display_name":"Semiconductor memory","score":0.21469318866729736},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.13751140236854553},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.09774568676948547}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8060434460639954},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5868905186653137},{"id":"https://openalex.org/C82687282","wikidata":"https://www.wikidata.org/wiki/Q66221","display_name":"Auxiliary memory","level":2,"score":0.48678967356681824},{"id":"https://openalex.org/C43364308","wikidata":"https://www.wikidata.org/wiki/Q8799","display_name":"Byte","level":2,"score":0.47512537240982056},{"id":"https://openalex.org/C63511323","wikidata":"https://www.wikidata.org/wiki/Q908936","display_name":"Interleaved memory","level":4,"score":0.4713318347930908},{"id":"https://openalex.org/C7757238","wikidata":"https://www.wikidata.org/wiki/Q374040","display_name":"String searching algorithm","level":3,"score":0.4677090048789978},{"id":"https://openalex.org/C68043766","wikidata":"https://www.wikidata.org/wiki/Q267416","display_name":"Static random-access memory","level":2,"score":0.44714105129241943},{"id":"https://openalex.org/C42935608","wikidata":"https://www.wikidata.org/wiki/Q190411","display_name":"Field-programmable gate array","level":2,"score":0.4183262586593628},{"id":"https://openalex.org/C2777210771","wikidata":"https://www.wikidata.org/wiki/Q4927124","display_name":"Block (permutation group theory)","level":2,"score":0.41640377044677734},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.3290703296661377},{"id":"https://openalex.org/C176649486","wikidata":"https://www.wikidata.org/wiki/Q2308807","display_name":"Memory management","level":3,"score":0.30474257469177246},{"id":"https://openalex.org/C68859911","wikidata":"https://www.wikidata.org/wiki/Q1503724","display_name":"Pattern matching","level":2,"score":0.28166601061820984},{"id":"https://openalex.org/C98986596","wikidata":"https://www.wikidata.org/wiki/Q1143031","display_name":"Semiconductor memory","level":2,"score":0.21469318866729736},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.13751140236854553},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.09774568676948547},{"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/1723112.1723167","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1723112.1723167","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 18th annual ACM/SIGDA international symposium on Field programmable gate arrays","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Quality Education","score":0.699999988079071,"id":"https://metadata.un.org/sdg/4"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W4221052314","https://openalex.org/W1792667560","https://openalex.org/W2334181344","https://openalex.org/W1527643973","https://openalex.org/W2353759903","https://openalex.org/W2084636353","https://openalex.org/W2164832447","https://openalex.org/W2159479644","https://openalex.org/W2418910636","https://openalex.org/W2171298529"],"abstract_inverted_index":{"Network":[0],"Intrusion":[1],"Detection":[2],"Systems":[3],"(NIDSs)":[4],"have":[5],"emerged":[6],"as":[7,73,154,231],"powerful":[8],"tools":[9],"for":[10,131],"detecting":[11],"and":[12,20,86,101],"preventing":[13],"malicious":[14,50],"attacks":[15],"over":[16,193,242],"both":[17],"the":[18,28,40,74,77,80,87,90,97,102,155,180,187,190,198,201,281,294,304],"Internet":[19],"Intranet.":[21],"String":[22,133],"matching,":[23],"which":[24,150,297],"is":[25,71,179,211,259],"one":[26],"of":[27,32,42,49,76,79,89,93,104,107,176,183,192,197,200,215,241,252,283],"most":[29],"important":[30],"functions":[31],"NIDS,":[33],"demands":[34],"exceptionally":[35],"high":[36],"performance":[37],"to":[38,96,158,166,213,232,236,268,275,280],"match":[39],"content":[41],"network":[43],"traffic":[44],"against":[45],"a":[46,126,146,172,177,204,216,249],"predefined":[47],"database":[48],"patterns.":[51,161],"Much":[52],"work":[53],"has":[54],"been":[55],"done":[56,300],"in":[57,63,185,189,286],"this":[58],"field;":[59],"however,":[60],"they":[61],"result":[62],"low":[64],"memory":[65,67,83,100,163,295],"efficiency\\footnote{The":[66],"efficiency":[68,164,210],"(in":[69,84],"bytes/char)":[70],"defined":[72],"ratio":[75],"amount":[78],"required":[81],"storage":[82],"bytes),":[85],"size":[88,175,199],"dictionary":[91,178],"(number":[92],"characters).}.":[94],"Due":[95],"available":[98],"on-chip":[99],"number":[103,182,282],"I/O":[105],"pins":[106],"Field":[108],"Programmable":[109],"Gate":[110],"Arrays":[111],"(FPGAs),":[112],"state-of-the-art":[113,206],"designs":[114],"cannot":[115],"support":[116,171],"large":[117],"dictionaries":[118,240],"without":[119,302],"using":[120,203],"high-latency":[121],"external":[122,234,257],"DRAM.":[123],"We":[124],"propose":[125],"novel":[127],"Memory":[128,220],"efficient":[129],"Architecture":[130],"large-scale":[132],"Matching,":[134],"namely":[135],"MASM,":[136],"based":[137],"on":[138],"pipelined":[139],"binary":[140],"search":[141],"tree.":[142],"Our":[143,245],"design":[144],"provides":[145],"high-throughput":[147],"matching":[148],"module,":[149],"can":[151,170,225,264,298],"be":[152,227,265,299],"used":[153],"building":[156],"block":[157],"process":[159],"arbitrary-length":[160],"With":[162],"close":[165],"1":[167],"byte/char,":[168],"MASM":[169,262],"dictionary\\footnote":[173],"The":[174,223,261],"total":[181],"characters":[184,271,284],"all":[186],"patterns":[188],"dictionary.":[191],"4":[194],"MB":[195],"(regardless":[196],"alphabet),":[202],"single":[205],"FPGA":[207],"device.":[208],"This":[209],"comparable":[212],"that":[214],"Ternary":[217],"Content":[218],"Addressable":[219],"(TCAM)-based":[221],"solution.":[222],"architecture":[224],"also":[226],"easily":[228],"partitioned,":[229],"so":[230],"use":[233],"SRAM":[235,258],"handle":[237],"even":[238,255],"larger":[239],"8":[243],"MB.":[244],"implementation":[246],"results":[247],"show":[248],"sustained":[250],"throughput":[251,277],"3.2":[253],"Gbps,":[254],"when":[256],"used.":[260],"module":[263],"simply":[266],"duplicated":[267],"accept":[269],"multiple":[270],"per":[272],"cycle,":[273],"leading":[274],"scalable":[276],"with":[278],"respect":[279],"processed":[285],"each":[287],"cycle.":[288],"Dictionary":[289],"update":[290],"involves":[291],"only":[292],"rewriting":[293],"content,":[296],"quickly":[301],"reconfiguring":[303],"chip.":[305]},"counts_by_year":[{"year":2012,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
