DE19810802A1 - Störungsfreies Aktualisieren von Daten - Google Patents

Störungsfreies Aktualisieren von Daten

Info

Publication number
DE19810802A1
DE19810802A1 DE19810802A DE19810802A DE19810802A1 DE 19810802 A1 DE19810802 A1 DE 19810802A1 DE 19810802 A DE19810802 A DE 19810802A DE 19810802 A DE19810802 A DE 19810802A DE 19810802 A1 DE19810802 A1 DE 19810802A1
Authority
DE
Germany
Prior art keywords
software
data
old
new
variables
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
DE19810802A
Other languages
English (en)
Inventor
Bengt Erik Ingemar Gard
Lars-Oerjan Kling
Sten Edvard Johnsson
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Priority to DE19810802A priority Critical patent/DE19810802A1/de
Priority to US09/265,950 priority patent/US6347396B1/en
Priority to AU34108/99A priority patent/AU3410899A/en
Priority to JP2000535991A priority patent/JP2002507020A/ja
Priority to KR1020007010080A priority patent/KR20010041805A/ko
Priority to CA002323452A priority patent/CA2323452C/en
Priority to PCT/EP1999/001586 priority patent/WO1999046673A2/en
Priority to EP99915572A priority patent/EP1062570A2/de
Publication of DE19810802A1 publication Critical patent/DE19810802A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

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)
  • Exchange Systems With Centralized Control (AREA)

Abstract

Zum Verbessern des Wirkungsgrads bei einem Aktualisierungsprozeß in einem Software-Bearbeitungsgerät mit mehreren Speicherpartitionen (4, 14) wird vorgeschlagen, die Durchführung der alten Software mit den ursprünglichen Daten, die in einer ersten Speicherpartition (4) gespeichert sind, fortzusetzen und die neue Software und zugeordnete Daten in einer zweiten Speicherpartition (14) zu aktualisieren. Falls derselbe Zustand für die Daten der alten und neuen Software erreicht ist (S4), erfolgt ein unmittelbares Umschalten der Dienste zu der neuen Software. Dieser Prozeßablauf wird solange wiederholt (S6), bis keine weiteren zu übertragenden Daten in der ersten Speicherpartition vorliegen (S6). Somit ermöglicht die vorliegende Erfindung eine erhebliche Verbesserung des Aktualisierungswirkungsgrades mit verringerter Störung während der Datenübertragung.

Description

