WO2009030370A1 - Device and method for performing server software updates in a distributed computer system having at least two servers - Google Patents
Device and method for performing server software updates in a distributed computer system having at least two servers Download PDFInfo
- Publication number
- WO2009030370A1 WO2009030370A1 PCT/EP2008/006838 EP2008006838W WO2009030370A1 WO 2009030370 A1 WO2009030370 A1 WO 2009030370A1 EP 2008006838 W EP2008006838 W EP 2008006838W WO 2009030370 A1 WO2009030370 A1 WO 2009030370A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- server
- software
- computer
- computer system
- update
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
Definitions
- FIG. 2 shows a procedure for carrying out a server software update according to a second method alternative.
- FIG. 1 also shows in step 2 an updating process for the second server b which proceeds according to the above description.
- a second virtual machine V2 with the function of the second server vers b and the software version 1 installed, it is thus a migration of the physically existing server b to the virtual machine V2.
- the second computer R1 is then disconnected from the network N and there is an offline update of the software of the second server b, ie a change of the software from version 1 to version 2.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Description
Einrichtung und Verfahren zur Durchführung von Server-Software-Updates in einem verteilten Computersystem mit wenigstens zwei Servern Apparatus and method for performing server software updates in a distributed computer system having at least two servers
Beschreibungdescription
Die Erfindung bezieht sich auf eine Einrichtung und ein Verfahren zur Durchführung von Software-Updates beziehungsweise -Aktualisierungen in einem verteilten Computersystem das wenigstens zwei physikalische Server enthält, deren Serverfunktionalität auch während der Durchführung von Software-Updates beziehungsweise Software-Aktualisierungen zur Verfügung stehen muss. Eine solche Anforderung besteht typisch bei industriellen Automatisierungssystemen, bei denen Betriebsausfallzeiten teuer sind.The invention relates to a device and a method for carrying out software updates or updates in a distributed computer system which contains at least two physical servers whose server functionality must also be available during the execution of software updates or software updates. Such a requirement typically exists in industrial automation systems where downtime is expensive.
Ein bekannter Vorschlag zur Systemkonzeption geht dahin, das Computersystem redundant auszulegen, um notwendige Software-Updates in einem Systemteil durchführen zu können, während ein redundanter Systemteil den Betrieb aufrechterhält. Durch anschließend umgekehrtes Vorgehen kann das gesamte System unterbrechungsfrei aktualisiert werden. Es versteht sich, dass dies allerdings eine teure und platzaufwendige Lösung ist.One known proposal for system design is to redundantly design the computer system to perform necessary software updates in a system part, while a redundant part of the system maintains operation. By following the same procedure, the entire system can be updated without interruption. It goes without saying, however, that this is an expensive and space-consuming solution.
Falls das Computersystem ursprünglich nicht redundant ausgelegt ist, kann temporär ein zweites System zugefügt werden um Software-Updates ohne Betriebsunterbrechung durchführen zu können. Möglicherweise stehen jedoch nicht die dafür benötigten zusätzlichen Rechner und/oder nicht genügend Raum zur Aufstellung der zusätzlichen Systemkomponenten zur Verfügung. Außerdem muss die Netzstruktur erweitert werden, zusätzliche Kabelverbindungen und Schalteinrichtungen müssen installiert werden. Um eine Softwareaktualisierung durchführen zu können, müssen also in einem solchen Fall beträchtliche physikalische Systemänderungen vorgenommen werden.If the computer system was originally not designed to be redundant, a second system can be temporarily added to perform software updates without interrupting the operation. However, it may not be possible to provide the additional computers required for this and / or not enough space to set up the additional system components. In addition, the network structure must be expanded, additional cable connections and switching devices must be installed. In order to be able to perform a software update, you must enter In such a case, considerable physical system changes are made.
Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren und eine Einrichtung anzugeben, mit denen Server-Software-Updates in einem nicht-redundanten verteilten Computersystem ohne Betriebsunterbrechung mit vergleichsweise geringem Zusatzaufwand durchführbar sind.The invention is therefore based on the object of specifying a method and a device with which server software updates can be carried out in a non-redundant distributed computer system without interruption of operation with comparatively little additional effort.
Diese Aufgabe wird gelöst durch ein Verfahren zur Durchführung von Server- Software-Updates in einem verteilten Computersystem mit mehreren physikalischen Rechnern, wovon wenigstens zwei der Rechner als Server eingerichtet sind, das die im Anspruch 1 angegebenen Merkmale aufweist. Vorteilhafte Ausgestaltungen und ein zur Verfahrensdurchführung eingerichtetes Computersystem sind in weiteren Ansprüchen angegeben.This object is achieved by a method for performing server software updates in a distributed computer system having a plurality of physical computers, of which at least two of the computers are configured as servers having the features specified in claim 1. Advantageous embodiments and a computer system configured for carrying out the method are specified in further claims.
Mit der Erfindung wird demnach vorgeschlagen, die zur Durchführung von Server- Software-Updates beziehungsweise -Aktualisierungen und/oder Anpassungen ohne Betriebsunterbrechung in einem verteilten Computersystem erforderliche Redundanz mittels temporärer virtueller Maschinen zu schaffen. Die virtuellen Maschinen übernehmen während eines Update-Vorgangs die Server-Funktion des jeweils betroffenen Systemteils. Die für eine solche Vorgehensweise erforderlichen Vorkehrungen sind deutlich weniger aufwändig als bei den oben genannten bekannten Lösungen.The invention therefore proposes to provide the redundancy required for performing server software updates or updates and / or adjustments without interruption in a distributed computer system by means of temporary virtual machines. The virtual machines take on the server function of the affected system part during an update process. The provisions required for such a procedure are much less complicated than in the above known solutions.
Wie nachstehend dargelegt, werden zwei Lösungsalternativen vorgeschlagen. Eine erste Alternative erfordert wenigstens zwei als Server betriebene physikalische Rechner im System, die ausreichend leistungsfähig sind, um vorübergehend zusätzlich eine virtuelle Maschine mit der Funktionalität eines anderen Servers betreiben zu können. Falls diese Voraussetzung nicht gegeben ist, kann gemäß einer zweiten Alternative mittels eines einzigen vorübergehend zu installierenden zusätzlichen physikalischen Rechners die erforderliche System-Performance geschaffen werden.As explained below, two alternative solutions are proposed. A first alternative requires at least two server-operated physical computers in the system, which are sufficiently powerful to temporarily operate in addition a virtual machine with the functionality of another server. If this requirement is not met, according to a second alternative, the required system performance can be created by means of a single temporary physical computer to be temporarily installed.
Eine weitere Erläuterung der Erfindung und deren Vorteile ergibt sich aus der nachstehenden Beschreibung von Ausführungsbeispielen anhand von Zeichnungsfiguren. Es zeigen:A further explanation of the invention and its advantages will become apparent from the following description of embodiments with reference to drawing figures. Show it:
Fig. 1 eine Vorgehensweise zur Durchführung eines Server-Software-Updates gemäß einer ersten Verfahrensalternative, und1 shows a procedure for performing a server software update according to a first method alternative, and
Fig. 2 eine Vorgehensweise zur Durchführung eines Server-Software-Updates gemäß einer zweiten Verfahrensalternative.2 shows a procedure for carrying out a server software update according to a second method alternative.
Fig. 1 zeigt im oberen Zeichnungsbereich unter einem Schritt 0 ein nichtredundantes verteiltes Computersystem, beispielsweise ein industrielles Automatisierungssystem als Ausgangssystem. Ein solches System weist typisch eine Vielzahl von physikalischen Rechnern auf, wovon hier zur Vereinfachung nur drei physikalische Rechner R1 , R2, und R3 dargestellt sind. Im Beispiel ist im ersten Rechner R1 eine Version 1 einer Software SW für eine erste Server-Funktionalität a installiert. Im zweiten Rechner R2 ist eine Softwareversion 1 für eine zweite Server-Funktionalität b installiert. Der dritte Rechner R3 ist ein Client. Die Rechner R1 , R2, und R3 sind über ein Netzwerk N miteinander verbunden.1 shows in the upper drawing area under a step 0 a non-redundant distributed computer system, for example an industrial automation system as the starting system. Such a system typically has a plurality of physical computers, of which only three physical computers R1, R2, and R3 are shown here for the sake of simplicity. In the example, a version 1 of a software SW for a first server functionality a is installed in the first computer R1. In the second computer R2, a software version 1 for a second server functionality b is installed. The third computer R3 is a client. The computers R1, R2, and R3 are interconnected via a network N.
Als Schritt 1 ist ein Updatevorgang dargestellt, wobei zuerst auf dem zweiten Rechner R2 eine erste virtuelle Maschine V1 mit der Funktion des ersten Servers a und der Software-Version 1 installiert wird. Der zweite Rechner R2 übernimmt somit vorübergehend die Funktion der beiden Server a und b. Der erste Rechner R1 wird anschließend vom Netzwerk N getrennt und es erfolgt offline ein Update beziehungsweise eine Aktualisierung sowie Anpassung der Software des ersten Servers a, also eine Änderung der Software von Version 1 zu einer Version 2.As step 1, an update process is shown, wherein first on the second computer R2 a first virtual machine V1 with the function of the first server a and the software version 1 is installed. The second computer R2 thus temporarily assumes the function of the two servers a and b. The first computer R1 is then disconnected from the network N and there is offline update or update and customization of the software of the first server a, ie a change of the software from version 1 to version 2.
In einem Schritt 2 wird der erste Rechner R1 , also der erste Server a mit der neuen Software-Version 2 wieder mit dem Netzwerk N verbunden, und die erste virtuelle Maschine V1 aus dem zweiten Rechner R2 entfernt. Damit ist der Updatevorgang für die Software des Servers a abgeschlossen.In a step 2, the first computer R1, ie the first server a with the new software version 2 is again connected to the network N, and the first virtual machine V1 is removed from the second computer R2. This completes the update process for the software of server a.
In Fig. 1 ist im Schritt 2 außerdem ein entsprechend der vorstehenden Beschreibung ablaufender Updatevorgang für den zweiten Server b dargestellt. Dabei wird im ersten Rechner R1 eine zweite virtuelle Maschine V2 mit der Funktion des zweiten Ser- vers b und der Software-Version 1 installiert, es erfolgt somit eine Migration des physikalisch vorhandenen Servers b zur virtuellen Maschine V2. Der zweite Rechner R1 wird anschließend vom Netzwerk N getrennt und es erfolgt offline ein Update der Software des zweiten Servers b, also eine Änderung der Software von Version 1 zur Version 2.FIG. 1 also shows in step 2 an updating process for the second server b which proceeds according to the above description. In this case, in the first computer R1, a second virtual machine V2 with the function of the second server vers b and the software version 1 installed, it is thus a migration of the physically existing server b to the virtual machine V2. The second computer R1 is then disconnected from the network N and there is an offline update of the software of the second server b, ie a change of the software from version 1 to version 2.
In einem Schritt 3 wird der zweite Rechner R2, und damit der zweite Server b mit der neuen Software-Version 2 wieder mit dem Netzwerk N verbunden, und die virtuelle Maschine V2 aus dem ersten Rechner R1 entfernt. Damit ist der Updatevorgang für die Software der beiden Server a und b abgeschlossen und das Computersystem arbeitet wieder im normalen Betrieb.In a step 3, the second computer R2, and thus the second server b with the new software version 2 again connected to the network N, and the virtual machine V2 removed from the first computer R1. Thus, the update process for the software of the two servers a and b is completed and the computer system is working again in normal operation.
Die anhand der Fig. 1 beschriebene erste Alternative erfordert keine zusätzliche Hardware, keinen zusätzlichen Raum für ein redundantes System und keine Netzwerkänderungen zur Durchführung von Updates. Allerdings muss die Computer- Performance jeweils ausreichen für die vorübergehende Installation einer virtuellen Maschine. Falls diese Voraussetzung nicht gegeben ist, wird als zweite Alternative eine in Fig. 2 dargestellte Vorgehensweise vorgeschlagen.The first alternative described with reference to FIG. 1 requires no additional hardware, no additional space for a redundant system, and no network changes for performing updates. However, computer performance must be sufficient for the temporary installation of a virtual machine. If this condition is not met, the second alternative proposed is a procedure shown in FIG.
Fig. 2 zeigt in einem Schritt 20 ein Ausgangssystem, das mit dem der Fig.1 im SchrittFIG. 2 shows in a step 20 an output system which corresponds to that of FIG. 1 in the step
0 dargestellten System übereinstimmt und deshalb keiner Wiederholung der Beschreibung bedarf. Als Schritte 21 und 22 ist ein Update-Vorgang dargestellt, wobei an das Netzwerk N vorübergehend ein weiterer physikalischer Rechner R4 als neuer Server c angeschlossen wird, in den für jeden zu aktualisierenden Server im Computersystem, hier für die beiden Server a und b jeweils eine virtuelle Maschine V1 , V2 mit der jeweiligen Server-Software installiert wird. Nach Migration der jeweiligen Serverfunktion in die entsprechende virtuelle Maschine, also Serverfunktion a in die virtuelle Maschine V1 und Serverfunktion b in die virtuelle Maschine V2, werden die Rechner R1 und R2 vom Netzwerk N getrennt und offline in beiden Servern a, b ein Software-Update durchgeführt. In einem Schritt 23 ist wieder wie im Schritt 3 der Fig.0 system corresponds and therefore does not require repetition of the description. As steps 21 and 22, an update process is shown, wherein the network N temporarily another physical computer R4 is connected as a new server c, in each case for each server to be updated in the computer system, here for the two servers a and b virtual machine V1, V2 is installed with the respective server software. After migration of the respective server function into the corresponding virtual machine, ie server function a in the virtual machine V1 and server function b in the virtual machine V2, the computers R1 and R2 are disconnected from the network N and offline in both servers a, b a software update carried out. In a step 23, as in step 3 of FIG.
1 das Computersystem im normalen Betrieb mit aktualisierter Software gezeigt. Wenn eine Vielzahl von Servern zu aktualisieren ist, und die Kapazität des zusätzlichen Rechners nicht für eine gleichzeitige Migration der Server ausreicht, können auf diese Weise auch nacheinander Updates vorgenommen werden. Falls aber während des Serverbetriebs mittels virtueller Maschine V1.V2 weitere Anpassungen oder Änderungen zugelassen werden, verfolgt eine Rück-Migration der weiteren Anpassungen in die angepasste Software beziehungsweise den angepass- teπ Rechner R1 , R2 erfolgen, bevor dieser Rechner wieder dem Netzwerk zugeschaltet und die virtuelle Maschine deinstalliert wird. Alternativ dazu kann auch eine Zeitlang ein redundanter Betrieb des geänderten physikalischen Servers und des virtuellen Servers vorgesehen werden, bis eine automatische Synchronisation erfolgt ist. 1 shows the computer system in normal operation with updated software. If a large number of servers is to be updated, and the additional computer's capacity is not sufficient for a simultaneous migration of the servers, it is also possible in this way to carry out successive updates. If, however, further adjustments or changes are permitted during server operation by means of a virtual machine V1.V2, a back-migration of the further adaptations to the adapted software or the adapted computer R1, R2 follows, before this computer is switched back to the network and the network is switched on uninstalled virtual machine. Alternatively, a redundant operation of the changed physical server and the virtual server may be provided for a while until an automatic synchronization has taken place.
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102007041653.0 | 2007-09-03 | ||
| DE102007041653A DE102007041653A1 (en) | 2007-09-03 | 2007-09-03 | Apparatus and method for performing server software updates in a distributed computer system having at least two servers |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2009030370A1 true WO2009030370A1 (en) | 2009-03-12 |
Family
ID=40010713
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2008/006838 Ceased WO2009030370A1 (en) | 2007-09-03 | 2008-08-20 | Device and method for performing server software updates in a distributed computer system having at least two servers |
Country Status (2)
| Country | Link |
|---|---|
| DE (1) | DE102007041653A1 (en) |
| WO (1) | WO2009030370A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110320595A1 (en) * | 2010-06-25 | 2011-12-29 | Toshiba Medical Systems Corporation | Medical information processing device and software distributing system |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1083483A1 (en) * | 1999-07-16 | 2001-03-14 | Nortel Networks Limited | Software migration on an active processing element |
| GB2359385A (en) * | 2000-02-16 | 2001-08-22 | Data Connection Ltd | A method for upgrading programs while they are running, without reducing fault-tolerance |
| WO2003107147A2 (en) * | 2002-06-17 | 2003-12-24 | Marimba, Inc. | Method and system for automatically updating multiple servers |
| US20040210890A1 (en) * | 2003-04-17 | 2004-10-21 | International Business Machines Corporation | System quiesce for concurrent code updates |
| US20050262494A1 (en) * | 2004-05-18 | 2005-11-24 | Bea Systems, Inc. | Production redeployment through application versioning |
| EP1643361A2 (en) * | 2004-09-30 | 2006-04-05 | Microsoft Corporation | Updating software while it is running |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5155837A (en) * | 1989-03-02 | 1992-10-13 | Bell Communications Research, Inc. | Methods and apparatus for software retrofitting |
-
2007
- 2007-09-03 DE DE102007041653A patent/DE102007041653A1/en not_active Withdrawn
-
2008
- 2008-08-20 WO PCT/EP2008/006838 patent/WO2009030370A1/en not_active Ceased
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1083483A1 (en) * | 1999-07-16 | 2001-03-14 | Nortel Networks Limited | Software migration on an active processing element |
| GB2359385A (en) * | 2000-02-16 | 2001-08-22 | Data Connection Ltd | A method for upgrading programs while they are running, without reducing fault-tolerance |
| WO2003107147A2 (en) * | 2002-06-17 | 2003-12-24 | Marimba, Inc. | Method and system for automatically updating multiple servers |
| US20040210890A1 (en) * | 2003-04-17 | 2004-10-21 | International Business Machines Corporation | System quiesce for concurrent code updates |
| US20050262494A1 (en) * | 2004-05-18 | 2005-11-24 | Bea Systems, Inc. | Production redeployment through application versioning |
| EP1643361A2 (en) * | 2004-09-30 | 2006-04-05 | Microsoft Corporation | Updating software while it is running |
Non-Patent Citations (1)
| Title |
|---|
| INTERNATIONAL BUSINESS MACHINES CORPORATION: "Method for permitting several versions of a module to coexist within a virtual machine", RESEARCH DISCLOSURE, MASON PUBLICATIONS, HAMPSHIRE, GB, vol. 443, no. 177, 1 March 2001 (2001-03-01), XP007127893, ISSN: 0374-4353 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110320595A1 (en) * | 2010-06-25 | 2011-12-29 | Toshiba Medical Systems Corporation | Medical information processing device and software distributing system |
Also Published As
| Publication number | Publication date |
|---|---|
| DE102007041653A1 (en) | 2009-03-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1430369B1 (en) | Dynamic access to automation resources | |
| DE10029645B4 (en) | Method for addressing network components | |
| WO2005050437A2 (en) | Method for the installation and configuration of software components | |
| DE19815263A1 (en) | Error-tolerant computer program running device | |
| DE102015216265A1 (en) | Method and subsystem for installing a software update in a vehicle | |
| EP0394514B1 (en) | Method for the synchronisation of data-processing equipments | |
| EP2732347B1 (en) | Method and system for the dynamic distribution of program functions in distributed control systems | |
| EP1227616A1 (en) | Method, program and arrangement for synchronization of a network manager with a network agent | |
| EP3028182B1 (en) | Method and system for synchronising data | |
| WO2009030370A1 (en) | Device and method for performing server software updates in a distributed computer system having at least two servers | |
| DE102004051130A1 (en) | Method and automation system for operating and / or observing at least one field device | |
| EP3800517B1 (en) | Method for providing a redundant automation system, computer program and computer-readable medium | |
| EP2811352A1 (en) | Method for processing an automation project by a plurality of processing stations | |
| DE102007041652A1 (en) | Apparatus and method for making hardware adjustments to a server in a distributed computer system having at least two servers | |
| EP4091054A1 (en) | Method and apparatus for reconfiguring an autonomous vehicle in the event of a fault | |
| DE102007006184B3 (en) | Method for computer-aided operation of technical network, involves characterizing network at each time by network condition that comprises multiple of parameters in network | |
| WO2009030363A1 (en) | Redundant, distributed computer system having server functionalities | |
| DE19701323C2 (en) | Method and device for updating the operating software | |
| DE102004017698A1 (en) | Supervisory control and data acquisition system for network control system, has data acquisition components e.g. blocking devices, switching assignments and markings and usages of foreign vendors that are in respective integration platforms | |
| EP3988384B1 (en) | Computer-implemented method and device for local load management of charging stations for charging electric vehicles in a charging station system | |
| DE102021200190B4 (en) | Method for providing a configuration record of an entity | |
| EP1019808A1 (en) | Responsive system for processing digital signals and operating method for a responsive system | |
| EP1426862A2 (en) | Synchronization of data processing within redundant processing elements of a data processing system | |
| DE202016104397U1 (en) | Arrangement with a tool for configuring a technical system | |
| WO2004042479A2 (en) | Method for parameterising computer-assisted units |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 08785647 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 08785647 Country of ref document: EP Kind code of ref document: A1 |