{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:21:21Z","timestamp":1750306881669,"version":"3.41.0"},"reference-count":14,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2012,12,18]],"date-time":"2012-12-18T00:00:00Z","timestamp":1355788800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGOPS Oper. Syst. Rev."],"published-print":{"date-parts":[[2012,12,18]]},"abstract":"<jats:p>Search engines for storage systems rely on crawlers to gather the list of files that need to be indexed. The recency of an index is determined by the speed at which this list can be gathered. While there has been a substantial amount of literature on building efficient web crawlers, there is very little literature on file system crawlers. In this paper we discuss the challenges in building a file system crawler. We then present the design of two file system crawlers: the first uses the standard POSIX file system API but carefully controls the amount of memory and CPU that it uses. The second leverages modifications to the file systems's internals, and a new API called SnapDiff, to detect modified files rapidly. For both crawlers we describe the incremental differencing design; the method to produce a list of changes between a previous crawl and the current point in time.<\/jats:p>","DOI":"10.1145\/2421648.2421652","type":"journal-article","created":{"date-parts":[[2013,1,2]],"date-time":"2013-01-02T13:23:15Z","timestamp":1357132995000},"page":"11-19","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":6,"title":["Designing a fast file system crawler with incremental differencing"],"prefix":"10.1145","volume":"46","author":[{"given":"Tim","family":"Bisson","sequence":"first","affiliation":[{"name":"NetApp Inc."}]},{"given":"Yuvraj","family":"Patel","sequence":"additional","affiliation":[{"name":"NetApp Inc."}]},{"given":"Shankar","family":"Pasupathy","sequence":"additional","affiliation":[{"name":"NetApp Inc."}]}],"member":"320","published-online":{"date-parts":[[2012,12,18]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"Kazeon. http:\/\/www.kazeon.com 2007.  Kazeon. http:\/\/www.kazeon.com 2007."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/511446.511464"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0169-7552(98)00108-1"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1013367.1013441"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.5555\/822076.822438"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1019213109274"},{"key":"e_1_2_1_7_1","unstructured":"KERNEL.ORG. inotify official readmine. http:\/\/www.kernel.org\/pub\/linux\/kernel\/people\/rml\/inotify\/README 2008.  KERNEL.ORG. inotify official readmine. http:\/\/www.kernel.org\/pub\/linux\/kernel\/people\/rml\/inotify\/README 2008."},{"key":"e_1_2_1_8_1","unstructured":"MICROSOFT. Windows Change Journal. http:\/\/msdn2.microsoft.com\/enus\/ library\/aa363798(VS.85).aspx 2007.  MICROSOFT. Windows Change Journal. http:\/\/msdn2.microsoft.com\/enus\/ library\/aa363798(VS.85).aspx 2007."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/371920.371965"},{"key":"e_1_2_1_10_1","unstructured":"NETAPP. Introduction to Data ONTAP 7G. Tech. rep. 2005.  NETAPP. Introduction to Data ONTAP 7G. Tech. rep. 2005."},{"key":"e_1_2_1_11_1","first-page":"635","volume-title":"SIGMOD Conference","author":"SHIVAKUMAR N.","year":"2003"},{"volume-title":"ICDE","year":"2002","author":"SHKAPENYUK V.","key":"e_1_2_1_12_1"},{"key":"e_1_2_1_13_1","unstructured":"SINGH A. Mac OS X Internals. Addison-Wesley Professional 2006 ch. File Systems.   SINGH A. Mac OS X Internals. Addison-Wesley Professional 2006 ch. File Systems."},{"key":"e_1_2_1_14_1","unstructured":"SVARCAS R. DataManip. http:\/\/web.netapp.com\/engineering\/ontap_tests\/agnostic\/docs\/lib-DataManip-local-pm.html 2004.  SVARCAS R. DataManip. http:\/\/web.netapp.com\/engineering\/ontap_tests\/agnostic\/docs\/lib-DataManip-local-pm.html 2004."}],"container-title":["ACM SIGOPS Operating Systems Review"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2421648.2421652","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2421648.2421652","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T08:18:34Z","timestamp":1750234714000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2421648.2421652"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012,12,18]]},"references-count":14,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2012,12,18]]}},"alternative-id":["10.1145\/2421648.2421652"],"URL":"https:\/\/doi.org\/10.1145\/2421648.2421652","relation":{},"ISSN":["0163-5980"],"issn-type":[{"type":"print","value":"0163-5980"}],"subject":[],"published":{"date-parts":[[2012,12,18]]},"assertion":[{"value":"2012-12-18","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}