Gebiet der Erfindung
Die vorliegende Erfindung betrifft das störungsfreie Aktualisieren von Daten, und insbesondere das störungsfreie Aktualisieren von Software und zugeordneter Daten in einem Software-Bearbeitungsgerät sowie ein hierfür geeignetes Verfahren.
Gebiet der Erfindung
Die Fortentwicklung von Datenverarbeitungsgeräten und der Softwaretechnologie führt zu einem zunehmenden Bedarf für Methoden zum Aktualisieren von Software.
Das übliche Vorgehen zum Erreichen dieses Zieles besteht in dem Stoppen der Durchführung der installierten Software, dem Laden der neuen Software und dem Starten der neuen Software. Bei diese Vorgehensweise werden keine internen Daten zwischen der alten und der neuen Software übertragen. Weiterhin gehen mit diesem Verfahren sämtliche eingerichtete Dienste verloren, und alle Dienste werden vollständig während dem Laden und Starten der neuen Software gestoppt. Momentan wird dieses Verfahren typischerweise für Workstations oder Personal Computer eingesetzt.
Ein anderes Verfahren besteht in dem Laden der neuen Software unter gleichzeitiger Fortführung des Betriebs der alten Software mit den alten Daten. Jedoch wird üblicherweise während der Übertragung der Daten zwischen der alten Software und der neuen Software die Durchführung der alten Software vollständig gestoppt. Ein Beispiel hierfür ist in "Fernhochstufung und -aktualisierung von AXE10 Software", Seiten 66-67, Ericsson Rev. Nr. 2, 1996, beschrieben, und es betrifft die Übertragung von Variablen eines Datensatzes, die zusammen bei einer Installation über sämtliche Variablen des Datensatzes gehandhabt werden.
Insbesondere werden üblicherweise zu übertragende Variable durch den Entwerfer der neuen Software identifiziert. Weiterhin muß für jede umzusetzende Variable ein zugeordnetes Umsetzungsprogramm vorbereitet werden. Dieses Umsetzprogramm führt dann die erforderlichen Transformationen und Übertragungen des Ergebnisses zu der neu installierten Software durch.
Jedoch besteht der Nachteil bei der oben beschriebenen Lösung darin, daß die Gesamteigenschaften und das Leistungsvermögen des Systems verschlechtert wird. Insbesondere wird während der Datenübertragung die Durchführung von Software gestoppt, damit eine konsistente Kopie der Daten der alten Software erhalten wird.
Deshalb wird in US-A-5 155 837 vorgeschlagen, die Eingabe von Daten für neue Dienste zu der neuen Software in einem ersten Schritt umzuschalten. Ferner wird dann, wenn der bei der alten Software fortschreitende Dienst abgeschlossen ist, die Ausgabe von Daten durch diese Dienste von der alten Version zu der neuen Version umgeschaltet. Jedoch ermöglicht diese Lösung lediglich die Handhabung von Software, durch die Dienste mit einer sehr kurzen Dauer implementiert sind, da die Software gemäß der alten Version erst beendet werden muß, bevor die neue Softwareversion in vollem Umfang betriebsbereit ist.
Zusammenfassung der Erfindung
Im Hinblick auf die obigen Ausführungen besteht die Aufgabe der vorliegenden Erfindung in der Erzielung einer störungsfreien Aktualisierung für Software mit verbessertem Wirkungsgrad.
Gemäß der Erfindung wird diese Aufgabe gelöst durch ein Software-Bearbeitungsgerät vom Typ mit Aktualisierungs- Funktionalität, enthaltend eine Speichervorrichtung unterteilt in eine erste Speicherpartition zum Speichern einer ersten Gruppe von Software und zugeordneter Daten, und eine zweite Speicherpartition zum Speichern einer zweiten Gruppe von Software und zugeordneter Daten, eine Software- Aktualisierungsvorrichtung, ausgebildet zum Laden von Software und zugeordneter Daten in die erste Speicherpartition, wobei gleichzeitig dem Fortsetzen der Software-Bearbeitung mit Software, die in der zweiten Speicherpartition gespeichert ist, und unmittelbaren Umschalten der Durchführung von Software, soweit derselbe Zustand für die geladene und die ausgeführte Software erzielt ist.
Insgesamt wird ein hoher Wirkungsgrad und ein störungsfreies Aktualisieren von Softwaremodul selbst dann erreicht, wenn die alte Software Dienst mit langer Dauer handhabt. Gemäß der Erfindung wird vorgeschlagen, die neue Software mit sämtlichen erforderlichen Daten der alten Software zu aktualisieren, während die alte Software fortlaufend betrieben wird. Unmittelbar dann, wenn Daten der neuen Software denselben Zustand wie Daten der alten Software haben, übernimmt die neue Software die Durchführung der zugeordneten Funktionalitäten.
Ferner enthält gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung die Software- Aktualisierungsvorrichtung eine Aktualisierungs- Steuervorrichtung zum Bewerten, ob Software in der neu zu ladenden Speicherpartition und in der momentanen Arbeitsspeicherpartition einen Zustand zum Umschalten der Durchführung der Software erreicht haben. Vorzugsweise enthält die Software-Aktualisierungsvorrichtung weiter eine Schnittstellen- und Umsetzvorrichtung zum Laden von Software und zugeordneter Daten durch Datenübertragung zwischen unterschiedlichen Speicherpartitionen in dem Software- Bearbeitungsgerät. Weiterhin führt vorzugsweise die Schnittstellen- und Umsetzvorrichtung die Übertragung von Software in einem einzigen Hintergrundprozeß und zugeordneter Daten im Rahmen mehrerer Hintergrundprozesse durch. Der einzige Hintergrundprozeß und die mehreren Hintergrundprozesse werden jeweils simultan mit der Durchführung der momentan installierten Software ausgeführt.
Somit läuft zum Übertragen sämtlicher erforderlicher Daten im Zusammenhang mit unterschiedlicher Software zumindest ein Hintergrundprozeß ab, der alle als zu übertragend gekennzeichnete Daten handhabt. Hierbei überträgt der Hintergrundprozeß die Daten zu der neuen Software entweder unverändert oder er startet, falls erforderlich, ein Umsetzprogramm.
Da gemäß der vorliegenden Erfindung die Durchführung von Software fortgeführt wird, während der Hintergrundprozeß abläuft, ist es möglich, daß bereits übertragene Daten durch die alte Software nochmals verändert werden. Zum Erzielen konsistenter Daten zwischen der alten und neuen Software führt jede derartige Veränderung einer Variablen zum erneuten Übertragen zu der neuen Software. In anderen Worten ausgedrückt, erfolgt bei jedem Schreiben von bereits kopierten Daten durch die alte Software das erneute Übertragen der Daten zu der neuen Software. In dem Fall umzusetzender Daten wird zudem ein Umsetzprogramm für diese Daten gestartet, und das Umsetzergebnis wird erneut zu der neuen Software übertragen.
Demnach ist es gemäß der vorliegenden Erfindung möglich, sämtliche erforderlichen Daten der alten Software zu der neuen Software zu übertragen, ohne daß irgendein Dienst abgebrochen wird, der bereits mittels Durchführung der alten Software eingerichtet ist. Weiterhin wird das Bereitstellen neuer Dienste während der Übertragung von Daten oder jeder anderen Zeit nicht gestoppt. Insbesondere umfaßt das Übertragen von Daten die Umsetzung der Daten zu der Darstellung und gemäß den Datenstrukturen der neuen Software.
Somit ist es gemäß der vorliegenden Erfindung möglich, die Störung im Fall einer Funktionsänderung erheblich zu reduzieren. Demnach läßt sich eine Funktionsänderung während der normalen Arbeitsstunden durchführen, um Gegensatz zu einer Funktionsänderung während der Nachtstunden. Den Anbietern der Dienste gehen keine Einnahmen durch eine Aktualisierung verloren, und Abnehmer der Dienste erfahren keine Verschlechterung dieser Dienste.
Weiterhin können gemäß der vorliegenden Erfindung Software- Aktualisierungen öfters in dem System durchgeführt werden, da die Kosten hierfür signifikant reduziert sind. Zudem lassen sich neue Merkmale früher den Teilnehmern anbieten.
Dieselben Vorteile werden durch das erfindungsgemäße Verfahren zum Aktualisieren von Software erzielt, enthaltend die Schritte Laden neuer Software und Übertragung sämtlicher Daten im Zusammenhang mit der alten Software und der neuen Software bei gleichzeitigem Fortführen der alten Software, Bewerten, ob Daten im Zusammenhang mit der neuen Software denselben Zustand wie Daten im Zusammenhang mit der alten Software erreicht haben, und unmittelbares Umschalten der Dienste zu der neuen Software, soweit der Zustand der Daten für die neue Software und die alte Software gleich ist.
Für eine bevorzugte Ausführungsform des erfindungsgemäßen Verfahren ist kennzeichnend, daß zu übertragende Daten durch zumindest einen Hintergrundprozeß identifiziert werden, während die alte Software fortlaufend ihre Dienste weiter ausführt. Vorzugsweise wird dieser Hintergrundprozeß wiederholt zum Übertragen von Variablen durchgeführt, die während der Durchführung der alten Software überschrieben wurden.
Weiterhin unterteilt sich gemäß einer weiteren bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens das wiederholte Durchführen des zumindest einen Hintergrundprozesses in die Teilschritte Markieren einer zu übertragenden Variablen bei jedem Beschreiben durch die alte Software, Wiederholen des Hintergrundprozesses lediglich für markierte Variable, und Entfernen der Markierung der übertragenen Variablen.
Demnach werden im Rahmen des erfindungsgemäßen Verfahren potentiell inkonsistente Variable so markiert, daß die Markierung bei Beginn des Hintergrundprozesses eingesetzt wird. Insbesondere wird jedes übertragende Datenelement markiert, das von der alten Software während der Durchführung der alten Software beschrieben wird. Nachdem der Hintergrundprozeß sämtliche zu übertragende Daten abgefragt hat, wird er erneut gestartet, jedoch diesesmal lediglich anhand der nun als zu übertragend markierten Variablen. Nach einer Übertragung wird die Markierung eines Datenelements rückgesetzt. Anschließend werden erneut alle Variable markiert, die durch die alte Software nach dem Start des zweiten Durchlaufs des Hintergrundprozesses überschrieben werden. Diese Schleife wird wiederholt durchlaufen, bis die Zahl der überschriebenen markierten Variablen während eines Durchgangs des Hintergrundprozesses im Vergleich zu dem vorhergehenden Durchgang nicht mehr abnimmt. Anschließend können die verbleibenden wenigen Variablen während einer Prozeßunterbrechung übertragen werden. Ist eine derartige Prozeßunterbrechung erforderlich, so ist die Zeit hierfür minimiert, damit der maximal mögliche Wirkungsgrad erzielt wird.
Weiterhin können sowohl das erfindungsgemäße Software- Bearbeitungsgerät als auch das erfindungsgemäße Verfahren im Rahmen mehrerer Anwendungen eingesetzt werden, beispielsweise dem Aktualisieren von Software in Zentralverarbeitungseinheiten von Mobilkommunikationssystemen, der Aktualisierung einer Datenbasis mit minimaler Störung im Falle einer Veränderung der Struktur der Datenbasis, oder dem Aktualisieren eines Betriebssystems.
Beschreibung der Zeichnung
Bevorzugte Ausführungsformen der vorliegenden Erfindung werden unter Bezug auf die beiliegende Zeichnung beschrieben; es zeigen:
Fig. 1 ein Blockschaltbild des Software-Bearbeitungsgeräts gemäß einer ersten Ausführungsform der vorliegenden Erfindung;
Fig. 2 ein Blockschaltbild des Software-Bearbeitungsgeräts gemäß einer zweiten Ausführungsform der vorliegenden Erfindung;
Fig. 3 Grundkomponenten der in Fig. 1 und 2 gezeigten Aktualisierungs-Steuereinheit;
Fig. 4 ein Flußdiagramm des erfindungsgemäßen Verfahrens zum Aktualisieren von Software;
Fig. 5a ein Flußdiagramm zum Darstellen weiterer Details des in Fig. 4 gezeigten Vorbereitungsschritts;
Fig. 5b ein Flußdiagramm zum Darstellen weiterer Details des in Fig. 4 gezeigten Schrittes zum Aktualisieren neuer Software sowie zugeordneter Daten;
Fig. 6 den Zustand eines Referenzspeichers nach dem Laden neuer Softwaremodule;
Fig. 7 den Zustand eines Referenzspeichers nach dem in Fig. 4 gezeigten Vorbereitungsschritt für die neuen Softwaremodule;
Fig. 8 ein detailliertes Flußdiagramm für den in Fig. 4 gezeigten Schritt zum unmittelbaren Umschalten zumindest eines Dienstes zu den neuen Softwaremodule;
Fig. 9 ein detailliertes Flußdiagramm gemäß dem in Fig. 4 gezeigten Schritt zum Bewerten verbleibender Daten.
Beschreibung bevorzugter Ausführungsformen der Erfindung
Die Fig. 1 zeigt ein Blockschaltbild eines Software- Bearbeitungsgeräts 1 gemäß der ersten Ausführungsform der vorliegenden Erfindung.
Wie in Fig. 1 gezeigt, weist das Software-Bearbeitungsgerät 1 eine Seite A und eine Seite B auf. Insbesondere ist auf der Seite A eine Aktualisierungs-Steuereinheit 2, eine Speicherpartition 4 und eine Prozessoreinheit 6 vorgesehen. Ferner ist die Speicherpartition in einen Datenspeicherabschnitt 8 und einen Softwarespeicherabschnitt 10 unterteilt. Weiterhin ist bei der Seite B eine zweite Aktualisierungs-Steuereinheit 12, eine zweite Speicherpartition 14 und eine zweite Prozessoreinheit 16 vorgesehen. Wie bei der Seite A, ist die Speicherpartition 14 in einen Datenspeicherabschnitt 18 und einen Software- Speicherabschnitt 20 unterteilt.
Ferner sind, wie in Fig. 1 gezeigt, die Speicherpartition 4 der Seite A und die Speicherpartition 14 der Seite B über eine Schnittstellen- und Umsetzeinheit 22 verbunden. Diese Schnittstellen- und Umsetzeinheit 22 wird durch die Aktualisierungs-Steuereinheit 2 bei der Seite A über eine Verbindung 24 gesteuert. Ferner steuert die Aktualisierungs- Steuereinheit 12 auf der Seite B diese Schnittstellen- und Umsetzeinheit 22 über eine weitere Verbindung 26. Zudem sind beide Aktualisierungs-Steuereinheiten 2, 12 mit den zugeordneten Speicherpartitionen 4, 14 über zusätzliche Verbindungen 28 und 30 verbunden.
Die Fig. 2 zeigt ein Blockschaltbild gemäß der zweiten Ausführungsform der vorliegenden Erfindung, derart, daß Einheiten mit derselben Funktionalität, wie sie in Fig. 1 gezeigt ist, anhand derselben Bezugszeichen bezeichnet sind. Zum Vermeiden von Wiederholungen erfolgt hier keine nochmalige Beschreibung dieser Einheiten.
Wie in Fig. 2 gezeigt, ist bei der zweiten Ausführungsform des Software-Bearbeitungsgeräts die Funktionalität der in Fig. 1 gezeigten Aktualisierungs-Steuereinheit 2 und 12 in eine einzige Aktualisierungs-Steuereinheit 32 integriert. Ferner muß die Aktualisierungs-Steuereinheit 32 nicht irgendeiner spezifischen Seite A oder B zugeordnet sein, sondern sie kann Teil jeder Seite A oder B sein.
Grundkomponenten für die unterschiedlichen Aktualisierungs- Steuereinheiten 2, 12 und 32 sind in Fig. 3 gezeigt. Insbesondere enthält die Aktualisierungs-Steuereinheit eine Datenübertragungs-Steuereinheit 34 zum Handhaben der Datenübertragung zwischen der alten und neuen Software von der Seite A zu der Seite B. Ferner ist eine Zustandsvergleichseinheit 36 vorgesehen, und zwar zum Vergleichen des Zustands der alten und der neuen Software bei der Seite A und B und zum Triggern der Umschalteinheit 38 im Fall einer Koinzidenz der bestimmten Zustände. Die Speicherverwaltungseinheit 40 führt die Speicherverwaltung während des Ladens der neuen Software durch, insbesondere das Allokieren von Speicherabschnitten, das Deallokieren von Speicherabschnitten, das Kompaktieren von Speicherabschnitten und das Modifizieren von Basisadressen für Datenvariable. Schließlich initialisiert die Verbindungsinitialisierungs- und -verwaltungseinheit 42 Verbindungen zwischen Referenzspeichertabellen im Zusammenhang mit den unterschiedlichen Softwaremodulen in dem neuen Software- Speicherabschnitt 20 nach dem Laden der neuen Software, und ebenfalls Referenzinformation im Zusammenhang mit Datenvariablen in dem Datenspeicherabschnitt 18 der Speicherpartition 14 bei der Seite B. Weitere Details der unterschiedlichen Komponenten der Aktualisierungs- Steuereinheit werden im folgenden unter Bezug auf die Fig. 4 bis 8 beschrieben.
Ist, wie in Fig. 1 gezeigt, diese Aktualisierungs- Steuereinheit vom verteilten Typ, so können die ersten drei Komponenten der Aktualisierungs-Steuereinheit 2 bei der Seite A zugeordnet sein, und die verbleibenden Komponenten können die Aktualisierungs-Steuereinheit 12 bei der Seite B zugeordnet sein.
Nach der Beschreibung von zwei Ausführungsformen des Software-Bearbeitungsgeräts gemäß der vorliegenden Erfindung unter Bezug auf die Fig. 1 und 2 folgt nun die Beschreibung von deren Funktionalität unter Bezug auf die Fig. 4 bis 9. Ohne Beschränkung der Erfindung sei angenommen, daß die neue Software bei der Seite B geladen wird.
Wie in Fig. 4 gezeigt, starten die Prozessoreinheiten beider Seiten mit einem Vorbereitungsschritt S1 zum Laden neuer Software und zum Initialisieren des Referenzspeichers hierfür. Ferner wird gemäß Schritt S2 die Durchführung der alten Software, die typischerweise in Module aufgeteilt ist, während dem vollständigen Aktualisierungsprozeß fortgeführt. Gleichzeitig mit der Durchführung der alten Software im Schritt S2 initiiert(en) die Aktualisierungs-Steuereinheit 32 oder die Aktualisierungs-Steuereinheiten 2 und 12 die Aktualisierung der neuen Software und das Übertragen von Daten zwischen der alten und der neuen Software im Schritt S3. Aufgrund dieser gleichzeitigen Durchführung unterschiedlicher Teilaufgaben nach Schritt S2 und S3 ist es möglich, eine signifikante Verbesserung des Gesamtwirkungsgrads für den Aktualisierungsprozeß zu erzielen.
Wie in Fig. 4 gezeigt, erfolgt unmittelbar nach dem Bestimmen einer Datenkonsistenz im Zusammenhang mit der alten und neuen Software durch die Zustandsvergleichseinheit 36 im Schritt S4 das Umschalten der Dienste zu der neuen Software durch die Umschalteinheit 38 im Schritt S5, und zwar soweit derselbe Zustand erzielt ist. Der Schritt S4 kann anhand von Gruppen der neuen und alten Softwaremodule oder für die gesamten Softwaremodule, z. B. als eine Gesamtgruppe, durchgeführt werden. Nach jedem solchen Umschaltschritt S5 bestimmt die Datenübertragungs-Steuereinheit 34 im Schritt S6, ob zu übertragende Daten in entweder dem ersten Datenspeicherabschnitt 8 oder dem ersten Software- Speicherabschnitt 10 weiter vorliegen. Ist dies der Fall, so kehrt der Aktualisierungsprozeß zu dem Schritt S2 zurück, um weiter alte Software und zugeordnete Daten solange zu übertragen, bis der gesamte Aktualisierungsprozeß abgeschlossen ist.
Gemäß der vorliegenden Erfindung kann die Umschalteinheit 38 für die alte und neue Software nach Fig. 3 auf modularer Basis beschrieben werden. Ferner werden zu übertragende Daten fortlaufend identifiziert, während die alte Software mit der Durchführung ihrer Dienste weiter betrieben wird. Vorzugsweise erfolgt die Identifizierung von zu übertragenden Daten und Übertragung selbst gemäß den Schritten S3 bis S6 mit zumindest einem Hintergrundprozeß, der gleichzeitig mit der alten Software durchgeführt wird.
Somit wird gemäß der vorliegenden Erfindung die Störung während der Durchführung einer Funktionsänderung erheblich reduziert, so daß sich eine Funktionsänderung während der normalen Betriebsstunden durchführen läßt, anstelle einer Funktionsänderung während der Nachtstunden. Deshalb gehen dem Softwareanbieter keine Einkünfte durch die Aktualisierung verloren, und die Anwender der Software erfahren keine verschlechterten Dienste. Insgesamt läßt sich die Aktualisierung von Software öfter in dem System durchführen, da die Kosten für eine Aktualisierung reduziert sind. Weiterhin können neue Merkmale leichter für die Teilnehmer angeboten werden.
Nachfolgend werden weitere Details für den Betrieb des Software-Bearbeitungsgeräts gemäß der in Fig. 1 und 2 gezeigten ersten und zweiten Ausführungsform unter Bezug auf die Fig. 5 bis 9 beschrieben.
Insbesondere zeigen die Fig. 5a und 5b Details für die Aktualisierung von Software gemäß den in Fig. 4 gezeigten Schritten S1 und S3. Die Fig. 8 zeigt Details für das Umschalten der Dienste zu der neuen Software gemäß dem in Fig. 4 gezeigten Schritt. Die Fig. 9 zeigt Details zum Bestimmen verbleibender übertragender Daten zum Erzielen desselben Zustands gemäß dem in Fig. 4 gezeigten Schritt S4.
Nachfolgend erfolgt eine Beschreibung des Schritts S1 als Vorbereitungsschritt und des Schritts S3 zum Aktualisieren neuer Software und zugeordneter Daten unter Bezug auf die Fig. 5a und Fig. 5b.
Wie in Fig. 5a gezeigt, betrifft der erste Schritt S11 zum Vorbereiten der Aktualisierung der neuen Software das Vorbereiten des Datenspeicherabschnitts bei der Seite B, und er wird durch die Speicherverwaltungseinheit 40 durchgeführt. Hierbei erfolgt eine Neuzuordnung des Speicherbereichs zwischen unterschiedlichen Speicherpartitionen, damit Datenvariable dazwischen auf einer physikalischen Datenspeicher-Adressierebene übertragen werden können. Insbesondere werden die Speicherpartitionen 4, 14 so neu allokiert, daß die Variablen einen geeigneten Adreßraum in der Speicherpartition belegen. Demnach können Datenvariable später mit den Datenvariablen der neuen Software gleichzeitig vorliegen.
Ferner erfolgt, wie in Fig. 5a gezeigt, im Rahmen des Schritts S11 eine Aufteilung des Speichers in unterschiedliche Speicherpartitionen zum Erzielen eines ausreichenden Speichers für die Aufnahme der alten, wie auch der neuen Software und der Umsetzprogramme für die Umsetzung von Daten.
Der nächste in Fig. 5 gezeigte Schritt S12 betrifft das Laden der neuen Software und wird von der Speicherverwaltungseinheit 40 durchgeführt. Neben der neuen Software wird zusätzlich Umsetzinformation in der zu aktualisierenden Speicherpartition gespeichert, die für die Übertragung von Daten erforderlich ist. Die Umsetzinformation enthält Code für die Umsetzung der Ausgangsvariablen bzw. Quellvariablen in umgesetzte Variable, sowie Information über Variable, die zu kopieren sind oder als Quellvariable zu verwenden sind. Ferner betrifft die Umsetzinformation Basisadreßveränderungen.
Zudem entfernt die Speicherverwaltungseinheit 40 alte veränderte oder gelöschte Software von dem Software- Speicherabschnitt 20 bei der aktualisierten Speicherpartition 14 mit Ausnahme der Software, die für die Funktionsänderung selbst erforderlich ist. Hinzugefügte und veränderte neue Software wird in den Software-Speicherabschnitt 20 der aktualisierten Speicherpartition 14 geladen. Hierbei wird Speicherbereich für hinzugefügte und veränderte Software allokiert, jedoch wird größenveränderlichen Feldern lediglich eine anfängliche Größe zugeordnet. Während dem Aktualisierungsprozeß wird die Durchführung der Dienste weiter durch die alte Software durchgeführt.
Wie in Fig. 5a gezeigt, erfolgt in einem weiteren Schritt S13 das Vorbereiten und Modifizieren eines Referenzspeichers durch die Verbindungsinitialisierungs- und -verwaltungseinheit 42. Insbesondere wird Referenzspeicherinformation für die entfernte Software aufrechterhalten, da diese Information später zum Verbinden der Umsetzprogramme mit den alten Versionen der Datenvariablen erforderlich ist. Ferner wird auch ein Referenzspeicherbereich für die neue Software allokiert und gesetzt. Demnach liegen nach dem Schritt S13 Basisadreßtabellen BAT für die neue Software sowie für die alte Software vor.
Das Ergebnis des Vorbereitungsschrittes S12 ist in Fig. 6 gezeigt. Es besteht aus Basisadreßtabellen BAT und Datenspeicherabschnitten in den Speicherpartitionen 4, 14 nach dem Laden der neuen Software bei der Seite B. Referenztabellen werden im Hinblick auf die neue und alte Software beibehalten, um einen Überblick auf die momentan verfügbare Software zu gewährleisten. Ferner enthalten die Basisadreßtabellen BAT Adressen für unterschiedliche Softwaremodule, die unterteilt sind in den Typ hinzugefügte oder veränderte Softwaremodule, beibehaltene Softwaremodule oder gelöschte und veränderte Softwaremodule.
Fig. 6 zeigt insbesondere, daß neue Software entweder hinzugefügte oder veränderte Softwaremodule 44-1 oder beibehaltene Softwaremodule 44-2 betrifft. Ferner steht die alte Software entweder im Zusammenhang mit beibehaltenen Softwaremodulen 46-1 oder mit gelöschten oder veränderten Softwaremodulen 46-2.
Wie in Fig. 6 gezeigt, existiert auch eine Verbindung zwischen den unterschiedlichen Softwaremodulen und zugeordneter Variabler, die in dem Datenspeicherbereich der jeweiligen Speicherpartitionen abgelegt sind, jeweils über Zeiger 48, 50, 52. Nach dem Laden der neuen Software werden hinzugefügte oder veränderte Softwaremodule verbunden mit den neuen getrennten, kopierten und umgesetzten Variablen 48-1 bis 48-3. Ferner werden beibehaltene Softwaremodule verbunden mit Variablen, die gemeinsam bzw. getrennt sind, die kopiert sind oder die Quellvariable sind, vgl. 50-1 bis 50-3. Schließlich werden gelöschte oder veränderte Softwaremodule verbunden mit Variablen, die alt bzw. getrennt sind, die kopiert sind oder die Quellvariable sind, vgl. 52-1 bis 52-2.
Wie in Fig. 7 gezeigt, bewirkt der Schritt 13 das Erzielen eines aktualisierten Referenzspeichers. Für den Aktualisierungsprozeß wird Umsetzsoftware 54 zu den Referenztabellen hinzugefügt, und zugeordnete neue Umsetzsoftwaremodule 56 werden bei den Basisadreßtabellen BAT ergänzt. Es ist zu erkennen, daß die Umsetzsoftware mit den Umsetzsoftwaremodulen über eine Verbindung 58 im Zusammenhang steht.
Wie in Fig. 7 gezeigt, erfolgt nach dem Aktualisieren des Referenzspeichers gemäß dem Schritt S13 eine erneute Ausrichtung der Verbindung 48-2 zu den neuen, kopierten Variablen 60 zu den alten, gemeinsamen kopierten Variablen 62. Demnach ist es nicht mehr länger erforderlich, Speicherbereich für neu kopierte Variable in dem Speicherabschnitt für aktualisierte Daten 14 bereitzustellen.
Ferner weist die Basisadreßtabelle BAT 56 für die neu eingefügten Softwaremodule Verbindungen 64-1 bis 64-3 auf, jeweils zu den Variablen vom Typ neu umgesetzt 66, gemeinsam Quellvariable 68, und alt Quellvariable 70. Dies bedeutet, daß die Umsetzsoftwaremodule einen Einfluß auf den tatsächlichen Inhalt haben, der letztendlich in diesen Variablen 66, 68, 70 gespeichert ist.
Somit baut die Verbindungsinitialisierungs- und Aktualisierungseinheit 42 die Basisadreßtabellen bei der Seite B der aktualisierten Speicherpartition 14 erneut auf, und zeitweise Basisadreßtabellen BAT 56 werden auf dieser Seite für Umsetzzwecke eingerichtet. Diese Basisadreßtabellen BAT 56 werden durch die Umsetzsoftwaremodule eingesetzt, und die Einträge in die neuen Basisadreßtabellen werden so verändert, daß sie auf die alten anstelle der neuen, kopierten Datenvariablen zeigen, so daß anschließend die zugeordneten alten Datenvariablen für die jeweilige alte und neue Software gemeinsam sind. Die neuen, kopierten Datenvariablen können somit von dem Datenspeicherabschnitt 18 der Seite B entfernt werden.
Ferner werden Datenvariable, die lediglich eine neue Basisadresse erhalten und deren Wert, Struktur, Größe und Zahl von Einträgen unverändert ist, als kopierte Datenvariable behandelt.
Dasselbe gilt für Datenvariable, die lediglich ihre Größe von der alten Software übernehmen.
Weiterhin werden solche Variable vom Typ Umsetzen in dem aktualisierten Datenspeicherabschnitt 18 allokiert, die gemäß der Umsetzinformation ihre Größe von den alten Softwaremodulen übernehmen. Um zuvor über die neuen, kopierten Datenvariablen die allokierten Speicher erneut zu nützen, kann der Datenspeicherabschnitt 18 zunächst gepackt werden. In Fig. 7 unschattiert gezeigte Datenvariable werden unverändert beibehalten. Ferner werden in Fig. 7 schattiert gezeigte Datenvariable durch die Umsetzmodule modifiziert.
Das Ergebnis der Vorbereitung des Referenzspeichers nach Schritt S13 dient als Basis zum Kopieren bzw. Umsetzen von Daten in der aktualisierten Speicherpartition gemäß Schritt S32, der von der Schnittstellen- und Umsetzeinheit 22 durchgeführt wird. Insbesondere werden Datenvariable vom Typ Kopieren oder Quellvariable von der Seite A zu der Seite B während der durchgehenden Ausführung der alten Software übertragen. Die Kopien werden jedesmal dann erstellt, wenn Daten durch die alte Software überschrieben werden, und sie erfolgen auf einer physikalischen Adressierungsebene.
Die Gesamtmodifikation der Datenvariablen durch die Schnittstellen- und Umsetzeinheit 22 in Abhängigkeit von der Modifikation der zugeordneten Software läßt sich wie folgt zusammenfassen:
Die Fig. 5b zeigt weitere Details für die Aktualisierung der neuen Software gemäß dem in Fig. 4 gezeigten Schritt S3. Hier wird der erste Schritt S31 an der Schnittstellen- und Umsetzeinheit 22 durchgeführt, und er wird durch die Datenübertragungs-Steuereinheit 34 gesteuert. Er dient zum Identifizieren von Daten der alten Software, die zu übertragen sind. Insbesondere dient der Schritt S31 zum Identifizieren von Daten, die bisher nicht übertragen sind, sowie von Daten, die bereits übertragen sind, jedoch erneut durch die alte Software aufgrund von deren fortgesetzten Ausführung überschrieben sind. Gemäß einer Option der vorliegenden Erfindung können die zugeordneten Datenvariablen markiert werden.
Im Rahmen des Schritts S31 können Datenveränderungsinformation in der Datenübertragungs- Steuereinheit 34 zum Spezifizieren von Daten eingesetzt werden, die lediglich durch Kopien in neue Datenvariable zu übertragen sind.
Eine andere Option besteht in Daten, die ihre Basisadresse verändern, jedoch ihren Wert, ihre Struktur, ihre Größe und Zahl von Einträgen bei der betreffenden Datenvariablen beibehalten. Ferner kann Datenveränderungsinformation auch spezifizieren, das eine bestimmte Art von Daten durch Anwendung einer Umsetzfunktionalität umzusetzen ist.
Eine weitere Kategorie für die Aktualisierung von Daten besteht in abgetrennten Daten im Zusammenhang mit Variablen der neuen Software, die nicht zu kopieren sind und auch in keiner Weise von der alten Software abzuleiten sind.
Schließlich können die Daten vom Quelltyp sein, d. h. zum Erzielen des Wertes bestimmter umgesetzter Variablen eingesetzt werden. Insbesondere können Daten sowohl vom Quell- als auch vom Kopiertyp sein.
Wie in Fig. 5b gezeigt, betrifft der zweite Schritt S32 zum Aktualisieren der Software das Kopieren, Umsetzen und Initialisieren der neuen Software und von Daten im Zusammenhang hiermit. Der zweite Schritt S32 wird durch die Datenübertragungs-Steuereinheit 34 gesteuert, und er erzielt eine Modifikation der Daten und des Referenzspeichers, wie im folgenden beschrieben.
Hierbei wird die folgende Information zwischen der ursprünglichen Speicherpartition 4 und der aktualisierten Speicherpartition 14 übertragen:
Daten:
Ein Datenwort,
Adresse:
die vollständige Adresse der geschriebenen Daten einschließlich der Bitadresse für Einträge, die kürzer als ein Wort sind,
Wild Card:
ein Bit zum Anzeigen der Tatsache, daß mehr als ein Eintrag während eines einzigen Schreibbetriebs geschrieben wurde,
Kategorie:
ein Bit zum Anzeigen, daß die Variable vom Quelltyp ist.
Zum Gewährleisten der Tatsache, daß bereits alle betroffenen Datenvariablen übertragen werden, werden Datenvariable vom Typ Kopieren oder Quellvariable im Rahmen des zumindest einen Hintergrundprozesses, der oben unter Bezug auf die Fig. 4 dargestellt wurde, gelesen und geschrieben.
Ferner wird, sobald der Hintergrundprozeß abgeschlossen ist, die Umsetzung zum Umsetzen der Datenvariablen bei der Seite B gestartet. Sie wird parallel zu dem Kopieren zwischen der Speicherpartition bei der Seite A und der Speicherpartition bei der Seite B durchgeführt. Gemäß der Erfindung erfolgt die Umsetzung auf individuelle Art jedesmal dann, wenn in einem Umsetzbefehl auftretende Daten durch die alte Software geschrieben werden.
Wie in Fig. 5b gezeigt, umfaßt der Schritt S32 das Initialisieren der neuen Software, das dann durchzuführen ist, wenn die Hintergrundumsetzung der Datenvariablen abgeschlossen ist. Der Zweck dient der Initialisierung der neuen Softwaremodule vor der tatsächlichen Durchführung hiervon. Insbesondere erfolgt das Initialisieren parallel zum Kopieren und Umsetzen von Daten. Unterschiedliche Arten logischer Verbindungen und Referenz werden neu eingerichtet, die normalerweise während der Durchführung des Systemstarts oder des Systemneustarts hergestellt werden und die eine Aktualisierung nach Veränderung erforderlich ist.
Wie in Fig. 4 gezeigt, wird im Schritt S4 die Zustandsvergleichseinheit 36 zum Bestimmen des Zustands der Daten im Hinblick auf die alte und neue Software aktiviert. Die Teilschritte im Zusammenhang mit diesem Schritt S4 sind in Fig. 9 gezeigt und enthalten zwei Abfragen. Im Schritt S41 erfolgt die Abfrage, ob zu übertragende Daten weiter vorliegen. Im Schritt S42 erfolgt die Abfrage, ob sich die Zahl der überschriebenen oder markierten Datenvariablen während des letzten Durchgangs des Aktualisierungsprozesses verringert hat.
Hat sich die Zahl der überschriebenen oder markierten Datenvariablen während des letzten Durchgangs des Aktualisierungsprozesses verringert, so verzweigt der Aktualisierungsprozeß erneut zu dem in Fig. 4 gezeigten Schritt S2. Anderenfalls wird die Übertragung der verbleibenden Datenvariablen während einem Stop der alten Software zum Abschließen der gesamten Aktualisierungsprozedur durchgeführt. Liegt derselbe Zustand vor, so geht der Prozeß zu dem durch die Umschalteinheit 38 durchgeführten Schritt S5 über, damit Dienste unmittelbar zu der neuen Software insoweit umgeschaltet werden, als derselbe Zustand vorliegt. Die Fig. 8 zeigt Teilschritte im Zusammenhang mit dem Umschalten der Dienste zu den neuen Softwaremodulen, die nachfolgend beschrieben werden.
Der erste in Fig. 8 gezeigte Schritt S51 betrifft das Umschalten zwischen der Speicherpartition 4 bei der Seite A und der Speicherpartition 14 bei der Seite B. Hierbei wird die Durchführung der umzuschaltenden Softwaremodule auf der Seite A zusammen mit der Abfrage entsprechender Prozeßtabellen beendet. Momentan in Prozeßpuffern vorliegende Prozesse werden entweder durchgeführt oder gegebenenfalls entfernt. Müssen Softwaremodule entfernt werden, so sollten betroffene Transaktionen, sofern möglich, abgeschlossen werden.
Im Schritt S52 erfolgt der Neustart mit minimaler Funktionsänderung bei der Seite B. Die Hauptfunktion dieses optionalen Schritts S52 besteht in der Übernahme der externen Kommunikation mit weiteren Software-Bearbeitungsgeräten, die mit dem aktualisierten Software-Bearbeitungsgerät verbunden sind. Weiterhin können Bearbeitungstabellen und Zeitablaufsignale im Zusammenhang mit dieser externen Kommunikation initiiert werden. Zum Sparen von Zeit kann das Signal für den Neustart lediglich an die betroffenen Softwaremodule gesendet werden. Welche Softwaremodule betroffen sind, kann anhand der vorhergehenden Initialisierung (Schritt S32) entweder durch Funktionscodes oder durch explizite Signale der betroffenen Softwaremodule entschieden werden.
Der nächste in Fig. 7 gezeigte Schritt S53 ist optional und betrifft den Abbruch der Funktionsänderung, z. B. das Löschen von Transaktionen. Insbesondere erfaßt die vorliegende Erfindung das Transaktionskonzept, das das Konzept eines Zustands für die Transaktion betrifft. Dieser Zustand wird für die Transaktion als Ganzes betrachtet. Gemäß der vorliegenden Erfindung wird zwischen zwei Zuständen unterschieden, d. h. einem ersten stabilen Zustand, in dem der Zustand der Transaktion genau in dem Sinne definiert ist, daß eine Abbildung ausgehend von dem alten Softwaremodul zu dem neuen Softwaremodul möglich ist, sowie ferner dem metastabilen Zustand, in dem das Gegenteil gilt. Der Vorteil dieses Transaktionskonzepts besteht darin, daß es möglich ist, einen teuren Mechanismus für die Umsetzung sämtlicher möglicher metastabiler Zustände zu vermeiden.
Nach dem Schritt S53 wird der in Fig. 7 schattiert gezeigte Speicher für Umsetzzwecke deallokiert und anschließend wird der Referenzspeicher zurückgesetzt.
Der letzte in Fig. 8 gezeigte Schritt S54 betrifft einen normalen parallelen Start für die Ausgangs- und letztendlich durchführende Seite. Dieser Schritt wird dann durchgeführt, wenn die neue Software während einer bestimmten Zeitdauer durchgeführt wurde, so daß Fehler in der neuen Software außerordentlich unwahrscheinlich sind. Vor diesem Normalisierungsschritt S54 dient die aktualisierte Seite als Sicherung bei Aufrechterhaltung der alten Software im Speicher.
Mit erneutem Bezug auf Fig. 4 ist zu erkennen, daß nach dem Umschalten in Schritt S5 der abschließende Schritt S6 gemäß dem Hauptflußdiagramm die Bewertung der Tatsache betrifft, ob Daten immer noch zu übertragen sind oder ob alle neuen Softwaremodule aktiviert und in Betrieb sind.
Anhand der obigen Beschreibung der erfindungsgemäßen Vorgehensweise ergibt sich, daß sie sowohl auf einzige Software-Bearbeitungseinrichtung als auch auf mehrere Software-Bearbeitungseinrichtungen mit verteilter Bearbeitung anwendbar ist.
Der offenbare Vorteil des Einsatzes einer einzigen Software- Bearbeitungseinrichtung besteht darin, daß keine Anforderung zum Kopieren von Daten zwischen unterschiedlichen Software- Bearbeitungsgeräten besteht. Weiterhin können Umsetzprogramme als einfache Softwareinterrupts anhand der normalen Befehlsausführung gestartet werden. Zum Überwinden des Nachteils, daß eine Befehlspipeline bei jedem Schreiben einer Quelldatenvariablen unterbrochen würde, sowie des hiermit verbundenen negativen Einflusses auf die normalen Ausführzeiten, besteht eine Möglichkeit im Puffern der Quelldatenvariablen-Adresse bei dem Softwareinterrupt.
Der Einsatz mehrerer Software-Bearbeitungsgeräte ist dahingehend vorteilhaft, daß weniger Speicher und Bearbeitungskapazität bei jedem Software-Bearbeitungsgerät erforderlich ist. Der Grund hierfür besteht darin, daß der Programmspeicherabschnitt nicht die alte Software, die neue Software und die Umsetzprogramme aufnehmen muß. Ferner muß der Datenspeicherabschnitt nicht Datenvariable vom Typ getrennt sowohl für die alte als auch für die neue Software aufnehmen. Für den Programmspeicherabschnitt führt dies zu einer erheblich geringeren Anforderung im Vergleich zu der Implementierung mit einem einzigen Software- Bearbeitungsgerät. Auch für den Datenspeicherabschnitt sind die Anforderungen geringer. Schließlich sind die Anforderungen an die Bearbeitungskapazität signifikant verringert, da die Umsetzprogramme sowie die ursprünglichen Programme an unterschiedlichen Stellen unter Einsatz mehrerer Software-Bearbeitungsgeräte durchgeführt werden.
Insgesamt können die wesentlichen Prinzipien der Erfindung zum Erzielen einer störungsfreien Funktionsänderung von Software wie folgt zusammengefaßt werden. Das Kopieren und Umsetzen von Daten von der alten zu der neuen Software wird parallel zu und ohne Störung der normalen Softwareausführung durchgeführt. Die Module der neuen Software werden durch Ausführen eines Funktionsänderungsstarts initialisiert, der parallel und ohne Störung einer normalen Softwaredurchführung ausgeführt wird. Ein Umschalten zu der neuen Software erfolgt mit einem Funktionsneustart minimalen Umfangs während eines Stops der Softwaredurchführung, gefolgt durch ein Beenden instabiler Transaktionen parallel zu der Softwaredurchführung.
Ferner bestehen grundlegende Prinzipien der vorliegenden Erfindung im Kopieren des Werts einer Datenvariablen in eine neue Datenvariable. Eine weitere Möglichkeit besteht im Beibehalten derselben Datenvariablen mit veränderter Basisadresse unter Beibehaltung des Werts, der Struktur, der Größe und der Zahl der Einträge der Variablen durch Allokierung der ursprünglichen physikalischen Stelle der Datenvariablen in dem Datenspeicher zu dem neuen Datenbasis- Adressentabelleneintrag. Hierbei erfolgt die erfindungsgemäße Allokierung vor der eigentlichen Kopie oder dem eigentlichen Umsetzen. Dies bedeutet, daß keine Anforderung dahingehend besteht, tatsächlich Umsetzprogramme für derartige Zuordnungen durchzuführen. Im Gegensatz hierzu führt eine einzige Kopie zu der beabsichtigten Umsetzung.
Ferner wird für neue Teile der neuen Software-Speicher in dem Datenspeicherabschnitt vor dem Start des Kopierens und Umsetzens allokiert. Dies bedeutet, daß keine Anforderung dahingehend besteht, Ressourcen zum Kompaktieren des Speichers während der kritischen Umsetzzeit einzusetzen.
Ferner erfolgt der Transfer der Werte für kopierte oder Quelldatenvariable zwischen den unterschiedlichen Seiten bei jedem Schreiben von Datenvariablen. Damit alle zu übertragenden Seitenvariablen übertragen werden, erfolgt im Hintergrund ein Abfragen von sämtlichen Datenvariablen.
Ferner erfolgt bei der aktualisierten Seite ein Start der Umsetzprogramme mit jeder Übertragung eines Quelledatenvariablen-Werts. Bei jedem Start wird das Umsetzprogramm normalerweise lediglich für den einzelnen Eintrag der betroffenen Datenvariablen gestartet, und demnach erfolgt keine Iterierung über alle Einträge der Datenvariablen. Damit allen Datenvariablen Datenwerte zugeordnet sind, laufen sämtliche Umsetzprogramme einmal für jeden Eintrag im Hintergrund ab.
Zudem erfolgt die Funktionsänderung mit minimalem Neustart sehr schnell ohne Initialisierung, z. B. einem statischen Binden bzw. Verbinden. Dies bedeutet, daß er die normale Durchführung der Software selbst dann nicht stört, wenn ein kurzer Stop während der Durchführung auftritt.
Schließlich werden Transaktionen, die sich nicht in einem gut definierten Zustand beim Umschalten befinden, abgebrochen. Die Notation eines Zustands für eine Transaktion, d. h. als stabil oder metastabil, legt fest, ob der Zustand definiert ist oder nicht. Hierdurch ist ein konsistenter Zustand für die neue Software bei allen Transaktionen gewährleistet, die in einem stabilen Zustand vorliegen. Die verbleibenden Transaktionen werden abgebrochen.
Während bisher unterschiedliche Ausführungsformen der vorliegenden Erfindung beschrieben wurden, sind sie nicht als die vorliegende Erfindung begrenzend auszulegen, und weitere Modifikationen und Änderungen sind, wie im folgenden dargelegt, in Betracht zu ziehen.
Ein Beispiel besteht in der Übertragung einer Datenvariablenadresse zu dem Datenspeicherabschnitt zwischen den unterschiedlichen Seiten auf einem abstrahierten Adressierungsniveau. Hierbei würde die Datenvariablenadresse aus der Basisadresse der Datenvariablen sowie dem Zeiger oder Index, falls anwendbar, bestehen. Der Hauptvorteil dieser Modifikation besteht in der Vereinfachung der Umsetzung.
Eine weitere Modifikation besteht in der Aktualisierung von Softwaremodulen, bei der andere Teile betroffen sind als Softwaremodule, die in einem spezifischen Software- Bearbeitungsgerät gespeichert sind. Insbesondere könnte gleichzeitig mit der Aktualisierung der Software auch Hardware aktualisiert werden. Weiterhin könnte ein Umschalten der Durchführung der Software zu einem anderen Software- Bearbeitungsgerät während der Hardwareaktualisierung durchgeführt werden.
Zudem ist eine kombinierte Aktualisierung von Software und Hardware bei unterschiedlichen Software-Bearbeitungsgeräten in Betracht zu ziehen. Zunächst sind die Hardwareteile zu verändern, und anschließend sind die Softwareteile unter Einsatz des erfindungsgemäßen Verfahrens zu verändern. Hierbei sind nicht alle Komponenten gleichzeitig zu verändern, und demnach besteht keine Anforderung für einen globalen Neustart in dem verteilten System.
Bezugszeichenliste
1
Software-Bearbeitungsgerät
4
Erste Speicherpartition
14
Zweite Speicherpartition
2
,
12
,
32
Aktualisierungs-Steuereinheit
22
Schnittstellen- und Umsetzeinheit
8
Erster Datenspeicherabschnitt
10
Erster Softwarespeicherabschnitt
18
Zweiter Datenspeicherabschnitt
20
Zweiter Softwarespeicherabschnitt
24
Erste Verbindung
26
Zweite Verbindung
28
Dritte Verbindung
30
Vierte Verbindung
44
bis
52
,
58
,
64
Verbinden in gespeicherten Referenzdaten
56
Basisadressentabelle für Umsetzsoftwaremodule
60
,
62
,
66
bis
70
Variable in dem aktualisierten Datenspeicherbereich

