DE102004049900A1 - System und Verfahren zum redundanten Betrieb zweier Computer sowie zugehöriges Computerprogrammprodukt - Google Patents

System und Verfahren zum redundanten Betrieb zweier Computer sowie zugehöriges Computerprogrammprodukt Download PDF

Info

Publication number
DE102004049900A1
DE102004049900A1 DE102004049900A DE102004049900A DE102004049900A1 DE 102004049900 A1 DE102004049900 A1 DE 102004049900A1 DE 102004049900 A DE102004049900 A DE 102004049900A DE 102004049900 A DE102004049900 A DE 102004049900A DE 102004049900 A1 DE102004049900 A1 DE 102004049900A1
Authority
DE
Germany
Prior art keywords
computers
computer
monitoring
synchronization
decision
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE102004049900A
Other languages
English (en)
Inventor
Hubert Dr. Bellm
Herbert Grieb
Rolf Köppel
Ulrich Lehmann
Peter Müller
Theo Schlotter
Robert Schwab
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE102004049900A priority Critical patent/DE102004049900A1/de
Publication of DE102004049900A1 publication Critical patent/DE102004049900A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1679Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2048Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Hardware Redundancy (AREA)

Abstract

Die Erfindung betrifft die Gewährleistung einer 1-von-2-Redundanz bei einem System aus zwei Computern. DOLLAR A Die Gewährleistung einer möglichst hohen Daten- und Ausfallsicherheit bei Computern erfolgt im Regelfall dadurch, dass der Computer bezüglich Hardware und Software redundant ausgelegt wird. Dies bedingt hochleistungsfähige Einzelrechner und komplexe Software. DOLLAR A Es wird vorgeschlagen, zwei Standardcomputer zu wählen, die jeweils die Funktionstüchtigkeit ihrer Komponenten durch Messung von Hardwarekenngrößen überwachen. Ein funktionstüchiger Computer ist der Master und wird für eine Applikation genutzt. Zumindest ein Teil des Arbeitsspeichers des Masters wird im Wege der Synchronisation zum zweiten Computer, dem Slave, transferiert. Verschlechtert sich die Funktionstüchtigkeit des Masters, so springt der Slave als neuer Master ein.

