{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T03:40:12Z","timestamp":1740109212368,"version":"3.37.3"},"reference-count":54,"publisher":"Springer Science and Business Media LLC","issue":"6","license":[{"start":{"date-parts":[[2024,6,17]],"date-time":"2024-06-17T00:00:00Z","timestamp":1718582400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2024,6,17]],"date-time":"2024-06-17T00:00:00Z","timestamp":1718582400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"DOI":"10.13039\/100006919","name":"Massachusetts Institute of Technology","doi-asserted-by":"crossref","id":[{"id":"10.13039\/100006919","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["The VLDB Journal"],"published-print":{"date-parts":[[2024,11]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Multi-core scalability presents a major implementation challenge for data system designers today. Traditional methods such as latching no longer scale in today\u2019s highly parallel architectures. While the designer can make use of techniques such as latch-free programming to painstakingly design specialized, highly-performant solutions, such solutions are often intricate to build and difficult to reason about. Of particular interest to data system designers is a class of data structures we call <jats:italic>almost-latch-free<\/jats:italic>; such data structures can be made scalable in the common case, but have rare complications (e.g., dynamic resizing) that prevent full latch-free implementations. In this work, we present a new programming framework called Epoch-Protected Version Scheme (EPVS) to make it easy to build such data structures. EPVS makes use of <jats:italic>epoch protection<\/jats:italic> to preserve performance in the common case of latch-free operations, while allowing users to specify critical sections that execute under mutual exclusion for the rare, non-latch-free operations. We showcase the use of EPVS-based concurrency primitives in a few practical systems to demonstrate its competitive performance and intuitive guarantees. EPVS is available in open source as part of Microsoft\u2019s FASTER project\u00a0(Epoch Protected Version Scheme (source code) 2022; Microsoft FASTER 2022).<\/jats:p>","DOI":"10.1007\/s00778-024-00859-8","type":"journal-article","created":{"date-parts":[[2024,6,17]],"date-time":"2024-06-17T03:10:15Z","timestamp":1718593815000},"page":"1793-1812","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Performant almost-latch-free data structures using epoch protection in more depth"],"prefix":"10.1007","volume":"33","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-2531-8253","authenticated-orcid":false,"given":"Tianyu","family":"Li","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Badrish","family":"Chandramouli","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Samuel","family":"Madden","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2024,6,17]]},"reference":[{"key":"859_CR1","unstructured":"Intel\u00aeoneAPI Threading Building Blocks (oneTBB) Documentation for concurrent_vector. https:\/\/www.intel.com\/content\/www\/us\/en\/develop\/documentation\/onetbb-do (2021)"},{"key":"859_CR2","unstructured":"Epoch Protected Version Scheme (source code). https:\/\/aka.ms\/epvs (2022)"},{"key":"859_CR3","unstructured":"Microsoft FASTER. https:\/\/github.com\/microsoft\/FASTER (2022)"},{"key":"859_CR4","doi-asserted-by":"crossref","unstructured":"Alemany, J., Felten, E.W.: Performance issues in non-blocking synchronization on shared-memory multiprocessors. In: Proceedings of the Eleventh Annual ACM Symposium on Principles of Distributed Computing, PODC\u201992, New York, NY, USA, pp. 125\u2013134. Association for Computing Machinery (1992)","DOI":"10.1145\/135419.135446"},{"key":"859_CR5","unstructured":"Bershad, B.N.: Practical considerations for lock-free concurrent objects. 9 (2000)"},{"issue":"1","key":"859_CR6","doi-asserted-by":"publisher","first-page":"25","DOI":"10.1007\/s11241-010-9097-2","volume":"46","author":"BB Brandenburg","year":"2010","unstructured":"Brandenburg, B.B., Anderson, J.H.: Spin-based reader-writer synchronization for multiprocessor real-time systems. Real-Time Syst. 46(1), 25\u201387 (2010)","journal-title":"Real-Time Syst."},{"issue":"8","key":"859_CR7","doi-asserted-by":"publisher","first-page":"157","DOI":"10.1145\/2517327.2442532","volume":"48","author":"I Calciu","year":"2013","unstructured":"Calciu, I., Dice, D., Lev, Y., Luchangco, V., Marathe, V.J., Shavit, N.: Numa-aware reader\u2013writer locks. SIGPLAN Not. 48(8), 157\u2013166 (2013)","journal-title":"SIGPLAN Not."},{"key":"859_CR8","doi-asserted-by":"crossref","unstructured":"Chandramouli, B., Prasaad, G., Kossmann, D., Levandoski, J., Hunter, J., Barnett, M.: FASTER: a concurrent key-value store with in-place updates. In: Proceedings of the 2018 International Conference on Management of Data, SIGMOD\u201918. ACM (2018)","DOI":"10.1145\/3183713.3196898"},{"key":"859_CR9","doi-asserted-by":"crossref","unstructured":"Copeland, M., Soh, J., Puca, A., Manning, M., Gollob, D.: Microsoft Azure: Planning, Deploying, and Managing Your Data Center in the Cloud, 1st edn. Apress, USA (2015)","DOI":"10.1007\/978-1-4842-1043-7"},{"key":"859_CR10","doi-asserted-by":"crossref","unstructured":"Dice, D., Hendler, D., Mirsky, I.: Lightweight contention management for efficient compare-and-swap operations. In Wolf, F., Mohr, B., Mey, D. (eds.) Euro-Par 2013 Parallel Processing\u201419th International Conference, Aachen, Germany, August 26\u201330, 2013. Proceedings, volume 8097 of Lecture Notes in Computer Science, pp. 595\u2013606. Springer, Berlin (2013)","DOI":"10.1007\/978-3-642-40047-6_60"},{"key":"859_CR11","unstructured":"Dice, D., Kogan, A.: BRAVO\u2014Biased locking for reader\u2013writer locks. In: 2019 USENIX Annual Technical Conference (USENIX ATC 19), Renton, WA, July 2019, pp. 315\u2013328. USENIX Association (2019)"},{"key":"859_CR12","doi-asserted-by":"crossref","unstructured":"Dice, D., Lev, Y., Moir, M.: Scalable statistics counters. In: Proceedings of the Twenty-Fifth Annual ACM Symposium on Parallelism in Algorithms and Architectures, SPAA\u201913, New York, NY, USA, pp. 43\u201352. Association for Computing Machinery (2013)","DOI":"10.1145\/2486159.2486182"},{"key":"859_CR13","doi-asserted-by":"publisher","first-page":"194","DOI":"10.1007\/11864219_14","volume-title":"Distributed Computing","author":"D Dice","year":"2006","unstructured":"Dice, D., Shalev, O., Shavit, N.: Transactional locking II. In: Dolev, S. (ed.) Distributed Computing, pp. 194\u2013208. Springer, Berlin (2006)"},{"key":"859_CR14","doi-asserted-by":"crossref","unstructured":"Dice, D., Shavit, N.: Understanding tradeoffs in software transactional memory. In: Proceedings of the International Symposium on Code Generation and Optimization, CGO\u201907, USA, pp. 21\u201333. IEEE Computer Society (2007)","DOI":"10.1109\/CGO.2007.38"},{"key":"859_CR15","doi-asserted-by":"crossref","unstructured":"Dice, D., Shavit, N.: TLRW: return of the read-write lock. In: Proceedings of the Twenty-Second Annual ACM Symposium on Parallelism in Algorithms and Architectures, SPAA\u201910, New York, NY, USA, pp. 284\u2013293. Association for Computing Machinery (2010)","DOI":"10.1145\/1810479.1810531"},{"key":"859_CR16","doi-asserted-by":"crossref","unstructured":"Harizopoulos, S., Abadi, D.J., Madden, S., Stonebraker, M.: OLTP through the looking glass, and what we found there. In: Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data, SIGMOD\u201908, New York, NY, USA, pp. 981\u2013992. Association for Computing Machinery (2008)","DOI":"10.1145\/1376616.1376713"},{"key":"859_CR17","doi-asserted-by":"crossref","unstructured":"Harris, T., Fraser, K.: Language support for lightweight transactions. In: Proceedings of the 18th Annual ACM SIGPLAN Conference on Object-Oriented Programing, Systems, Languages, and Applications, OOPSLA\u201903, New York, NY, USA, pp. 388\u2013402. Association for Computing Machinery (2003)","DOI":"10.1145\/949305.949340"},{"key":"859_CR18","doi-asserted-by":"crossref","unstructured":"Herlihy, M.: A methodology for implementing highly concurrent data structures. In: Proceedings of the Second ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP\u201990, New York, NY, USA, pp. 197\u2013206. Association for Computing Machinery (1990)","DOI":"10.1145\/99163.99185"},{"key":"859_CR19","doi-asserted-by":"crossref","unstructured":"Herlihy, M., Luchangco, V., Moir, M., Scherer, W.N.: Software transactional memory for dynamic-sized data structures. In: Proceedings of the Twenty-Second Annual Symposium on Principles of Distributed Computing, PODC\u201903, New York, NY, USA, pp. 92\u2013101. Association for Computing Machinery (2003)","DOI":"10.1145\/872035.872048"},{"key":"859_CR20","doi-asserted-by":"crossref","unstructured":"Herlihy, M., Moss, J.E.B.: Transactional memory: architectural support for lock-free data structures. In: Proceedings of the 20th Annual International Symposium on Computer Architecture, ISCA\u201993, New York, NY, USA, pp. 289\u2013300. Association for Computing Machinery (1993)","DOI":"10.1145\/165123.165164"},{"key":"859_CR21","unstructured":"Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming, 1st edn. Revised Reprint. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA (2012)"},{"key":"859_CR22","doi-asserted-by":"crossref","unstructured":"Herlihy, M.P., Moss, J.E.B.: Lock-free garbage collection for multiprocessors. In: Proceedings of the Third Annual ACM Symposium on Parallel Algorithms and Architectures, pp. 229\u2013236 (1991)","DOI":"10.1145\/113379.113400"},{"key":"859_CR23","doi-asserted-by":"crossref","unstructured":"Johnson, R., Pandis, I., Hardavellas, N., Ailamaki, A., Falsafi, B.: Shore-MT: a scalable storage manager for the multicore era. In: Proceedings of the 12th International Conference on Extending Database Technology: Advances in Database Technology, EDBT\u201909, New York, NY, USA, pp. 24\u201335. Association for Computing Machinery (2009)","DOI":"10.1145\/1516360.1516365"},{"key":"859_CR24","unstructured":"Kanellis, K., Chandramouli, B., Venkataraman, S.: F2: designing a key-value store for large skewed workloads (2023)"},{"key":"859_CR25","unstructured":"Kashyap, S., Min, C., Kim, T.: Scalable NUMA-aware blocking synchronization primitives. In: Proceedings of the 2017 USENIX Conference on Usenix Annual Technical Conference, USENIX ATC\u201917, USA, pp. 603\u2013615. USENIX Association (2017)"},{"issue":"8","key":"859_CR26","doi-asserted-by":"publisher","first-page":"1427","DOI":"10.14778\/3457390.3457406","volume":"14","author":"C Kulkarni","year":"2021","unstructured":"Kulkarni, C., Chandramouli, B., Stutsman, R.: Achieving high throughput and elasticity in a larger-than-memory store. Proc. VLDB Endow. 14(8), 1427\u20131440 (2021)","journal-title":"Proc. VLDB Endow."},{"issue":"3","key":"859_CR27","doi-asserted-by":"publisher","first-page":"354","DOI":"10.1145\/320613.320619","volume":"5","author":"HT Kung","year":"1980","unstructured":"Kung, H.T., Lehman, P.L.: Concurrent manipulation of binary search trees. ACM Trans. Database Syst. 5(3), 354\u2013382 (1980)","journal-title":"ACM Trans. Database Syst."},{"key":"859_CR28","doi-asserted-by":"crossref","unstructured":"Lev, Y., Luchangco, V., Olszewski, M.: Scalable reader\u2013writer locks. In: Proceedings of the Twenty-First Annual Symposium on Parallelism in Algorithms and Architectures, SPAA\u201909, New York, NY, USA, pp. 101\u2013110. Association for Computing Machinery (2009)","DOI":"10.1145\/1583991.1584020"},{"key":"859_CR29","doi-asserted-by":"crossref","unstructured":"Levandoski, J.J., Lomet, D.B., Sengupta, S.: The BW-tree: a B-tree for new hardware platforms. In: Proceedings of the 2013 IEEE International Conference on Data Engineering (ICDE 2013), ICDE\u201913, USA, pp. 302\u2013313. IEEE Computer Society (2013)","DOI":"10.1109\/ICDE.2013.6544834"},{"issue":"4","key":"859_CR30","doi-asserted-by":"publisher","first-page":"534","DOI":"10.14778\/3436905.3436913","volume":"14","author":"T Li","year":"2020","unstructured":"Li, T., Butrovich, M., Ngom, A., Lim, W.S., McKinney, W., Pavlo, A.: Mainlining databases: supporting fast transactional workloads on universal columnar data file formats. Proc. VLDB Endow. 14(4), 534\u2013546 (2020)","journal-title":"Proc. VLDB Endow."},{"key":"859_CR31","first-page":"1","volume":"1","author":"T Li","year":"2023","unstructured":"Li, T., Chandramouli, B., Burckhardt, S., Madden, S.: DARQ matter binds everything: performant and composable cloud programming via resilient steps. Proc. ACM Manag. Data 1, 1\u201327 (2023)","journal-title":"Proc. ACM Manag. Data"},{"key":"859_CR32","doi-asserted-by":"crossref","unstructured":"Li, T., Chandramouli, B., Faleiro, J.M., Madden, S., Kossmann, D.: Asynchronous prefix recoverability for fast distributed stores. In: Proceedings of the 2021 International Conference on Management of Data, SIGMOD\u201921, New York, NY, USA, pp. 1090\u20131102. Association for Computing Machinery (2021)","DOI":"10.1145\/3448016.3458454"},{"key":"859_CR33","unstructured":"Liu, R., Zhang, H., Chen, H.: Scalable read-mostly synchronization using passive reader\u2013writer locks. In: USENIX Annual Technical Conference (2014)"},{"key":"859_CR34","doi-asserted-by":"crossref","unstructured":"Lomet, D.B.: Process structuring, synchronization, and recovery using atomic actions. In: Proceedings of an ACM Conference on Language Design for Reliable Software, New York, NY, USA, pp. 128\u2013137. Association for Computing Machinery (1997)","DOI":"10.1145\/800022.808319"},{"issue":"5","key":"859_CR35","doi-asserted-by":"publisher","first-page":"743","DOI":"10.14778\/3446095.3446098","volume":"14","author":"Y Lu","year":"2021","unstructured":"Lu, Y., Yu, X., Cao, L., Madden, S.: Epoch-based commit and replication in distributed OLTP databases. Proc. VLDB Endow. 14(5), 743\u2013756 (2021)","journal-title":"Proc. VLDB Endow."},{"issue":"11","key":"859_CR36","doi-asserted-by":"publisher","first-page":"1298","DOI":"10.14778\/2809974.2809990","volume":"8","author":"D Makreshanski","year":"2015","unstructured":"Makreshanski, D., Levandoski, J., Stutsman, R.: To lock, swap, or elide: on the interplay of hardware transactional memory and lock-free indexing. Proc. VLDB Endow. 8(11), 1298\u20131309 (2015)","journal-title":"Proc. VLDB Endow."},{"key":"859_CR37","doi-asserted-by":"crossref","unstructured":"Mao, Y., Kohler, E., Morris, R.T.: Cache craftiness for fast multicore key-value storage. In: Proceedings of the 7th ACM European Conference on Computer Systems, EuroSys\u201912, New York, NY, USA, pp. 183\u2013196. Association for Computing Machinery (2012)","DOI":"10.1145\/2168836.2168855"},{"issue":"2","key":"859_CR38","doi-asserted-by":"publisher","first-page":"8","DOI":"10.1145\/142111.993246","volume":"26","author":"Henry Massalin","year":"1992","unstructured":"Massalin, Henry, Pu, Calton: A lock-free multiprocessor OS kernel. ACM SIGOPS Oper. Syst. Rev. 26(2), 8 (1992). https:\/\/doi.org\/10.1145\/142111.993246","journal-title":"ACM SIGOPS Oper. Syst. Rev."},{"key":"859_CR39","first-page":"11","volume":"31","author":"J Mellor-Crummey","year":"1987","unstructured":"Mellor-Crummey, J.: Concurrent queues: practical fetch-and-phi algorithms. IEEE Trans. Reliabil. 31, 11 (1987)","journal-title":"IEEE Trans. Reliabil."},{"key":"859_CR40","doi-asserted-by":"crossref","unstructured":"Mellor-Crummey, J.M., Scott, M.L.: Scalable reader-writer synchronization for shared-memory multiprocessors. In: Proceedings of the Third ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP\u201991, New York, NY, USA, pp. 106\u2013113. Association for Computing Machinery (1991)","DOI":"10.1145\/109625.109637"},{"key":"859_CR41","doi-asserted-by":"publisher","first-page":"305","DOI":"10.1007\/BFb0030692","volume-title":"Distrib. Algorithms","author":"M Moir","year":"1997","unstructured":"Moir, M.: Transparent support for wait-free transactions. In: Mavronicolas, M., Tsigas, P. (eds.) Distrib. Algorithms, pp. 305\u2013319. Springer, Berlin (1997)"},{"key":"859_CR42","doi-asserted-by":"crossref","unstructured":"Pizlo, F., Frampton, D., Hosking, A.L.: Fine-grained adaptive biased locking. In: Proceedings of the 9th International Conference on Principles and Practice of Programming in Java, PPPJ\u201911, New York, NY, USA, pp. 171\u2013181. Association for Computing Machinery (2011)","DOI":"10.1145\/2093157.2093184"},{"key":"859_CR43","doi-asserted-by":"crossref","unstructured":"Prasaad, G., Chandramouli, B., Kossmann, D.: Concurrent prefix recovery: performing CPR on a database. In: Proceedings of the 2019 International Conference on Management of Data, SIGMOD\u201919, New York, NY, USA, pp. 687\u2013704. ACM (2019)","DOI":"10.1145\/3299869.3300090"},{"key":"859_CR44","doi-asserted-by":"crossref","unstructured":"Rajwar, R., Goodman, J.R.: Speculative lock elision: enabling highly concurrent multithreaded execution. In: Proceedings of the 34th Annual ACM\/IEEE International Symposium on Microarchitecture, MICRO 34, USA, pp. 294\u2013305. IEEE Computer Society (2001)","DOI":"10.1109\/MICRO.2001.991127"},{"key":"859_CR45","doi-asserted-by":"crossref","unstructured":"Russell, K., Detlefs, D.: Eliminating synchronization-related atomic operations with biased locking and bulk rebiasing. In: Proceedings of the 21st Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA\u201906, New York, NY, USA, pp. 263\u2013272. Association for Computing Machinery (2006)","DOI":"10.1145\/1167473.1167496"},{"key":"859_CR46","doi-asserted-by":"crossref","unstructured":"Shavit, N., Touitou, D.: Software transactional memory. In: Proceedings of the Fourteenth Annual ACM Symposium on Principles of Distributed Computing, PODC\u201995, New York, NY, USA, pp. 204\u2013213. Association for Computing Machinery (1995)","DOI":"10.1145\/224964.224987"},{"key":"859_CR47","doi-asserted-by":"crossref","unstructured":"Shirako, J., Vrvilo, N., Mercer, E.G., Sarkar, V.: Design, verification and applications of a new read-write lock algorithm. In: Proceedings of the Twenty-Fourth Annual ACM Symposium on Parallelism in Algorithms and Architectures, SPAA\u201912, New York, NY, USA, pp. 48\u201357. Association for Computing Machinery (2012)","DOI":"10.1145\/2312005.2312015"},{"key":"859_CR48","doi-asserted-by":"crossref","unstructured":"Thomson, A., Diamond, T., Weng S.-C., Ren, K., Shao, P., Abadi, D.J.: Calvin: fast distributed transactions for partitioned database systems. In: Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data, SIGMOD\u201912, New York, NY, USA, pp. 1\u201312. Association for Computing Machinery (2012)","DOI":"10.1145\/2213836.2213838"},{"key":"859_CR49","doi-asserted-by":"crossref","unstructured":"Tu, S., Zheng, W., Kohler, E., Liskov, B., Madden, S.: Speedy transactions in multicore in-memory databases. In: 24th ACM Symposium on Operating Systems Principles (2013)","DOI":"10.1145\/2517349.2522713"},{"key":"859_CR50","unstructured":"Valois, J.D.: Implementing lock-free queues. In: Proceedings of the Seventh International Conference on Parallel and Distributed Computing Systems, pp. 64\u201369 (1994)"},{"key":"859_CR51","doi-asserted-by":"crossref","unstructured":"Vasudevan, N., Namjoshi, K.S., Edwards, S.A.: Simple and fast biased locks. In: Proceedings of the 19th International Conference on Parallel Architectures and Compilation Techniques, PACT\u201910, New York, NY, USA, pp. 65\u201374. Association for Computing Machinery (2010)","DOI":"10.1145\/1854273.1854287"},{"key":"859_CR52","doi-asserted-by":"crossref","unstructured":"Wang, Z., Pavlo, A., Lim, H., Leis, V., Zhang, H., Kaminsky, M., Andersen, D.G.: Building a BW-tree takes more than just buzz words. In: Proceedings of the 2018 International Conference on Management of Data, SIGMOD\u201918, New York, NY, USA, pp. 473\u2013488. Association for Computing Machinery (2018)","DOI":"10.1145\/3183713.3196895"},{"issue":"1\u20132","key":"859_CR53","doi-asserted-by":"publisher","first-page":"164","DOI":"10.1006\/jpdc.1993.1015","volume":"17","author":"JM Wing","year":"1993","unstructured":"Wing, J.M., Gong, C.: Testing and verifying concurrent objects. J. Parallel Distrib. Comput. 17(1\u20132), 164\u2013182 (1993)","journal-title":"J. Parallel Distrib. Comput."},{"key":"859_CR54","unstructured":"Zhang, L., Butrovich, M., Li, T., Nannapanei, Y., Pavlo, A., Rollinson, J., Zhang, H., Balakumar, A., Biales, D., Dong, Z., Eppinger, E., Gonz\u00e0lez, J., Lim, W.S., Liu, J., Menon, P., Mukherjee, S., Nayak, T., Ngom, A., Niu, J., Patra, D., Raj, P.G., Wang, S., Wang, W., Yu, Y.-T., Zhang, W.: Everything is a transaction: unifying logical concurrency control and physical data structure maintenance in database management systems. In: CIDR (2021)"}],"container-title":["The VLDB Journal"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s00778-024-00859-8.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s00778-024-00859-8\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s00778-024-00859-8.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,10,21]],"date-time":"2024-10-21T10:06:49Z","timestamp":1729505209000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s00778-024-00859-8"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,6,17]]},"references-count":54,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2024,11]]}},"alternative-id":["859"],"URL":"https:\/\/doi.org\/10.1007\/s00778-024-00859-8","relation":{},"ISSN":["1066-8888","0949-877X"],"issn-type":[{"type":"print","value":"1066-8888"},{"type":"electronic","value":"0949-877X"}],"subject":[],"published":{"date-parts":[[2024,6,17]]},"assertion":[{"value":"15 March 2023","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"28 December 2023","order":2,"name":"revised","label":"Revised","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"10 May 2024","order":3,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"17 June 2024","order":4,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}