Claims (29)

1. Software-Bearbeitungsgerät vom Typ mit Aktualisierungsfunktionalität, enthaltend:
  • a) eine Speichervorrichtung (4, 14), unterteilt in
    • a1) eine erste Speicherpartition (4) zum Speichern einer ersten Gruppe von Software und zugeordneter Daten, und
    • a2) eine zweite Speicherpartition (14) zum Speichern einer zweiten Gruppe von Software und zugeordneter Daten,
  • b) eine Software-Aktualisierungsvorrichtung (2, 12, 22; 22, 32), ausgebildet zum
    • b1) Laden von Software und zugeordneter Daten in die erste Speicherpartition (4), derart, daß
    • b2) gleichzeitig das dem Fortsetzen der Software- Bearbeitung mit Software, die in der zweiten Speicherpartition gespeichert ist, erfolgt, das
    • b3) unmittelbare Umschalten der Durchführung von Software, soweit derselbe Zustand für die geladene und die ausgeführte Software erzielt ist.
2. Software-Bearbeitungsgerät nach Anspruch 1, dadurch gekennzeichnet, daß die erste Speicherpartition (4) in einem ersten Datenspeicherabschnitt (8) und einem ersten Software-Speicherabschnitt (10) unterteilt ist.
3. Software-Bearbeitungsgerät nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die zweite Speicherpartition (14) in einen zweiten Datenspeicherabschnitt (18) und einen zweiten Software-Speicherabschnitt (20) unterteilt ist.
4. Software-Bearbeitungsgerät nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß es eine Prozessorvorrichtung (6, 16) enthält, zum Durchführen von Software, die in der ersten Speicherpartition (4) und der zweiten Speicherpartition (14) gespeichert ist.
5. Software-Bearbeitungsgerät nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Software- Aktualisierungsvorrichtung (2, 12, 22; 22, 32) eine Zustandsvergleichsvorrichtung (36) enthält, zum Bewerten der Tatsache, ob Software in der neu geladenen Speicherpartition (4, 14) und der unverändert beibehaltenen Speicherpartition (14, 4) einen selben Zustand erreicht haben, und zwar zum Umschalten der Ausführung der Software.
6. Software-Bearbeitungsgerät nach Anspruch 5, dadurch gekennzeichnet, daß die Aktualisierungs- Steuervorrichtung (2, 12; 32) ferner eine Umschaltvorrichtung (38) zum unmittelbaren Umschalten der Durchführung der Software enthält, und zwar, soweit derselbe Zustand für die alte Software und die neue Software erzielt ist.
7. Software-Bearbeitungsgerät nach Anspruch 5 oder 6, dadurch gekennzeichnet, daß die Aktualisierungs- Steuervorrichtung (2, 12; 32) ferner eine Speicherverwaltungsvorrichtung (40) enthält, zum Allokieren, Deallokieren, Packen oder Modifizieren von Basisadressen in der zu aktualisierenden Speicherpartition (4, 14).
8. Software-Bearbeitungsgerät nach einem der Ansprüche 5 bis 7, dadurch gekennzeichnet, daß die Aktualisierungs- Steuervorrichtung (2, 12; 32) ferner eine Verbindungsinitialisierungs- und Verwaltungsvorrichtung (32) enthält, zum Herstellen einer korrekten Referenz zwischen neu geladener Software und aktualisieren Daten in der aktualisierten Speicherpartition (4, 14).
9. Software-Bearbeitungsgerät nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß die Software- Aktualisierungsvorrichtung (2, 12, 22; 22, 32) ferner eine Schnittstellen- und Umsetzvorrichtung (22) enthält, zum Laden von Software und zugeordneter Daten in die erste oder zweite Speicherpartition durch Übertragen und zugeordneter Daten von entweder der zweiten oder der ersten Speicherpartition (14, 4).
10. Software-Bearbeitungsgerät nach Anspruch 9, dadurch gekennzeichnet, daß die Schnittstellen- und Umsetzvorrichtung (22) die Übertragung von Software und zugeordneter Daten in der Form eines Hintergrundprozesses durchführt, der simultan mit der Durchführung der Software in der Prozessorvorrichtung (6, 16) erfolgt.
11. Software-Bearbeitungsgerät nach Anspruch 9 oder 10, dadurch gekennzeichnet, daß die Schnittstellen- und Umsetzvorrichtung (22) Software und zugeordnete Daten in Übereinstimmung mit der von der Aktualisierungs- Steuervorrichtung (2, 12, 22) empfangenen Befehlen umsetzt.
12. Software-Bearbeitungsgerät nach Anspruch 11, dadurch gekennzeichnet, daß die Aktualisierungs- Steuervorrichtung (2, 12; 32) die Schnittstellen- und Umsetzvorrichtung (22) zum Wiederholen einer Übertragung von Software und zugeordneter Daten dann anweist, wenn sie erneut nach einer vorhergehenden Übertragung modifiziert sind.
13. Verfahren zum Aktualisieren von Software, enthaltend die Schritte:
  • a) Laden neuer Software und Übertragung sämtlicher Daten im Zusammenhang mit der alten Software und der neuen Software bei gleichzeitigem Fortführen der alten Software (S1, S2, S3),
  • b) Bewerten (S4), ob Daten im Zusammenhang mit der neuen Software denselben Zustand wie Daten im Zusammenhang mit der alten Software erreicht haben, und
  • c) unmittelbares Umschalten der Dienste zu der neuen Software (S5), soweit der Zustand der Daten für die neue Software und die alte Software gleich ist (S4).
