{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,25]],"date-time":"2026-03-25T16:16:29Z","timestamp":1774455389434,"version":"3.50.1"},"reference-count":64,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2022,8,31]],"date-time":"2022-08-31T00:00:00Z","timestamp":1661904000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100001809","name":"National Natural Science Foundation of China","doi-asserted-by":"crossref","award":["61822205, 61902211, and 62202266"],"award-info":[{"award-number":["61822205, 61902211, and 62202266"]}],"id":[{"id":"10.13039\/501100001809","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Storage"],"published-print":{"date-parts":[[2022,8,31]]},"abstract":"<jats:p>\n            Delta synchronization (sync) is crucial to the network-level efficiency of cloud storage services, especially when handling large files with small increments. Practical delta sync techniques are, however, only available for PC clients and mobile apps, but not web browsers\u2014the most pervasive and OS-independent access method. To bridge this gap, prior work concentrates on either reversing the delta sync protocol or utilizing the native client, all striving around the tradeoffs among efficiency, applicability, and usability\n            <jats:styled-content style=\"color:#000000\">and thus<\/jats:styled-content>\n            forming an \u201cimpossible triangle.\u201d Recently, we note the advent of WebAssembly\n            <jats:styled-content style=\"color:#000000\">(WASM)<\/jats:styled-content>\n            , a portable binary instruction format that is efficient in both encoding size and load time.\n            <jats:styled-content style=\"color:#000000\">In principle,<\/jats:styled-content>\n            the unique advantages of WASM\n            <jats:styled-content style=\"color:#000000\">can<\/jats:styled-content>\n            make web-based applications enjoy near-native runtime speed without significant cloud-side or client-side changes. Thus, we implement a straightforward WASM-based delta sync solution, WASMrsync, finding its quasi-asynchronous working manner and conventional In-situ Separate Memory Allocation greatly increase sync time and memory usage. To address them, we strategically devise sync-async code decoupling and streaming compilation, together with Informed In-place File Construction. The resulting solution, WASMrsync+, achieves comparable sync time as the state-of-the-art (most efficient) solution with nearly only half of memory usage,\n            <jats:styled-content style=\"color:#000000\">letting<\/jats:styled-content>\n            the \u201cimpossible triangle\u201d reach a reconciliation.\n          <\/jats:p>\n          <jats:p\/>","DOI":"10.1145\/3502847","type":"journal-article","created":{"date-parts":[[2022,8,30]],"date-time":"2022-08-30T07:09:22Z","timestamp":1661843362000},"page":"1-31","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":7,"title":["WebAssembly-based Delta Sync for Cloud Storage Services"],"prefix":"10.1145","volume":"18","author":[{"given":"Jianwei","family":"Zheng","sequence":"first","affiliation":[{"name":"Tsinghua University, Beijing"}]},{"given":"Zhenhua","family":"Li","sequence":"additional","affiliation":[{"name":"Tsinghua University, Beijing"}]},{"given":"Yuanhui","family":"Qiu","sequence":"additional","affiliation":[{"name":"Tsinghua University, Beijing"}]},{"given":"Hao","family":"Lin","sequence":"additional","affiliation":[{"name":"Tsinghua University, Beijing"}]},{"given":"He","family":"Xiao","sequence":"additional","affiliation":[{"name":"Tsinghua University, Beijing"}]},{"given":"Yang","family":"Li","sequence":"additional","affiliation":[{"name":"Tsinghua University, Beijing"}]},{"given":"Yunhao","family":"Liu","sequence":"additional","affiliation":[{"name":"Tsinghua University, Beijing"}]}],"member":"320","published-online":{"date-parts":[[2022,9,21]]},"reference":[{"key":"e_1_3_3_2_2","unstructured":"Google. 2021. An introduction to the Chrome 61. Retrieved from https:\/\/developer.chrome.com\/blog\/new-in-chrome-61\/."},{"key":"e_1_3_3_3_2","unstructured":"Wikipedia. 2021. An introduction to the V8 (JavaScript) engine. Retrieved from https:\/\/en.wikipedia.org\/wiki\/V8_(JavaScript_engine."},{"key":"e_1_3_3_4_2","unstructured":"Aappleby. 2021. Murmur3 Hash Function). Retrieved from https:\/\/github.com\/aappleby\/smhashe."},{"key":"e_1_3_3_5_2","article-title":"Fast keyed hash\/pseudo-random function using SIMD multiply and permute","author":"Alakuijala J.","year":"2016","unstructured":"J. Alakuijala, B. Cox, and J. Wassenberg. 2016. Fast keyed hash\/pseudo-random function using SIMD multiply and permute. arXiv preprint arXiv:1612.06257 (2016).","journal-title":"arXiv preprint arXiv:1612.06257"},{"key":"e_1_3_3_6_2","unstructured":"Aliyun.com. 2021. Aliyun ECS (Elastic Compute Service). Retrieved from https:\/\/www.aliyun.com\/product\/EC."},{"key":"e_1_3_3_7_2","unstructured":"Aliyun.com. 2021. Aliyun OSS (Object Storage Service). Retrieved from https:\/\/www.aliyun.com\/product\/os."},{"key":"e_1_3_3_8_2","unstructured":"Alon Zakai. 2021. Emscripten a complete open source compiler toolchain to WebAssembly. Retrieved from https:\/\/emscripten.org\/index.htm."},{"key":"e_1_3_3_9_2","unstructured":"asmjs.org. 2021. asm.js a strict subset of JavaScript that can be used as a low-level efficient target language for compilers. Retrieved from http:\/\/asmjs.or."},{"key":"e_1_3_3_10_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-34931-7_28"},{"key":"e_1_3_3_11_2","first-page":"289","volume-title":"Proceedings of the ATC","author":"Banga G.","year":"1997","unstructured":"G. Banga, F. Douglis, M. Rabinovich, et\u00a0al. 1997. Optimistic deltas for WWW latency reduction. In Proceedings of the ATC. USENIX, 289\u2013303."},{"key":"e_1_3_3_12_2","unstructured":"Bob Jenkins. 2021. SpookyHash: A 128-Bit Noncryptographic Hash. Retrieved from http:\/\/burtleburtle.net\/bob\/hash\/spooky.htm."},{"key":"e_1_3_3_13_2","doi-asserted-by":"publisher","DOI":"10.1109\/CloudNet.2015.7335291"},{"key":"e_1_3_3_14_2","doi-asserted-by":"publisher","DOI":"10.1145\/2789168.2790094"},{"key":"e_1_3_3_15_2","doi-asserted-by":"publisher","DOI":"10.17487\/RFC1950"},{"key":"e_1_3_3_16_2","unstructured":"Dokan. 2021. Web Workers. Retrieved from https:\/\/www.w3schools.com\/html\/html5_webworkers.as."},{"key":"e_1_3_3_17_2","unstructured":"Dokan. 2021. Dokan: A user mode file system for Windows. Retrieved from https:\/\/dokan-dev.github.i."},{"key":"e_1_3_3_18_2","doi-asserted-by":"publisher","DOI":"10.1145\/2504730.2504762"},{"key":"e_1_3_3_19_2","doi-asserted-by":"publisher","DOI":"10.1145\/2398776.2398827"},{"key":"e_1_3_3_20_2","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2017.2750161"},{"key":"e_1_3_3_21_2","volume-title":"Proceedings of the FOE","author":"Erkoc Mehmet Fatih","year":"2011","unstructured":"Mehmet Fatih Erkoc and Serhat Bahadir Kert. 2011. Cloud computing for distributed university campus: A prototype suggestion. In Proceedings of the FOE."},{"key":"e_1_3_3_22_2","doi-asserted-by":"publisher","DOI":"10.1177\/1176935118771972"},{"key":"e_1_3_3_23_2","unstructured":"Frank Denis. 2021. A Javascript Implementation of SipHash-2-4. Retrieved from https:\/\/github.com\/jedisct1\/siphash-j."},{"key":"e_1_3_3_24_2","unstructured":"Geoff Pike and Jyrki Alakuijala.2021. CityHash. Retrieved from https:\/\/opensource.googleblog.com\/2011\/04\/introducing-cityhash.htm."},{"key":"e_1_3_3_25_2","doi-asserted-by":"publisher","DOI":"10.1145\/3361525.3361541"},{"key":"e_1_3_3_26_2","unstructured":"Google. 2021. Native Client for Google Chrome. Retrieved from https:\/\/developer.chrome.com\/native-clien."},{"key":"e_1_3_3_27_2","doi-asserted-by":"publisher","DOI":"10.1145\/236387.236416"},{"key":"e_1_3_3_28_2","volume-title":"An Algorithm for Differential File Comparison","author":"Hunt J. W.","year":"1976","unstructured":"J. W. Hunt and M. D. MacIlroy. 1976. An Algorithm for Differential File Comparison. Bell Laboratories New Jersey."},{"key":"e_1_3_3_29_2","doi-asserted-by":"crossref","unstructured":"J. Hunt K. Vo and W. Tichy. 1996. An Empirical Study of Delta Algorithms. In Software Configuration Management . Springer 49\u201366.","DOI":"10.1007\/BFb0023080"},{"key":"e_1_3_3_30_2","unstructured":"jamesruan. 2021. Javascript version of SpookyHash. Retrieved from https:\/\/github.com\/jamesruan\/spookyhash-j."},{"issue":"4","key":"e_1_3_3_31_2","first-page":"2672","article-title":"Security issues in cloud computing and countermeasures","volume":"3","author":"Jamil Danish","year":"2011","unstructured":"Danish Jamil and Hassan Zaki. 2011. Security issues in cloud computing and countermeasures. Int. J. Eng. Sci. Technol. 3, 4 (2011), 2672\u20132676.","journal-title":"Int. J. Eng. Sci. Technol."},{"key":"e_1_3_3_32_2","unstructured":"K. Basques and P. LePage. 2021. Reading Files in JavaScript using the HTML5 File APIs. Retrieved from https:\/\/www.html5rocks.com\/en\/tutorials\/file\/dndfiles."},{"key":"e_1_3_3_33_2","doi-asserted-by":"publisher","DOI":"10.1145\/1821748.1821751"},{"key":"e_1_3_3_34_2","first-page":"219","volume-title":"Proceedings of the ATC","author":"Korn D. G.","year":"2002","unstructured":"D. G. Korn and K.-P. Vo. 2002. Engineering a differencing and compression data format. In Proceedings of the ATC. USENIX, 219\u2013228."},{"key":"e_1_3_3_35_2","first-page":"239","volume-title":"Proceedings of the FAST","author":"Kruus E.","year":"2010","unstructured":"E. Kruus, C. Ungureanu, and C. Dubnicki. 2010. Bimodal content defined chunking for backup streams. In Proceedings of the FAST. USENIX, 239\u2013252."},{"key":"e_1_3_3_36_2","unstructured":"Landon Curt Noll. 2021. FNV Hash). Retrieved from http:\/\/www.isthe.com\/chongo\/tech\/comp\/fnv."},{"key":"e_1_3_3_37_2","unstructured":"St\u00e9phane Letz Yann Orlarey and Dominique Fober. 2017. Compiling Faust Audio DSP code to WebAssembly. Web Audio Conference."},{"key":"e_1_3_3_38_2","doi-asserted-by":"publisher","DOI":"10.5555\/2978148"},{"key":"e_1_3_3_39_2","doi-asserted-by":"publisher","DOI":"10.1145\/2663716.2663747"},{"key":"e_1_3_3_40_2","doi-asserted-by":"publisher","DOI":"10.1145\/2987443.2987465"},{"key":"e_1_3_3_41_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-45065-5_16"},{"key":"e_1_3_3_42_2","doi-asserted-by":"publisher","DOI":"10.1109\/TST.2013.6522587"},{"key":"e_1_3_3_43_2","first-page":"111","volume-title":"Proceedings of the FAST","author":"Lillibridge M.","year":"2009","unstructured":"M. Lillibridge, K. Eshghi, D. Bhagwat, V. Deolalikar, G. Trezis, and P. Camble. 2009. Sparse indexing: Large scale, inline deduplication using sampling and locality. In Proceedings of the FAST. USENIX, 111\u2013123."},{"key":"e_1_3_3_44_2","unstructured":"mozilla.org. 2021. How to use WebAssembly?Retrieved from https:\/\/developer.mozilla.org\/en-US\/docs\/WebAssembly\/Concept."},{"key":"e_1_3_3_45_2","unstructured":"mozilla.org. 2021. Making WebAssembly even faster: Firefox\u2019s new streaming and tiering compiler. Retrieved from https:\/\/hacks.mozilla.org\/2018\/01\/making-webassembly-even-faster-firefoxs-new-streaming-and-tiering-compiler."},{"key":"e_1_3_3_46_2","unstructured":"mozilla.org. 2021. Using files from web applications. Retrieved from https:\/\/developer.mozilla.org\/en-US\/docs\/Using_files_from_web_application."},{"key":"e_1_3_3_47_2","volume-title":"User Experience Studies of Personal Cloud Storage Services","author":"Parisa Pour Rezaei,","year":"2015","unstructured":"Pour Rezaei, Parisa. 2015. User Experience Studies of Personal Cloud Storage Services. Master\u2019s thesis. Tampere University of Technology."},{"key":"e_1_3_3_48_2","unstructured":"Raluca Budiu. 2019. Mental Models for Cloud-Storage Systems. Retrieved from https:\/\/www.nngroup.com\/articles\/cloud-storage."},{"key":"e_1_3_3_49_2","article-title":"RFC 1321: The MD5 message-digest algorithm","volume":"143","author":"Rivest R. L.","year":"1992","unstructured":"R. L. Rivest et\u00a0al. 1992. RFC 1321: The MD5 message-digest algorithm. Internet Activ. Board 143 (1992).","journal-title":"Internet Activ. Board"},{"key":"e_1_3_3_50_2","unstructured":"samba.org. 2021. rsync Web Site. Retrieved from http:\/\/www.samba.org\/rsyn."},{"key":"e_1_3_3_51_2","unstructured":"seafile.com. 2021. Seafile: Enterprise file sync and share platform with high reliability and performance). Retrieved from https:\/\/www.seafile.com\/en\/hom."},{"key":"e_1_3_3_52_2","volume-title":"Efficient Algorithms for Sorting and Synchronization","author":"Tridgell A.","year":"1999","unstructured":"A. Tridgell. 1999. Efficient Algorithms for Sorting and Synchronization. Ph.D.\u2019s thesis at the Australian National University."},{"key":"e_1_3_3_53_2","unstructured":"A. Tridgell and P. Mackerras. 1996. The rsync algorithm. Technical Report. Australian National University."},{"key":"e_1_3_3_54_2","unstructured":"VAMPIRE. 2021. eBACS: ECRYPT Benchmarking of Cryptographic Systems. Retrieved from https:\/\/bench.cr.yp.to\/results-hash.htm."},{"key":"e_1_3_3_55_2","unstructured":"WebAssembly. 2021. WebAssembly a new portable size- and load-time-efficient format suitable for compilation to the web. Retrieved from http:\/\/webassembly.or."},{"key":"e_1_3_3_56_2","unstructured":"WebAssembly. 2021. WebAssembly.compile understanding the async JavaScript APIs about WebAssembly. Retrieved from https:\/\/webassembly.org\/getting-started\/js-api."},{"key":"e_1_3_3_57_2","unstructured":"Wikipedia. 2021. Delta encoding the Wikipedia page. Retrieved from https:\/\/en.wikipedia.org\/wiki\/Delta_encodin."},{"key":"e_1_3_3_58_2","doi-asserted-by":"publisher","DOI":"10.1109\/JPROC.2016.2571298"},{"key":"e_1_3_3_59_2","first-page":"26","volume-title":"Proceedings of the ATC","author":"Xia W.","year":"2011","unstructured":"W. Xia, H. Jiang, D. Feng, and Y. Hua. 2011. SiLo: A similarity-locality based near-exact deduplication scheme with low RAM overhead and high throughput. In Proceedings of the ATC. USENIX, 26\u201330."},{"key":"e_1_3_3_60_2","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2014.2308181"},{"key":"e_1_3_3_61_2","first-page":"101","volume-title":"Proceedings of the ATC","author":"Xia W.","year":"2016","unstructured":"W. Xia, Y. Zhou, H. Jiang, D. Feng, Y. Hua, Y. Hu, Q. Liu, and Y. Zhang. 2016. FastCDC: A fast and efficient content-defined chunking approach for data deduplication. In Proceedings of the ATC. USENIX, 101\u2013114."},{"key":"e_1_3_3_62_2","volume-title":"Proceedings of the HotStorage","author":"Xiao H.","year":"2017","unstructured":"H. Xiao, Z. Li, E. Zhai, and T. Xu. 2017. Practical web-based delta synchronization for cloud storage services. In Proceedings of the HotStorage. USENIX."},{"key":"e_1_3_3_63_2","first-page":"155","volume-title":"Proceedings of the FAST","author":"Xiao H.","year":"2018","unstructured":"H. Xiao, Z. Li, E. Zhai, T. Xu, Y. Li, Y. Liu, Q. Zhang, and Y. Liu. 2018. Towards web-based delta synchronization for cloud storage services. In Proceedings of the FAST. USENIX, 155\u2013168."},{"key":"e_1_3_3_64_2","doi-asserted-by":"publisher","DOI":"10.1109\/MCSE.2018.110150345"},{"key":"e_1_3_3_65_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICDCS.2017.77"}],"container-title":["ACM Transactions on Storage"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3502847","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3502847","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T19:30:34Z","timestamp":1750188634000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3502847"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,8,31]]},"references-count":64,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2022,8,31]]}},"alternative-id":["10.1145\/3502847"],"URL":"https:\/\/doi.org\/10.1145\/3502847","relation":{},"ISSN":["1553-3077","1553-3093"],"issn-type":[{"value":"1553-3077","type":"print"},{"value":"1553-3093","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,8,31]]},"assertion":[{"value":"2021-06-15","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2021-11-26","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2022-09-21","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}