CINXE.COM

Fault tolerance - Wikipedia

<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Fault tolerance - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"e082c420-a00a-4d65-8417-9362c9979e3b","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Fault_tolerance","wgTitle":"Fault tolerance","wgCurRevisionId":1244027271,"wgRevisionId":1244027271,"wgArticleId":2091393,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Articles with short description","Short description is different from Wikidata","Use American English from February 2019","All Wikipedia articles written in American English","Articles needing additional references from January 2008","All articles needing additional references","Vague or ambiguous geographic scope from June 2017","Wikipedia articles needing clarification from June 2017","Wikipedia articles needing clarification from June 2014","Fault tolerance", "Reliability engineering","Computer systems","Control engineering","Systems engineering","Software quality","RAID"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Fault_tolerance","wgRelevantArticleId":2091393,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":40000,"wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage", "wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q3140932","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=[ "ext.cite.ux-enhancements","mediawiki.page.media","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=ext.cite.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector-2022"> <script async="" src="/w/load.php?lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Fault tolerance - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Fault_tolerance"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Fault_tolerance&amp;action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/Fault_tolerance"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Fault_tolerance rootpage-Fault_tolerance skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page&#039;s font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_en.wikipedia.org&amp;uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&amp;returnto=Fault+tolerance" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&amp;returnto=Fault+tolerance" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_en.wikipedia.org&amp;uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&amp;returnto=Fault+tolerance" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&amp;returnto=Fault+tolerance" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-History" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#History"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>History</span> </div> </a> <ul id="toc-History-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Examples" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Examples"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Examples</span> </div> </a> <ul id="toc-Examples-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Terminology" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Terminology"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Terminology</span> </div> </a> <ul id="toc-Terminology-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Criteria" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Criteria"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Criteria</span> </div> </a> <ul id="toc-Criteria-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Requirements" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Requirements"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Requirements</span> </div> </a> <ul id="toc-Requirements-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Fault_tolerance_techniques" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Fault_tolerance_techniques"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>Fault tolerance techniques</span> </div> </a> <button aria-controls="toc-Fault_tolerance_techniques-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Fault tolerance techniques subsection</span> </button> <ul id="toc-Fault_tolerance_techniques-sublist" class="vector-toc-list"> <li id="toc-Replication" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Replication"> <div class="vector-toc-text"> <span class="vector-toc-numb">6.1</span> <span>Replication</span> </div> </a> <ul id="toc-Replication-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Failure-oblivious_computing" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Failure-oblivious_computing"> <div class="vector-toc-text"> <span class="vector-toc-numb">6.2</span> <span>Failure-oblivious computing</span> </div> </a> <ul id="toc-Failure-oblivious_computing-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Recovery_shepherding" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Recovery_shepherding"> <div class="vector-toc-text"> <span class="vector-toc-numb">6.3</span> <span>Recovery shepherding</span> </div> </a> <ul id="toc-Recovery_shepherding-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Circuit_breaker" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Circuit_breaker"> <div class="vector-toc-text"> <span class="vector-toc-numb">6.4</span> <span>Circuit breaker</span> </div> </a> <ul id="toc-Circuit_breaker-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Redundancy" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Redundancy"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>Redundancy</span> </div> </a> <ul id="toc-Redundancy-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Disadvantages" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Disadvantages"> <div class="vector-toc-text"> <span class="vector-toc-numb">8</span> <span>Disadvantages</span> </div> </a> <ul id="toc-Disadvantages-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Related_terms" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Related_terms"> <div class="vector-toc-text"> <span class="vector-toc-numb">9</span> <span>Related terms</span> </div> </a> <ul id="toc-Related_terms-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">10</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">11</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Fault tolerance</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 20 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-20" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">20 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D8%AA%D8%B3%D8%A7%D9%85%D8%AD_%D9%85%D8%B9_%D8%A7%D9%84%D8%A3%D8%AE%D8%B7%D8%A7%D8%A1" title="تسامح مع الأخطاء – Arabic" lang="ar" hreflang="ar" data-title="تسامح مع الأخطاء" data-language-autonym="العربية" data-language-local-name="Arabic" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/Toler%C3%A0ncia_a_fallades" title="Tolerància a fallades – Catalan" lang="ca" hreflang="ca" data-title="Tolerància a fallades" data-language-autonym="Català" data-language-local-name="Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Dise%C3%B1o_de_tolerancia_a_fallos" title="Diseño de tolerancia a fallos – Spanish" lang="es" hreflang="es" data-title="Diseño de tolerancia a fallos" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D8%AA%D8%A7%D8%A8%E2%80%8C%D8%A2%D9%88%D8%B1%DB%8C_%D8%AE%D8%B7%D8%A7" title="تاب‌آوری خطا – Persian" lang="fa" hreflang="fa" data-title="تاب‌آوری خطا" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Tol%C3%A9rance_aux_pannes" title="Tolérance aux pannes – French" lang="fr" hreflang="fr" data-title="Tolérance aux pannes" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%EC%9E%A5%EC%95%A0_%ED%97%88%EC%9A%A9_%EC%8B%9C%EC%8A%A4%ED%85%9C" title="장애 허용 시스템 – Korean" lang="ko" hreflang="ko" data-title="장애 허용 시스템" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/Toleransi_kesalahan" title="Toleransi kesalahan – Indonesian" lang="id" hreflang="id" data-title="Toleransi kesalahan" data-language-autonym="Bahasa Indonesia" data-language-local-name="Indonesian" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Tolleranza_ai_guasti" title="Tolleranza ai guasti – Italian" lang="it" hreflang="it" data-title="Tolleranza ai guasti" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/%D7%A1%D7%95%D7%91%D7%9C%D7%A0%D7%95%D7%AA_%D7%AA%D7%A7%D7%9C%D7%95%D7%AA" title="סובלנות תקלות – Hebrew" lang="he" hreflang="he" data-title="סובלנות תקלות" data-language-autonym="עברית" data-language-local-name="Hebrew" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/Fouttolerant" title="Fouttolerant – Dutch" lang="nl" hreflang="nl" data-title="Fouttolerant" data-language-autonym="Nederlands" data-language-local-name="Dutch" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A9%E3%83%BC%E3%83%AB%E3%83%88%E3%83%88%E3%83%AC%E3%83%A9%E3%83%B3%E3%83%88%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0" title="フォールトトレラントシステム – Japanese" lang="ja" hreflang="ja" data-title="フォールトトレラントシステム" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Feiltoleranse" title="Feiltoleranse – Norwegian Bokmål" lang="nb" hreflang="nb" data-title="Feiltoleranse" data-language-autonym="Norsk bokmål" data-language-local-name="Norwegian Bokmål" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/Toler%C3%A2ncia_%C3%A0_falha" title="Tolerância à falha – Portuguese" lang="pt" hreflang="pt" data-title="Tolerância à falha" data-language-autonym="Português" data-language-local-name="Portuguese" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-ro mw-list-item"><a href="https://ro.wikipedia.org/wiki/Toleran%C8%9B%C4%83_la_defecte" title="Toleranță la defecte – Romanian" lang="ro" hreflang="ro" data-title="Toleranță la defecte" data-language-autonym="Română" data-language-local-name="Romanian" class="interlanguage-link-target"><span>Română</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/%D0%9E%D1%82%D0%BA%D0%B0%D0%B7%D0%BE%D1%83%D1%81%D1%82%D0%BE%D0%B9%D1%87%D0%B8%D0%B2%D0%BE%D1%81%D1%82%D1%8C" title="Отказоустойчивость – Russian" lang="ru" hreflang="ru" data-title="Отказоустойчивость" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/Vikasietoisuus" title="Vikasietoisuus – Finnish" lang="fi" hreflang="fi" data-title="Vikasietoisuus" data-language-autonym="Suomi" data-language-local-name="Finnish" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/Ar%C4%B1zaya_dayan%C4%B1kl%C4%B1l%C4%B1k" title="Arızaya dayanıklılık – Turkish" lang="tr" hreflang="tr" data-title="Arızaya dayanıklılık" data-language-autonym="Türkçe" data-language-local-name="Turkish" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%92%D1%96%D0%B4%D0%BC%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D1%96%D0%B9%D0%BA%D1%96%D1%81%D1%82%D1%8C" title="Відмовостійкість – Ukrainian" lang="uk" hreflang="uk" data-title="Відмовостійкість" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-zh-yue mw-list-item"><a href="https://zh-yue.wikipedia.org/wiki/%E5%AE%B9%E9%8C%AF%E8%83%BD%E5%8A%9B" title="容錯能力 – Cantonese" lang="yue" hreflang="yue" data-title="容錯能力" data-language-autonym="粵語" data-language-local-name="Cantonese" class="interlanguage-link-target"><span>粵語</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/%E6%95%85%E9%9A%9C%E5%AE%B9%E8%A8%B1%E5%BA%A6" title="故障容許度 – Chinese" lang="zh" hreflang="zh" data-title="故障容許度" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q3140932#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Fault_tolerance" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:Fault_tolerance" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Fault_tolerance"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Fault_tolerance&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Fault_tolerance&amp;action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Fault_tolerance"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Fault_tolerance&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Fault_tolerance&amp;action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Fault_tolerance" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Fault_tolerance" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Fault_tolerance&amp;oldid=1244027271" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Fault_tolerance&amp;action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&amp;page=Fault_tolerance&amp;id=1244027271&amp;wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FFault_tolerance"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FFault_tolerance"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&amp;page=Fault_tolerance&amp;action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Fault_tolerance&amp;printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Category:Fault_tolerance" hreflang="en"><span>Wikimedia Commons</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q3140932" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">Resilience of systems to component failures or errors</div> <p class="mw-empty-elt"> </p> <style data-mw-deduplicate="TemplateStyles:r1251242444">.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}</style><table class="box-More_citations_needed plainlinks metadata ambox ambox-content ambox-Refimprove" role="presentation"><tbody><tr><td class="mbox-image"><div class="mbox-image-div"><span typeof="mw:File"><a href="/wiki/File:Question_book-new.svg" class="mw-file-description"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/50px-Question_book-new.svg.png" decoding="async" width="50" height="39" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/75px-Question_book-new.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/100px-Question_book-new.svg.png 2x" data-file-width="512" data-file-height="399" /></a></span></div></td><td class="mbox-text"><div class="mbox-text-span">This article <b>needs additional citations for <a href="/wiki/Wikipedia:Verifiability" title="Wikipedia:Verifiability">verification</a></b>.<span class="hide-when-compact"> Please help <a href="/wiki/Special:EditPage/Fault_tolerance" title="Special:EditPage/Fault tolerance">improve this article</a> by <a href="/wiki/Help:Referencing_for_beginners" title="Help:Referencing for beginners">adding citations to reliable sources</a>. Unsourced material may be challenged and removed.<br /><small><span class="plainlinks"><i>Find sources:</i>&#160;<a rel="nofollow" class="external text" href="https://www.google.com/search?as_eq=wikipedia&amp;q=%22Fault+tolerance%22">"Fault tolerance"</a>&#160;–&#160;<a rel="nofollow" class="external text" href="https://www.google.com/search?tbm=nws&amp;q=%22Fault+tolerance%22+-wikipedia&amp;tbs=ar:1">news</a>&#160;<b>·</b> <a rel="nofollow" class="external text" href="https://www.google.com/search?&amp;q=%22Fault+tolerance%22&amp;tbs=bkt:s&amp;tbm=bks">newspapers</a>&#160;<b>·</b> <a rel="nofollow" class="external text" href="https://www.google.com/search?tbs=bks:1&amp;q=%22Fault+tolerance%22+-wikipedia">books</a>&#160;<b>·</b> <a rel="nofollow" class="external text" href="https://scholar.google.com/scholar?q=%22Fault+tolerance%22">scholar</a>&#160;<b>·</b> <a rel="nofollow" class="external text" href="https://www.jstor.org/action/doBasicSearch?Query=%22Fault+tolerance%22&amp;acc=on&amp;wc=on">JSTOR</a></span></small></span> <span class="date-container"><i>(<span class="date">January 2008</span>)</i></span><span class="hide-when-compact"><i> (<small><a href="/wiki/Help:Maintenance_template_removal" title="Help:Maintenance template removal">Learn how and when to remove this message</a></small>)</i></span></div></td></tr></tbody></table> <p>Fault tolerance is the ability of a <a href="/wiki/System" title="System">system</a> to maintain proper operation despite failures or faults in one or more of its components. This capability is essential for <a href="/wiki/High-availability" class="mw-redirect" title="High-availability">high-availability</a>, <a href="/wiki/Mission_critical" title="Mission critical">mission-critical</a>, or even <a href="/wiki/Life-critical_system" class="mw-redirect" title="Life-critical system">life-critical systems</a>. </p><p>Fault tolerance specifically refers to a system's capability to handle faults without any degradation or downtime. In the event of an error, end-users remain unaware of any issues. Conversely, a system that experiences errors with some interruption in service or graceful degradation of performance is termed 'resilient'. In resilience, the system adapts to the error, maintaining service but acknowledging a certain impact on performance. </p><p>Typically, fault tolerance describes <a href="/wiki/Computer_system" class="mw-redirect" title="Computer system">computer systems</a>, ensuring the overall system remains functional despite <a href="/wiki/Computer_hardware" title="Computer hardware">hardware</a> or <a href="/wiki/Software" title="Software">software</a> issues. Non-computing examples include structures that retain their integrity despite damage from <a href="/wiki/Fatigue_(material)" title="Fatigue (material)">fatigue</a>, <a href="/wiki/Corrosion" title="Corrosion">corrosion</a> or impact. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="History">History</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Fault_tolerance&amp;action=edit&amp;section=1" title="Edit section: History"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The first known fault-tolerant computer was <a href="/wiki/SAPO_(computer)" title="SAPO (computer)">SAPO</a>, built in 1951 in <a href="/wiki/Czechoslovakia" title="Czechoslovakia">Czechoslovakia</a> by <a href="/wiki/Anton%C3%ADn_Svoboda_(computer_scientist)" title="Antonín Svoboda (computer scientist)">Antonín Svoboda</a>.<sup id="cite_ref-computer-structures_1-0" class="reference"><a href="#cite_note-computer-structures-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup><sup class="reference nowrap"><span title="Page / location: 155">&#58;&#8202;155&#8202;</span></sup> Its basic design was <a href="/wiki/Drum_memory" title="Drum memory">magnetic drums</a> connected via relays, with a voting method of <a href="/wiki/RAM_parity" title="RAM parity">memory error</a> detection (<a href="/wiki/Triple_modular_redundancy" title="Triple modular redundancy">triple modular redundancy</a>). Several other machines were developed along this line, mostly for military use. Eventually, they separated into three distinct categories: </p> <ol><li>Machines that would last a long time without any maintenance, such as the ones used on <a href="/wiki/NASA" title="NASA">NASA</a> <a href="/wiki/Space_probe" class="mw-redirect" title="Space probe">space probes</a> and <a href="/wiki/Satellite" title="Satellite">satellites</a>;</li> <li>Computers that were very dependable but required constant monitoring, such as those used to monitor and control <a href="/wiki/Nuclear_power_plant" title="Nuclear power plant">nuclear power plants</a> or <a href="/wiki/Collider" title="Collider">supercollider</a> experiments; and</li> <li>Computers with a high amount of runtime that would be under heavy use, such as many of the supercomputers used by <a href="/wiki/Insurance_companies" class="mw-redirect" title="Insurance companies">insurance companies</a> for their <a href="/wiki/Probability" title="Probability">probability</a> monitoring.</li></ol> <p>Most of the development in the so-called LLNM (Long Life, No Maintenance) computing was done by NASA during the 1960s,<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">&#91;</span>2<span class="cite-bracket">&#93;</span></a></sup> in preparation for <a href="/wiki/Project_Apollo" class="mw-redirect" title="Project Apollo">Project Apollo</a> and other research aspects. NASA's first machine went into a <a href="/wiki/Space_observatory" class="mw-redirect" title="Space observatory">space observatory</a>, and their second attempt, the JSTAR computer, was used in <a href="/wiki/Voyager_program" title="Voyager program">Voyager</a>. This computer had a backup of memory arrays to use memory recovery methods and thus it was called the JPL Self-Testing-And-Repairing computer. It could detect its own errors and fix them or bring up redundant modules as needed. The computer is still working, as of early 2022.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">&#91;</span>3<span class="cite-bracket">&#93;</span></a></sup> </p><p>Hyper-dependable computers were pioneered mostly by <a href="/wiki/Aircraft" title="Aircraft">aircraft</a> manufacturers,<sup id="cite_ref-computer-structures_1-1" class="reference"><a href="#cite_note-computer-structures-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup><sup class="reference nowrap"><span title="Page / location: 210">&#58;&#8202;210&#8202;</span></sup> <a href="/wiki/Nuclear_power" title="Nuclear power">nuclear power</a> companies, and the <a href="/wiki/Rail_transport_in_the_United_States" class="mw-redirect" title="Rail transport in the United States">railroad industry</a> in the United States. These entities needed computers with massive amounts of uptime that would <a href="/wiki/Graceful_failure" class="mw-redirect" title="Graceful failure">fail gracefully</a> enough during a fault to allow continued operation, while relying on constant human monitoring of computer output to detect faults. Again, IBM developed the first computer of this kind for NASA for guidance of <a href="/wiki/Saturn_V" title="Saturn V">Saturn V</a> rockets, but later on <a href="/wiki/BNSF" class="mw-redirect" title="BNSF">BNSF</a>, <a href="/wiki/Unisys" title="Unisys">Unisys</a>, and <a href="/wiki/General_Electric" title="General Electric">General Electric</a> built their own.<sup id="cite_ref-computer-structures_1-2" class="reference"><a href="#cite_note-computer-structures-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup><sup class="reference nowrap"><span title="Page / location: 223">&#58;&#8202;223&#8202;</span></sup> </p><p>In the 1970s, much work happened in the field.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">&#91;</span>5<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">&#91;</span>6<span class="cite-bracket">&#93;</span></a></sup> For instance, <a href="/wiki/F14_CADC" class="mw-redirect" title="F14 CADC">F14 CADC</a> had <a href="/wiki/Built-in_self-test" title="Built-in self-test">built-in self-test</a> and redundancy.<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">&#91;</span>7<span class="cite-bracket">&#93;</span></a></sup> </p><p>In general, the early efforts at fault-tolerant designs were focused mainly on internal diagnosis, where a fault would indicate something was failing and a worker could replace it. SAPO, for instance, had a method by which faulty memory drums would emit a noise before failure.<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup> Later efforts showed that to be fully effective, the system had to be self-repairing and diagnosing – isolating a fault and then implementing a redundant backup while alerting a need for repair. This is known as N-model redundancy, where faults cause automatic fail-safes and a warning to the operator, and it is still the most common form of level one fault-tolerant design in use today. </p><p>Voting was another initial method, as discussed above, with multiple redundant backups operating constantly and checking each other's results. For example, if four components reported an answer of 5 and one component reported an answer of 6, the other four would "vote" that the fifth component was faulty and have it taken out of service. This is called M out of N majority voting. </p><p>Historically, the trend has been to move away from N-model and toward M out of N, as the complexity of systems and the difficulty of ensuring the transitive state from fault-negative to fault-positive did not disrupt operations. </p><p><a href="/wiki/Tandem_Computers" title="Tandem Computers">Tandem Computers</a>, in 1976<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">&#91;</span>9<span class="cite-bracket">&#93;</span></a></sup> and <a href="/wiki/Stratus_Technologies" title="Stratus Technologies">Stratus</a> were among the first companies specializing in the design of fault-tolerant computer systems for <a href="/wiki/Online_transaction_processing" title="Online transaction processing">online transaction processing</a>. </p> <div class="mw-heading mw-heading2"><h2 id="Examples">Examples</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Fault_tolerance&amp;action=edit&amp;section=2" title="Edit section: Examples"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Twitter_M2_mobile_website.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/a/ad/Twitter_M2_mobile_website.png/220px-Twitter_M2_mobile_website.png" decoding="async" width="220" height="244" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/a/ad/Twitter_M2_mobile_website.png/330px-Twitter_M2_mobile_website.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/a/ad/Twitter_M2_mobile_website.png/440px-Twitter_M2_mobile_website.png 2x" data-file-width="821" data-file-height="909" /></a><figcaption>"M2 Mobile Web", the original mobile web front end of Twitter, later served as fallback legacy version to <a href="/wiki/Client_(computing)" title="Client (computing)">clients</a> without JavaScript support and/or incompatible browsers until December 2020.</figcaption></figure> <p>Hardware fault tolerance sometimes requires that broken parts be taken out and replaced with new parts while the system is still operational (in computing known as <i><a href="/wiki/Hot_swapping" title="Hot swapping">hot swapping</a></i>). Such a system implemented with a single backup is known as <b>single point tolerant</b> and represents the vast majority of fault-tolerant systems. In such systems the <a href="/wiki/Mean_time_between_failure" class="mw-redirect" title="Mean time between failure">mean time between failures</a> should be long enough for the operators to have sufficient time to fix the broken devices (<a href="/wiki/Mean_time_to_repair" title="Mean time to repair">mean time to repair</a>) before the backup also fails. It is helpful if the time between failures is as long as possible, but this is not specifically required in a fault-tolerant system. </p><p>Fault tolerance is notably successful in computer applications. <a href="/wiki/Tandem_Computers" title="Tandem Computers">Tandem Computers</a> built their entire business on such machines, which used single-point tolerance to create their <a href="/wiki/NonStop_(server_computers)" title="NonStop (server computers)">NonStop</a> systems with <a href="/wiki/Uptime" title="Uptime">uptimes</a> measured in years. </p><p><a href="/wiki/Fail-safe" title="Fail-safe">Fail-safe</a> architectures may encompass also the computer software, for example by process <a href="/wiki/Replication_(computer_science)" class="mw-redirect" title="Replication (computer science)">replication</a>. </p><p>Data formats may also be designed to degrade gracefully. <a href="/wiki/HTML" title="HTML">HTML</a> for example, is designed to be <a href="/wiki/Forward_compatibility" title="Forward compatibility">forward compatible</a>, allowing <a href="/wiki/Web_browser" title="Web browser">Web browsers</a> to ignore new and unsupported HTML entities without causing the document to be unusable. Additionally, some sites, including popular platforms such as Twitter (until December 2020), provide an optional lightweight front end that does not rely on <a href="/wiki/JavaScript" title="JavaScript">JavaScript</a> and has a <a href="/wiki/Minimalism_(computing)" title="Minimalism (computing)">minimal</a> layout, to ensure wide <a href="/wiki/Computer_accessibility" title="Computer accessibility">accessibility</a> and <a href="/wiki/Outreach" title="Outreach">outreach</a>, such as on <a href="/wiki/Game_console" class="mw-redirect" title="Game console">game consoles</a> with limited web browsing capabilities.<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">&#91;</span>10<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">&#91;</span>11<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Terminology">Terminology</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Fault_tolerance&amp;action=edit&amp;section=3" title="Edit section: Terminology"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-halign-right" typeof="mw:File/Thumb"><a href="/wiki/File:Graceful_Degradation_of_Transparency.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/d/da/Graceful_Degradation_of_Transparency.png/256px-Graceful_Degradation_of_Transparency.png" decoding="async" width="256" height="111" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/d/da/Graceful_Degradation_of_Transparency.png/384px-Graceful_Degradation_of_Transparency.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/d/da/Graceful_Degradation_of_Transparency.png/512px-Graceful_Degradation_of_Transparency.png 2x" data-file-width="987" data-file-height="427" /></a><figcaption>An example of graceful degradation by design in an image with transparency. Each of the top two images is the result of viewing the composite image in a viewer that recognises transparency. The bottom two images are the result in a viewer with no support for transparency. Because the transparency mask (center bottom) is discarded, only the overlay (center top) remains. The image on the left has been designed to degrade gracefully, hence is still meaningful without its transparency information.</figcaption></figure> <p>A highly fault-tolerant system might continue at the same level of performance even though one or more components have failed. For example, a building with a backup electrical generator will provide the same voltage to wall outlets even if the grid power fails. </p><p>A system that is designed to <a href="/wiki/Fail_safe" class="mw-redirect" title="Fail safe">fail safe</a>, or fail-secure, or <b>fail gracefully</b>, whether it functions at a reduced level or fails completely, does so in a way that protects people, property, or data from injury, damage, intrusion, or disclosure. In computers, a program might fail-safe by executing a <a href="/wiki/Graceful_exit" title="Graceful exit">graceful exit</a> (as opposed to an uncontrolled crash) to prevent data corruption after an error occurs.<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">&#91;</span>12<span class="cite-bracket">&#93;</span></a></sup> A similar distinction is made between "failing well" and "<a href="/wiki/Failing_badly" title="Failing badly">failing badly</a>". </p><p>A system designed to experience <b>graceful degradation</b>, or to <b>fail soft</b> (used in computing, similar to "fail safe"<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">&#91;</span>13<span class="cite-bracket">&#93;</span></a></sup>) operates at a reduced level of performance after some component fails. For example, if grid power fails, a building may operate lighting at reduced levels or elevators at reduced speeds. In computing, if insufficient network bandwidth is available to stream an online video, a lower-resolution version might be streamed in place of the high-resolution version. <a href="/wiki/Progressive_enhancement" title="Progressive enhancement">Progressive enhancement</a> is another example, where web pages are available in a basic functional format for older, small-screen, or limited-capability web browsers, but in an enhanced version for browsers capable of handling additional technologies or that have a larger display. </p><p>In fault-tolerant computer systems, programs that are considered <a href="/wiki/Robustness_(computer_science)" title="Robustness (computer science)">robust</a> are designed to continue operation despite an error, exception, or invalid input, instead of crashing completely. <a href="/wiki/Software_brittleness" title="Software brittleness">Software brittleness</a> is the opposite of robustness. <a href="/wiki/Resilience_(network)" class="mw-redirect" title="Resilience (network)">Resilient networks</a> continue to transmit data despite the failure of some links or nodes. <a href="/wiki/Resilience_(engineering_and_construction)" title="Resilience (engineering and construction)">Resilient buildings and infrastructure</a> are likewise expected to prevent complete failure in situations like earthquakes, floods, or collisions. </p><p>A system with high <a href="/wiki/Failure_transparency" title="Failure transparency">failure transparency</a> will alert users that a component failure has occurred, even if it continues to operate with full performance, so that failure can be repaired or imminent complete failure anticipated.<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">&#91;</span>14<span class="cite-bracket">&#93;</span></a></sup> Likewise, a <a href="/wiki/Fail-fast_system" title="Fail-fast system">fail-fast</a> component is designed to report at the first point of failure, rather than generating reports when downstream components fail. This allows easier diagnosis of the underlying problem, and may prevent improper operation in a broken state. </p> <p><span class="anchor" id="Single_fault_condition"></span> A <b>single fault condition</b> is a situation where one means for <a href="/wiki/Protection_mechanism" title="Protection mechanism">protection</a> against a <a href="/wiki/Hazard" title="Hazard">hazard</a> is defective. If a single fault condition results unavoidably in another single fault condition, the two failures are considered one single fault condition.<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">&#91;</span>15<span class="cite-bracket">&#93;</span></a></sup> A source offers the following example: <style data-mw-deduplicate="TemplateStyles:r1244412712">.mw-parser-output .templatequote{overflow:hidden;margin:1em 0;padding:0 32px}.mw-parser-output .templatequotecite{line-height:1.5em;text-align:left;margin-top:0}@media(min-width:500px){.mw-parser-output .templatequotecite{padding-left:1.6em}}</style></p><blockquote class="templatequote"><p>A <i>single-fault condition</i> is a condition when a single means for protection against hazard in equipment is defective or a single external abnormal condition is present, e.g. short circuit between the live parts and the applied part.<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">&#91;</span>16<span class="cite-bracket">&#93;</span></a></sup></p></blockquote> <div class="mw-heading mw-heading2"><h2 id="Criteria">Criteria</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Fault_tolerance&amp;action=edit&amp;section=4" title="Edit section: Criteria"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Providing fault-tolerant design for every component is normally not an option. Associated redundancy brings a number of penalties: increase in weight, size, power consumption, cost, as well as time to design, verify, and test. Therefore, a number of choices have to be examined to determine which components should be fault tolerant:<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">&#91;</span>17<span class="cite-bracket">&#93;</span></a></sup> </p> <ul><li><b>How critical is the component?</b> In a car, the radio is not critical, so this component has less need for fault tolerance.</li> <li><b>How likely is the component to fail?</b> Some components, like the drive shaft in a car, are not likely to fail, so no fault tolerance is needed.</li> <li><b>How expensive is it to make the component fault tolerant?</b> Requiring a redundant car engine, for example, would likely be too expensive both economically and in terms of weight and space, to be considered.</li></ul> <p>An example of a component that passes all the tests is a car's occupant restraint system. While the <i>primary</i> occupant restraint system is not normally thought of, it is <a href="/wiki/Gravity" title="Gravity">gravity</a>. If the vehicle rolls over or undergoes severe g-forces, then this primary method of occupant restraint may fail. Restraining the occupants during such an accident is absolutely critical to safety, so the first test is passed. Accidents causing occupant ejection were quite common before <a href="/wiki/Seat_belt" title="Seat belt">seat belts</a>, so the second test is passed. The cost of a redundant restraint method like seat belts is quite low, both economically and in terms of weight and space, so the third test is passed. Therefore, adding seat belts to all vehicles is an excellent idea. Other "supplemental restraint systems", such as <a href="/wiki/Airbag" title="Airbag">airbags</a>, are more expensive and so pass that test by a smaller margin. </p><p>Another excellent and long-term example of this principle being put into practice is the braking system: whilst the actual brake mechanisms are critical, they are not particularly prone to sudden (rather than progressive) failure, and are in any case necessarily duplicated to allow even and balanced application of brake force to all wheels. It would also be prohibitively costly to further double-up the main components and they would add considerable weight. However, the similarly critical systems for actuating the brakes under driver control are inherently less robust, generally using a cable (can rust, stretch, jam, snap) or hydraulic fluid (can leak, boil and develop bubbles, absorb water and thus lose effectiveness). Thus in most modern cars the footbrake hydraulic brake circuit is diagonally divided to give two smaller points of failure, the loss of either only reducing brake power by 50% and not causing as much dangerous brakeforce imbalance as a straight front-back or left-right split, and should the hydraulic circuit fail completely (a relatively very rare occurrence), there is a failsafe in the form of the cable-actuated parking brake that operates the otherwise relatively weak rear brakes, but can still bring the vehicle to a safe halt in conjunction with transmission/engine braking so long as the demands on it are in line with normal traffic flow. The cumulatively unlikely combination of total foot brake failure with the need for harsh braking in an emergency will likely result in a collision, but still one at lower speed than would otherwise have been the case. </p><p>In comparison with the foot pedal activated service brake, the parking brake itself is a less critical item, and unless it is being used as a one-time backup for the footbrake, will not cause immediate danger if it is found to be nonfunctional at the moment of application. Therefore, no redundancy is built into it per se (and it typically uses a cheaper, lighter, but less hardwearing cable actuation system), and it can suffice, if this happens on a hill, to use the footbrake to momentarily hold the vehicle still, before driving off to find a flat piece of road on which to stop. Alternatively, on shallow gradients, the transmission can be shifted into Park, Reverse or First gear, and the transmission lock / engine compression used to hold it stationary, as there is no need for them to include the sophistication to first bring it to a halt. </p><p>On motorcycles, a similar level of fail-safety is provided by simpler methods; first, the front and rear brake systems are entirely separate, regardless of their method of activation (that can be cable, rod or hydraulic), allowing one to fail entirely while leaving the other unaffected. Second, the rear brake is relatively strong compared to its automotive cousin, being a powerful disc on some sports models, even though the usual intent is for the front system to provide the vast majority of braking force; as the overall vehicle weight is more central, the rear tire is generally larger and has better traction, so that the rider can lean back to put more weight on it, therefore allowing more brake force to be applied before the wheel locks. On cheaper, slower utility-class machines, even if the front wheel should use a hydraulic disc for extra brake force and easier packaging, the rear will usually be a primitive, somewhat inefficient, but exceptionally robust rod-actuated drum, thanks to the ease of connecting the footpedal to the wheel in this way and, more importantly, the near impossibility of catastrophic failure even if the rest of the machine, like a lot of low-priced bikes after their first few years of use, is on the point of collapse from neglected maintenance. </p> <div class="mw-heading mw-heading2"><h2 id="Requirements">Requirements</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Fault_tolerance&amp;action=edit&amp;section=5" title="Edit section: Requirements"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The basic characteristics of fault tolerance require: </p> <ol><li>No <a href="/wiki/Single_point_of_failure" title="Single point of failure">single point of failure</a> – If a system experiences a failure, it must continue to operate without interruption during the repair process.</li> <li><a href="/wiki/Fault_isolation" class="mw-redirect" title="Fault isolation">Fault isolation</a> to the failing component – When a failure occurs, the system must be able to isolate the failure to the offending component. This requires the addition of dedicated failure detection mechanisms that exist only for the purpose of fault isolation. Recovery from a fault condition requires classifying the fault or failing component. The <a href="/wiki/National_Institute_of_Standards_and_Technology" title="National Institute of Standards and Technology">National Institute of Standards and Technology</a> (NIST) categorizes faults based on locality, cause, duration, and effect.<sup class="noprint Inline-Template" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Naming_conventions_(geographic_names)" title="Wikipedia:Naming conventions (geographic names)"><span title="The geographic scope near this tag is ambiguous. (June 2017)">where?</span></a></i>&#93;</sup><sup class="noprint Inline-Template" style="margin-left:0.1em; white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Please_clarify" title="Wikipedia:Please clarify"><span title="The text near this tag may need clarification or removal of jargon. (June 2017)">clarification needed</span></a></i>&#93;</sup></li> <li>Fault containment to prevent propagation of the failure – Some failure mechanisms can cause a system to fail by propagating the failure to the rest of the system. An example of this kind of failure is the "rogue transmitter" that can swamp legitimate communication in a system and cause overall system failure. <a href="/wiki/Firewall_(computing)" title="Firewall (computing)">Firewalls</a> or other mechanisms that isolate a rogue transmitter or failing component to protect the system are required.</li> <li>Availability of <a href="/wiki/Reversion_(software_development)" title="Reversion (software development)">reversion modes</a><sup class="noprint Inline-Template" style="margin-left:0.1em; white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Please_clarify" title="Wikipedia:Please clarify"><span title="The text near this tag may need clarification or removal of jargon. (June 2014)">clarification needed</span></a></i>&#93;</sup></li></ol> <p>In addition, fault-tolerant systems are characterized in terms of both planned service outages and unplanned service outages. These are usually measured at the application level and not just at a hardware level. The figure of merit is called <a href="/wiki/Availability" title="Availability">availability</a> and is expressed as a percentage. For example, a <a href="/wiki/5_nines" class="mw-redirect" title="5 nines">five nines</a> system would statistically provide 99.999% availability. </p><p>Fault-tolerant systems are typically based on the concept of redundancy. </p> <div class="mw-heading mw-heading2"><h2 id="Fault_tolerance_techniques">Fault tolerance techniques</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Fault_tolerance&amp;action=edit&amp;section=6" title="Edit section: Fault tolerance techniques"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Research into the kinds of tolerances needed for critical systems involves a large amount of interdisciplinary work. The more complex the system, the more carefully all possible interactions have to be considered and prepared for. Considering the importance of high-value systems in transport, <a href="/wiki/Public_utilities" class="mw-redirect" title="Public utilities">public utilities</a> and the military, the field of topics that touch on research is very wide: it can include such obvious subjects as <a href="/wiki/Software_modeling" class="mw-redirect" title="Software modeling">software modeling</a> and reliability, or <a href="/wiki/Hardware_design" class="mw-redirect" title="Hardware design">hardware design</a>, to arcane elements such as <a href="/wiki/Stochastic" title="Stochastic">stochastic</a> models, <a href="/wiki/Graph_theory" title="Graph theory">graph theory</a>, formal or exclusionary logic, <a href="/wiki/Parallel_computing" title="Parallel computing">parallel processing</a>, remote <a href="/wiki/Data_transmission" class="mw-redirect" title="Data transmission">data transmission</a>, and more.<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">&#91;</span>18<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Replication">Replication</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Fault_tolerance&amp;action=edit&amp;section=7" title="Edit section: Replication"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Spare components address the first fundamental characteristic of fault tolerance in three ways: </p> <ul><li><a href="/wiki/Replication_(computer_science)" class="mw-redirect" title="Replication (computer science)">Replication</a>: Providing multiple identical instances of the same system or subsystem, directing tasks or requests to all of them in <a href="/wiki/Parallel_computing" title="Parallel computing">parallel</a>, and choosing the correct result on the basis of a <a href="/wiki/Quorum" title="Quorum">quorum</a>;</li> <li><a href="/wiki/Redundancy_(engineering)" title="Redundancy (engineering)">Redundancy</a>: Providing multiple identical instances of the same system and switching to one of the remaining instances in case of a failure (<a href="/wiki/Failover" title="Failover">failover</a>);</li> <li>Diversity: Providing multiple <i>different</i> implementations of the same specification, and using them like replicated systems to cope with errors in a specific implementation.</li></ul> <p>All implementations of <a href="/wiki/RAID" title="RAID">RAID</a>, <a href="/wiki/RAID" title="RAID">redundant array of independent disks</a>, except RAID 0, are examples of a fault-tolerant <a href="/wiki/Data_storage_device" class="mw-redirect" title="Data storage device">storage device</a> that uses <a href="/wiki/Data_redundancy" title="Data redundancy">data redundancy</a>. </p><p>A <a href="/wiki/Lockstep_(computing)" title="Lockstep (computing)">lockstep</a> fault-tolerant machine uses replicated elements operating in parallel. At any time, all the replications of each element should be in the same state. The same inputs are provided to each <a href="/wiki/Replication_(computing)" title="Replication (computing)">replication</a>, and the same outputs are expected. The outputs of the replications are compared using a voting circuit. A machine with two replications of each element is termed <a href="/wiki/Dual_modular_redundancy" title="Dual modular redundancy">dual modular redundant</a> (DMR). The voting circuit can then only detect a mismatch and recovery relies on other methods. A machine with three replications of each element is termed <a href="/wiki/Triple_modular_redundancy" title="Triple modular redundancy">triple modular redundant</a> (TMR). The voting circuit can determine which replication is in error when a two-to-one vote is observed. In this case, the voting circuit can output the correct result, and discard the erroneous version. After this, the internal state of the erroneous replication is assumed to be different from that of the other two, and the voting circuit can switch to a DMR mode. This model can be applied to any larger number of replications. </p><p><a href="/wiki/Lockstep_(computing)" title="Lockstep (computing)">Lockstep</a> fault-tolerant machines are most easily made fully <a href="/wiki/Synchronization_(computer_science)" title="Synchronization (computer science)">synchronous</a>, with each gate of each replication making the same state transition on the same edge of the clock, and the clocks to the replications being exactly in phase. However, it is possible to build lockstep systems without this requirement. </p><p>Bringing the replications into synchrony requires making their internal stored states the same. They can be started from a fixed initial state, such as the reset state. Alternatively, the internal state of one replica can be copied to another replica. </p><p>One variant of DMR is <b>pair-and-spare</b>. Two replicated elements operate in lockstep as a pair, with a voting circuit that detects any mismatch between their operations and outputs a signal indicating that there is an error. Another pair operates exactly the same way. A final circuit selects the output of the pair that does not proclaim that it is in error. Pair-and-spare requires four replicas rather than the three of TMR, but has been used commercially. </p> <div class="mw-heading mw-heading3"><h3 id="Failure-oblivious_computing">Failure-oblivious computing</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Fault_tolerance&amp;action=edit&amp;section=8" title="Edit section: Failure-oblivious computing"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><i>Failure-oblivious computing</i> is a technique that enables <a href="/wiki/Computer_programs" class="mw-redirect" title="Computer programs">computer programs</a> to continue executing despite <a href="/wiki/Data_loss" title="Data loss">errors</a>.<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">&#91;</span>19<span class="cite-bracket">&#93;</span></a></sup> The technique can be applied in different contexts. It can handle invalid memory reads by returning a manufactured value to the program,<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">&#91;</span>20<span class="cite-bracket">&#93;</span></a></sup> which in turn, makes use of the manufactured value and ignores the former <a href="/wiki/Computer_memory" title="Computer memory">memory</a> value it tried to access, this is a great contrast to <a href="/wiki/RAM_parity" title="RAM parity">typical memory checkers</a>, which inform the program of the error or abort the program. </p><p>The approach has performance costs: because the technique rewrites code to insert dynamic checks for address validity, execution time will increase by 80% to 500%.<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">&#91;</span>21<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Recovery_shepherding">Recovery shepherding</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Fault_tolerance&amp;action=edit&amp;section=9" title="Edit section: Recovery shepherding"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Recovery shepherding is a lightweight technique to enable software programs to recover from otherwise fatal errors such as null pointer dereference and divide by zero.<sup id="cite_ref-rcv_22-0" class="reference"><a href="#cite_note-rcv-22"><span class="cite-bracket">&#91;</span>22<span class="cite-bracket">&#93;</span></a></sup> Comparing to the failure oblivious computing technique, recovery shepherding works on the compiled program binary directly and does not need to recompile to program. </p><p>It uses the <a href="/wiki/Just-in-time_compilation" title="Just-in-time compilation">just-in-time</a> <a href="/wiki/Instrumentation_(computer_programming)" title="Instrumentation (computer programming)">binary instrumentation</a> framework <a href="/wiki/Pin_(computer_program)" title="Pin (computer program)">Pin</a>. It attaches to the application process when an error occurs, repairs the execution, tracks the repair effects as the execution continues, contains the repair effects within the application process, and detaches from the process after all repair effects are flushed from the process state. It does not interfere with the normal execution of the program and therefore incurs negligible overhead.<sup id="cite_ref-rcv_22-1" class="reference"><a href="#cite_note-rcv-22"><span class="cite-bracket">&#91;</span>22<span class="cite-bracket">&#93;</span></a></sup> For 17 of 18 systematically collected real world null-dereference and divide-by-zero errors, a prototype implementation enables the application to continue to execute to provide acceptable output and service to its users on the error-triggering inputs.<sup id="cite_ref-rcv_22-2" class="reference"><a href="#cite_note-rcv-22"><span class="cite-bracket">&#91;</span>22<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Circuit_breaker">Circuit breaker</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Fault_tolerance&amp;action=edit&amp;section=10" title="Edit section: Circuit breaker"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1236090951">.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}</style><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Circuit_breaker_design_pattern" title="Circuit breaker design pattern">Circuit breaker design pattern</a></div> <p>The <a href="/wiki/Circuit_breaker_design_pattern" title="Circuit breaker design pattern">circuit breaker design pattern</a> is a technique to avoid catastrophic failures in distributed systems. </p> <div class="mw-heading mw-heading2"><h2 id="Redundancy">Redundancy</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Fault_tolerance&amp;action=edit&amp;section=11" title="Edit section: Redundancy"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Redundancy_(engineering)" title="Redundancy (engineering)">Redundancy (engineering)</a></div> <p>Redundancy is the provision of functional capabilities that would be unnecessary in a fault-free environment.<sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">&#91;</span>23<span class="cite-bracket">&#93;</span></a></sup> This can consist of backup components that automatically "kick in" if one component fails. For example, large cargo trucks can lose a tire without any major consequences. They have many tires, and no one tire is critical (with the exception of the front tires, which are used to steer, but generally carry less load, each and in total, than the other four to 16, so are less likely to fail). The idea of incorporating redundancy in order to improve the reliability of a system was pioneered by <a href="/wiki/John_von_Neumann" title="John von Neumann">John von Neumann</a> in the 1950s.<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">&#91;</span>24<span class="cite-bracket">&#93;</span></a></sup> </p><p>Two kinds of redundancy are possible:<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">&#91;</span>25<span class="cite-bracket">&#93;</span></a></sup> space redundancy and time redundancy. Space redundancy provides additional components, functions, or data items that are unnecessary for fault-free operation. Space redundancy is further classified into hardware, software and information redundancy, depending on the type of redundant resources added to the system. In time redundancy the computation or data transmission is repeated and the result is compared to a stored copy of the previous result. The current terminology for this kind of testing is referred to as 'In Service Fault Tolerance Testing or ISFTT for short. </p> <div class="mw-heading mw-heading2"><h2 id="Disadvantages">Disadvantages</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Fault_tolerance&amp;action=edit&amp;section=12" title="Edit section: Disadvantages"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Fault-tolerant design's advantages are obvious, while many of its disadvantages are not: </p> <ul><li><b>Interference with fault detection in the same component.</b> To continue the above passenger vehicle example, with either of the fault-tolerant systems it may not be obvious to the driver when a tire has been punctured. This is usually handled with a separate "automated fault-detection system". In the case of the tire, an air pressure monitor detects the loss of pressure and notifies the driver. The alternative is a "manual fault-detection system", such as manually inspecting all tires at each stop.</li> <li><b>Interference with fault detection in another component.</b> Another variation of this problem is when fault tolerance in one component prevents fault detection in a different component. For example, if component B performs some operation based on the output from component A, then fault tolerance in B can hide a problem with A. If component B is later changed (to a less fault-tolerant design) the system may fail suddenly, making it appear that the new component B is the problem. Only after the system has been carefully scrutinized will it become clear that the root problem is actually with component A.</li> <li><b>Reduction of priority of fault correction.</b> Even if the operator is aware of the fault, having a fault-tolerant system is likely to reduce the importance of repairing the fault. If the faults are not corrected, this will eventually lead to system failure, when the fault-tolerant component fails completely or when all redundant components have also failed.</li> <li><b>Test difficulty.</b> For certain critical fault-tolerant systems, such as a <a href="/wiki/Nuclear_reactor" title="Nuclear reactor">nuclear reactor</a>, there is no easy way to verify that the backup components are functional. The most infamous example of this is <a href="/wiki/Chernobyl_disaster" title="Chernobyl disaster">Chernobyl</a>, where operators tested the emergency backup cooling by disabling primary and secondary cooling. The backup failed, resulting in a core meltdown and massive release of radiation.</li> <li><b>Cost.</b> Both fault-tolerant components and redundant components tend to increase cost. This can be a purely economic cost or can include other measures, such as weight. <a href="/wiki/Human_spaceflight" title="Human spaceflight">Crewed spaceships</a>, for example, have so many redundant and fault-tolerant components that their weight is increased dramatically over uncrewed systems, which do not require the same level of safety.</li> <li><b>Inferior components.</b> A fault-tolerant design may allow for the use of inferior components, which would have otherwise made the system inoperable. While this practice has the potential to mitigate the cost increase, use of multiple inferior components may lower the reliability of the system to a level equal to, or even worse than, a comparable non-fault-tolerant system.</li></ul> <div class="mw-heading mw-heading2"><h2 id="Related_terms">Related terms</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Fault_tolerance&amp;action=edit&amp;section=13" title="Edit section: Related terms"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>There is a difference between fault tolerance and systems that rarely have problems. For instance, the <a href="/wiki/Western_Electric" title="Western Electric">Western Electric</a> <a href="/wiki/Crossbar_switch" title="Crossbar switch">crossbar</a> systems had failure rates of two hours per forty years, and therefore were highly <i>fault resistant</i>. But when a fault did occur they still stopped operating completely, and therefore were not <i>fault tolerant</i>. </p> <div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Fault_tolerance&amp;action=edit&amp;section=14" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1184024115">.mw-parser-output .div-col{margin-top:0.3em;column-width:30em}.mw-parser-output .div-col-small{font-size:90%}.mw-parser-output .div-col-rules{column-rule:1px solid #aaa}.mw-parser-output .div-col dl,.mw-parser-output .div-col ol,.mw-parser-output .div-col ul{margin-top:0}.mw-parser-output .div-col li,.mw-parser-output .div-col dd{page-break-inside:avoid;break-inside:avoid-column}</style><div class="div-col"> <ul><li><a href="/wiki/Byzantine_fault_tolerance" class="mw-redirect" title="Byzantine fault tolerance">Byzantine fault tolerance</a></li> <li><a href="/wiki/Control_reconfiguration" title="Control reconfiguration">Control reconfiguration</a></li> <li><a href="/wiki/Damage_tolerance" title="Damage tolerance">Damage tolerance</a></li> <li><a href="/wiki/Data_redundancy" title="Data redundancy">Data redundancy</a></li> <li><a href="/wiki/Defence_in_depth" title="Defence in depth">Defence in depth</a></li> <li><a href="/wiki/Ecological_resilience" title="Ecological resilience">Ecological resilience</a></li> <li><a href="/wiki/Elegant_degradation" title="Elegant degradation">Elegant degradation</a></li> <li><a href="/wiki/Error_detection_and_correction" title="Error detection and correction">Error detection and correction</a></li> <li><a href="/wiki/Error-tolerant_design" title="Error-tolerant design">Error-tolerant design</a> (<a href="/wiki/Human_error" title="Human error">human error</a>-tolerant design)</li> <li><a href="/wiki/Fail-safe" title="Fail-safe">Fail-safe</a></li> <li><a href="/wiki/Failure_semantics" title="Failure semantics">Failure semantics</a></li> <li><a href="/wiki/Fall_back_and_forward" title="Fall back and forward">Fall back and forward</a></li> <li><a href="/wiki/Graceful_exit" title="Graceful exit">Graceful exit</a></li> <li><a href="/wiki/Intrusion_tolerance" title="Intrusion tolerance">Intrusion tolerance</a></li> <li><a href="/wiki/List_of_system_quality_attributes" title="List of system quality attributes">List of system quality attributes</a></li> <li><a href="/wiki/Progressive_enhancement" title="Progressive enhancement">Progressive enhancement</a></li> <li><a href="/wiki/Resilience_(network)" class="mw-redirect" title="Resilience (network)">Resilience (network)</a></li> <li><a href="/wiki/Robustness_(computer_science)" title="Robustness (computer science)">Robustness (computer science)</a></li> <li><a href="/wiki/Rollback_(data_management)" title="Rollback (data management)">Rollback (data management)</a></li> <li><a href="/wiki/Self-management_(computer_science)" title="Self-management (computer science)">Self-management (computer science)</a></li> <li><a href="/wiki/Crash-only_software" title="Crash-only software">Crash-only software</a></li></ul> </div> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Fault_tolerance&amp;action=edit&amp;section=15" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist"> <div class="mw-references-wrap mw-references-columns"><ol class="references"> <li id="cite_note-computer-structures-1"><span class="mw-cite-backlink">^ <a href="#cite_ref-computer-structures_1-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-computer-structures_1-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-computer-structures_1-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><cite id="CITEREFDaniel_P._SiewiorekC._Gordon_BellAllen_Newell1982" class="citation book cs1">Daniel P. Siewiorek; C. Gordon Bell; Allen Newell (1982). <span class="id-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/computerstructur01siew"><i>Computer Structures: Principles and Examples</i></a></span>. <a href="/wiki/McGraw-Hill" class="mw-redirect" title="McGraw-Hill">McGraw-Hill</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-07-057302-6" title="Special:BookSources/0-07-057302-6"><bdi>0-07-057302-6</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Computer+Structures%3A+Principles+and+Examples&amp;rft.pub=McGraw-Hill&amp;rft.date=1982&amp;rft.isbn=0-07-057302-6&amp;rft.au=Daniel+P.+Siewiorek&amp;rft.au=C.+Gordon+Bell&amp;rft.au=Allen+Newell&amp;rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fcomputerstructur01siew&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AFault+tolerance" class="Z3988"></span></span> </li> <li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFAlgirdas_AvižienisGeorge_C._GilleyFrancis_P._MathurDavid_A._Rennels" class="citation web cs1">Algirdas Avižienis; George C. Gilley; Francis P. Mathur; David A. Rennels; John A. Rohr; David K. Rubin. <a rel="nofollow" class="external text" href="https://www.computer.org/csdl/proceedings/ftcsh/1995/7150/00/00532604.pdf">"The STAR (Self-Testing And Repairing) Computer: An Investigation Of the Theory and Practice Of Fault-tolerant Computer Design"</a> <span class="cs1-format">(PDF)</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=The+STAR+%28Self-Testing+And+Repairing%29+Computer%3A+An+Investigation+Of+the+Theory+and+Practice+Of+Fault-tolerant+Computer+Design&amp;rft.au=Algirdas+Avi%C5%BEienis&amp;rft.au=George+C.+Gilley&amp;rft.au=Francis+P.+Mathur&amp;rft.au=David+A.+Rennels&amp;rft.au=John+A.+Rohr&amp;rft.au=David+K.+Rubin&amp;rft_id=https%3A%2F%2Fwww.computer.org%2Fcsdl%2Fproceedings%2Fftcsh%2F1995%2F7150%2F00%2F00532604.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AFault+tolerance" class="Z3988"></span></span> </li> <li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://voyager.jpl.nasa.gov/mission/weekly-reports/">"Voyager Mission state (more often than not at least three months out of date)"</a>. <i>NASA</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2022-04-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=NASA&amp;rft.atitle=Voyager+Mission+state+%28more+often+than+not+at+least+three+months+out+of+date%29&amp;rft_id=https%3A%2F%2Fvoyager.jpl.nasa.gov%2Fmission%2Fweekly-reports%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AFault+tolerance" class="Z3988"></span></span> </li> <li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFRandellLeeTreleaven1978" class="citation journal cs1"><a href="/wiki/Brian_Randell" title="Brian Randell">Randell, Brian</a>; Lee, P.A.; Treleaven, P. C. (June 1978). <a rel="nofollow" class="external text" href="http://portal.acm.org/citation.cfm?id=356729&amp;coll=&amp;dl=ACM&amp;CFID=15151515&amp;CFTOKEN=6184618">"Reliability Issues in Computing System Design"</a>. <i><a href="/wiki/ACM_Computing_Surveys" title="ACM Computing Surveys">ACM Computing Surveys</a></i>. <b>10</b> (2): 123–165. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F356725.356729">10.1145/356725.356729</a>. <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a>&#160;<a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0360-0300">0360-0300</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:16909447">16909447</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=ACM+Computing+Surveys&amp;rft.atitle=Reliability+Issues+in+Computing+System+Design&amp;rft.volume=10&amp;rft.issue=2&amp;rft.pages=123-165&amp;rft.date=1978-06&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A16909447%23id-name%3DS2CID&amp;rft.issn=0360-0300&amp;rft_id=info%3Adoi%2F10.1145%2F356725.356729&amp;rft.aulast=Randell&amp;rft.aufirst=Brian&amp;rft.au=Lee%2C+P.A.&amp;rft.au=Treleaven%2C+P.+C.&amp;rft_id=http%3A%2F%2Fportal.acm.org%2Fcitation.cfm%3Fid%3D356729%26coll%3D%26dl%3DACM%26CFID%3D15151515%26CFTOKEN%3D6184618&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AFault+tolerance" class="Z3988"></span></span> </li> <li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFP._J._Denning1976" class="citation journal cs1"><a href="/wiki/P._J._Denning" class="mw-redirect" title="P. J. Denning">P. J. Denning</a> (December 1976). <a rel="nofollow" class="external text" href="http://portal.acm.org/citation.cfm?id=356680&amp;dl=ACM&amp;coll=&amp;CFID=15151515&amp;CFTOKEN=6184618">"Fault tolerant operating systems"</a>. <i>ACM Computing Surveys</i>. <b>8</b> (4): 359–389. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F356678.356680">10.1145/356678.356680</a>. <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a>&#160;<a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0360-0300">0360-0300</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:207736773">207736773</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=ACM+Computing+Surveys&amp;rft.atitle=Fault+tolerant+operating+systems&amp;rft.volume=8&amp;rft.issue=4&amp;rft.pages=359-389&amp;rft.date=1976-12&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A207736773%23id-name%3DS2CID&amp;rft.issn=0360-0300&amp;rft_id=info%3Adoi%2F10.1145%2F356678.356680&amp;rft.au=P.+J.+Denning&amp;rft_id=http%3A%2F%2Fportal.acm.org%2Fcitation.cfm%3Fid%3D356680%26dl%3DACM%26coll%3D%26CFID%3D15151515%26CFTOKEN%3D6184618&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AFault+tolerance" class="Z3988"></span></span> </li> <li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFTheodore_A._Linden1976" class="citation journal cs1">Theodore A. Linden (December 1976). <a rel="nofollow" class="external text" href="http://portal.acm.org/citation.cfm?id=356682&amp;coll=&amp;dl=ACM&amp;CFID=15151515&amp;CFTOKEN=6184618">"Operating System Structures to Support Security and Reliable Software"</a>. <i>ACM Computing Surveys</i>. <b>8</b> (4): 409–445. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F356678.356682">10.1145/356678.356682</a>. <a href="/wiki/Hdl_(identifier)" class="mw-redirect" title="Hdl (identifier)">hdl</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://hdl.handle.net/2027%2Fmdp.39015086560037">2027/mdp.39015086560037</a></span>. <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a>&#160;<a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0360-0300">0360-0300</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:16720589">16720589</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=ACM+Computing+Surveys&amp;rft.atitle=Operating+System+Structures+to+Support+Security+and+Reliable+Software&amp;rft.volume=8&amp;rft.issue=4&amp;rft.pages=409-445&amp;rft.date=1976-12&amp;rft_id=info%3Ahdl%2F2027%2Fmdp.39015086560037&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A16720589%23id-name%3DS2CID&amp;rft.issn=0360-0300&amp;rft_id=info%3Adoi%2F10.1145%2F356678.356682&amp;rft.au=Theodore+A.+Linden&amp;rft_id=http%3A%2F%2Fportal.acm.org%2Fcitation.cfm%3Fid%3D356682%26coll%3D%26dl%3DACM%26CFID%3D15151515%26CFTOKEN%3D6184618&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AFault+tolerance" class="Z3988"></span></span> </li> <li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"> Ray Holt. <a rel="nofollow" class="external text" href="http://www.firstmicroprocessor.com/documents/lsistate-97.pdf">"The F14A Central Air Data Computer, and the LSI Technology State-of-the-Art in 1968"</a>.</span> </li> <li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text">Fault tolerant computing in computer design Neilforoshan, M.R Journal of Computing Sciences in Colleges archive Volume 18, Issue 4 (April 2003) Pages: 213 – 220, <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a>&#160;<a rel="nofollow" class="external text" href="https://www.worldcat.org/search?fq=x0:jrnl&amp;q=n2:1937-4771">1937-4771</a></span> </li> <li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.fundinguniverse.com/company-histories/tandem-computers-inc-history/">"History of TANDEM COMPUTERS, INC"</a>. <i>FundingUniverse</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2023-03-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=FundingUniverse&amp;rft.atitle=History+of+TANDEM+COMPUTERS%2C+INC.&amp;rft_id=http%3A%2F%2Fwww.fundinguniverse.com%2Fcompany-histories%2Ftandem-computers-inc-history%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AFault+tolerance" class="Z3988"></span></span> </li> <li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFNathaniel2021" class="citation web cs1">Nathaniel (17 March 2021). <a rel="nofollow" class="external text" href="https://dev.to/shadowfaxrodeo/why-your-website-should-work-without-javascript-3kko">"Why your website should work without JavaScript"</a>. <i>DEV Community</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2021-05-16</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=DEV+Community&amp;rft.atitle=Why+your+website+should+work+without+JavaScript.&amp;rft.date=2021-03-17&amp;rft.au=Nathaniel&amp;rft_id=https%3A%2F%2Fdev.to%2Fshadowfaxrodeo%2Fwhy-your-website-should-work-without-javascript-3kko&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AFault+tolerance" class="Z3988"></span></span> </li> <li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFFairfax2020" class="citation web cs1">Fairfax, Zackerie (2020-11-28). <a rel="nofollow" class="external text" href="https://screenrant.com/twitter-legacy-nintendo-3ds-shut-down-date-december-2020/">"Legacy Twitter Shutdown Means You Can't Tweet From The 3DS Anymore"</a>. <i><a href="/wiki/Screen_Rant" title="Screen Rant">Screen Rant</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">2021-07-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Screen+Rant&amp;rft.atitle=Legacy+Twitter+Shutdown+Means+You+Can%27t+Tweet+From+The+3DS+Anymore&amp;rft.date=2020-11-28&amp;rft.aulast=Fairfax&amp;rft.aufirst=Zackerie&amp;rft_id=https%3A%2F%2Fscreenrant.com%2Ftwitter-legacy-nintendo-3ds-shut-down-date-december-2020%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AFault+tolerance" class="Z3988"></span></span> </li> <li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHudakSuhSiewiorekSegall1993" class="citation journal cs1">Hudak, J.J.; Suh, B.-H.; Siewiorek, D.P.; Segall, Z. (1993). <a rel="nofollow" class="external text" href="https://ieeexplore.ieee.org/document/229487">"Evaluation and comparison of fault-tolerant software techniques"</a>. <i>IEEE Transactions on Reliability</i>. <b>42</b> (2): 190–204. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2F24.229487">10.1109/24.229487</a>. <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a>&#160;<a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/1558-1721">1558-1721</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=IEEE+Transactions+on+Reliability&amp;rft.atitle=Evaluation+and+comparison+of+fault-tolerant+software+techniques&amp;rft.volume=42&amp;rft.issue=2&amp;rft.pages=190-204&amp;rft.date=1993&amp;rft_id=info%3Adoi%2F10.1109%2F24.229487&amp;rft.issn=1558-1721&amp;rft.aulast=Hudak&amp;rft.aufirst=J.J.&amp;rft.au=Suh%2C+B.-H.&amp;rft.au=Siewiorek%2C+D.P.&amp;rft.au=Segall%2C+Z.&amp;rft_id=https%3A%2F%2Fieeexplore.ieee.org%2Fdocument%2F229487&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AFault+tolerance" class="Z3988"></span></span> </li> <li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text">Stallings, W (2009): <i>Operating Systems. Internals and Design Principles</i>, sixth edition</span> </li> <li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFThampi2009" class="citation arxiv cs1">Thampi, Sabu M. (2009-11-23). "Introduction to Distributed Systems". <a href="/wiki/ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/0911.4395">0911.4395</a></span> [<a rel="nofollow" class="external text" href="https://arxiv.org/archive/cs.DC">cs.DC</a>].</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=preprint&amp;rft.jtitle=arXiv&amp;rft.atitle=Introduction+to+Distributed+Systems&amp;rft.date=2009-11-23&amp;rft_id=info%3Aarxiv%2F0911.4395&amp;rft.aulast=Thampi&amp;rft.aufirst=Sabu+M.&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AFault+tolerance" class="Z3988"></span></span> </li> <li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/19991008210224/http://grouper.ieee.org/groups/1461/glossary.htm">"Control"</a>. <i><a href="/wiki/IEEE" class="mw-redirect" title="IEEE">IEEE</a></i>. Archived from <a rel="nofollow" class="external text" href="http://grouper.ieee.org/groups/1461/glossary.htm">the original</a> on 1999-10-08<span class="reference-accessdate">. Retrieved <span class="nowrap">2016-04-06</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=IEEE&amp;rft.atitle=Control&amp;rft_id=http%3A%2F%2Fgrouper.ieee.org%2Fgroups%2F1461%2Fglossary.htm&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AFault+tolerance" class="Z3988"></span></span> </li> <li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text">Baha Al-Shaikh, Simon G. Stacey, <i>Essentials of Equipment in Anaesthesia, Critical Care, and Peri-Operative Medicine</i> (2017), p. 247.</span> </li> <li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text">Dubrova, E. (2013). "Fault-Tolerant Design", Springer, 2013, <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-1-4614-2112-2" title="Special:BookSources/978-1-4614-2112-2">978-1-4614-2112-2</a></span> </li> <li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation book cs1"><i>Reliability evaluation of some fault-tolerant computer architectures</i>. Springer-Verlag. November 1980. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-3-540-10274-8" title="Special:BookSources/978-3-540-10274-8"><bdi>978-3-540-10274-8</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Reliability+evaluation+of+some+fault-tolerant+computer+architectures&amp;rft.pub=Springer-Verlag&amp;rft.date=1980-11&amp;rft.isbn=978-3-540-10274-8&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AFault+tolerance" class="Z3988"></span></span> </li> <li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHerzbergShulman2012" class="citation book cs1">Herzberg, Amir; Shulman, Haya (2012). <a rel="nofollow" class="external text" href="https://dx.doi.org/10.1109/ares.2012.28">"Oblivious and Fair Server-Aided Two-Party Computation"</a>. <i>2012 Seventh International Conference on Availability, Reliability and Security</i>. IEEE. pp.&#160;75–84. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2Fares.2012.28">10.1109/ares.2012.28</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-1-4673-2244-7" title="Special:BookSources/978-1-4673-2244-7"><bdi>978-1-4673-2244-7</bdi></a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:6579295">6579295</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=Oblivious+and+Fair+Server-Aided+Two-Party+Computation&amp;rft.btitle=2012+Seventh+International+Conference+on+Availability%2C+Reliability+and+Security&amp;rft.pages=75-84&amp;rft.pub=IEEE&amp;rft.date=2012&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A6579295%23id-name%3DS2CID&amp;rft_id=info%3Adoi%2F10.1109%2Fares.2012.28&amp;rft.isbn=978-1-4673-2244-7&amp;rft.aulast=Herzberg&amp;rft.aufirst=Amir&amp;rft.au=Shulman%2C+Haya&amp;rft_id=http%3A%2F%2Fdx.doi.org%2F10.1109%2Fares.2012.28&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AFault+tolerance" class="Z3988"></span></span> </li> <li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFRiggerPekarekMössenböck2018" class="citation cs2">Rigger, Manuel; Pekarek, Daniel; Mössenböck, Hanspeter (2018), <a rel="nofollow" class="external text" href="https://dx.doi.org/10.1007/978-3-030-02744-5_28">"Context-Aware Failure-Oblivious Computing as a Means of Preventing Buffer Overflows"</a>, <i>Network and System Security</i>, Lecture Notes in Computer Science, vol.&#160;11058, Cham: Springer International Publishing, pp.&#160;376–390, <a href="/wiki/ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/1806.09026">1806.09026</a></span>, <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-3-030-02744-5_28">10.1007/978-3-030-02744-5_28</a>, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-3-030-02743-8" title="Special:BookSources/978-3-030-02743-8"><bdi>978-3-030-02743-8</bdi></a><span class="reference-accessdate">, retrieved <span class="nowrap">2020-10-07</span></span></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Network+and+System+Security&amp;rft.atitle=Context-Aware+Failure-Oblivious+Computing+as+a+Means+of+Preventing+Buffer+Overflows&amp;rft.volume=11058&amp;rft.pages=376-390&amp;rft.date=2018&amp;rft_id=info%3Aarxiv%2F1806.09026&amp;rft_id=info%3Adoi%2F10.1007%2F978-3-030-02744-5_28&amp;rft.isbn=978-3-030-02743-8&amp;rft.aulast=Rigger&amp;rft.aufirst=Manuel&amp;rft.au=Pekarek%2C+Daniel&amp;rft.au=M%C3%B6ssenb%C3%B6ck%2C+Hanspeter&amp;rft_id=http%3A%2F%2Fdx.doi.org%2F10.1007%2F978-3-030-02744-5_28&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AFault+tolerance" class="Z3988"></span></span> </li> <li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFKeromytis2007" class="citation cs2">Keromytis, Angelos D. (2007), <a rel="nofollow" class="external text" href="https://books.google.com/books?id=N2uIjckxHSoC&amp;q=failure-oblivious&amp;pg=PA27">"Characterizing Software Self-Healing Systems"</a>, in Gorodetski, Vladimir I.; Kotenko, Igor; Skormin, Victor A. (eds.), <i>Characterizing Software Self-Healing Systems</i>, Computer network security: Fourth International Conference on Mathematical Methods, Models, and Architectures for Computer Network Security, <a href="/wiki/Springer_Science%2BBusiness_Media" title="Springer Science+Business Media">Springer</a>, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-3-540-73985-2" title="Special:BookSources/978-3-540-73985-2"><bdi>978-3-540-73985-2</bdi></a></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=Characterizing+Software+Self-Healing+Systems&amp;rft.btitle=Characterizing+Software+Self-Healing+Systems&amp;rft.series=Computer+network+security%3A+Fourth+International+Conference+on+Mathematical+Methods%2C+Models%2C+and+Architectures+for+Computer+Network+Security&amp;rft.pub=Springer&amp;rft.date=2007&amp;rft.isbn=978-3-540-73985-2&amp;rft.aulast=Keromytis&amp;rft.aufirst=Angelos+D.&amp;rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3DN2uIjckxHSoC%26q%3Dfailure-oblivious%26pg%3DPA27&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AFault+tolerance" class="Z3988"></span></span> </li> <li id="cite_note-rcv-22"><span class="mw-cite-backlink">^ <a href="#cite_ref-rcv_22-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-rcv_22-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-rcv_22-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFLongSidiroglou-DouskosRinard2014" class="citation book cs1">Long, Fan; Sidiroglou-Douskos, Stelios; Rinard, Martin (2014). "Automatic Runtime Error Repair and Containment via Recovery Shepherding". <i>Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation</i>. PLDI '14'. New York, NY, US: ACM. pp.&#160;227–238. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F2594291.2594337">10.1145/2594291.2594337</a></span>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-1-4503-2784-8" title="Special:BookSources/978-1-4503-2784-8"><bdi>978-1-4503-2784-8</bdi></a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:6252501">6252501</a></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=Automatic+Runtime+Error+Repair+and+Containment+via+Recovery+Shepherding&amp;rft.btitle=Proceedings+of+the+35th+ACM+SIGPLAN+Conference+on+Programming+Language+Design+and+Implementation&amp;rft.place=New+York%2C+NY%2C+US&amp;rft.series=PLDI+%2714%27&amp;rft.pages=227-238&amp;rft.pub=ACM&amp;rft.date=2014&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A6252501%23id-name%3DS2CID&amp;rft_id=info%3Adoi%2F10.1145%2F2594291.2594337&amp;rft.isbn=978-1-4503-2784-8&amp;rft.aulast=Long&amp;rft.aufirst=Fan&amp;rft.au=Sidiroglou-Douskos%2C+Stelios&amp;rft.au=Rinard%2C+Martin&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AFault+tolerance" class="Z3988"></span></span> </li> <li id="cite_note-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-23">^</a></b></span> <span class="reference-text">Laprie, J. C. (1985). "<a rel="nofollow" class="external text" href="http://www.macedo.ufba.br/conceptsANDTermonology.pdf">Dependable Computing and Fault Tolerance: Concepts and Terminology</a>", Proceedings of 15th International Symposium on Fault-Tolerant Computing (FTSC-15), pp. 2–11</span> </li> <li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text">von Neumann, J. (1956). "<a rel="nofollow" class="external text" href="http://www.cyclify.com/wiki/images/a/af/Von_Neumann_Probabilistic_Logics_and_the_Synthesis_of_Reliable_Organisms_from_Unreliable_Components.pdf">Probabilistic Logics and Synthesis of Reliable Organisms from Unreliable Components</a>", in Automata Studies, eds. C. Shannon and J. McCarthy, Princeton University Press, pp. 43–98</span> </li> <li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text">Avizienis, A. (1976). "<a rel="nofollow" class="external text" href="https://www.computer.org/csdl/trans/tc/1976/12/01674598.pdf">Fault-Tolerant Systems</a>", IEEE Transactions on Computers, vol. 25, no. 12, pp. 1304–1312</span> </li> </ol></div></div> <div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}</style><style data-mw-deduplicate="TemplateStyles:r1236075235">.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}</style></div><div role="navigation" class="navbox" aria-labelledby="Systems_engineering" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><style data-mw-deduplicate="TemplateStyles:r1239400231">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Systems_engineering" title="Template:Systems engineering"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Systems_engineering" title="Template talk:Systems engineering"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Systems_engineering" title="Special:EditPage/Template:Systems engineering"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Systems_engineering" style="font-size:114%;margin:0 4em"><a href="/wiki/Systems_engineering" title="Systems engineering">Systems engineering</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Subfields</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Aerospace_engineering" title="Aerospace engineering">Aerospace engineering</a></li> <li><a href="/wiki/Biological_systems_engineering" title="Biological systems engineering">Biological systems engineering</a></li> <li><a href="/wiki/Cognitive_systems_engineering" title="Cognitive systems engineering">Cognitive systems engineering</a></li> <li><a href="/wiki/Configuration_management" title="Configuration management">Configuration management</a></li> <li><a href="/wiki/Earth_systems_engineering_and_management" title="Earth systems engineering and management">Earth systems engineering and management</a></li> <li><a href="/wiki/Electrical_engineering" title="Electrical engineering">Electrical engineering</a></li> <li><a href="/wiki/Enterprise_systems_engineering" title="Enterprise systems engineering">Enterprise systems engineering</a></li> <li><a href="/wiki/Health_systems_engineering" title="Health systems engineering">Health systems engineering</a></li> <li><a href="/wiki/Performance_engineering" title="Performance engineering">Performance engineering</a></li> <li><a href="/wiki/Reliability_engineering" title="Reliability engineering">Reliability engineering</a></li> <li><a href="/wiki/Safety_engineering" title="Safety engineering">Safety engineering</a></li> <li><a href="/wiki/Stanford_torus" title="Stanford torus">Sociocultural Systems Engineering</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Processes</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Requirements_engineering" title="Requirements engineering">Requirements engineering</a></li> <li><a href="/wiki/Functional_specification" title="Functional specification">Functional specification</a></li> <li><a href="/wiki/System_integration" title="System integration">System integration</a></li> <li><a href="/wiki/Verification_and_validation" title="Verification and validation">Verification and validation</a></li> <li><a href="/wiki/Design_review" title="Design review">Design review</a></li> <li><a href="/wiki/System_of_systems_engineering" title="System of systems engineering">System of systems engineering</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Concepts</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Business_process" title="Business process">Business process</a></li> <li><a class="mw-selflink selflink">Fault tolerance</a></li> <li><a href="/wiki/System" title="System">System</a></li> <li><a href="/wiki/System_lifecycle" class="mw-redirect" title="System lifecycle">System lifecycle</a></li> <li><a href="/wiki/V-model" title="V-model">V-Model</a></li> <li><a href="/wiki/Systems_development_life_cycle" title="Systems development life cycle">Systems development life cycle</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Tools</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Decision-making" title="Decision-making">Decision-making</a></li> <li><a href="/wiki/Function_model" title="Function model">Function modelling</a></li> <li><a href="/wiki/IDEF" title="IDEF">IDEF</a></li> <li><a href="/wiki/Mathematical_optimization" title="Mathematical optimization">Optimization</a></li> <li><a href="/wiki/Quality_function_deployment" title="Quality function deployment">Quality function deployment</a></li> <li><a href="/wiki/System_dynamics" title="System dynamics">System dynamics</a></li> <li><a href="/wiki/Systems_Modeling_Language" class="mw-redirect" title="Systems Modeling Language">Systems Modeling Language</a></li> <li><a href="/wiki/Systems_analysis" title="Systems analysis">Systems analysis</a></li> <li><a href="/wiki/Systems_modeling" title="Systems modeling">Systems modeling</a></li> <li><a href="/wiki/Work_breakdown_structure" title="Work breakdown structure">Work breakdown structure</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">People</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/James_S._Albus" title="James S. Albus">James S. Albus</a></li> <li><a href="/wiki/Ruzena_Bajcsy" title="Ruzena Bajcsy">Ruzena Bajcsy</a></li> <li><a href="/wiki/Benjamin_S._Blanchard" title="Benjamin S. Blanchard">Benjamin S. Blanchard</a></li> <li><a href="/wiki/Wernher_von_Braun" title="Wernher von Braun">Wernher von Braun</a></li> <li><a href="/wiki/Kathleen_Carley" title="Kathleen Carley">Kathleen Carley</a></li> <li><a href="/wiki/Harold_Chestnut" title="Harold Chestnut">Harold Chestnut</a></li> <li><a href="/wiki/Wolt_Fabrycky" title="Wolt Fabrycky">Wolt Fabrycky</a></li> <li><a href="/wiki/Barbara_Grosz" class="mw-redirect" title="Barbara Grosz">Barbara Grosz</a></li> <li><a href="/wiki/Arthur_David_Hall_III" title="Arthur David Hall III">Arthur David Hall III</a></li> <li><a href="/wiki/Derek_Hitchins" title="Derek Hitchins">Derek Hitchins</a></li> <li><a href="/wiki/Robert_E._Machol" title="Robert E. Machol">Robert E. Machol</a></li> <li><a href="/wiki/Radhika_Nagpal" title="Radhika Nagpal">Radhika Nagpal</a></li> <li><a href="/wiki/Simon_Ramo" title="Simon Ramo">Simon Ramo</a></li> <li><a href="/wiki/Joseph_Francis_Shea" title="Joseph Francis Shea">Joseph Francis Shea</a></li> <li><a href="/wiki/Katia_Sycara" title="Katia Sycara">Katia Sycara</a></li> <li><a href="/wiki/Manuela_M._Veloso" title="Manuela M. Veloso">Manuela M. Veloso</a></li> <li><a href="/wiki/John_N._Warfield" title="John N. Warfield">John N. Warfield</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related fields</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Control_engineering" title="Control engineering">Control engineering</a></li> <li><a href="/wiki/Computer_engineering" title="Computer engineering">Computer engineering</a></li> <li><a href="/wiki/Industrial_engineering" title="Industrial engineering">Industrial engineering</a></li> <li><a href="/wiki/Operations_research" title="Operations research">Operations research</a></li> <li><a href="/wiki/Project_management" title="Project management">Project management</a></li> <li><a href="/wiki/Quality_management" title="Quality management">Quality management</a></li> <li><a href="/wiki/Risk_management" title="Risk management">Risk management</a></li> <li><a href="/wiki/Software_engineering" title="Software engineering">Software engineering</a></li></ul> </div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div> <ul><li><a href="/wiki/Category:Systems_engineering" title="Category:Systems engineering">Category</a></li></ul> </div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐f69cdc8f6‐pqfbt Cached time: 20241122142737 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.626 seconds Real time usage: 0.798 seconds Preprocessor visited node count: 3323/1000000 Post‐expand include size: 70340/2097152 bytes Template argument size: 3533/2097152 bytes Highest expansion depth: 16/100 Expensive parser function count: 8/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 85232/5000000 bytes Lua time usage: 0.368/10.000 seconds Lua memory usage: 8196027/52428800 bytes Number of Wikibase entities loaded: 1/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 712.840 1 -total 39.93% 284.602 1 Template:Reflist 18.27% 130.205 4 Template:Cite_book 11.94% 85.102 1 Template:Systems_engineering 11.83% 84.350 1 Template:Short_description 11.46% 81.663 1 Template:Navbox 8.75% 62.360 1 Template:More_citations_needed 8.38% 59.768 1 Template:Ambox 7.70% 54.920 2 Template:Pagetype 5.08% 36.197 3 Template:Rp --> <!-- Saved in parser cache with key enwiki:pcache:idhash:2091393-0!canonical and timestamp 20241122142737 and revision id 1244027271. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Fault_tolerance&amp;oldid=1244027271">https://en.wikipedia.org/w/index.php?title=Fault_tolerance&amp;oldid=1244027271</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Fault_tolerance" title="Category:Fault tolerance">Fault tolerance</a></li><li><a href="/wiki/Category:Reliability_engineering" title="Category:Reliability engineering">Reliability engineering</a></li><li><a href="/wiki/Category:Computer_systems" title="Category:Computer systems">Computer systems</a></li><li><a href="/wiki/Category:Control_engineering" title="Category:Control engineering">Control engineering</a></li><li><a href="/wiki/Category:Systems_engineering" title="Category:Systems engineering">Systems engineering</a></li><li><a href="/wiki/Category:Software_quality" title="Category:Software quality">Software quality</a></li><li><a href="/wiki/Category:RAID" title="Category:RAID">RAID</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_is_different_from_Wikidata" title="Category:Short description is different from Wikidata">Short description is different from Wikidata</a></li><li><a href="/wiki/Category:Use_American_English_from_February_2019" title="Category:Use American English from February 2019">Use American English from February 2019</a></li><li><a href="/wiki/Category:All_Wikipedia_articles_written_in_American_English" title="Category:All Wikipedia articles written in American English">All Wikipedia articles written in American English</a></li><li><a href="/wiki/Category:Articles_needing_additional_references_from_January_2008" title="Category:Articles needing additional references from January 2008">Articles needing additional references from January 2008</a></li><li><a href="/wiki/Category:All_articles_needing_additional_references" title="Category:All articles needing additional references">All articles needing additional references</a></li><li><a href="/wiki/Category:Vague_or_ambiguous_geographic_scope_from_June_2017" title="Category:Vague or ambiguous geographic scope from June 2017">Vague or ambiguous geographic scope from June 2017</a></li><li><a href="/wiki/Category:Wikipedia_articles_needing_clarification_from_June_2017" title="Category:Wikipedia articles needing clarification from June 2017">Wikipedia articles needing clarification from June 2017</a></li><li><a href="/wiki/Category:Wikipedia_articles_needing_clarification_from_June_2014" title="Category:Wikipedia articles needing clarification from June 2014">Wikipedia articles needing clarification from June 2014</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 4 September 2024, at 17:15<span class="anonymous-show">&#160;(UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Fault_tolerance&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-f69cdc8f6-c8xbz","wgBackendResponseTime":183,"wgPageParseReport":{"limitreport":{"cputime":"0.626","walltime":"0.798","ppvisitednodes":{"value":3323,"limit":1000000},"postexpandincludesize":{"value":70340,"limit":2097152},"templateargumentsize":{"value":3533,"limit":2097152},"expansiondepth":{"value":16,"limit":100},"expensivefunctioncount":{"value":8,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":85232,"limit":5000000},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 712.840 1 -total"," 39.93% 284.602 1 Template:Reflist"," 18.27% 130.205 4 Template:Cite_book"," 11.94% 85.102 1 Template:Systems_engineering"," 11.83% 84.350 1 Template:Short_description"," 11.46% 81.663 1 Template:Navbox"," 8.75% 62.360 1 Template:More_citations_needed"," 8.38% 59.768 1 Template:Ambox"," 7.70% 54.920 2 Template:Pagetype"," 5.08% 36.197 3 Template:Rp"]},"scribunto":{"limitreport-timeusage":{"value":"0.368","limit":"10.000"},"limitreport-memusage":{"value":8196027,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-f69cdc8f6-pqfbt","timestamp":"20241122142737","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Fault tolerance","url":"https:\/\/en.wikipedia.org\/wiki\/Fault_tolerance","sameAs":"http:\/\/www.wikidata.org\/entity\/Q3140932","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q3140932","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2005-06-22T08:20:39Z","dateModified":"2024-09-04T17:15:36Z","headline":"ability of a system to continue functioning despite erroneous inputs or faults within some of its components"}</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10