14. Verfahren nach Anspruch 13, dadurch gekennzeichnet, daß die alte Software und die neue Software vom modularen Typ ist und daß das Umschalten gemäß den einzelnen Softwaremodulen (S5) durchgeführt wird.
15. Verfahren nach Anspruch 13 oder 14, dadurch gekennzeichnet, daß zu übertragende Daten durch zumindest einen Hintergrundprozeß (S3-S6) identifiziert werden, während die alte Software fortlaufend ihre Dienste weiter ausführt (S2).
16. Verfahren nach Anspruch 15, dadurch gekennzeichnet, daß der Hintergrundprozeß sämtliche Variablen der zu übertragenden Daten gemäß dem Typ kopieren, umsetzen und Quellentyp klassifiziert (S31).
17. Verfahren nach Anspruch 16, dadurch gekennzeichnet, daß der Hintergrundprozeß (S3-S6) die Variablen zu der neuen Software dann unverändert überträgt, wenn die Variable vom Typ Kopieren ist.
18. Verfahren nach Anspruch 16, dadurch gekennzeichnet, daß der Hintergrundprozeß (S3-S6) ein Umsetzprogramm zum Übertragen der Variablen zu der neuen Software gemäß einem umgesetzten Format dann startet, wenn die Variable vom Typ Umsetzen ist.
19. Verfahren nach einem der Ansprüche 13 bis 18, dadurch gekennzeichnet, daß bei erneuter Modifikation aktualisierter Daten durch die alte Software jede derartige Änderung erneut für die neue Software aktualisiert wird (S31, S32).
20. Verfahren nach Anspruch 19, dadurch gekennzeichnet, daß mit jedem Schreiben einer Datenvariablen der alten Software vom Typ Kopieren die Datenvariable erneut zu der neuen Software kopiert wird (S31, S32).
21. Verfahren nach Anspruch 19, dadurch gekennzeichnet, daß mit jedem Schreiben einer Datenvariablen der alten Software vom Typ Umsetzen ein Umsetzprogramm erneut gestartet wird, und zwar zum Übertragen des Umsetzergebnisses an die neue Software (S31, S32).
22. Verfahren nach einem der Ansprüche 15 bis 21, dadurch gekennzeichnet, daß der mindestens eine Hintergrundprozeß (S3-S6) wiederholt durchgeführt wird (S41, S42), und zwar zum Übertragen der überschriebenen Variablen während der Durchführung der alten Software.
23. Verfahren nach Anspruch 22, dadurch gekennzeichnet, daß die wiederholte Durchführung des zumindest einen Hintergrundprozesses (S3-S6) in die folgenden Teilschritte unterteilt wird:
  • a) Markieren einer zu übertragenden Variablen bei jedem Beschreiben durch die alte Software,
  • b) Wiederholen des Hintergrundprozesses (S3-S6) lediglich für markierte Variable, und
  • c) Entfernen der Markierung der übertragenen Variablen.
