DE19810802A1 - Störungsfreies Aktualisieren von Daten - Google Patents
Störungsfreies Aktualisieren von DatenInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-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
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.
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.
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.
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.
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.
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.
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.
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)
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)
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)
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)
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 |
-
1998
- 1998-03-12 DE DE19810802A patent/DE19810802A1/de not_active Ceased
-
1999
- 1999-03-11 US US09/265,950 patent/US6347396B1/en not_active Expired - Lifetime
- 1999-03-11 KR KR1020007010080A patent/KR20010041805A/ko not_active Application Discontinuation
- 1999-03-11 EP EP99915572A patent/EP1062570A2/de not_active Withdrawn
- 1999-03-11 JP JP2000535991A patent/JP2002507020A/ja active Pending
- 1999-03-11 WO PCT/EP1999/001586 patent/WO1999046673A2/en not_active Application Discontinuation
- 1999-03-11 CA CA002323452A patent/CA2323452C/en not_active Expired - Lifetime
- 1999-03-11 AU AU34108/99A patent/AU3410899A/en not_active Abandoned
Patent Citations (2)
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)
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 |