DE4134207C1 - Loading double-computer standby system - preparing passive computer for loading and taking new software from data source for entering into memory of active computer - Google Patents
Loading double-computer standby system - preparing passive computer for loading and taking new software from data source for entering into memory of active computerInfo
- Publication number
- DE4134207C1 DE4134207C1 DE4134207A DE4134207A DE4134207C1 DE 4134207 C1 DE4134207 C1 DE 4134207C1 DE 4134207 A DE4134207 A DE 4134207A DE 4134207 A DE4134207 A DE 4134207A DE 4134207 C1 DE4134207 C1 DE 4134207C1
- Authority
- DE
- Germany
- Prior art keywords
- computer
- loading
- passive
- active
- data channel
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2038—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
- H04Q3/42—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
- H04Q3/54—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
- H04Q3/545—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
- H04Q3/54541—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme using multi-processor systems
- H04Q3/54558—Redundancy, stand-by
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2048—Error 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Hardware Redundancy (AREA)
Abstract
Description
Die Erfindung bezieht sich auf ein Verfahren zum Laden eines Doppelrechner Standby-Systems gemäß Oberbegriff des Anspruches 1.The invention relates to a method for loading a Dual computer standby system according to the preamble of the claim 1.
In dem US Patent 43 71 754 wird ein automatisches fehlerbehebendes Rechnersystem beschrieben, in dem aktive Speicherbereiche an Standby-Speichern geladen werden und zwischen aktiven und Standby-Kopien umgeschaltet wird. Dieses dient zur Fehlererkennung und Fehlerbehebung im laufenden Betrieb.In US patent 43 71 754 an automatic correcting computer system described in the active Memory areas at standby memories are loaded and toggle between active and standby copies. This is used for error detection and troubleshooting in the running Business.
Der Aufsatz "Oneline-Software-Erweiterung und -Änderung" von U. Apel in Elektrisches Nachrichtenwesen Band 64 Nr. 4 von 1990 (Seite 327-333) beschäftigt sich hingegen mit dem Laden eines Rechners mit geänderter oder erweiterter Software, wobei die beiden Fälle unterschieden werden, ob die alte und die neue Software parallel laufen können oder nicht. Ist ersteres der Fall, so können die neue Komponente gestartet und Nachrichten an beide Komponenten gerichtet werden, wobei der Verkehr zu der neuen Komponente allmählich erhöht werden kann, bis die alte Komponente keine neuen Nachrichten mehr erhält und entfernt werden kann. Dieses Verfahren erfordert einen sehr großen Speicherbedarf. The essay "Oneline software extension and modification" by U. Apel in Electrical Communication Volume 64 No. 4 of 1990 (Pages 327-333), however, deals with loading one Computer with modified or expanded software, the A distinction is made between the two cases, whether the old and the new Software can run in parallel or not. The former is the Case, the new component can start and messages be directed to both components, with traffic increasing the new component can be gradually increased until the old component no longer receives new messages and can be removed. This procedure requires a lot large memory requirement.
Wenn die alte und die neue Komponente nicht parallel laufen können, so werden die alte Komponente auf die Funktionserweiterung vorbereitet und der erforderliche Zustandstransfer durchgeführt, wobei beim Erreichen vordefinierter Synchronisationspunkte angehalten oder geendet wird und alle Nachrichten zur neuen Komponente umgeleitet werden, die dann gestartet wird, wonach die alte Komponente schließlich beendet und entfernt wird. Bei diesem Verfahren übernimmt die neue Komponente sofort den gesamten Verkehr. If the old and the new components do not run in parallel can, so the old component on the Functional expansion prepared and the required State transfer carried out, when reaching predefined synchronization points stopped or ended and all messages are redirected to the new component which is then started, after which the old component is finally ended and removed. With this procedure the new component immediately takes over all traffic.
Nachteilig ist hierbei die Unterbrechung des laufenden Betriebs beim Laden der neuen Anwendersoftware.The disadvantage here is the interruption of the current Operating when loading the new user software.
Bei beiden Verfahren ist außerdem nachteilig, daß ein fehlerhafter Ladevorgang oder das Laden einer nicht ablauffähigen Anwendersoftware zum Systemausfall führt.A disadvantage of both methods is that a faulty loading or not loading one executable user software leads to system failure.
Der Erfindung lag die Aufgabe zugrunde, ein Verfahren der eingangs genannten Art anzugeben, welches in der Lage ist, eine Änderung oder Erweiterung der Anwendersoftware ohne Unterbrechung des laufenden Betriebes in unaufwendiger Weise durchzuführen. Außerdem soll ein fehlerhafter Ladevorgang oder das Laden einer nichtablauffähigen neuen Anwendersoftware nicht zum Systemausfall führen.The invention was based, a method of specify the type mentioned at the outset, which is capable of a change or extension of the user software without Interruption of ongoing operations in a straightforward manner perform. In addition, a faulty loading or the loading of non-executable new user software do not lead to system failure.
Diese Aufgabe wurde gelöst durch die Merkmale des Anspruches 1. Vorteilhafte Ausgestaltungen ergeben sich durch die Unteransprüche. Das erfindungsgemäße Verfahren weist die Vorteile auf, daß das Laden neuer oder erweiterter Anwendersoftware ohne Unterbrechung oder Beeinträchtigung des laufenden Betriebes ermöglicht wird. Der Ladevorgang erfolgt über den externen Datenkanal im fehlerfreien Übertragungsfalle nur ein einziges Mal, so daß die externe Datenquelle, welche die neue Anwendersoftware liefert, und der externe Datenkanal nur minimal belastet sind. Diese Belastung wird noch weiter reduziert, wenn lediglich die Änderung der neuen Anwendersoftware übertragen wird.This problem was solved by the features of the claim 1. Advantageous refinements result from the Subclaims. The inventive method has the Advantages in that loading new or expanded User software without interruption or impairment of the running operations is enabled. The loading process takes place via the external data channel in the error-free transmission case only once, so the external data source which the new application software delivers, and the external data channel are only minimally loaded. This burden will continue reduced if only the change of the new Application software is transferred.
Wenn zum Laden des passiven Rechners die Zwischenspeicherung der zu übertragenden Anwendersoftware im Arbeitsspeicher des aktiven Rechners blockweise oder in einigen Blöcken erfolgt, so ist auch die Anforderung an die Speicherkapazität der beiden Rechner nur minimal oder unwesentlich größer. If caching to load the passive computer the user software to be transferred in the RAM of the active computer takes place block by block or in some blocks, so is the requirement for the storage capacity of the both computers only minimally or slightly larger.
Nach Beendigung des Ladens des passiven Rechners wird die neue Software gestartet, und der Diagnoserechner oder eine sonstige Überwachungseinheit kann dann feststellen, ob die neue Anwendersoftware fehlerfrei ist oder nicht. Sofern ein Fehler vorliegt, kann entschieden werden, ob der Ladevorgang wiederholt wird oder ob die alte Anwendersoftware wieder in den passiven Rechner geladen wird. Transiente Softwarefehler können repariert werden, indem die Anwendersoftware des einen Rechners automatisch durch diejenige des anderen Rechners geladen wird.After the passive computer has finished loading, the new one Software started, and the diagnostic computer or another Monitoring unit can then determine whether the new Application software is error-free or not. Unless an error it can be decided whether the loading process is repeated or whether the old user software is back in the passive computer is loaded. Transient software errors can be repaired by the application software of one Calculator automatically by that of the other computer is loaded.
Es folgt nun die Beschreibung der Erfindung anhand der Figuren.There now follows the description of the invention with reference to FIG Characters.
Die Fig. 1 zeigt ein grobes Blockschaltbild des Doppelrechnersystems. Fig. 1 shows a rough block diagram of the double computer system.
In Fig. 2 sind die aktiven Programme und ihre Kommunikationspfade schematisch dargestellt.The active programs and their communication paths are shown schematically in FIG .
Fig. 3 schließlich zeigt in Form eines Flußdiagramms den logischen Ablauf des erfindungsgemäßen Verfahrens. Fig 3 finally. In the form of a flow chart showing the logical flow of the method of the invention.
Die Fig. 4 zeigt ein detaillierteres Blockschaltbild für ein Ausführungsbeispiel eines Doppelrechnersystems. FIG. 4 shows a more detailed block diagram for one embodiment of a dual computer system.
Die schematische Darstellung der Fig. 1 zeigt ein Doppelrechnersystem mit zwei identischen Rechnern 1 und 2, die über einen internen Datenkanal RRDK miteinander verbunden sind. Zusätzlich sind beide Rechner über je einen externen Datenkanal EDK mit einer übergeordneten Kontrollinstanz bzw. externen Datenquelle verbunden bzw. verbindbar; d. h. nur einer der beiden externen Datenkanäle ist für die Datenübertragung mit oder von der Kontrollinstanz offen, und zwar ist dies derjenige externe Datenkanal welcher zu dem Rechner führt, der im Augenblick für alle durchzuführenden Aufgaben zuständig ist. Dieser Rechner wird als aktiver Rechner bezeichnet, während der andere Rechner, welcher momentan keine Aufgaben bearbeitet, als Standby-Rechner bezeichnet wird. Die Entscheidung darüber, welcher der Rechner aktiv bzw. standby geschaltet ist, wird von einer übergeordneten Kontrollinstanz, von einem Diagnoserechner oder einer ähnlichen Überwachungseinheit getroffen. Die Umschaltung erfolgt durch entsprechende Kommandos, welche an beide Rechner gesendet werden. Bei einer Umschaltung verändert sich auch der Zustand der externen Datenkanäle EDK.The schematic illustration of FIG. 1 shows a dual computer system comprising two identical computers 1 and 2, which are interconnected via an internal data channel RRDK. In addition, both computers are connected or connectable to a higher-level control entity or external data source via an external data channel EDK; ie only one of the two external data channels is open for data transmission with or from the supervisory authority, and this is the external data channel that leads to the computer that is currently responsible for all tasks to be performed. This computer is referred to as the active computer, while the other computer, which is currently not processing any tasks, is referred to as the standby computer. The decision as to which of the computers is active or standby is made by a higher-level control body, a diagnostic computer or a similar monitoring unit. The switchover is carried out using the appropriate commands, which are sent to both computers. When switching, the state of the external data channels EDK also changes.
In Fig. 2 ist eine schematische Darstellung der auf den Rechnern aktiven Programme und ihre Kommunikationspfade gezeichnet. Beide Rechner sind mit einem Multitaskingbetriebssystem ausgestattet. Programme, die auf den Rechnern ausgeführt werden, werden als Prozesse gezeichnet. Jedem Prozeß wird eine individuelle Ablaufpriorität zugeordnet, wodurch bestimmte Prozesse gegenüber anderen bevorzugt bearbeitet werden. Diejenigen Prozesse, welche für das Laden einer neuen Softwareversion zuständig sind, werden unter dem Begriff Download-Software DLSW zusammengefaßt. Sie wird mit einer Ablaufpriorität ausgestattet, die garantiert, daß andere Prozesse, welche betriebliche Aufgaben bearbeiten, also die sogenannten Applikationen Appl, bevorzugt werden. Dadurch wird garantiert, daß der laufende Betrieb der Applikationen, nämlich Führung und Steuerung der Peripherie, nicht durch das Laden einer neuen Softwareversion beeinträchtigt oder gar unterbrochen wird. Über den externen Datenkanal EDK können von einer übergeordneten Kontrollinstanz Kommandos an den aktiven Rechner gesendet werden. Mittels eines Parsers wird entschieden bzw. festgestellt, ob diese Kommandos für die Applikationen Appl oder für die Download-Software DLSW bestimmt sind. Der Entscheidungsprozeß erfolgt dabei so, daß die Adresse der empfangenen Kommandos ausgewertet und die Kommandos entsprechend an den jeweiligen Adressaten weitergeleitet werden. Die Download-Software DLSW auf dem aktiven Rechner RA hat die Aufgabe, die von der Kontrollinstanz empfangenen Kommandos über den internen Rechnerrechnerdatenkanal RRDK an die Download-Software DLSW des Standby-Rechners weiterzusenden und durch kontinuierliches Austauschen von Kommandos mit der Kontrollinstanz die Funktionstüchtigkeit des aktiven Rechners und seiner Software anzuzeigen. Die Download-Software DLSW des Standby-Rechners hat die Aufgabe, seine Programme auf das Laden einer neuen Softwareversion vorzubereiten, diese zu laden und zu starten. Sowohl für das Veranlassen der Vorbereitung auf das Laden einer neuen Softwareversion als auch zur Durchführung desselben werden Kommandos von der Kontrollinstanz über die Download-Software DLSW des aktiven Rechners an die Download- Software DLSW des Standby-Rechners übertragen.In Fig. 2 is a schematic representation of the active on the computers programs and their communication paths is drawn. Both computers are equipped with a multitasking operating system. Programs that are executed on the computers are drawn as processes. Each process is assigned an individual process priority, which means that certain processes are given priority over others. Those processes that are responsible for loading a new software version are summarized under the term download software DLSW. It is equipped with a process priority that guarantees that other processes that process operational tasks, ie the so-called applications Appl, are preferred. This guarantees that the ongoing operation of the applications, namely management and control of the periphery, is not impaired or even interrupted by the loading of a new software version. Commands can be sent to the active computer from a higher-level control entity via the external data channel EDK. A parser is used to decide or determine whether these commands are intended for the Appl applications or for the DLSW download software. The decision-making process takes place in such a way that the address of the commands received is evaluated and the commands are forwarded accordingly to the respective addressees. The DLSW download software on the active computer RA has the task of forwarding the commands received from the control instance via the internal computer data channel RRDK to the download software DLSW of the standby computer, and the continuous functioning of the active computer by exchanging commands with the control instance and its software. The download software DLSW of the standby computer has the task of preparing its programs for loading a new software version, loading it and starting it. Commands are transmitted from the control instance via the download software DLSW of the active computer to the download software DLSW of the standby computer both for initiating preparation for loading a new software version and for carrying out the same.
Die Fig. 3 zeigt in Form eines Flußdiagramms den logischen Ablauf des erfindungsgemäßen Verfahrens zum Einspielen einer neuen Softwareversion auf ein Doppelrechnersystem. Im Ausgangszustand 1 befinden sich beide Rechner in einem Betriebszustand, in dem mit der alten Softwareversion gearbeitet wird. Als erster Schritt des Ladevorgangs wird ein Kommando von der Kontrollinstanz oder übergeordneten Instanz über den offenen externen Datenkanal EDK an die Download- Software DLSW des aktiven Rechners gesendet; letztere leitet das Kommando über den internen Datenkanal RRDK an die Down- Load-Software DLSW des Standby-Rechners weiter. Die Prozesse auf dem Standby-Rechner werden daraufhin auf das bevorstehende Laden einer neuen Anwendersoftwareversion vorbereitet, 2. Das Laden 3 der neuen Softwareversion erfolgt von einer externen Datenquelle, die sich auch bei der übergeordneten Kontrollinstanz befinden kann, über den aktiven Rechner auf den Standby-Rechner. Dazu werden die zu übertragenden Daten in Form von Kontrollkommandos, welche die Daten enthalten, an die Download-Software DLSW auf den aktiven Rechner gesendet. Ist die neue Softwareversion auf dem Standby-Rechner vollständig geladen, so gibt es zwei Möglichkeiten. Erstens von der Kontrollinstanz wird ein Umschalten 4 (gemäß Fig. 3) der Rechnerzustände vorgenommen. Der zuvor aktive Rechner mit der alten Softwareversion geht in den Zustand standby über, und der im Zustand standby befindliche Rechner mit der neuen Softwareversion geht entsprechend in den Zustand aktiv über. Stellt sich nun heraus, daß die neue Softwareversion fehlerhaft 9 ist, so wird ein sofortiges Rückschalten der Rechnerzustände 10 bewirkt. Die Rückschaltung muß natürlich so schnell erfolgen, daß eine Beeinträchtigung der Betriebsabläufe nicht erfolgt. FIG. 3 shows in the form of a flow chart the logical sequence of the method according to the invention for importing a new software version onto a double computer system. In initial state 1 , both computers are in an operating state in which the old software version is used. As a first step in the loading process, a command is sent from the control instance or higher-level instance via the open external data channel EDK to the download software DLSW of the active computer; the latter forwards the command via the internal data channel RRDK to the download software DLSW of the standby computer. The processes on the standby computer are then prepared for the upcoming loading of a new user software version, 2. The loading 3 of the new software version takes place from an external data source, which can also be located at the higher-level control instance, via the active computer to the standby Computer. For this purpose, the data to be transmitted are sent to the download software DLSW on the active computer in the form of control commands that contain the data. If the new software version is fully loaded on the standby computer, there are two options. First of all, the control entity switches 4 (according to FIG. 3) of the computer states. The previously active computer with the old software version changes to the standby state, and the computer with the new software version that is in the standby state accordingly changes to the active state. If it now turns out that the new software version is faulty 9 , the computer states 10 are immediately switched back. The downshift must of course take place so quickly that there is no impairment of the operating processes.
Die zweite Möglichkeit (nicht gezeichnet in Fig. 3) sieht vor, daß vor einer Umschaltung der Rechnerzustände die neue Softwareversion auf dem Standby-Rechner gestartet und beispielsweise mittels einer Diagnose oder Überwachung auf Fehler untersucht wird. Bei Fehlerfreiheit kann dann eine Umschaltung so erfolgen, daß die Bearbeitung von Aufgaben auf dem aktiven Rechner kontrolliert eingestellt wird. Wenn alle in Bearbeitung befindlichen Aufgaben der Applikationen erledigt sind, wird die Verbindung zu der Kontrollinstanz über den externen Datenkanal EDK abgebaut und umgeschaltet. Der nach der Umschaltung aktive Rechner baut die Verbindung zur Kontrollinstanz wieder auf und signalisiert damit, daß die neue Softwareversion korrekt gestartet wurde, 5. Nunmehr wird der jetzige Standbyrechner, beispielsweise durch ein Kommando der Kontrollinstanz, auf das bevorstehende Laden der neuen Softwareversion vorbereitet, 6. Das Laden derselben erfolgt, indem sie direkt vom aktiven Rechner über den internen Datenkanal RRDK in den Standby-Rechner übertragen wird, 7. Diese Verfahrensweise entlastet generell den externen Datenkanal EDK und ist natürlich von Vorteil, wenn die Übertragungskapazität des externen Datenkanals gegenüber derjenigen des internen Datenkanals unterlegen ist. Nach Beeendigung des Ladevorganges sind beide Rechner mit einer neuen Softwareversion ausgestattet und befinden sich im Betrieb 8.The second possibility (not shown in FIG. 3) provides that the new software version is started on the standby computer before the computer states are switched over and is checked for errors, for example by means of diagnosis or monitoring. If there are no errors, a switch can be made so that the processing of tasks on the active computer is set in a controlled manner. When all the application tasks in progress have been completed, the connection to the supervisory authority is closed and switched over via the external data channel EDK. The computer that is active after the switchover re-establishes the connection to the control authority and thus signals that the new software version has been started correctly, 5 . Now the current standby computer is prepared, for example by a command from the supervisory authority, for the upcoming loading of the new software version, 6. The loading thereof is carried out by transferring it directly from the active computer to the standby computer via the internal data channel RRDK, 7. This procedure generally relieves the load on the external data channel EDK and is of course advantageous if the transmission capacity of the external data channel is inferior to that of the internal data channel. After the loading process has been completed, both computers are equipped with a new software version and are in operation 8 .
Über den Fall, daß die neue Softwareversion per se fehlerhaft ist, wobei z. B. der Ladevorgang korrekt und fehlerfrei erfolgt ist, so kann beispielsweise durch die übergeordnete Kontrollinstanz entschieden werden, daß der Standby-Rechner wieder mit der alten Softwareversion geladen wird. Er wird darauf vorbereitet, 11, worauf im Vorgang 12 diese über den internen Datenkanal RRDK vom aktiven auf den Standby-Rechner übertragen wird. Erfolgt dies fehlerfrei, so befinden sich beide Rechner wieder im Betriebszustand 13 mit der alten Softwareversion.About the case that the new software version is faulty per se, z. B. the loading process has been carried out correctly and without errors, it can be decided, for example, by the higher-level control authority that the standby computer is loaded again with the old software version. It is prepared 11, whereupon in process 12 it is transferred from the active to the standby computer via the internal data channel RRDK. If this is done correctly, both computers are again in operating state 13 with the old software version.
Beim Laden einer neuen Softwareversion können grundsätzlich zwei Vorgehensweisen unterschieden werden. Die eine geht davon aus, daß die neue Softwareversion komplett von der externen Datenquelle bzw. Kontrollinstanz auf den Standby-Rechner übertragen wird. Dies ist dann notwendig, wenn es sich um eine neue Softwareversion handelt, die keine alten Teile oder Moduln wiederverwenden kann.Basically when loading a new software version two approaches are distinguished. One goes away from that the new software version completely from the external Data source or control instance on the standby computer is transmitted. This is necessary if it is a new software version that does not contain old parts or Can reuse modules.
Die zweite Vorgehensweise geht davon aus, daß bei einer neuen Softwareversion lediglich ein kleiner Teil geändert wurde, der Rest jedoch unverändert bleibt. In diesem Fall ist es möglich, lediglich den gegenüber der alten Version geänderten Teil bzw. das geänderte Modul der neuen Softwareversion von der Kontrollinstanz bzw. externen Datenquelle auf den Standby- Rechner zu übertragen. Die restlichen unveränderten Teile der alten Softwareversion werden dann vom aktiven Rechner über den internen Datenkanal auf den Standby-Rechner übertragen. Bei einer solchen Verfahrensweise wird der externe Datenkanal EDK durch den Ladevorgang weniger belastet.The second approach assumes that a new one Software version was changed only a small part that However, the rest remains unchanged. In this case it is possible only the part changed compared to the old version or the modified module of the new software version of the Control authority or external data source on the standby Transfer calculator. The remaining unchanged parts of the old software versions are then transferred from the active computer to the transfer internal data channel to the standby computer. At The external data channel EDK becomes such a procedure less burdened by the charging process.
Die bisherige Betrachtungsweise ging davon aus, daß der mit neuer Anwendersoftware zu ladende Standby-Rechner in einen Zustand zurückgesetzt wird, indem nur noch das Betriebssystem bzw. die für den Ladevorgang notwendigen Programmmoduln nicht gelöscht sind. Es sind natürlich auch Verfahrensweisen denkbar, bei denen eine totale Zurücksetzung nicht erfolgt, sondern bei denen lediglich Teile oder Moduln der alten Anwendersoftware ersetzt werden durch eine neue geänderte Version. Beim Ladevorgang muß dann natürlich eventuell die unterschiedliche Länge der Softwareteile der alten und neuen Version berücksichtigt werden, was zu einer Verschiebung im Speicher oder verteilten Einspeicherung führen kann. Eine solche Vorgehensweise entlastet den Verkehr sowohl auf dem externen als auch auf dem internen Datenkanal.The previous view assumed that the with standby computers to be loaded into a new application software State is reset by only the operating system or the program modules necessary for the loading process are deleted. Of course there are also procedures conceivable, where a total reset does not take place, but only parts or modules of the old ones User software will be replaced with a new one Version. When loading, of course, the different length of the software parts of the old and new Version are taken into account, leading to a shift in the Storage or distributed storage can result. A such approach relieves traffic on both the external as well as on the internal data channel.
Die Fig. 4 zeigt ein detaillierteres Blockschaltbild für ein Ausführungsbeispiel einer Doppelrechneranordnung. Das Doppelrechnersystem besteht aus dem linken aktiven Rechner Ra und dem rechten passiven Rechner Rs. Beide Rechner sind wiederum Doppelrechnersysteme in der Architektur eines Hauptrechners oder zentralen Rechners ZR, dem ein Input- Outputrechner IOR eigens für Ein-/Ausgabe-Aufgaben vorgeschaltet ist. Beide Hauptrechner sind über einen Überwachungskanal ÜK mit einer Überwachungseinheit oder hier einem Diagnoserechner DR verbunden. Über diesen Überwachungskanal werden Report- bzw. Quittungssignale ausgetauscht. Die Überwachung schließt natürlich jeweils den Ein-Ausgaberechner IOR mit ein. Die Kontrollinstanz ist hier der Diagnoserechner DR, durch den auch die Umschaltung der Rechner in den aktiven bzw. passiven Zustand erfolgt, angedeutet durch die gestrichelten Linien, welche sowohl zum zentralen Rechner ZR als auch zum vorgeschalten Ein- Ausgaberechner IOR führen. FIG. 4 shows a more detailed block diagram of an embodiment of a dual computer arrangement. The double computer system consists of the left active computer Ra and the right passive computer Rs. Both computers are in turn double computer systems in the architecture of a main computer or central computer ZR, which is preceded by an input-output computer IOR especially for input / output tasks. Both main computers are connected via a monitoring channel ÜK to a monitoring unit or here a diagnostic computer DR. Report and acknowledgment signals are exchanged via this monitoring channel. The monitoring naturally includes the IOR input / output computer. The control entity here is the diagnostic computer DR, by means of which the computers are also switched to the active or passive state, indicated by the dashed lines which lead both to the central computer ZR and to the upstream input / output computer IOR.
Die Datenkanäle EDKa und EDKs führen auch jeweils über den Ein-/Ausgaberechner IOR. In der dargestellten Realisierung verbindet der Diagnoserechner DR den Datenkanal EDKa des augenblicklich aktiven Zentralrechner (ZRa) mit dem externen Datenkanal EDK. Auf diese Weise muß die übergeordnete Kontrollinstanz lediglich eine Schnittstelle bedienen und das gesamte in Fig. 4 dargestellte Rechnersystem stellt sich der übergeordneten Kontrollinstanz wie ein Einprozessorsystem dar.The EDKa and EDKs data channels also each lead via the IOR input / output computer. In the implementation shown, the diagnostic computer DR connects the data channel EDKa of the currently active central computer (ZRa) to the external data channel EDK. In this way, the superordinate control entity only has to operate an interface and the entire computer system shown in FIG. 4 presents itself to the superordinate control entity as a single processor system.
Claims (13)
- a) der passive Rechner wird auf das Laden vorbereitet,
- b) die neue Anwendersoftware wird von der externen Datenquelle über den externen Datenkanal in den Speicher des aktiven Rechners übertragen,
- c) die neue Anwendersoftware wird vom aktiven Rechner über den internen Datenkanal in den Speicher des passiven Rechners übertragen,
- d) nach Beendigung dieser Übertragung wird die in Schritt c) geladene Anwendersoftware des passiven Rechners gestartet,
- e1) läuft die neue Anwendersoftware fehlerlos, so wird der bis dahin passive Rechner in den aktiven Zustand umgeschaltet und der bis dahin aktive Rechner in den passiven Zustand umgeschaltet, und es folgt Schritt f),
- e2) im Fehlerfall unterbleibt die Umschaltung, und es folgt Schritt h),
- f) es folgen die Schritte a), c) und d),
- g1) läuft die neue Anwendersoftware fehlerfrei, ist der Ladevorgang beendet,
- g2) im Fehlerfall werden die Schritte f) und g) wiederholt;
- h) durch eine übergeordnete Kontrollinstanz wird entschieden, ob die Schritte a) und e) wiederholt werden oder ob die alte Anwendersoftware vom aktiven Rechner wieder in den passiven Rechner geladen wird.
- a) the passive computer is prepared for loading,
- b) the new user software is transferred from the external data source via the external data channel to the memory of the active computer,
- c) the new user software is transferred from the active computer to the memory of the passive computer via the internal data channel,
- d) after this transmission has ended, the user software of the passive computer loaded in step c) is started,
- e1) if the new user software runs without errors, the previously passive computer is switched to the active state and the previously active computer is switched to the passive state, and step f) follows,
- e2) in the event of an error, the switchover is omitted and step h) follows,
- f) steps a), c) and d) follow,
- g1) if the new user software runs correctly, the loading process is finished,
- g2) in the event of an error, steps f) and g) are repeated;
- h) a higher-level control body decides whether steps a) and e) are repeated or whether the old user software is loaded from the active computer back into the passive computer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4134207A DE4134207C1 (en) | 1991-10-16 | 1991-10-16 | Loading double-computer standby system - preparing passive computer for loading and taking new software from data source for entering into memory of active computer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4134207A DE4134207C1 (en) | 1991-10-16 | 1991-10-16 | Loading double-computer standby system - preparing passive computer for loading and taking new software from data source for entering into memory of active computer |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4134207C1 true DE4134207C1 (en) | 1993-04-01 |
Family
ID=6442780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4134207A Expired - Fee Related DE4134207C1 (en) | 1991-10-16 | 1991-10-16 | Loading double-computer standby system - preparing passive computer for loading and taking new software from data source for entering into memory of active computer |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE4134207C1 (en) |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4316500A1 (en) * | 1993-05-17 | 1994-11-24 | Siemens Ag | Method of exchanging system software |
EP0601424A3 (en) * | 1992-12-09 | 1995-03-29 | Ant Nachrichtentech | Computer system. |
EP0698847A1 (en) | 1994-08-24 | 1996-02-28 | Alcatel SEL Aktiengesellschaft | Method and computer for swapping a program package in a multiprocessor system |
DE4438697A1 (en) * | 1994-10-29 | 1996-05-02 | Sel Alcatel Ag | Method for loading multi-computer systems |
DE4438698A1 (en) * | 1994-10-29 | 1996-05-02 | Sel Alcatel Ag | Method of loading multi-computer systems |
EP0631449A3 (en) * | 1993-06-16 | 1997-02-26 | Siemens Ag | Method for putting into operation decentralized redundant devices in communication systems. |
DE19810802A1 (en) * | 1998-03-12 | 1999-09-16 | Ericsson Telefon Ab L M | Software processing device with software actualization function |
DE19810814A1 (en) * | 1998-03-12 | 1999-09-16 | Ericsson Telefon Ab L M | Software processing device with software actualization function |
WO2001016749A2 (en) * | 1999-08-27 | 2001-03-08 | Honeywell, Inc. | System and method for disseminating functional blocks to an on-line redundant controller |
EP1136909A2 (en) * | 1994-05-13 | 2001-09-26 | Hitachi, Ltd. | Multi-processor system, disk controller using the same and non-disruptive maintenance method thereof |
WO2002048877A1 (en) * | 2000-12-13 | 2002-06-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Replacing software at a telecommunications platform |
EP1220094A1 (en) * | 2000-12-30 | 2002-07-03 | Siemens Schweiz AG | Method of programming a safety-critical redundant system |
EP1686477A1 (en) * | 2005-01-31 | 2006-08-02 | Siemens Schweiz AG | Non-disruptive Software-Update |
WO2007131079A2 (en) * | 2006-05-05 | 2007-11-15 | Honeywell International Inc. | Apparatus and method for allowing a fail-back to a prior software release in a process control system |
WO2012045392A1 (en) * | 2010-10-05 | 2012-04-12 | Abb Technology Ag | Hot-replacement method of a software system for a controller using multiple cores |
WO2014125283A1 (en) * | 2013-02-15 | 2014-08-21 | Zynstra Limited | Computer system supporting remotely managed it services |
WO2014161986A1 (en) * | 2013-04-04 | 2014-10-09 | Phoenix Contact Gmbh & Co.Kg | Control and data transfer system for redundant process control and method for firmware updating |
US8924498B2 (en) | 2010-11-09 | 2014-12-30 | Honeywell International Inc. | Method and system for process control network migration |
US9110838B2 (en) | 2013-07-31 | 2015-08-18 | Honeywell International Inc. | Apparatus and method for synchronizing dynamic process data across redundant input/output modules |
EP2937986A1 (en) * | 2014-04-25 | 2015-10-28 | Alstom Technology Ltd | A control module |
US9699022B2 (en) | 2014-08-01 | 2017-07-04 | Honeywell International Inc. | System and method for controller redundancy and controller network redundancy with ethernet/IP I/O |
US9720404B2 (en) | 2014-05-05 | 2017-08-01 | Honeywell International Inc. | Gateway offering logical model mapped to independent underlying networks |
US10042330B2 (en) | 2014-05-07 | 2018-08-07 | Honeywell International Inc. | Redundant process controllers for segregated supervisory and industrial control networks |
US10148485B2 (en) | 2014-09-03 | 2018-12-04 | Honeywell International Inc. | Apparatus and method for on-process migration of industrial control and automation system across disparate network types |
US10162827B2 (en) | 2015-04-08 | 2018-12-25 | Honeywell International Inc. | Method and system for distributed control system (DCS) process data cloning and migration through secured file system |
US10296482B2 (en) | 2017-03-07 | 2019-05-21 | Honeywell International Inc. | System and method for flexible connection of redundant input-output modules or other devices |
US10409270B2 (en) | 2015-04-09 | 2019-09-10 | Honeywell International Inc. | Methods for on-process migration from one type of process control device to different type of process control device |
US10536526B2 (en) | 2014-06-25 | 2020-01-14 | Honeywell International Inc. | Apparatus and method for virtualizing a connection to a node in an industrial control and automation system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4371754A (en) * | 1980-11-19 | 1983-02-01 | Rockwell International Corporation | Automatic fault recovery system for a multiple processor telecommunications switching control |
-
1991
- 1991-10-16 DE DE4134207A patent/DE4134207C1/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4371754A (en) * | 1980-11-19 | 1983-02-01 | Rockwell International Corporation | Automatic fault recovery system for a multiple processor telecommunications switching control |
Non-Patent Citations (1)
Title |
---|
Apel U., Online-Software-Erweiterung und -Änderung, in: Elektrisches Nachrichtenwesen Bd. 64, No. 4, 1990, S. 327-333 * |
Cited By (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0601424A3 (en) * | 1992-12-09 | 1995-03-29 | Ant Nachrichtentech | Computer system. |
DE4316500A1 (en) * | 1993-05-17 | 1994-11-24 | Siemens Ag | Method of exchanging system software |
EP0631449A3 (en) * | 1993-06-16 | 1997-02-26 | Siemens Ag | Method for putting into operation decentralized redundant devices in communication systems. |
EP1136909A2 (en) * | 1994-05-13 | 2001-09-26 | Hitachi, Ltd. | Multi-processor system, disk controller using the same and non-disruptive maintenance method thereof |
EP1136909A3 (en) * | 1994-05-13 | 2007-10-31 | Hitachi, Ltd. | Multi-processor system, disk controller using the same and non-disruptive maintenance method thereof |
EP0698847A1 (en) | 1994-08-24 | 1996-02-28 | Alcatel SEL Aktiengesellschaft | Method and computer for swapping a program package in a multiprocessor system |
DE4438697A1 (en) * | 1994-10-29 | 1996-05-02 | Sel Alcatel Ag | Method for loading multi-computer systems |
DE4438698A1 (en) * | 1994-10-29 | 1996-05-02 | Sel Alcatel Ag | Method of loading multi-computer systems |
DE19810814B4 (en) * | 1998-03-12 | 2004-10-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Computer system and status copying process for scalable software updates |
DE19810802A1 (en) * | 1998-03-12 | 1999-09-16 | Ericsson Telefon Ab L M | Software processing device with software actualization function |
DE19810814A1 (en) * | 1998-03-12 | 1999-09-16 | Ericsson Telefon Ab L M | Software processing device with software actualization function |
WO2001016749A2 (en) * | 1999-08-27 | 2001-03-08 | Honeywell, Inc. | System and method for disseminating functional blocks to an on-line redundant controller |
US6415418B1 (en) | 1999-08-27 | 2002-07-02 | Honeywell Inc. | System and method for disseminating functional blocks to an on-line redundant controller |
AU769973B2 (en) * | 1999-08-27 | 2004-02-12 | Honeywell Inc. | System and method for disseminating functional blocks to an on-line redundant controller |
WO2001016749A3 (en) * | 1999-08-27 | 2001-10-18 | Honeywell Inc | System and method for disseminating functional blocks to an on-line redundant controller |
WO2002048877A1 (en) * | 2000-12-13 | 2002-06-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Replacing software at a telecommunications platform |
EP1220094A1 (en) * | 2000-12-30 | 2002-07-03 | Siemens Schweiz AG | Method of programming a safety-critical redundant system |
EP1686477A1 (en) * | 2005-01-31 | 2006-08-02 | Siemens Schweiz AG | Non-disruptive Software-Update |
WO2006081850A1 (en) * | 2005-01-31 | 2006-08-10 | Siemens Schweiz Ag | Soft-ware uninterruptible up-dating method |
WO2007131079A3 (en) * | 2006-05-05 | 2008-10-02 | Honeywell Int Inc | Apparatus and method for allowing a fail-back to a prior software release in a process control system |
US8108853B2 (en) | 2006-05-05 | 2012-01-31 | Honeywell International Inc. | Apparatus and method for allowing a fail-back to a prior software release in a process control system |
WO2007131079A2 (en) * | 2006-05-05 | 2007-11-15 | Honeywell International Inc. | Apparatus and method for allowing a fail-back to a prior software release in a process control system |
WO2012045392A1 (en) * | 2010-10-05 | 2012-04-12 | Abb Technology Ag | Hot-replacement method of a software system for a controller using multiple cores |
EP2444895A1 (en) * | 2010-10-05 | 2012-04-25 | ABB Technology AG | Hot-replacement method of a software system for a controller using multiple cores |
US8924498B2 (en) | 2010-11-09 | 2014-12-30 | Honeywell International Inc. | Method and system for process control network migration |
US9244674B2 (en) | 2013-02-15 | 2016-01-26 | Zynstra Limited | Computer system supporting remotely managed IT services |
WO2014125283A1 (en) * | 2013-02-15 | 2014-08-21 | Zynstra Limited | Computer system supporting remotely managed it services |
WO2014161986A1 (en) * | 2013-04-04 | 2014-10-09 | Phoenix Contact Gmbh & Co.Kg | Control and data transfer system for redundant process control and method for firmware updating |
US9110838B2 (en) | 2013-07-31 | 2015-08-18 | Honeywell International Inc. | Apparatus and method for synchronizing dynamic process data across redundant input/output modules |
US9448952B2 (en) | 2013-07-31 | 2016-09-20 | Honeywell International Inc. | Apparatus and method for synchronizing dynamic process data across redundant input/output modules |
EP2937986A1 (en) * | 2014-04-25 | 2015-10-28 | Alstom Technology Ltd | A control module |
WO2015162224A1 (en) * | 2014-04-25 | 2015-10-29 | Alstom Technology Ltd | A control module |
US9720404B2 (en) | 2014-05-05 | 2017-08-01 | Honeywell International Inc. | Gateway offering logical model mapped to independent underlying networks |
US10042330B2 (en) | 2014-05-07 | 2018-08-07 | Honeywell International Inc. | Redundant process controllers for segregated supervisory and industrial control networks |
US10536526B2 (en) | 2014-06-25 | 2020-01-14 | Honeywell International Inc. | Apparatus and method for virtualizing a connection to a node in an industrial control and automation system |
US9699022B2 (en) | 2014-08-01 | 2017-07-04 | Honeywell International Inc. | System and method for controller redundancy and controller network redundancy with ethernet/IP I/O |
US10148485B2 (en) | 2014-09-03 | 2018-12-04 | Honeywell International Inc. | Apparatus and method for on-process migration of industrial control and automation system across disparate network types |
US10162827B2 (en) | 2015-04-08 | 2018-12-25 | Honeywell International Inc. | Method and system for distributed control system (DCS) process data cloning and migration through secured file system |
US10409270B2 (en) | 2015-04-09 | 2019-09-10 | Honeywell International Inc. | Methods for on-process migration from one type of process control device to different type of process control device |
US10296482B2 (en) | 2017-03-07 | 2019-05-21 | Honeywell International Inc. | System and method for flexible connection of redundant input-output modules or other devices |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4134207C1 (en) | Loading double-computer standby system - preparing passive computer for loading and taking new software from data source for entering into memory of active computer | |
DE3650102T2 (en) | Arrangement and method for calculating cyclic redundant code. | |
DE3214328C2 (en) | ||
DE1449529C3 (en) | Interrupting device for a data processing system | |
DE3004827C2 (en) | Data processing system | |
EP0743595B1 (en) | Communication system with means for software exchange | |
DE2751106C2 (en) | ||
DE3215177A1 (en) | MONITORING SYSTEM FOR ONE OR MULTIPLE, SIMILAR DESIGN PROCESS STATIONS | |
DE3301628A1 (en) | CIRCUIT ARRANGEMENT FOR DATA EXCHANGE BETWEEN TWO COMPUTERS | |
EP0763953A2 (en) | Method for charging of software in communication systems with non-redundant, decentralized devices | |
EP0645913A2 (en) | Method and apparatus for the transmission of ATM cells over virtual paths | |
DE69422158T2 (en) | Process and system in a distributed operating system | |
DE4429969A1 (en) | Process for exchanging program packages in a multi-computer system and computer therefor | |
DE69019012T2 (en) | Method and device for station address testing in a network. | |
DE3780306T2 (en) | ADAPTER BUS SWITCH FOR IMPROVING THE AVAILABILITY OF A CONTROL UNIT. | |
DE2854655C2 (en) | Signal transmission control arrangement | |
EP0509114B1 (en) | Procedure for the transmission of data to a plurality of stations | |
DE3142504A1 (en) | MULTIPLE DISK STORAGE TRANSMISSION SYSTEM | |
EP0690635A2 (en) | Method for software charging in communication systems with non-redundant distributed devices | |
EP0113379A1 (en) | Coupler for processors | |
DE2845218B1 (en) | Microprogram-controlled input / output device and method for performing input / output operations | |
DE3840570C2 (en) | ||
EP0215276B1 (en) | Method and circuit arrangement for the transmission of data signals to a group of control devices within a loop system | |
DE2912734A1 (en) | MULTI-COMPUTER COUPLING | |
DE102005003060A1 (en) | Data link interruption handling method for use in Ethernet-network, involves interrupting ring structure by network nodes as interruption manager and dynamically assigning functionality of manager to network nodes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8100 | Publication of the examined application without publication of unexamined application | ||
D1 | Grant (no unexamined application published) patent law 81 | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: ROBERT BOSCH GMBH, 70469 STUTTGART, DE |
|
8339 | Ceased/non-payment of the annual fee |