24. Verfahren nach Anspruch 22 oder 23, dadurch gekennzeichnet, daß das Wiederholen des zumindest einen Hintergrundprozesses (S3-S6) so lange wiederholt wird, bis die Zahl der überschriebenen Variablen während eines Durchgangs des Hintergrundprozesses (S3-S6) im Vergleich zu dem vorhergehenden (S42) nicht abnimmt.
25. Verfahren nach Anspruch 24, dadurch gekennzeichnet, daß die Übertragung der überschriebenen Variablen, die nach dem letzten Durchgang des zumindest einen Hintergrundprozesses (S3-S6) verbleiben, während eines Stops der alten Software durchgeführt wird (S43).
26. Verfahren nach einem der Ansprüche 13 bis 25, dadurch gekennzeichnet, daß es bei einem Software- Aktualisierungsprozeß eingesetzt wird, der unmittelbar in der Prozessoreinheit für die Software durchgeführt wird.
27. Verfahren nach einem der Ansprüche 13 bis 25, dadurch gekennzeichnet, daß es für einen Software- Fernaktualisierungsprozeß eingesetzt wird.
28. Verfahren nach einem der Ansprüche 13 bis 17, dadurch gekennzeichnet, daß die alte Software einer ersten Speicherpartition zugeordnet wird und die neue Software einer zweiten Speicherpartition zugeordnet wird.
29. Verfahren nach Anspruch 28, dadurch gekennzeichnet, daß nach dem Aktualisierungsprozeß die erste Speicherpartition und die zweite Speicherpartition zum Verbessern der Redundanz während des normalen Betriebs eingesetzt werden.
DE19810802A 1998-03-12 1998-03-12 Störungsfreies Aktualisieren von Daten Ceased DE19810802A1 (de)