Description

  • Technisches Gebiet
  • Die Erfindung betrifft Computersysteme und deren besondere Auslegung zur Gewährleistung einer hohen Daten- und Ausfallsicherheit. Insbesondere betrifft die Erfindung ein System und ein Verfahren zum redundanten Betrieb zweier Computer und dient besonders der Realisierung einer 1-von-2-Redundanz für zwei Standardcomputer und so beispielsweise für zwei Industriecomputer. Die Erfindung ist auf dem Gebiet der Automatisierungstechnik anwendbar, wie beispielsweise auf dem Gebiet des Bedienens und Beobachtens von Geräten oder technischen Anlagen. Auf diesem Gebiet werden beispielsweise Produktionsabläufe wie Lötprozesse mit Computern überwacht und gesteuert, wobei die Computer zuverlässig rund um die Uhr funktionieren müssen, um Standzeiten zu vermeiden.
  • Stand der Technik
  • Die Gewährleistung einer hohen Datensicherheit und einer möglichst hohen Ausfallsicherheit bei Computern hat eine hohe betriebswirtschaftliche Bedeutung. Seitens der EDV-Abteilungen wird versucht, diese Ziele durch redundante Auslegung der Computersysteme zu erreichen. Die Redundanz erfasst hierbei im Regelfall sowohl die Hardware als auch die Software. Die Computersysteme sind so ausgelegt, dass bei Ausfall eines Anwenderprogramms und/oder eines Computers ein anderer Computer und/oder eine identische und lauffähige Version des Anwenderprogramms einspringt und dies bevorzugt ohne zeitliche Verzögerung.
  • Bekannt sind RAID-Systeme (von Englisch: Redundant Array of Independent Disks). Bei einer Betriebsart von RAID-Systemen, nämlich RAID 1, verfügt das Computersystem über zwei meist baugleiche Festplatten und sorgt ein zugehöriger Controller dafür, dass beim Ablegen von Daten auf der ersten Festplatte ein identischer Schreibvorgang auf die zweite Festplatte erfolgt. Es liegen dann in der Praxis zwei Festplatten mit identischem Speicherinhalt vor, so dass beim Ausfall einer dieser Festplatten noch alle Daten vorhanden sind und mittels des zugehörigen Controllers ein unmittelbares Weiterarbeiten möglich ist.
  • In dem Buch J. Gebauer: "Backoffice, Clustering mit Windows NT", Verlag Addison Wesley, 1999, ISBN-Nummer: 3-8273-1403-8 wird eine Clusterlösung mit mindestens zwei Servern vorgestellt. Fällt ein erster Server aus, springt ein anderer Server ein und ersetzt diesen. Eine derartige Clusterlösung setzt hochleistungsfähige und redundant ausgelegte Einzelserver sowie eine komplexe Zusatzsoftware voraus, um ein Einspringen im Bedarfsfall zu gewährleisten.
  • Bekannt sind "Reflective Memory"-Systeme, beispielsweise solche der Firma GE Fanuc Automation aus Charlotteville, USA. Derartige Produkte umfassen eine Steckkarte mit darauf befindlichen RAM-Bausteinen, die mehreren PCs gemeinsam zur Verfügung gestellt werden. Schreibt ein Computer Daten in seinen Arbeitsspeicher, so sorgt die Steckkarte dafür, dass ein identischer Schreibvorgang in das zusätzliche RAM der Steckkarte erfolgt. Auf diese Weise können die in den spiegelnden Arbeitsspeicher geschriebenen Daten auch anderen Computern in einem Netzwerk in Echtzeit zur Verfügung gestellt werden. Derartige Systeme werden benutzt, um einen schnellen Datenaustausch zwischen den Computern in einem Netzwerk zu ermöglichen.
  • Kommerziell erhältlich sind ferner "Reflective Memory"-Systeme auf reiner Softwarebasis, z. B. in Form des Produkts "Amirus MM" der Firma Citrus Controls Inc., Las Vegas, Texas, USA.
  • Darstellung der Erfindung
  • Der Erfindung liegt das technische Problem zugrunde, eine 1-von-2-Redundanz beim Einsatz zweier Standardcomputer zu ermöglichen.
  • Das oben genannte technische Problem wird durch die Merkmale der unabhängigen Ansprüche gelöst. Vorteilhafte Weiterbildungen werden durch die Merkmale der abhängigen Ansprüche wiedergegeben.
  • Der vorrichtungsseitige Teil der erfindungsgemäßen Lösung sieht vor, ein Computersystem mit zwei Computern, insbesondere mit genau zwei Computern vorzusehen, welche jeweils eine Komponente für die Überwachung der Computerhardware aufweisen, eine Komponente für die Synchronisation des Arbeitsspeicherinhalts mit dem Arbeitsspeicherinhalt des anderen Computers besitzen und eine Komponente für die Entscheidung darüber besitzen, welcher von den zwei Computern für die Abarbeitung eines Anwenderprogramms genutzt werden soll.
  • Der verfahrensseitige Teil der erfindungsgemäßen Lösung sieht ein Verfahren vor, bei dem eine regelmäßige Überwachung der Computerhardware erfolgt, bei dem eine Entscheidung darüber gefällt wird, welcher von den zwei Computern für die Abarbeitung eines Anwenderprogramms genutzt werden soll, und bei dem eine regelmäßige Synchronisation der Arbeitsspeicherinhalte beider Computer erfolgt.
  • Die erfindungsgemäße Lösung verzichtet auf die redundante Auslegung der einzelnen Computer und erfordert nur eine einfach gehaltene Soft- und/oder Hardware. Bei einer Softwarelösung wird eine Schnittstelle angeboten, so dass ein Datenaustausch mit entsprechend angepassten Anwenderprogrammen möglich ist.
  • Bei den Computern kann es sich insbesondere auch um Standardcomputer handeln und so beispielsweise um Standard-Industriecomputer. Dies bedeutet, dass der einzelne Standardcomputer weder baulich noch bezüglich seiner Softwareausstattung redundant ausgelegt ist.
  • Die Überwachungskomponente bzw. das Überwachungsmittel sollen den jeweiligen Computer gelegentlich (z. B. in regelmäßigen Zeitintervallen) oder kontinuierlich auf seine Funktionstüchtigkeit hin überprüfen. In der Praxis können dabei drei Fälle auftreten:
    • a) die Hardware ist fehlerbehaftet und infolgedessen treten bereits konkrete Fehlfunktionen auf,
    • b) die Hardware ist fehlerbehaftet, aber es treten noch keine Fehlfunktionen auf,
    • c) die Hardware ist nicht fehlerbehaftet, infolgedessen sind bislang keine Fehlfunktionen aufgetreten, von der Überwachungskomponente gelieferte Informationen lassen jedoch zukünftig Fehler erwarten.
  • Um diese drei Fälle möglichst vollständig und umfassend abzudecken, ist das System bevorzugterweise mit Überwachungsmitteln ausgebildet, die charakteristische Messgrößen von Computersystemkomponenten wie beispielsweise Festplatten, Arbeitsspeicher, Lüfter und dergleichen bestimmen können. So können die Überwachungsmittel derart ausgebildet sein, dass sie eine Versorgungsspannung, eine Betriebstemperatur oder eine Lüfterdrehzahl bestimmen. Die darüber erhaltenen Messwerte werden dann von einer geeigneten Logik bzw. von Auswertemitteln ausgewertet, die nachfolgend noch näher erläutert werden. Befinden sich die Messwerte in einem vorgegebenen Toleranzbereich, so kann von einem fehlerfreien Arbeiten der Computersystemkomponenten ausgegangen werden. Verlassen eine oder mehrere Messwerte jedoch den jeweiligen Toleranzbereich, so liegt eine Fehlfunktion der zugeordneten Computersystemkomponenten vor. Je nach Relevanz der Fehl funktion ist dann zu entscheiden, ob der betroffene Computer noch als hinreichend zuverlässig eingestuft wird bzw. ob sein "Gesundheitszustand" noch akzeptabel ist.
  • In diesem Sinne kann beispielsweise über die Messung einer Versorgungsspannung festgestellt werden, ob ein Netzteil defekt ist. Dies wäre beispielsweise dann der Fall, wenn eine vom Netzteil gelieferte Ausgangsspannung dauerhaft zu niedrig oder zu hoch wäre. Dieser Fehler unterfällt dann dem obigen Fall a).
  • Auch der zeitliche Verlauf der Ausgangsspannungen, welcher für das Timing der Computersystemkomponenten mitverantwortlich ist, könnte beispielsweise von den Überwachungsmitteln erfasst werden. Darüber könnten insbesondere einige sporadische Fehler, die dem obigen Fall b) zugeordnet werden, erfasst werden. In einem solchen Fall würde somit das Überwachungsmittel feststellen, dass das Netzteil nicht mehr den Spezifikationen entspricht und ausgetauscht werden muss.
  • Über eine Messung der Lüfterdrehzahl kann bestimmt werden, ob sich entsprechende Lüfter drehen und korrespondierende Bauteile kühlen. Eine zu niedrige Drehzahl impliziert dann eine hohe thermische Belastung dieser Bauteile, welche unter Umständen das zulässige Maß überschreiten. Eine zu hohe Betriebstemperatur und beispielsweise auch eine zu hohe Temperatur im Inneren eines Computergehäuses führt dann möglicherweise zu sporadischen Fehlern gemäß obigem Fall b). Dauerhaft zu niedrige Lüfterdrehzahlen implizieren somit in diesem Fall einen eher schlechten "Gesundheitszustand" des Computers.
  • Die Überwachungsmittel können ferner auch ausgebildet sein, eine Laufzeitüberwachung des Computers vorzunehmen. In diesem Sinne können sie beispielsweise dazu imstande sein, den Status von Systemtimer abzufragen. Wird nun ein Systemtimer vom Anwenderprogramm gesetzt, dann wird das Überwachungsmittel dieses Setzen des Systemtimers erfassen. Ist Letzteres jedoch nicht der Fall, dann ist dies ein Indiz dafür, dass das Anwenderprogramm nicht richtig funktioniert. Dieser Fall kann auftreten, wenn das Anwenderprogramm hängen bleibt, es also auf Benutzereingaben nicht mehr reagiert. Die Laufzeitüberwachung dient hierbei der Erfassung von Fehlfunktionen der Hardware als auch der Erfassung von Fehlfunktionen seitens des Anwenderprogramms bzw. der Software.
  • Insbesondere zur Realisierung des oben genannten Ziels c) können die Überwachungsmittel ausgebildet sein, Computersystemkomponenten durch die Anwendung von Diagnose- bzw. Testprogrammen auf ihre Funktionstüchtigkeit hin zu überprüfen. So führen Computer beim Hochfahren typischerweise einen Selbsttest durch, der von der Überwachungskomponente ausgewertet werden kann. Auch kann die Überwachungskomponente selbst über Testmodule verfügen, welche den Arbeitsspeicher und/oder den zentralen Mikroprozessor überprüfen. Derartige Diagnoseprogramme sind allgemein bekannt und bedürfen insofern keiner weiteren Erläuterung.
  • Ein weiteres Beispiel für ein Überwachungsmittel im oben genannten Sinne ist ein Temperatursensor, der bei einem Computer die Gehäuseinnentemperatur misst. Hintergrund ist, dass Mikroprozessoren für Computer typischerweise ausgelegt sind, nur bei Gehäuseinnentemperaturen unterhalb eines gewissen Grenzwertes zu arbeiten. Wird eine derartige Temperatur überschritten, ist die Wahrscheinlichkeit für Fehlfunktionen des Mikroprozessors erhöht und können Fehler erwartet werden.
  • Die Überwachungsmittel können auch ausgelegt sein, die so genannten S.M.A.R.T.-Werte (von Englisch: Self Monitoring Architechture and Reporting Technology) von Festplatten auszulesen. Die S.M.A.R.T.-Werte von Festplatten dienen dazu, den aktuellen "Gesundheitszustand" einer Festplatte zu erfassen, so dass bereits bei einer noch funktionstüchtigen Festplatte, deren S.M.A.R.T.-Daten jedoch unbefriedigend sind, im Bedarfsfall eingeschritten werden kann.
  • Beide Computer verfügen über Auswertemittel, die dahin gehend ausgebildet sind, dass sie die von den jeweiligen Überwachungsmitteln bestimmten Messwerte auswerten können. Nach vorgegebenen Kriterien kann damit festgestellt werden, ob der erste Computer funktionstüchtig ist, nicht funktionstüchtig ist oder voraussichtlich nicht funktionstüchtig ist. Gleiches gilt bezüglich des zweiten Computers.
  • Auf beiden Computern läuft ein Anwenderprogramm, dessen Abarbeitung mit höchster Sicherheit gewährleistet werden soll. Das Anwenderprogramm kann beispielsweise eine Schweißsoftware sein, die einen Schweißroboter steuert. Dieses Anwenderprogramm befindet sich identisch auf beiden Computern, wobei ein Computer den Schweißroboter aktiv steuert und der zweite Computer solange passiv bleibt, um im Bedarfsfall eingesetzt zu werden bzw. einzuspringen.
  • Die Entscheidungsmittel stellen eine Logik dar, welche für die Entscheidung darüber zuständig ist, welche von den zwei Computern für die Abarbeitung eines Anwenderprogramms genutzt werden soll. Das Anwenderprogramm kann beispielsweise die vorstehend genannte Software zum Schweißen mit einem Schweißroboter sein, wobei der Schweißroboter von einem der beiden Computer aktiv gesteuert wird. Dieser aktiv steuernde Computer soll nachfolgend als "Master" bezeichnet werden. Der zweite Computer stellt eine Reserve dar, welche bei einer zukünftigen Fehlfunktion des Masters einspringen kann und solange passiv wartet. Dieser passiv wartende Computer soll nachfolgend als "Slave" bezeichnet werden. Die oben genannte Entscheidung wird von den Entscheidungsmitteln beider Computer unabhängig voneinander getroffen, nachdem die beiden Computer die Messdaten ihrer Überwachungsmittel unter Einsatz geeigneter Kommunikationsmittel ausgetauscht haben. Die Entscheidung selbst basiert auf den Messdaten beider Computer.
  • Mit Bezug auf die Ausführungen des vorletzten Absatzes können als Ergebnis der Auswertemittel der beiden Computer zwei Fälle auftreten. In einem ersten Fall sind beide Computer in gleichem Maße funktionstüchtig. In diesem Fall ist es aus praktischen Gesichtspunkten gleichgültig, welcher von den beiden Computern ein Anwenderprogramm abarbeitet und dadurch beispielsweise den vorstehend genannten Schweißroboter aktiv steuert. Beide Computer würden dem jeweils anderen Computer signalisieren, dass er Master sein will. Selbstverständlich darf nur einer der Computer Master werden bzw. sein. Um dies zu regeln kann so vorgegangen werden, dass derjenige Computer, welcher dem anderen Computer zuerst mitteilt, dass er Master sein will und kann, tatsächlich als Master aktiv wird.
  • Ist ein Computer nicht oder nur eingeschränkt funktionstüchtig und hat der zweite Computer einen besseren "Gesundheitszustand", da er zumindest eingeschränkt bzw. sogar voll funktionstüchtig ist, so wird der zweite Computer als Master gewählt. Dies ermöglicht es auch, den ersten Computer auszutauschen, während der Master weiterarbeitet.
  • Ist entschieden, wer von den beiden Computern der Master und wer der Slave ist, so initiiert der Master eine Datensynchronisation derart, dass zumindest Teile des Arbeitsspeichers des Masters in den Arbeitsspeicher des Slaves dupliziert werden. Der Datentransfer erfolgt hierbei über die genannten Kommunikationsmittel, die allgemein bekannter Art sein können. Es können universell alle Punkt-zu-Punkt Kopplungen oder Bussysteme wie beispielsweise Ethernet-, USB-, IEEE-, RS232-, Firewire-, PROFIBUS-Verbindungen genutzt werden.
  • Die Überwachungsmittel sorgen für eine kontinuierliche Überprüfung der beiden Computer. Ändert sich deren Funktionstüchtigkeit, so kann der bisherige Slave zum Master werden und entsprechend der Master zum Slave. Der Administrator wird über diese Änderung informiert und entscheidet dann fallabhängig über die weitere Vorgehensweise, beispielsweise darüber, ob der neue Slave repariert oder ausgetauscht werden muss.
  • Wie aus den vorstehenden Ausführungen ersichtlich, können Überwachungs-, Auswerte-, Synchronisations- und/oder Entscheidungsmittel als Computerprogramme ausgebildet sein, aber natürlich auch als Hardwarekomponente, z. B. als Steckkarte. Die Logik des oder der jeweiligen Computerprogramme ist bzw. sind dann in Gestalt von Firmware für die Hardware, z. B. die Steckkarte, realisiert. Wenn insofern in den vorstehenden Absätzen von einer gewissen Ausbildung der Überwachungs-, Auswerte-, Synchronisations- und/oder Entscheidungsmittel gesprochen wurde, handelte es sich für den Fall einer Hardware um eine bauliche Ausbildung.
  • Das Computerprogramm kann in üblicher Weise auf einem Datenträger wie einer CD oder DVD, einem DAT-Band oder einer Festplatte abgelegt sein. Es versteht sich von selbst, dass das Computerprogramm auch in Form einer über ein Datennetz wie das Internet transportierbaren Signalfolge vorliegen kann. Durch einen Fernzugriff kann die Signalfolge dann auf einen Datenträger überführt werden.
  • Liegt das Entscheidungs- und/oder Synchronisationsmittel in Form einer Computersoftware vor, so werden diese Softwaremodule zusätzlich mit einer Schnittstelle zum Datenaustausch ausgestattet. Die vordefinierte Schnittstelle ermöglicht es beispielsweise den Entscheidungsmitteln der beiden Computer, die von den jeweiligen Überwachungsmitteln erfassten Messwerte untereinander auszutauschen, so dass jeder Computer die Messwerte beider Computer auswertet und autonom bestimmt, welcher Computer als Master fungieren soll. Da somit zwei Entscheidungen vorliegen, die aufeinander abgestimmt werden müssen, erfolgt anschließend ein Datenaustausch zwischen den beiden Computern über die besagte Schnittstelle, um festzulegen, welcher Computer tatsächlich Master sein soll.
  • Die Synchronisationsmittel nutzen ferner die Schnittstelle zum Datenaustausch, um darüber den Inhalt des Arbeitsspeichers vom Master zum Slave zu transferieren. Selbstverständlich ist es auch denkbar, dass die Entscheidungsmittel der beiden Computer mit den Synchronisationsmitteln über die Schnittstelle kommunizieren, z. B. dadurch, dass die Entscheidungsmittel den Synchronisationsmitteln mitteilen, ob das jeweilige Anwenderprogramm im Master-Modus arbeiten soll und damit beispielsweise den vorgenannten Schweißroboter aktiv steuert oder ob es im Slave-Modus arbeiten soll, d. h., ob es vorerst nur passiv warten soll, um im Bedarfsfall einzuspringen.
  • Zusätzlich verfügt das Anwenderprogramm über eine (Programmier-) Schnittstelle, z. B. eine API-Schnittstelle (von Englisch: Application Programming Interface), über die Variablen geeignet abgespeichert und gelesen werden können. Das Anwenderprogramm kann die Schnittstelle ferner nutzen, um zu erfragen, ob es als Master oder als Slave arbeiten wird.
  • Nachfolgend soll die Erfindung anhand eines Ausführungsbeispiels in Verbindung mit den Figuren näher erläutert werden. Es zeigt:
  • 1 das Computersystem mit 1-von-2-Redundanz,
  • 2 die Speicheraufteilung beider Computer mit den Komponenten zur Gewährleistung einer 1-von-2-Redundanz.
  • Zur Steuerung eines Schweißroboters bei der Karosserieherstellung in einem Automobilwerk sind zwei baugleiche Computer 10, 10' vorgesehen, vgl. 1. Die Computer 10, 10' verfügen über eine Mutterplatine, ein Pentium-3-Mikroprozessor 11, 11' mit 400 MHz Taktfrequenz und 256 MB RAM 1, 1', eine einzelne Festplatte mit 40 GB Speicherplatz und eine Grafikkarte. Jeder Computer 10, 10' besitzt eine Netzwerk karte und ist darüber an das LAN-Netzwerk des Automobilherstellers angeschlossen. Weiterhin verfügt jeder Computer über Peripheriegeräte wie eine Maus 12 bzw. 12', einen Bildschirm 13 bzw. 13' und eine Tastatur 14 bzw. 14'.
  • Auf beiden Computern läuft das Betriebssystem Windows XP und die Schweißsoftware in identischer Version. Die Gewährleistung der Redundanz erfolgt ausschließlich per Software, indem die Überwachungs-, Auswerte- und Entscheidungsmittel als Computerprogramme ausgeführt sind, welche über eine API-Schnittstelle (von Englisch: Application Programming Interface) eine Steuerung der Masterschaft von einem der Computer bzw. von einem der Anwenderprogramme ermöglichen. Über diese Schnittstelle zur Schweißsoftware lassen sich Variablen schreiben und lesen. Außerdem lässt sich darüber eine Applikation 6 oder 6' passiv schalten, so dass nur einer der beiden Computer 10, 10' den Schweißroboter tatsächlich steuert.
  • 2 zeigt die Aufteilung des nach dem Laden des Betriebssystems noch verfügbaren Arbeitsspeichers, und zwar links den Arbeitsspeicher 1 des ersten Computers 10 und rechts den Arbeitsspeicher 1' des zweiten Computers 10'. Jeder Computer 10, 10' verfügt über ein Überwachungsmodul 3 bzw. 3' zur fortlaufenden Überwachung der Funktionstüchtigkeit der Computer, ein Kommunikationsmodul 4 bzw. 4', um Daten über das Ethernet-Kabel 8 auszutauschen, und ein Entscheidungsmittel 2 bzw. 2', das darüber entscheidet, welcher von den zwei Computern für die Abarbeitung eines Anwenderprogramms genutzt werden soll. Die Synchronisation der Daten 9 erfolgt über ein Synchronisationsmodul 5 bzw. 5'.

