{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:58:13Z","timestamp":1750309093154,"version":"3.41.0"},"reference-count":2,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[1983,4,1]],"date-time":"1983-04-01T00:00:00Z","timestamp":418003200000},"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":[[1983,4]]},"abstract":"<jats:p>The Recovery Block (RB) concept proposed by Randell [1] for implementing software fault tolerance involves the establishment of local checkpoints (LCP) whenever a process enters a RB. In order for the scheme to be practical, it is important that the overhead of this checkpointing be small both in time and storage. Therefore, we must look into alternatives to simply caching the complete process state at the point of entry to a RB. Since the checkpointing mechanism need be concerned with only those variables that are modified within a RB, an obvious approach is to keep only the previous (i.e. unmodified) values of these variables. In this note, we examine some implementation difficulties with this approach and then propose a somewhat unusual scheme which saves only the modified values at the end of a RB execution.<\/jats:p>","DOI":"10.1145\/1041478.1041479","type":"journal-article","created":{"date-parts":[[2005,1,26]],"date-time":"2005-01-26T16:49:14Z","timestamp":1106758154000},"page":"11-13","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Efficient local checkpointing for software fault tolerance"],"prefix":"10.1145","volume":"17","author":[{"given":"Krishna","family":"Kant","sequence":"first","affiliation":[{"name":"Northwestern University, Evanston, IL"}]}],"member":"320","published-online":{"date-parts":[[1983,4]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1975.6312842"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/361011.361070"}],"container-title":["ACM SIGOPS Operating Systems Review"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1041478.1041479","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1041478.1041479","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T22:43:41Z","timestamp":1750286621000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1041478.1041479"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1983,4]]},"references-count":2,"journal-issue":{"issue":"2","published-print":{"date-parts":[[1983,4]]}},"alternative-id":["10.1145\/1041478.1041479"],"URL":"https:\/\/doi.org\/10.1145\/1041478.1041479","relation":{},"ISSN":["0163-5980"],"issn-type":[{"type":"print","value":"0163-5980"}],"subject":[],"published":{"date-parts":[[1983,4]]},"assertion":[{"value":"1983-04-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}