Priority Applications (8)

Application Number Priority Date Filing Date Title
DE19810802A DE19810802A1 (de) 1998-03-12 1998-03-12 Störungsfreies Aktualisieren von Daten
US09/265,950 US6347396B1 (en) 1998-03-12 1999-03-11 Disturbance free update of data
AU34108/99A AU3410899A (en) 1998-03-12 1999-03-11 Disturbance free update of data
JP2000535991A JP2002507020A (ja) 1998-03-12 1999-03-11 障害を生じることなくデータを更新する技術
KR1020007010080A KR20010041805A (ko) 1998-03-12 1999-03-11 교란없는 데이터 갱신
CA002323452A CA2323452C (en) 1998-03-12 1999-03-11 Disturbance free update of data
PCT/EP1999/001586 WO1999046673A2 (en) 1998-03-12 1999-03-11 Disturbance free update of data
EP99915572A EP1062570A2 (de) 1998-03-12 1999-03-11 Störungsfreie datenaktualisierung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19810802A DE19810802A1 (de) 1998-03-12 1998-03-12 Störungsfreies Aktualisieren von Daten

Publications (1)

Publication Number Publication Date
DE19810802A1 true DE19810802A1 (de) 1999-09-16

Family

ID=7860683

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19810802A Ceased DE19810802A1 (de) 1998-03-12 1998-03-12 Störungsfreies Aktualisieren von Daten