Claims (19)

  1. System zum redundanten Betrieb zweier Computer, umfassend zwei Computer (10', 10'), die jeweils mit folgenden Komponenten ausgestattet sind: a) Mittel (3, 3') für die Überwachung der Computerhardware und/oder Computersoftware, b) Mittel (2, 2') für die Entscheidung darüber, welcher von den zwei Computern für die Abarbeitung eines Anwenderprogramms genutzt werden soll, c) Mittel (4, 4', 5, 5') für die Synchronisation der Arbeitsspeicherinhalte beider Computer.
  2. System nach Anspruch 1, dadurch gekennzeichnet, dass die Überwachungsmittel (3, 3') ausgebildet sind, charakteristische Messgrößen von Computersystemkomponenten zu bestimmen.
  3. System nach Anspruch 2, dadurch gekennzeichnet, dass die Überwachungsmittel (3, 3') ausgebildet sind, Versorgungsspannungen, Betriebstemperaturen und/oder Lüfterdrehzahlen zu bestimmen.
  4. System nach Anspruch 1, dadurch gekennzeichnet, dass die Überwachungsmittel (3, 3') ausgebildet sind, eine Laufzeitüberwachung des Computers (10, 10') vorzunehmen.
  5. System nach Anspruch 4, dadurch gekennzeichnet, dass die Überwachungsmittel (3, 3') ausgebildet sind, den Status von Systemtimern abzufragen.
  6. System nach Anspruch 1, dadurch gekennzeichnet, dass die Überwachungsmittel (3, 3') ausgebildet sind, Computersystemkomponenten auf ihre Funktionstüchtigkeit hin zu überprüfen.
  7. System nach Anspruch 6, dadurch gekennzeichnet, dass die Überwachungsmittel (3, 3') ausgebildet sind, den zentralen Mikroprozessor (11, 11') und/oder den Arbeitsspeicher (1, 1') auf ihre Funktionstüchtigkeit hin zu überprüfen.
  8. System nach Anspruch 1, dadurch gekennzeichnet, dass die Entscheidungsmittel (2, 2') ausgebildet sind, die Daten der Überwachungsmittel beider Computer (10, 10') auszuwerten.
  9. System nach Anspruch 1, dadurch gekennzeichnet, dass zwei baugleiche Computer und/oder für beide Computer baugleiche Komponenten vorgesehen sind.
  10. System nach Anspruch 1, dadurch gekennzeichnet, dass Überwachungs-, Synchronisations- und/oder Entscheidungsmittel als Computerprogramm und/oder als Computersystemkomponente ausgeführt sind.
  11. System nach Anspruch 1, dadurch gekennzeichnet, dass die Synchronisations- und/oder Entscheidungsmittel über eine Schnittstelle zum gegenseitigen Datenaustausch verfügen.
  12. System nach Anspruch 1, dadurch gekennzeichnet, dass das Anwenderprogramm mit einer Programmierschnittstelle ausgestattet ist.
  13. Verfahren zum redundanten Betrieb zweier Computer mit den folgenden Schritten: a) regelmäßige Überwachung der Computerhardware und/oder Computersoftware, b) Fällen einer Entscheidung darüber, welcher von den zwei Computern für die Abarbeitung eines Anwenderprogramms genutzt werden soll, c) regelmäßige Synchronisation der Arbeitsspeicherinhalte beider Computer.
  14. Verfahren nach Anspruch 13, dadurch gekennzeichnet, dass die Überwachung und die Synchronisation kontinuierlich erfolgen.
  15. Verfahren nach Anspruch 13 oder 14, dadurch gekennzeichnet, dass die Überwachung in einer Messung von charakteristischen Messgrößen von Computersystemkomponenten besteht.
  16. Verfahren nach Anspruch 15, dadurch gekennzeichnet, dass das Fällen einer Entscheidung darüber, welcher von den zwei Computern (10, 10') für die Abarbeitung eines Anwenderprogramms genutzt werden soll, auf Basis der ermittelten Messwerte beider Computer erfolgt.
  17. Verfahren nach einem der Ansprüche 13 bis 16, dadurch gekennzeichnet, dass die Verfahrungsdurchführung zumindest teilweise durch Abarbeitung eines Computerprogramms erfolgt.
  18. Computerprogramm, das direkt in den internen Speicher eines digitalen Computers geladen werden kann und Softwarecodeabschnitte umfasst, mit denen die Schritte gemäß einem der Ansprüche 13 bis 17 ausgeführt werden, wenn das Produkt auf einem Computer läuft.
  19. Computerprogramm nach Anspruch 18, verkörpert auf einem Datenträger, abgelegt in einem Computerspeicher oder übertragen mittels eines elektrischen Trägersignals.
DE102004049900A 2004-10-13 2004-10-13 System und Verfahren zum redundanten Betrieb zweier Computer sowie zugehöriges Computerprogrammprodukt Ceased DE102004049900A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102004049900A DE102004049900A1 (de) 2004-10-13 2004-10-13 System und Verfahren zum redundanten Betrieb zweier Computer sowie zugehöriges Computerprogrammprodukt

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102004049900A DE102004049900A1 (de) 2004-10-13 2004-10-13 System und Verfahren zum redundanten Betrieb zweier Computer sowie zugehöriges Computerprogrammprodukt

Publications (1)

Publication Number Publication Date
DE102004049900A1 true DE102004049900A1 (de) 2006-01-19

Family

ID=35508157

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004049900A Ceased DE102004049900A1 (de) 2004-10-13 2004-10-13 System und Verfahren zum redundanten Betrieb zweier Computer sowie zugehöriges Computerprogrammprodukt

Country Status (1)

Country Link
DE (1) DE102004049900A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9531675B2 (en) 2013-06-05 2016-12-27 Deutsche Post Ag Device, system and method for supporting the setting up of a local area network
CN113791937A (zh) * 2021-09-03 2021-12-14 西安翔迅科技有限责任公司 一种数据同步冗余系统及其控制方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4466098A (en) * 1982-06-11 1984-08-14 Siemens Corporation Cross channel circuit for an electronic system having two or more redundant computers

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4466098A (en) * 1982-06-11 1984-08-14 Siemens Corporation Cross channel circuit for an electronic system having two or more redundant computers

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Nikolaizik, Jürgen; Nkolov, Boris; Warlitz, Joachim: Fehlertolerante Mikrocomputersysteme, Berlin: Verl. Technik, 1990, S. 23-88, ISBN: 3-341-00859-4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9531675B2 (en) 2013-06-05 2016-12-27 Deutsche Post Ag Device, system and method for supporting the setting up of a local area network
CN113791937A (zh) * 2021-09-03 2021-12-14 西安翔迅科技有限责任公司 一种数据同步冗余系统及其控制方法
CN113791937B (zh) * 2021-09-03 2023-11-24 西安翔迅科技有限责任公司 一种数据同步冗余系统及其控制方法

Similar Documents

Publication Publication Date Title
EP1779203B1 (de) Parameteridentifikation für feldgeräte in der automatisierungstechnik
DE69430981T2 (de) Speicherungssystem
DE102013207760B4 (de) Elektrisches Interfacemodul
DE10127722A1 (de) System zur Entwicklung eines Anwendungssystems und dessen Implementierung
DE102008060011A1 (de) Sicherheitssteuerung und Verfahren zum Steuern einer automatisierten Anlage
WO2005052703A1 (de) Redundantes automatisierungssystem zur steuerung einer tech­nischen einrichtung sowie verfahren zum betrieb eines derar­tigen automatisierungssystems
DE102015110958A1 (de) Ausfallverwaltung in einem Fahrzeug
EP1920299B1 (de) Verfahren und vorrichtung zur überwachung einer technischen einrichtung
EP0782722B1 (de) Verfahren und vorrichtung zur steuerung und aktivierung von miteinander mittels eines bussystems vernetzten sensoren und/oder aktuatoren
EP2992392B1 (de) Elektrisches interfacemodul
DE102008061721A1 (de) Administrationssystem
WO2003058361A2 (de) Verfahren zum instandhalten einer fabrikationsanlage
DE102004049900A1 (de) System und Verfahren zum redundanten Betrieb zweier Computer sowie zugehöriges Computerprogrammprodukt
EP2877902B1 (de) Verfahren zur aufrechterhaltung der funktionsfähigkeit eines feldgerätes
EP1643679A1 (de) Konfiguration von Baugruppen in Automatisierungssystemen
DE10307343B4 (de) On-Board-Diagnosevorrichtung und On-Board-Diagnoseverfahren für Kraftfahrzeuge
EP2367084A1 (de) Verfahren für die Konfigurierung einer Steuerungseinrichtung einer industriellen Automatisierungsanordnung und Komponente für eine industrielle Automatisierungsanordnung
WO2014026759A1 (de) Elektrische maschine mit einer überwachungseinrichtung
EP3786746A1 (de) Effiziente fehleranalyse durch simulierten fehler in einem digitalen zwilling
DE102021126188B4 (de) Überwachungsverfahren für einen Roboter und zugehörige Roboteranlage
DE112019000192T5 (de) Anpassen der konfiguration von speichervorrichtung(en) für einebetriebsumgebung
DE102013010783A1 (de) Verfahren und Steuergerät zum Testen einer Automatisierungslösung basierend auf einer PLC-Steuerung
EP3821310B1 (de) Verfahren zum kompensieren einer fehlfunktion eines feldgeräts in einer anlage der automatisierungstechnik
EP1454201B1 (de) Engineeringsystem und automatisierungssystem
EP3144756A1 (de) Steuerungssystem sowie verfahren zum betrieb eines steuerungssystems mit einer realen und einer virtuellen steuerung zur reduzierung von ausfallzeiten

Legal Events

Date Code Title Description
OAV Applicant agreed to the publication of the unexamined application as to paragraph 31 lit. 2 z1
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection