Fouttolerant
Een fouttolerant of schadebestendig systeem blijft zonder noemenswaardige vertraging functioneren als er fouten optreden. De resultaten die het systeem levert kunnen wel onder de fouten lijden. Fouttolerantie is een ontwerpprincipe waarbij de eis wordt gesteld dat een systeem of een proces niet stil mag vallen of onderbroken mag worden. De eisen aan de beschikbaarheid zijn dan hoog. Fouttolerantie kan daarnaast ook een eigenschap zijn van communicatie en van interactie.
Verwant begrip
[bewerken | brontekst bewerken]Bij failsafe staat niet de ononderbroken werking voorop, maar de instandhouding van het veiligheidsniveau. Bij failsafe wordt bij het ontwerp de eis gesteld dat voorzienbare fouten, gebreken en verstoringen niet mogen leiden tot een minder veilige situatie.
Fouten
[bewerken | brontekst bewerken]Voorbeelden van fouten waarvoor systemen tolerant gemaakt kunnen worden zijn:
- Het uitvallen van onderdelen van het systeem.
- Fouten in de data of materialen die in een systeem worden ingevoerd.
- Fouten in programmatuur en/of besturing.
Een systeem zal alleen fouttolerant zijn ten aanzien van omstandigheden en soorten fouten die bij het ontwerp voorzien werden.
Maatregelen
[bewerken | brontekst bewerken]Maatregelen voor het bereiken van fouttolerantie zijn onder meer:
- Onderdelen dubbel aanbrengen, zodat bij uitval van een onderdeel het andere onderdeel ingeschakeld kan worden. Dit wordt wel redundantie genoemd.
- Methoden gebruiken om invoer met gebreken terzijde te stellen of uit het systeem af te voeren, zodat deze invoer geen schade kan veroorzaken aan het systeem, en ook niet aan de producten of diensten die het systeem levert.
- Het gebruik van foutebestendige ofwel robuuste programmatuur en besturingen.
- Het systeem zo ontwerpen dat onderhoud en herstel mogelijk is zonder het systeem stil te leggen.
- Het aanbrengen van een (sub)systeem voor diagnose van fouten en gebreken. Dat is een voorwaarde voor het opmerken en herstellen van fouten en gebreken. Het systeem is ontwerpen om bij fouten en gebreken ongestoord te blijven fuctioneren.
- Maatregelen nemen voor foutbeheersing, zodat een fout zich niet door de rest van het systeem kan uitbreiden.
Voorbeelden
[bewerken | brontekst bewerken]- Een noodstroomvoorziening. Hiermee wordt de energievoorziening dubbel aangebracht.
- Replicatie, het dubbel opslaan van gegevens.
- Het Transmission Control Protocol (TCP), dat veel gebruikt wordt bij pakketgeschakelde netwerken. Dit protocol eist dat de eindpunten van de communicatie controleren op verlies, verdubbeling, herschikking en corruptie van pakketten.
- RAID-systemen voor schijfopslag in een computeromgeving.
- Het in zijn geheel dubbel uitvoeren van een systeem, zodat het ene systeem hersteld of onderhouden kan worden terwijl het andere in productie is.
Zie ook
[bewerken | brontekst bewerken]Externe links
[bewerken | brontekst bewerken]- "Practical Considerations in Making CORBA Services Fault-Tolerant" van Priya Narasimhan
- Artikel over TMR, behandelt het gebruik van TMR in vliegtuigelectronica en de industrie
- Artikel "Experiences, Strategies and Challenges in Building Fault-Tolerant CORBA Systems" van Pascal Felber en Priya Narasimhan
- Dependability And Its Threats: A Taxonomy, door Algirdas Avizienis, Jean-Claude Laprie, Brian Randell
- Het door de EU gesubsidieerde onderzoeksproject HPC4U, dat de ontwikkeling van fouttolerante technologieën voor omgevingen waarin gebruik wordt gemaakt van Grid computing onderzoekt.
- (en) Fouttolerantie en hoge beschikbaarheidssystemen
Verwijzingen
[bewerken | brontekst bewerken]- Brian Randell, P.A. Lee, P. C. Treleaven (Juni 1978). Reliability Issues in Computing System Design. ACM Computing Surveys (CSUR) 10 (2): 123–165. ISSN: 0360-0300. DOI: 10.1145/356725.356729.
- P. J. Denning (December 1976). Fault tolerant operating systems. ACM Computing Surveys (CSUR) 8 (4): 359–389. ISSN: 0360-0300. DOI: 10.1145/356678.356680.
- Theodore A. Linden (December 1976). Operating System Structures to Support Security and Reliable Software. ACM Computing Surveys (CSUR) 8 (4): 409–445. ISSN: 0360-0300. DOI: 10.1145/356678.356682.