Country Status (8)

Country Link
US (1) US6347396B1 (de)
EP (1) EP1062570A2 (de)
JP (1) JP2002507020A (de)
KR (1) KR20010041805A (de)
AU (1) AU3410899A (de)
CA (1) CA2323452C (de)
DE (1) DE19810802A1 (de)
WO (1) WO1999046673A2 (de)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1643361A2 (de) 2004-09-30 2006-04-05 Microsoft Corporation Aktualisierung von Software während der Laufzeit
EP1664974A2 (de) * 2003-09-11 2006-06-07 Akonix Systems, Inc. Systeme und verfahren zum dynamischen aktualisieren von software in einem protokoll-gateway
US7657616B1 (en) 2002-06-10 2010-02-02 Quest Software, Inc. Automatic discovery of users associated with screen names
US7664822B2 (en) 2002-06-10 2010-02-16 Quest Software, Inc. Systems and methods for authentication of target protocol screen names
US7707401B2 (en) 2002-06-10 2010-04-27 Quest Software, Inc. Systems and methods for a protocol gateway
US7756981B2 (en) 2005-11-03 2010-07-13 Quest Software, Inc. Systems and methods for remote rogue protocol enforcement
US7774832B2 (en) 2002-06-10 2010-08-10 Quest Software, Inc. Systems and methods for implementing protocol enforcement rules
US7818565B2 (en) 2002-06-10 2010-10-19 Quest Software, Inc. Systems and methods for implementing protocol enforcement rules
US7882265B2 (en) 2002-06-10 2011-02-01 Quest Software, Inc. Systems and methods for managing messages in an enterprise network
WO2014122637A1 (en) * 2013-02-11 2014-08-14 Telefonaktiebolaget Lm Ericsson (Publ) Upgrading software in production environments
EP2474955A4 (de) * 2009-09-03 2015-03-11 Sanden Corp Steuervorrichtung für einen verkaufsautomaten
WO2021116429A1 (de) * 2019-12-13 2021-06-17 Beckhoff Automation Gmbh Verfahren zum aktualisieren eines steuerprogramms eines automatisierungssystems mit datenmigration eines programmzustands des steuerprogramms
WO2021116428A1 (de) * 2019-12-13 2021-06-17 Beckhoff Automation Gmbh Verfahren zur datenmigration eines zeigerelements im zuge einer datenmigration eines programmzustands eines steuerprogramms eines automatisierungssystems

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263362B1 (en) * 1998-09-01 2001-07-17 Bigfix, Inc. Inspector for computed relevance messaging
US7197534B2 (en) * 1998-09-01 2007-03-27 Big Fix, Inc. Method and apparatus for inspecting the properties of a computer
US8914507B2 (en) * 1998-09-01 2014-12-16 International Business Machines Corporation Advice provided for offering highly targeted advice without compromising individual privacy
US7246150B1 (en) 1998-09-01 2007-07-17 Bigfix, Inc. Advice provided for offering highly targeted advice without compromising individual privacy
US7607572B2 (en) * 1999-03-19 2009-10-27 Bigfix, Inc. Formalizing, diffusing, and enforcing policy advisories and monitoring policy compliance in the management of networks
US7277919B1 (en) 1999-03-19 2007-10-02 Bigfix, Inc. Relevance clause for computed relevance messaging
US8033913B2 (en) * 1999-06-03 2011-10-11 Igt Gaming machine update and mass storage management
US6754848B1 (en) * 1999-09-30 2004-06-22 International Business Machines Corporation Method, system and program products for operationally migrating a cluster through emulation
US6779176B1 (en) * 1999-12-13 2004-08-17 General Electric Company Methods and apparatus for updating electronic system programs and program blocks during substantially continued system execution
JP2001275140A (ja) * 2000-03-28 2001-10-05 Matsushita Electric Ind Co Ltd 運用/待機構成の通信制御装置及び運用/待機系切替方法
US20020073410A1 (en) * 2000-12-13 2002-06-13 Arne Lundback Replacing software at a telecommunications platform
JP2002236583A (ja) * 2001-02-07 2002-08-23 Fujitsu Ten Ltd 組込み用ソフトウェアモジュール
KR100433056B1 (ko) * 2001-08-18 2004-05-24 엘지전자 주식회사 프로그램 업그레이드 방법
US9231827B2 (en) * 2001-11-09 2016-01-05 International Business Machines Corporation Formalizing, diffusing and enforcing policy advisories and monitoring policy compliance in the management of networks
US6931328B2 (en) * 2002-11-08 2005-08-16 Optiscan Biomedical Corp. Analyte detection system with software download capabilities
JP4128516B2 (ja) * 2002-11-18 2008-07-30 株式会社リコー 画像形成装置、プログラム更新方法
US7398272B2 (en) * 2003-03-24 2008-07-08 Bigfix, Inc. Enterprise console
US20050038674A1 (en) * 2003-04-15 2005-02-17 Braig James R. System and method for managing a chronic medical condition
US7308685B2 (en) * 2003-05-14 2007-12-11 Hewlett-Packard Development Company, L.P. Emulation internal representation revision system and method
US7278139B2 (en) * 2003-05-14 2007-10-02 Hewlett-Packard Development Company, L.P. Emulation class revision system and method
US7463610B2 (en) * 2003-05-15 2008-12-09 Samsung Electronics Co., Ltd. System and method for providing an online software upgrade
US7984434B1 (en) * 2003-05-21 2011-07-19 Altera Corporation Nondestructive patching mechanism
US7356577B2 (en) * 2003-06-12 2008-04-08 Samsung Electronics Co., Ltd. System and method for providing an online software upgrade in load sharing servers
US7143314B2 (en) * 2003-10-01 2006-11-28 General Motors Corporation Method and apparatus for ensuring integrity of critical RAM variables
US20050114853A1 (en) * 2003-11-26 2005-05-26 Glider Joseph S. Software upgrade and downgrade in systems with persistent data
US7376943B2 (en) * 2003-12-18 2008-05-20 Lsi Corporation Safe method for upgrading firmware of optical disk product
US20060190806A1 (en) * 2005-02-09 2006-08-24 David Sasson Systems and method for deploying a software application on a wireless device
US8595452B1 (en) * 2005-11-30 2013-11-26 Sprint Communications Company L.P. System and method for streaming data conversion and replication
EP2069925A4 (de) * 2006-09-29 2011-06-29 Nokia Corp Verfahren und vorrichtung zum aktualisieren von firmware als hintergrund-task
US8495157B2 (en) * 2007-03-07 2013-07-23 International Business Machines Corporation Method and apparatus for distributed policy-based management and computed relevance messaging with remote attributes
WO2008109848A2 (en) 2007-03-07 2008-09-12 Bigfix, Inc. Pseudo-agent
US20100332640A1 (en) * 2007-03-07 2010-12-30 Dennis Sidney Goodrow Method and apparatus for unified view
US8597190B2 (en) 2007-05-18 2013-12-03 Optiscan Biomedical Corporation Monitoring systems and methods with fast initialization
EP2156348B1 (de) 2007-05-30 2018-08-01 Ascensia Diabetes Care Holdings AG System und verfahren zur verwaltung von gesundheitsdaten
WO2009049245A1 (en) * 2007-10-11 2009-04-16 Optiscan Biomedical Corporation Synchronization and configuration of patient monitoring devices
US8966110B2 (en) * 2009-09-14 2015-02-24 International Business Machines Corporation Dynamic bandwidth throttling
US20110265072A1 (en) * 2010-04-27 2011-10-27 Jack Matthew Dynamic Installation of Files for Running Programs
US8607200B2 (en) * 2010-06-01 2013-12-10 Red Hat, Inc. Executing a web application at different stages in the application life cycle
TW201415365A (zh) * 2012-10-15 2014-04-16 Askey Computer Corp 作業系統更新的方法及手持電子裝置
US10152516B2 (en) * 2015-05-21 2018-12-11 International Business Machines Corporation Managing staleness latency among application bundles
US9965262B2 (en) 2015-05-21 2018-05-08 International Business Machines Corporation Application bundle pulling
US10389794B2 (en) 2015-05-21 2019-08-20 International Business Machines Corporation Managing redundancy among application bundles
US9888057B2 (en) 2015-05-21 2018-02-06 International Business Machines Corporation Application bundle management across mixed file system types
US10389850B2 (en) 2015-05-21 2019-08-20 International Business Machines Corporation Managing redundancy among application bundles
US10530660B2 (en) 2015-05-21 2020-01-07 International Business Machines Corporation Application bundle preloading

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4134207C1 (en) * 1991-10-16 1993-04-01 Ant Nachrichtentechnik Gmbh, 7150 Backnang, De Loading double-computer standby system - preparing passive computer for loading and taking new software from data source for entering into memory of active computer
DE4316500C2 (de) * 1993-05-17 1995-03-16 Siemens Ag Verfahren zum Wechseln einer Anlagensoftware

Family Cites Families (10)

* Cited by examiner, † Cited by third party
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
US5142680A (en) * 1989-04-26 1992-08-25 Sun Microsystems, Inc. Method for loading an operating system through a network
US5410703A (en) 1992-07-01 1995-04-25 Telefonaktiebolaget L M Ericsson System for changing software during computer operation
US5586304A (en) * 1994-09-08 1996-12-17 Compaq Computer Corporation Automatic computer upgrading
US5604906A (en) * 1995-02-06 1997-02-18 Apple Computer, Inc. Method and apparatus for installing software block-by block via an image of the target storage device
GB9608345D0 (en) * 1996-04-23 1996-06-26 Int Computers Ltd Data conversion mechanism for computer system
US5930513A (en) * 1996-06-06 1999-07-27 Sun Microsystems, Inc. Reference based software installation
US5826265A (en) * 1996-12-06 1998-10-20 International Business Machines Corporation Data management system having shared libraries
US6055363A (en) * 1997-07-22 2000-04-25 International Business Machines Corporation Managing multiple versions of multiple subsystems in a distributed computing environment
US6018747A (en) * 1997-11-26 2000-01-25 International Business Machines Corporation Method for generating and reconstructing in-place delta files

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4134207C1 (en) * 1991-10-16 1993-04-01 Ant Nachrichtentechnik Gmbh, 7150 Backnang, De Loading double-computer standby system - preparing passive computer for loading and taking new software from data source for entering into memory of active computer
DE4316500C2 (de) * 1993-05-17 1995-03-16 Siemens Ag Verfahren zum Wechseln einer Anlagensoftware

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7774832B2 (en) 2002-06-10 2010-08-10 Quest Software, Inc. Systems and methods for implementing protocol enforcement rules
US7818565B2 (en) 2002-06-10 2010-10-19 Quest Software, Inc. Systems and methods for implementing protocol enforcement rules
US7882265B2 (en) 2002-06-10 2011-02-01 Quest Software, Inc. Systems and methods for managing messages in an enterprise network
US7657616B1 (en) 2002-06-10 2010-02-02 Quest Software, Inc. Automatic discovery of users associated with screen names
US7664822B2 (en) 2002-06-10 2010-02-16 Quest Software, Inc. Systems and methods for authentication of target protocol screen names
US7707401B2 (en) 2002-06-10 2010-04-27 Quest Software, Inc. Systems and methods for a protocol gateway
US8195833B2 (en) 2002-06-10 2012-06-05 Quest Software, Inc. Systems and methods for managing messages in an enterprise network
EP1664974A2 (de) * 2003-09-11 2006-06-07 Akonix Systems, Inc. Systeme und verfahren zum dynamischen aktualisieren von software in einem protokoll-gateway
EP1664974A4 (de) * 2003-09-11 2008-12-17 Akonix Systems Inc Systeme und verfahren zum dynamischen aktualisieren von software in einem protokoll-gateway
EP1643361A3 (de) * 2004-09-30 2008-02-06 Microsoft Corporation Aktualisierung von Software während der Laufzeit
US8146073B2 (en) 2004-09-30 2012-03-27 Microsoft Corporation Updating software while it is running
EP1643361A2 (de) 2004-09-30 2006-04-05 Microsoft Corporation Aktualisierung von Software während der Laufzeit
US7756981B2 (en) 2005-11-03 2010-07-13 Quest Software, Inc. Systems and methods for remote rogue protocol enforcement
EP2474955A4 (de) * 2009-09-03 2015-03-11 Sanden Corp Steuervorrichtung für einen verkaufsautomaten
WO2014122637A1 (en) * 2013-02-11 2014-08-14 Telefonaktiebolaget Lm Ericsson (Publ) Upgrading software in production environments
US11640293B2 (en) 2019-12-13 2023-05-02 Beckhoff Automation Gmbh Method for data migration of a pointer element in the course of data migration of a program state of a control program of an automation system
WO2021116429A1 (de) * 2019-12-13 2021-06-17 Beckhoff Automation Gmbh Verfahren zum aktualisieren eines steuerprogramms eines automatisierungssystems mit datenmigration eines programmzustands des steuerprogramms
WO2021116428A1 (de) * 2019-12-13 2021-06-17 Beckhoff Automation Gmbh Verfahren zur datenmigration eines zeigerelements im zuge einer datenmigration eines programmzustands eines steuerprogramms eines automatisierungssystems

Also Published As

Publication number Publication date
EP1062570A2 (de) 2000-12-27
CA2323452A1 (en) 1999-09-16
US6347396B1 (en) 2002-02-12
JP2002507020A (ja) 2002-03-05
WO1999046673A2 (en) 1999-09-16
KR20010041805A (ko) 2001-05-25
WO1999046673A3 (en) 1999-11-04
AU3410899A (en) 1999-09-27
CA2323452C (en) 2005-05-24

Similar Documents

Publication Publication Date Title
DE19810802A1 (de) Störungsfreies Aktualisieren von Daten
DE19810814B4 (de) Rechnersystem und Zustandskopierverfahren zur skalierbaren Software-Aktualisierung
DE19740525C1 (de) Verfahren zur Abspeicherung und Wiedergewinnung von Daten in einem Steuersystem, insbesondere in einem Kraftfahrzeug
DE3151745C2 (de)
DE60025043T2 (de) Vorrichtung und verfahren mit verwendung von anwendungabhängigkeitsinformation für eine sicherungskopieherstellung in einem computersystem
DE69838756T2 (de) Die verarbeitung von eingabe/ausgabeanforderungen von mehreren treibern ermöglichen dateisystem-primitivroutine in einem mehrschicht-treiber-e/a-system
DE60212922T2 (de) Umkehr eines Kommunikationspfades zwischen Speichergeräten
DE19681256C2 (de) Ausführung von Anwendungen am Platz vom Speicher
DE69636192T2 (de) Datenmigrationssystem und -verfahren unter verwendung von undichten dateien
DE69730449T2 (de) Erzeugung einer spiegeldatenkopie (bild) unter verwendung von referenzetiketten
DE602005001041T2 (de) Speicherauszugssystem
DE102005019842B4 (de) System und Verfahren zum sequentiellen Schreiben von Daten in einen Flash-Speicher
DE10238566A1 (de) Fenster-basierendes Flashspeicher-Speichersystem und Management und Zugriffsverfahren darauf
DE102017112489B4 (de) Journalisiertes replay mit mehreren streams
EP0966169B1 (de) Sicherungsverfahren für Betriebsdaten eines Netzelementes und Steuerungseinrichtung für ein Netzelement
DE102006036837A1 (de) Datenspeicherverwaltungsverfahren und -system
DE19515661A1 (de) Halbleiter-Plattenvorrichtung
DE4207158A1 (de) Speicher-zugriffssteuerung
DE4429969A1 (de) Verfahren für einen Programmpaketeaustausch in einem Mehrrechnersystem und Rechner dafür
DE19826091A1 (de) Verfahren zum gesicherten Ändern von in einer Datenbank gespeicherten Daten, Datenbanksystem und damit ausgestattetes Netzelement
EP1197854B1 (de) Verfahren zum Starten einer Datenverarbeitungsanlage sowie zugehörige Komponenten
DE69924179T2 (de) Breitbandige Speicheranordnung mit Befehlsstapel und schmaler Ein- und Ausgabe
DE19819205A1 (de) Datenhaltungssystem für persistente Daten
DE10040241A1 (de) Speicheranordnung für einen Datenträger und Verfahren zur Speicherverwaltung
DE2902477A1 (de) Datenverarbeitungsanordnung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection