DE69938547T2 - Verfahren, system, gerät und programm zur verteilung und einführung von software-upgrade - Google Patents

Verfahren, system, gerät und programm zur verteilung und einführung von software-upgrade Download PDF

Info

Publication number
DE69938547T2
DE69938547T2 DE69938547T DE69938547T DE69938547T2 DE 69938547 T2 DE69938547 T2 DE 69938547T2 DE 69938547 T DE69938547 T DE 69938547T DE 69938547 T DE69938547 T DE 69938547T DE 69938547 T2 DE69938547 T2 DE 69938547T2
Authority
DE
Germany
Prior art keywords
update
software
upgrade
client
database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69938547T
Other languages
English (en)
Other versions
DE69938547D1 (de
Inventor
Gilberto Redwood City ARNAIZ
Robert A. Redwood City BRODERSEN
Prashant Saratoga CHATTERJEE
Peter S. Redwood City LIM
Duane Redwood City WANDLESS
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.)
Siebel Systems Inc
Original Assignee
Siebel Systems Inc
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 Siebel Systems Inc filed Critical Siebel Systems Inc
Publication of DE69938547D1 publication Critical patent/DE69938547D1/de
Application granted granted Critical
Publication of DE69938547T2 publication Critical patent/DE69938547T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Description

  • GEBIET DER ERFINDUNG
  • Diese Erfindung bezieht sich auf ein System und ein Verfahren zum Bereitstellen von Software-Updates online. Die Updates können für einen oder mehrere einer Reihe von einzelnen Computern oder für ein Computernetzwerk bereitgestellt werden. Bei einer bevorzugten Ausfertigung werden die Software-Updates für einzelne Clients in einem Client-Server-Netzwerk bereitgestellt, zum Beispiel für ein Client-Server-Netzwerk des Typs, der eine teilweise replizierte relationale Datenbank oder ein Transaktionsverarbeitungssystem in einem Unternehmen in einem WAN oder einem LAN ausführt.
  • HINTERGRUND DER ERFINDUNG
  • Wirtschaftsunternehmen setzen zur Durchführung ihrer Aktivitäten eine große Zahl von Endgeräten, d. h. von Bürocomputern, tragbaren Computern und Netzwerkendgeräten ein. Obwohl es wünschenswert ist, dass alle diese Endgeräte über identische Abbilder, Schnittstellen und Software verfügen, ist dies nicht immer möglich, wenn in einem Unternehmen eine kontinuierliche Folge von Endgeräten aller Generationen und Leistungsklassen vorhanden ist. Es ist jedoch völlig unverzichtbar, dass die Gruppe der Endgeräte in einem Unternehmen in der Lage ist, effektiv zu kommunizieren. Dies erfordert sorgfältige Planung und Koordinierung des Software-Migrationsaufwands.
  • Bei einem System, das eine oder mehrere zentrale Datenbanken (einschließlich Korrespondenzdatenbanken und solcher Datenbanken, die als Groupware-Anwendungen betrachtet werden, wie zum Beispiel Lotus Note, Novell GroupWise und dergleichen) und teilweise lokal replizierte Datenbanken umfasst, gibt es Software in beträchtlichem Umfang, die häufig angepasst ist, um die Anforderungen eines bestimmten Unternehmens und sogar von bestimmten Benutzern und Benutzergruppen innerhalb von Teilen des Unternehmens zu erfüllen. Es entsteht erheblicher Aufwand für das Konfigurieren der Software und das Schreiben von benutzerdefinierten Modulen und Objekten. Wenn die Software auf eine neue Version aktualisiert wird, sind Programmierzeit und -aufwand in erheblichem Umfang erforderlich, um bei dem Konfigurieren der neuen Version und dem erneuten Implementieren der benutzerspezifischen Funktionalität der früheren Versionen einheitliche Aktualisierungen bereitzustellen.
  • Wir haben erkannt, dass es wünschenswert wäre, eine Fähigkeit bereitzustellen, um eine Einrichtung bereitzustellen, die es Unternehmen ermöglicht, ihre Änderungen wie zum Beispiel Konfigurationen und Objekte schnell von einer Version der Software zu einer anderen Version der Software zu migrieren.
  • Wir haben darüber hinaus erkannt, dass es wünschenswert wäre, eine schnelle Migration von Software-Upgrades in einem benutzerfreundlichen Online-Verfahren durch den Einsatz einer Online-Verteilung von Software-Upgrades zu erreichen.
  • Die europäische Patent-Anmeldung Nr. 811.942 beschreibt ein Dienstanbieter-Computersystem, das eine Liste von Software-Updates, die bei Drittanbietern erhältlich sind, speichert, so dass eine Client-Anwendung, die auf einem Client-Computer ausgeführt wird, an den geeigneten Drittanbieter gerichtet werden kann, um ein gewünschtes Software-Upgrade zu beziehen. Nach dieser Veröffentlichung führt eine Client-Anwendung vor dem eigentlichen Installieren des Software-Updates ein Installations-Überwachungsprogramm aus, und das Installations-Überwachungsprogramm zeichnet die infolge des Software-Updates an dem Client-Computer vorgenommenen Änderungen auf, um dem Benutzer zu ermöglichen, die Software-Update-Installation in Reaktion auf einen ausdrücklichen Befehl des Benutzers dazu rückgängig zu machen oder zu entfernen, nachdem die Installation erfolgreich abgeschlossen worden ist. Das Installations-Überwachungsprogramm verzeichnet den Zustand des Client-Computers vor der Installation und die während der Installation des Software-Updates vorgenommenen Änderungen, um einem Wiederherstellungsmodul zu ermöglichen, die Informationen zum Wiederherstellen der Konfiguration des Client-Computers zu nutzen. Bei der Wiederherstellung handelt es sich um eine Aktion, die durch den Benutzer ausgelöst wird, wenn er oder sie mit einem Software-Update unzufrieden ist, und das Wiederherstellungsmodul stellt das Rückgängigmachen oder Deinstallieren eines zuvor installierten Software-Updates zur Verfügung. Folglich arbeiten das Installations-Überwachungsprogramm und das Wiederherstellungsmodul, die von dem Anwendungsprogramm, das das Update des Anwendungsprogramms ausführt, verschieden sind, zusammen, um den Client-Computer durch Deinstallieren eines zuvor installierten Updates des Anwendungsprogramms wiederherzustellen.
  • Das US-Patent 5.473.772 beschreibt ein Dateiaktualisierungssystem. Wenn bei einer Dateiaktualisierung ein Fehler auftritt, ermittelt die Anwendung, welche (nicht näher angegebene) Aktion auszuführen ist. Das US-Patent 5.715.462 beschreibt ein Dateiaktuali sierungssystem für den Einsatz mit zwei Betriebssystemen.
  • ÜBERSICHT ÜBER DIE ERFINDUNG
  • Die Erfindung wird in den unten stehenden unabhängigen Ansprüchen definiert, auf die nun Bezug genommen werden kann. Vorteilhafte Funktionen werden in den Unteransprüchen dargelegt.
  • Eine bevorzugte Ausführungsform der Erfindung wird unten mit Bezug auf die Zeichnungen genau beschrieben. Diese Ausführungsform stellt Aktualisierungen von Softwareversionen und die Synchronisierung von Datenbankschemata bereit. Der Softwareanbieter oder -aktualisierer, z. B. der Datenbankadministrator, wendet Änderungen des Datenbankschemas auf alle entfernten Datenbanken einschließlich mobiler Datenbanken und regionaler Datenbanken an und verteilt sie an diese. Darüber hinaus wendet der Softwareanbieter oder -aktualisierer Unterschemaänderungen (z. B. Datenbankerweiterungen), Patches und Hauptschemaänderungen ohne manuellen Eingriff an.
  • In dieser bevorzugten Ausführungsform können Aktualisierungen von Softwareversionen für alle Arten von Installationen bereitgestellt werden. Das heißt, der Softwareanbieter oder der Aktualisierer, z. B. der Datenbankadministrator, ist nun in der Lage, alle Arten von Installationen und Endgeräten einschließlich angeschlossener Clients, entfernter Clients, regionaler Server und Anwendungsserver zu aktualisieren.
  • Ein Aspekt unseres Systems besteht in einem Verfahren zum Verteilen und Einleiten von Softwareversions-Aktualisierungen in einer verteilten Computerumgebung. Das bevorzugte Verfahren umfasst das Einstellen der niedrigsten (und der höchsten) Versionsstufe für installierte Software und das Verwenden solcher Stufen zum Definieren des Inhalts von Softwareversions-Aktualisierungssätzen. Der Inhalt der Softwareversions-Aktualisierungssätze wird daraufhin in eine Datenbank geschrieben, z. B. als Inhaltsverzeichnis oder dergleichen, und zum Generieren von Tabellen von Softwareversions-Aktualisierungssätzen eingesetzt. Diese Tabellen werden zum Erstellen von Softwareversions-Aktualisierungssätzen eingesetzt. Kopien der Aktualisierungssätze werden auf die zu aktualisierenden Clients heruntergeladen, und die Software auf dem Client wird aktualisiert.
  • Nachdem das Inhaltsverzeichnis des Software-Aktualisierungssatzes installiert worden ist, wird es mit der lokal installierten Software auf einem Client verglichen, wobei die Software, die auf dem Client installiert werden muss, auf den Client heruntergeladen wird. Dieser Vergleich kann beim Start des Servers, des Clients oder einer bestimmten Softwarekomponente erfolgen.
  • Wenn es sich bei dem Client um einen mobilen Client handelt, werden der Vergleich und der Download während einer Docking-Sitzung ausgeführt, wobei das Upgrade entweder während der aktuellen Docking-Sitzung oder während einer nachfolgenden Docking-Sitzung eingeleitet wird.
  • Bei einer Ausfertigung unserer Erfindung handelt es sich bei der verteilten Computerumgebung um ein Datenbankmanagement-System, das replizierte oder teilweise replizierte Datenbanken aufweist, und die Version des Datenbankschemas auf dem Client wird mit der Version des Datenbankschemas auf dem Servers verglichen, wobei die Datenbankversion auf dem Client neu initialisiert wird, wenn die Versionen des Datenbankschemas auf dem Client und auf dem Server nicht übereinstimmen, und die Datenbank auf dem Client mit der Datenbank auf dem Server synchronisiert wird, wenn die Versionen der Datenbank auf dem Client und auf dem Server übereinstimmen.
  • Bei der beschriebenen Ausführungsform wird Fremdsoftware unterstützt. Der Softwareanbieter oder -aktualisierer, z. B. der Datenbankadministrator, ist in der Lage, Fremdsoftware zu aktualisieren, auf die benutzerdefinierte Installationen angewiesen sind. Der Softwareanbieter, der Datenverwalter des Managementinformationsdienstes oder der Aktualisierer, z. B. der Datenbankadministrator, ist zum Beispiel in der Lage, Microsoft Word, Adobe Acrobat, Microsoft Access (eingetragene Warenzeichen) und dergleichen, die sich auf den benutzerdefinierten Installationen befinden, zu aktualisieren.
  • Es sind vollständige und teilweise Aktualisierungen möglich. Der Aktualisierer, z. B. der Datenbankadministrator, kann die gesamte Installation oder einen Teil davon aktualisieren. Der Aktualisierer ist zum Beispiel in der Lage, sowohl eine völlig neue Installation als auch ein Patch für eine vorhandene Installation wie zum Beispiel eine CDF-Datei, eine ausführbare Datei, eine DLL, einen Bericht und dergleichen zu verteilen. In der gleichen Weise ist der Aktualisierer in der Lage, Aktualisierungen für verschiedene Sprachen zu verteilen.
  • Diese Funktionen werden unter Beibehaltung von Bedienungskomfort und Benutzer freundlichkeit erzielt. In dieser Beziehung erfordert Bedienungskomfort die automatische Erkennung von vorhandenen Programmen und das automatische Aufrufen von Aktualisierungsprogrammen einschließlich Clients und Replikations-Agents. Die Installationssoftware muss automatisch erkennen, wann eine Aktualisierung verfügbar ist und auf die lokale Installation angewendet werden kann, so dass der Benutzer Aktualisierungen nicht ausdrücklich suchen und auswählen muss. Benutzerfreundlichkeit erfordert, dass Softwareaktualisierungs-Programme dem Benutzer ermöglichen müssen, Aktualisierungen zu beenden oder zurückzustellen. Die Softwareaktualisierungs-Programme müssen den Benutzer über den Status der Aktualisierungen auf dem Laufenden halten und den Benutzer über anstehende Aktualisierungen, die während einer Aktualisierung durchzuführenden Benutzerschritte, Zeitschätzungen für die Aktualisierung und Verlaufsanzeigen informieren. Dies umfasst Selbstaktualisierung – Aktualisierungen müssen in der Lage sein, sich selbst zu aktualisieren, und der Aktualisierer, z. B. der Datenbankadministrator, muss in der Lage sein, Aktualisierungen für die Aktualisierungsprogramme zu verteilen. Benutzerfreundlichkeit umfasst darüber hinaus eine Forderung nach Anpassbarkeit, das heißt, die Fähigkeit einzelner Benutzer, ein beliebiges Verfahren zum Installieren oder Aktualisieren von Softwarekomponenten mit oder ohne Verwendung eines Upgrade-Wizards (eines Aktualisierungs-Assistenten) einzusetzen. Aktualisierungen sollten den aktuellen Zustand der Softwarekomponenten zum Bestimmen, ob eine Aktualisierung erforderlich ist, nutzen.
  • Eine verwandte Anforderung ist die Neustartfähigkeit. Das bedeutet, dass die Aktualisierungssoftware den Fortschritt von Aktualisierungen verfolgen muss und Änderungen automatisch rückgängig machen muss, wenn ein Fehler auftritt. Darüber hinaus muss die Aktualisierungssoftware in der Lage sein, die Aktualisierung vom letzten Sicherungspunkt aus neu zu starten.
  • Eine wünschenswerte Eigenschaft ist die Verfügbarkeit früher Downloads. Mit diesem Mittel können mobile Benutzer Aktualisierungssätze auf ihre lokalen Gerate herunterladen und anwenden, sogar bevor die Aktualisierung erforderlich ist. So können mobile Benutzer die Aktualisierung herunterladen, wenn sie genügend Zeit oder Zugriff auf ein schnelles Netzwerk haben, z. B. wenn Sie die Zentrale (HQ, headquarters) besuchen.
  • Eine weitere wünschenswerte Eigenschaft ist die zentralisierte Definition und Überwachung; der Aktualisierer, z. B. der Datenbankadministrator, muss in der Lage sein, Software- und Schema-Aktualisierungen von einem zentralen Ort aus leicht zu definieren und zu verteilen. Darüber hinaus muss der Aktualisierer in der Lage sein, den Fortschritt der Aktualisierung über alle Installationen hinweg zu überwachen. Der Aktualisierer muss zum Beispiel in der Lage sein, alle Installationen zu suchen, die eine Aktualisierung angewandt haben. Dazu gehört eine garantierte Lieferung. Alle Aktualisierungen werden an alle Installationen verteilt und auf sie angewandt. Es darf nicht erforderlich sein, dass der Aktualisierer den Status von Aktualisierungen auf jeder Installation ausdrücklich überwachen muss.
  • Die bevorzugte Ausführungsform stellt Unterstützung für Test- und Produktionsumgebungen bereit; der Aktualisierer, z. B. der Datenbankadministrator, muss in der Lage sein, Aktualisierungen in einer Testumgebung zu testen und anschließend die Änderungen zur Verteilung an alle Benutzer der Produktion leicht zu einer Produktionsumgebung zu migrieren.
  • Die Aktualisierungen sind eigenständig, d. h. sie sind in sich geschlossen. Das bedeutet, dass Aktualisierungen in der Lage sind, sich selbst auszuführen, und nicht von anderen Programmen oder Daten abhängig sind.
  • Die Installation von Aktualisierungen erfordert minimalen Netzwerkverkehr. Es ist wichtig, Dateiübertragungen zu minimieren, indem Aktualisierungen nur an die Standorte gesendet werden, an denen sie benötigt werden. Aktualisierungen für Anwendungsserver werden zum Beispiel nur an regionale Dateninstallationen gesendet, und Aktualisierungen für Microsoft Word werden nur an Client-Installationen gesendet.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Erfindung wird nun beispielhaft mit Bezug auf die Zeichnungen genauer beschrieben, für die gilt:
  • 1 erläutert den Prozess des Definierens von Softwareaktualisierungen.
  • 2 erläutert die Initiierung und die Verteilung von Aktualisierungen.
  • 3 stellt die Aktualisierungsschritte für Kunden dar.
  • 4 ist ein Datenmodell für eine Fernaktualisierung.
  • 5 ist eine Tabelle, die eine Aufzählung der gültigen Aktionen für Elemente des Aktualisierungssatzes darstellt.
  • GENAUE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM DER ERFINDUNG
  • Die Definition von Aktualisierungen, die Initiierung und Verteilung von Aktualisierungen und die Aktualisierung auf Endbenutzer-Ebene werden in den Abbildungen erläutert.
  • Wie in 1 dargestellt, definiert der Administrator die Aktualisierungssätze und generiert dabei Aktualisierungssatzdateien. Als Nächstes schreibt der Client die Aktualisierungssatzdefinition in die Server-Datenbank, die in dem Datenbank-Server vorhanden ist, wobei weitere Aktualisierungssatzdateien generiert werden. Der Client kopiert darüber hinaus Aktualisierungssatzdateien auf den Datei-Server. Wenn die Aktualisierungssatzdateien freigegeben werden sollen, werden Aktualisierungssatz-Archivdateien erstellt.
  • In dem in 2 dargestellten Prozess schreibt der Administrator die erforderlichen Versionen eines Software-Elements fort. Dies veranlasst den Client, die erforderlichen Versionen der Software mit den lokal installierten Versionen jedes Software-Elements zu vergleichen. Wenn eine Aktualisierung erforderlich ist, ruft der Client die Aktualisierungssatz-Archivdatei von dem Dateiserver ab und ruft den Upgrade-Wizard auf, um die Aktualisierung lokal anzuwenden. Darüber hinaus wird in 2 die Aktualisierung von mobilen Benutzern dargestellt. Im Fall von mobilen Benutzern leitet ein Anwendungsserver neue erforderliche Versionen an mobile und regionale Benutzer weiter. Nach einer Docking-Sitzung vergleicht der Docking-Client die erforderlichen Versionen mit den lokal installierten Versionen der Software. Wenn eine Aktualisierung erforderlich ist, ruft der Docking-Client die Aktualisierungssatz-Archivdatei von dem Datei-Server ab und ruft den Upgrade-Wizard auf, um die Aktualisierung auf das lokale Gerät anzuwenden.
  • Wie in 3 dargestellt, werden CDs oder Disketten zur Verteilung der Aktualisierung erstellt und an die Kunden geliefert. Der Kunde aktualisiert eine Testumgebung, verteilt eine neue Version der Software-Überprüfung und testet die Software. Wenn der Test zufriedenstellend verläuft, aktualisiert der Kunde die neue Version bei Produktionsbenutzern.
  • 4 stellt den Aktualisierungssatz, einen Bestandteil des Satzes einschließlich einer Komponente und eine verwandte Komponente, ein Satzelement und ein Argument des Satzelements sowie ein Typargument des Satzelements dar.
  • 5 stellt eine Aufzählung der gültigen Aktionen für die Aktualisierungssatzelemente wie zum Beispiel das Kopieren von Dateien in Verzeichnisse, das Löschen von Dateien aus Verzeichnissen, das Aufrufen von eigenständigen ausführbaren Dateien, das Ausführen von Anweisungen in SQL-Dateien, das Laden von Daten, das Ausgeben von DDL und das Laden von Repositorydateien dar.
  • Übersicht über die Implementierung
  • Die unten beschriebene bevorzugte Ausführungsform der Erfindung stellt eine Online-Verteilung von Software-Aktualisierungen bei gleichzeitiger Erfüllung der folgenden Unternehmensanforderungen bereit:
    Sie stellt eine Synchronisierung von Datenbankschemata bereit.
  • Sie stellt Unterstützung für alle Arten von Installationen und Endgeräten in einem Unternehmen bereit. Das heißt, der Softwareanbieter oder der Aktualisierer, z. B. der Datenbankadministrator, muss in der Lage sein, alle Arten von Installationen in einem Unternehmen einschließlich angeschlossener Clients, entfernter Clients, regionaler Server und Anwendungsserver zu aktualisieren.
  • Sie stellt Unterstützung für das Aktualisieren von Fremdsoftware bereit.
  • Sie unterstützt sowohl vollständige als auch Teil-Aktualisierungen von installierter Software in einem Unternehmen.
  • Eine zusätzliche Funktion ist die Neustartfähigkeit. Das bedeutet, dass die Aktualisierungssoftware den Fortschritt von Aktualisierungen verfolgen sollte und Änderungen automatisch rückgängig machen sollte, wenn ein Fehler auftritt. Darüber hinaus sollte die Aktualisierungssoftware in der Lage sein, die Aktualisierung vom letzten Sicherungspunkt aus neu zu starten.
  • Ein wichtiges Merkmal der bevorzugten Ausführungsform der Erfindung, insbesondere in einem Unternehmen, das durch Heterogenität und/oder geografische Verteilung gekenn zeichnet ist, ist die zentrale Definition und Überwachung. Der Aktualisierer, z. B. der Datenbankadministrator, muss in der Lage sein, Software- und Schema-Aktualisierungen von einem zentralen Standort aus leicht zu definieren und den Fortschritt von Aktualisierungen über alle Installationen hinweg zu überwachen.
  • Die Aktualisierungen sollte eigenständig sein können. Das bedeutet, dass Aktualisierungen in der Lage sein sollten, sich selbst auszuführen, und nicht von anderen Programmen oder Daten abhängig sein sollten.
  • Schließlich sollten diese vorteilhaften Merkmale erzielt und erhalten werden und gleichzeitig der Bedienungskomfort und die Benutzerfreundlichkeit bewahrt bleiben.
  • Wie in 1 dargestellt, definiert der Administrator, dargestellt als der Client 101, die Aktualisierungssätze. Der Client 101 schreibt diese Aktualisierungssatzdefinition in eine Serverdatenbank 103, die auf dem Datenbankserver vorhanden ist, wobei Aktualisierungssatztabellen 104 in der Serverdatenbank 103 generiert werden. Der Schritt des Definierens der Aktualisierung auf dem Client 101 generiert darüber hinaus Aktualisierungssatzdateien 102. Der Client kopiert diese Aktualisierungssatzdateien 102 auf den Dateiserver 105 zum Beispiel für anschließendes Herunterladen. Wenn die Aktualisierungssatzdateien freigegeben werden sollen, werden Aktualisierungssatz-Archivdateien 106 erstellt.
  • 2 erläutert die Initiierung und die Verteilung von Aktualisierungen. In dem in 2 dargestellten Vorgang aktualisiert der Administrator 101 die erforderlichen Versionen eines Software-Elements.
  • Dies veranlasst den Datenbankserver 103 mit gespeicherten Softwarekomponententabellen 104A, nach dem Start die erforderlichen Versionen der Software mit den lokal installierten Versionen für jeden angeschlossenen lokalen Benutzer 211 für jedes Software-Element zu vergleichen. Wenn eine Aktualisierung erforderlich ist, ruft der lokale Benutzer 211 die Aktualisierungssatz-Archivdatei 106 von dem Datei-Server 105 ab und ruft einen Upgrade-Wizard auf, um die Aktualisierung lokal anzuwenden.
  • Darüber hinaus wird in 2 die Aktualisierung von mobilen Benutzern 215 dargestellt. Im Fall von mobilen Benutzern 21 leitet ein Anwendungsserver 213 neue erforderliche Versionen an mobile 215 und regionale Benutzer weiter. Nach einer Docking-Sitzung vergleicht der Docking-Client die erforderlichen Versionen mit den lokal installierten Versionen der Software. Wenn eine Aktualisierung erforderlich ist, ruft der Docking-Client die Aktualisierungssatz-Archivdatei 106 von dem Dateiserver 105 ab und ruft den Upgrade-Wizard auf, um die Aktualisierung auf das lokale Gerät 215 anzuwenden.
  • 3 stellt eine Reihe von Test- und Verteilungsvorgängen für Kunden dar. Wie in 3 dargestellt, werden Aktualisierungs-CDs oder -Disketten 307 in einem Haupt-Repository 305 erstellt und an einen Testdatenbankserver 303 zur Verteilung an Testbenutzer einschließlich Servertestbenutzern 313, angeschlossenen Testbenutzern 311 und mobilen Testbenutzern 315 geliefert. Die Testbenutzer 311, 313 und 315 aktualisieren ihre Testumgebungen und die aktualisierte Version der Software zum Testen. Die Kunden 311, 313 und 315 testen die Software. Wenn der Test zufriedenstellend verläuft, wird die aktualisierte Version der Software an Produktionsbenutzer 411, 413 und 415 verteilt.
  • 4 stellt ein Datenmodell für eine Fernaktualisierung dar. Sie stellt den Aktualisierungssatz 1001, einen Bestandteil des Satzes 1003 einschließlich einer Komponente 1005 und eine verwandte Komponente 1007, ein Satzelement 1009 und ein Argument des Satzelements 1001 sowie einen Typ 1013 des Satzelements dar.
  • Softwarekomponenten
  • Die Grundeinheit von Aktualisierungen ist die Softwarekomponente. Eine Softwarekomponente ist eine Softwarereihe, die eigenständig installiert und verfolgt und durch Aktualisierungen deinstalliert werden kann. Jede Softwarekomponente verfügt über einen Bereich von erforderlichen Versionen. Der Softwarehersteller, der MIS-Verwalter oder der Aktualisierer, z. B. der Datenbankverwalter, bestimmt den erforderlichen Bereich für jede Softwarekomponente. Beispiele für Softwarekomponenten, beispielsweise und ohne dabei einschränkend zu wirken, in der Anwendung Siebel Remote sind das Siebel Schema, der Siebel Client, der Siebel Server und Microsoft Word.
  • Aktualisierungssätze
  • Der Softwarehersteller, der MIS-Verwalter oder der Aktualisierer, z. B. der Datenbankadministrator, erstellt Aktualisierungssätze zum Installieren oder Aktualisieren einer oder mehrerer Softwarekomponenten. Ein Aktualisierungssatz ist eine Zusammenstellung von Dateien und Aktionen zum Aktualisieren einer oder mehrerer Softwarekomponenten von einer Version auf eine andere (üblicherweise höhere) Version. Um eine Aktualisierung einer Softwarekomponente zu veranlassen, erstellt der Aktualisierer einen Aktualisierungssatz zum Installieren der neuen Version der Softwarekomponente und gibt ihn frei. Anschließend aktualisiert der Aktualisierer die erforderlichen Versionen der Softwarekomponente, um sicherzustellen, dass Benutzer auf die neue erforderliche Version der Softwarekomponente aktualisieren.
  • Automatische Aktualisierungserkennung
  • Zu bestimmten vordefinierten Zeiten (z. B. beim Start des Clients, vor und nach jeder Synchronisierungssitzung, vor dem Aufrufen einer Softwarekomponente eines Fremdanbieters, wenn der Server gestartet wird) verifizieren Systemprogramme, dass die Softwarekomponenten für die derzeit ausgeführten Programme auf dem neuesten Stand sind. Im Fall von Siebel Remote überprüft zum Beispiel der Siebel Client die Versionen der Komponenten Siebel Schema und Siebel Client, überprüft aber nicht unbedingt die Komponente Siebel Server. Der Server bestimmt die derzeit installierte Version einer Softwarekomponente durch Abfragen der Softwarekomponente selbst und Vergleichen der installierten Versionen mit den erforderlichen Versionen.
  • Wenn eine Softwarekomponente sich nicht im Bereich der erforderlichen Versionen befindet, prüft der Server die Versionen aller auf dem Client installierten Softwarekomponenten und sucht nach einem oder mehreren Aktualisierungssätzen, um die veralteten Softwarekomponenten auf die erforderlichen Versionen zu aktualisieren. Der Server informiert anschließend den Benutzer über die erforderlichen Aktualisierungen und fordert den Benutzer auf, die Aktualisierungen durchzuführen.
  • Upgrade-Wizard
  • Der Server ruft einen Upgrade-Wizard auf, um einen Aktualisierungssatz anzuwenden. Nach dem Aufrufen des Upgrade-Wizards wird das Programm beendet, um alle Sperren an Datenbanktabellen oder Dateien, die aktualisiert werden müssen, freizugeben. Der Client ruft zum Beispiel den Upgrade-Wizard auf und wird dann beendet. Der Server sendet eine Meldung zum Herunterfahren an alle derzeit aktiven Serverkomponenten, wartet darauf, dass alle Serverkomponenten beendet werden, ruft den Upgrade-Wizard auf und wird beendet.
  • Bei dem Upgrade-Wizard handelt es sich bevorzugt um eine eigenständige, einzelne ausführbare Datei (es sind keine DLLs erforderlich), die einen Aktualisierungssatz lesen und ihn auf ein lokales Gerät anwenden kann. Der Upgrade-Wizard verfolgt den Fortschritt der Aktualisierung und stellt das System automatisch nach dem Auftreten von Fehlern wieder her. Er erstellt zum Beispiel während des Anwendens eines Aktualisierungssatzes eine Sicherung der lokalen Datenbank und von lokalen Dateien. Wenn zu einem beliebigen Zeitpunkt während der Aktualisierung ein Fehler auftritt, versucht der Upgrade-Wizard, alle Änderungen rückgängig zu machen, und versetzt das lokale Gerät wieder in seinen ursprünglichen Zustand.
  • Wenn der Client oder der Server startet, erkennt er, ob eine Aktualisierung durchgeführt wird oder fehlgeschlagen ist. In diesem Fall benachrichtigt er den Benutzer und ruft den Upgrade-Wizard auf, um die Aktualisierung erneut zu starten. Was den Client betrifft, so arbeitet er im schreibgeschützten Modus weiter, falls der Benutzer es ablehnt, die Aktualisierung erneut zu starten. Im schreibgeschützten Modus ermöglicht der Client dem Benutzer, Daten anzuzeigen, hindert den Benutzer aber daran, Daten zu ändern. Was den Server betrifft, so gibt er eine Fehlermeldung aus und wird beendet, falls der Aktualisierer, z. B. der Datenbankadministrator, es ablehnt, die Aktualisierung erneut zu starten.
  • Nach dem erfolgreichen Abschließen einer Aktualisierung sollten die Softwarekomponenten auf dem lokalen Gerät auf den neuesten Stand sein. Der Upgrade-Wizard startet das ursprüngliche Programm, das die Aktualisierung ausgelöst hatte, erneut.
  • Verwendung von Aktualisierungen
  • Dieser Abschnitt beschreibt den Prozess zum Definieren, Verteilen und Anwenden einer Aktualisierung genauer.
  • Anpassen
  • Der Aktualisierer, z. B. der Datenbankadministrator, verwendet Hilfsprogramme und andere Programme zum Anpassen des Datenbankmanagement-Systems an seine Umgebung. Der Aktualisierer ist in der Lage, das Datenbankschema zu erweitern und Client-Bildschirme, Berichtdateien und andere Dateien anzupassen.
  • Definieren von Aktualisierungen
  • Der Aktualisierer, z. B. der Datenbankadministrator, definiert die Aktualisierung in der Serverdatenbank. Dieser Prozess besteht im Definieren der Softwarekomponenten und der Aktualisierungssätze, die benötigt werden, um jede Softwarekomponente auf eine bestimmte Version zu aktualisieren.
  • Definieren von Softwarekomponenten
  • Der Aktualisierer, z. B. der Datenbankadministrator, setzt einen Softwarekomponenten-Bildschirm oder ein Softwarekomponenten-Hilfsprogramm ein, um neue Softwarekomponenten zu definieren. Eine Softwarekomponente ist eine Softwarereihe, die eigenständig installiert und verfolgt und durch Aktualisierungen deinstalliert werden kann. So, wie sie hier verwendet wird, weist eine Softwarekomponente die folgenden Attribute auf:
    Name. Ein Name zum Identifizieren der Softwarekomponente
    Erforderliche Versionen. Ein Versionsbereich, das heißt, die niedrigsten und die höchsten Versionen, die auf allen Geräten installiert sein müssen.
    Lokalisierungsverfahren. Eine Angabe darüber, wie zu erkennen ist, ob die Softwarekomponente auf einem Gerät installiert ist. Zum Beispiel das Lesen der Windows-Registrierung, um zu erkennen, wo Microsoft Windows (RTM) auf dem lokalen Gerät installiert ist.
    Versionsverfahren. Eine Angabe darüber, wie die aktuelle Version einer installierten Softwarekomponente auf einem Gerät zu ermitteln ist. Zum Beispiel das Lesen der Windows-Registrierung, um die derzeit installierte Version von Microsoft Word auf einem lokalen Gerät zu beziehen.
    „Kompilierte" Komponenteninformationen. Informationen über die zuvor freigegebene Version der Softwarekomponente. Siebel Remote speichert zum Beispiel genau zwei Versionen von Softwarekomponenten. Der Benutzer kann die aktuelle Version anzeigen und manipulieren. Siebel Remote speichert die zuvor freigegebene Version in einer LONG-Spalte in der Softwarekomponententabelle (d. h. S_UPG_COMP). Der Aktualisierer, z. B. der Datenbankadministrator, setzt den Komponentenbildschirm ein, um die aktuelle Version in die „kompilierte" LONG-Spalte zu kopieren.
    Schema. Das Schema ist das Datenbankschema, das auch als Meta-Datenbank bezeichnet wird. Dies umfasst die Datenbanktabellen, -indizes, -ansichten, Initialdaten und Repositorydaten, die zum Ausführen in der Datenbank installiert sein müssen.
    Client. Die ausführbaren Dateien, DLLs, Berichte und Hilfedateien, die zum Ausführen des Clients erforderlich sind.
    CDF. Die Definition der Konfiguration eines Kunden für den Client.
    Server. Die ausführbaren Dateien, DLLs und andere Dateien, die zum Ausführen des Servers erforderlich sind.
    Upgrade-Wizard. Die eigenständige ausführbare Datei, die Aktualisierungssätze auf ein Gerät anwendet.
  • Für die meisten Endbenutzer ist die oben beschriebene vordefinierte Softwarekomponentenreihe vollständig. Falls erforderlich, kann der Aktualisierer, z. B. der Datenbankadministrator, auch einmalige Softwarekomponenten definieren, die er an die Benutzer verteilen und auf sie anwenden möchte.
  • Definieren von Aktualisierungssätzen unter Verwendung des Aktualisierungssatz-Bildschirms
  • Bei einer bevorzugten Ausführungsform unserer Erfindung setzt der Aktualisierer, z. B. der Datenbankadministrator, einen Aktualisierungssatz-Bildschirm ein, um einen Aktualisierungssatz zum Installieren von einer oder mehreren Softwarekomponenten zu definieren.
  • Jeder Aktualisierungssatz muss alle Dateien und Befehle enthalten, die zum Installieren der Softwarekomponenten erforderlich sind. Es kann zum Beispiel ein Aktualisierungssatz verwendet werden, um Microsoft Word 7.0.2 auf allen Clients zu installieren. Dieser Aktualisierungssatz muss alle Dateien (z. B. ausführbare Dateien, Beispieldateien, Vorlagen usw.) und Befehle (z. B. Registrierung aktualisieren, Kurzbefehle erstellen usw.) zum Installieren von Microsoft Word 7.0.2 enthalten. Der Aktualisierer, z. B. der Datenbankadministrator, stellt beim Definieren eines Aktualisierungssatzes die folgenden Informationen bereit:
    Aktualisierungssatz-Informationen. Stellen einen Namen, einen Titel und eine Beschreibung des Aktualisierungssatzes bereit.
    Aktualisierungssatz-Elemente. Der Aktualisierer, z. B. der Datenbankadministrator, definiert eine Reihe von Aktionen (oder „Elementen"), die der Upgrade-Wizard nacheinander ausführt, um den Aktualisierungssatz anzuwenden. Der Aktualisierer bereitet die Dateien für den Aktualisierungssatz vor und registriert sie mit dem Aktualisierungssatz.
    Erforderliche Komponentenversionen. Der Aktualisierer, z. B. der Datenbankadministrator, definiert darüber hinaus die Liste der erforderlichen Softwarekomponenten, die installiert sein müssen, um den Aktualisierungssatz anzuwenden. Ein Aktualisierungssatz zum Importieren von Daten in die Datenbank kann zum Beispiel erfordern, dass SQL Anywhere vS.S installiert wird.
    Zu installierende Komponentenversionen. Der Aktualisierer, z. B. der Datenbankadministrator, definiert darüber hinaus die Liste von Softwarekomponenten, die der Aktualisierungssatz anwendet. Zum Beispiel könnte ein Aktualisierungssatz zum Ausführen einer Datei Microsoft Word 7.0.2 installieren.
    Der Aktualisierungssatz-Bildschirm stellt einen Assistenten bereit, der das Erstellen von Aktualisierungssätzen an Kundenstandorten unterstützt. Mit dem Aktualisierungssatz-Wizard kann der Aktualisierer, z. B. der Datenbankadministrator, Aktualisierungssätze für Softwarekomponenten erstellen, die Benutzer anpassen können.
  • Nachdem der Aktualisierer, z. B. der Datenbankadministrator, das Definieren einer Aktualisierung abgeschlossen hat, speichert er oder sie das Ergebnis zum Beispiel durch Ausgeben eines Befehls wie zum Beispiel das Betätigen der Schaltfläche „Freigeben" auf dem Siebel-Aktualisierungssatz-Bildschirm, um den Aktualisierungssatz für alle Installationen verfügbar zu machen. Der Befehl, zum Beispiel die Schaltfläche, führt Folgendes aus:
    Er generiert eine Upgrade-Wizard-Treiberdatei für den Aktualisierungssatz.
    Er erstellt eine Aktualisierungssatz-Archivdatei und speichert sie in dem Dateisystem. Die Archivdatei besteht aus der Upgrade-Wizard-Treiberdatei und allen Datei en, die zum Anwenden des Aktualisierungssatzes auf ein Gerät erforderlich sind.
    Er kompiliert die Aktualisierungssatz-Informationen in eine „kompilierte" LONG-Spalte. Diese „kompilierte" Spalte speichert alle Informationen, die von Programmen zum Suchen der Aktualisierungssätze benötigt werden. Diese „kompilierte" Spalte wird bereitgestellt, um den Zeitaufwand für die Suche nach Aktualisierungssätzen zu reduzieren.
  • Bereitstellen von Aktualisierungen
  • Nach dem Definieren der Aktualisierung initiiert der Aktualisierer, z. B. der Datenbankadministrator anschließend die Aktualisierung von der Serverdatenbank aus. Clientprogramme an allen Standorten erkennen die Aktualisierungen automatisch und wenden sie je nach Bedarf an.
  • Frühes Herunterladen von Aktualisierungssätzen
  • Nachdem der Aktualisierungssatz definiert ist, können Aktualisierungssatz-Definitionen und damit verknüpfte Dateien an mobile und regionale Datenbanken verteilt werden. In diesem Fall können mobile Benutzer zu dem Aktualisierungssatz-Bildschirm navigieren und anfordern, dass das Datenbankmanagement-System die Aktualisierungssatz-Archivdatei in der nächsten Synchronisierungssitzung herunterlädt. So können mobile Benutzer große Aktualisierungssatz-Archivdateien herunterladen, lange bevor der Aktualisierungssatz auf das lokale Gerät angewendet werden muss. Der mobile Benutzer besucht zum Beispiel möglicherweise die Zentrale und kann die Aktualisierungssatz-Archivdatei in viel kürzerer Zeit über das LAN herunterladen als über ein Modem.
  • Ein frühes Herunterladen von Aktualisierungssätzen ist nicht verbindlich für mobile Benutzer. Der mobile Benutzer muss die Aktualisierungssatz-Archivdatei nicht ausdrücklich anfordern. Die Datenbankmanagement-Software kann die Aktualisierungssatz-Archivdatei automatisch herunterladen, wenn sie den Aktualisierungssatz anwenden muss und die Aktualisierungssatz-Archivdatei auf dem lokalen Gerät nicht zugänglich ist.
  • Initiieren von Aktualisierungen
  • Nach dem Definieren von Softwarekomponenten und Aktualisierungssätzen kann der Aktualisierer, z. B. der Datenbankadministrator, eine Aktualisierung der Softwarekompo nente initiieren. Der Aktualisierer muss zunächst die erforderlichen Versionen der Softwarekomponente einstellen. Es gibt zwei Möglichkeiten zum Einstellen der erforderlichen Versionen: Bei der ersten Möglichkeit erfolgt sie über den Komponentenbildschirm. Der Aktualisierer verwendet den Komponentenbildschirm zum manuellen Fortschreiben der erforderlichen Versionen für eine Softwarekomponente. Er oder sie verwendet den Bildschirm, um die niedrigste oder die höchste Version einer oder mehrerer Softwarekomponenten zu modifizieren.
  • Alternativ kann der Aktualisierer, z. B. der Datenbankadministrator, einen Aktualisierungssatz-Bildschirm verwenden. Der Aktualisierer verwendet den Aktualisierungssatz-Bildschirm zum Fortschreiben der erforderlichen Versionen einer Softwarekomponente. Der Aktualisierer wählt einen Aktualisierungssatz aus und initiiert eine Funktion, um die erforderlichen Versionen einzustellen. Im Fall von Siebel Remote betätigt der Aktualisierer zum Beispiel die Schaltfläche „Erforderliche Versionen einstellen". Die Schaltfläche sucht alle Softwarekomponenten, die von der Aktualisierung betroffen sind, und stellt ihre höchsten Versionen ein. Die höchsten Versionen werden auf die Versionen eingestellt, die der Aktualisierungssatz installiert.
  • Der Aktualisierer, z. B. der Datenbankadministrator, setzt einen Komponentenbildschirm oder einen ähnlichen Bildschirm ein, um die Informationen über neue Softwarekomponenten für alle Benutzer freizugeben. Der Aktualisierer wählt eine Softwarekomponente aus und betätigt die Schaltfläche „Freigeben". Die Schaltfläche liest alle Informationen über die ausgewählte Softwarekomponente und verwandte Softwarekomponenten, verifiziert die Informationen, schreibt die Informationen in die „kompilierte" LONG-Spalte und protokolliert eine Transaktion, um die Informationen für alle Datenbanken zu replizieren.
  • Erkennen und Anwenden von Aktualisierungssätzen
  • Aktualisierungsprogramme, die unsere Erfindung ausführen, erkennen eine Aktualisierung automatisch durch Vergleichen der derzeit installierten Version jeder Komponente mit den erforderlichen Versionen. Der Client liest die erforderlichen Versionen beim Start aus der „kompilierten" LONG-Spalte der Softwarekomponente aus. Server lesen ebenfalls die erforderlichen Versionen beim Start aus der „kompilierten" LONG-Spalte der Softwarekomponente aus.
  • Für mobile Benutzer und regionale Datenbanken verteilt der Aktualisierer, z. B. der Da tenbankadministrator, die aktualisierten erforderlichen Versionen an alle entfernten Datenbanken. Der Docking-Client und der Replikations-Agent fragen vor jeder Synchronisierungssitzung beim Docking-Server die erforderlichen Schemaversionen ab. Wenn während einer Synchronisierungssitzung eine Änderung an der kompilierten Spalte der Softwarekomponente auftritt, lesen der Docking-Client und der Replikations-Agent die erforderlichen Versionen nach der Synchronisierungssitzung.
  • Falls eine der Versionen nicht übereinstimmt, ist eine Aktualisierung erforderlich, und das Programm sucht nach einem oder mehreren anzuwendenden Aktualisierungssätzen und wendet die Aktualisierungssätze in zwei Schritten an:
    Herunterladen der Aktualisierungssatz-Archivdatei auf das lokale Gerät.
    Aufrufen des Upgrade-Wizards, um den Aktualisierungssatz auf das lokale Gerät anzuwenden.
  • Für mobile und regionale Datenbankinstallationen lädt der Docking-Client die Aktualisierungssatz-Archivdatei von dem Server, üblicherweise dem Datenbankserver, in das lokale Eingangsverzeichnis herunter. Für verbundene Benutzer lädt der Client die Aktualisierungssatz-Archivdatei in dem Dateisystem in das temporäre Verzeichnis auf der lokalen Festplatte herunter.
  • Nachdem auf dem lokalen Gerät auf den Aktualisierungssatz zugegriffen werden kann, wendet der Upgrade-Wizard die Aktualisierung an. Der Upgrade-Wizard extrahiert Dateien aus der Aktualisierungssatz-Archivdatei und führt anschließend nacheinander alle Aktualisierungssatz-Aktionen aus. Wenn ein Fehler auftritt, macht der Upgrade-Wizard die Aktualisierungssatz-Aktionen rückgängig und zeigt dem Benutzer eine Fehlermeldung an. Beim nächsten Mal erkennt das Programm wieder Aktualisierungen und wendet sie an.
  • Nach dem erfolgreichen Abschließen aller Aktualisierungssatz-Aktionen löscht der Upgrade-Wizard die Aktualisierungssatz-Dateien von dem lokalen Gerät und startet das Programm, das die Aktualisierung ausgelöst hatte, neu.
  • Integration
  • Das Aktualisierungs-Installationssystem verwendet ein Paket, zum Beispiel, Siebel Up grades, zum Initialisieren und Verwalten von entfernten Datenbanken. Der Upgrade-Wizard initialisiert neue entfernte Datenbanken, erstellt erneut Datenbankextrakte und verarbeitet Datenbankschema-Aktualisierungen.
  • Extrahieren von entfernten Datenbanken – Beim Extrahieren einer entfernten Datenbank erstellt „Database Extract" eine Aktualisierungssatz-Archivdatei in dem Ausgangsverzeichnis. Diese Datenbankextrakt-Archivdatei besteht aus einer Upgrade-Wizard-Treiberdatei und mehreren Elementen zum Initialisieren der lokalen Datenbank.
    Erstellen einer Datenbank. Kopieren der Datenbank-Vorlagendatei (für mobile Benutzer)
    Speicherauszugdaten. Importieren einer Datenbank-Speicherauszugdatei, die sichtbare Daten für den mobilen Benutzer enthält
    SQL-Dateien. Ausführen einer Reihe von SQL-Dateien, die Benutzer erstellen und Daten in der Datenbank initialisieren.
  • Datenbankinitialisierung
  • Der Client, der Replikations-Agent, der Docking-Client und das eigenständige Dbinit-Programm (Dbinit – Datenbankinitialisierung) rufen die Dbinit auf, um eine lokale Datenbank zu initialisieren. Die Datenbankinitialisierung (Dbinit) gewährleistet, dass alle erforderlichen Versionen auf dem lokalen Gerät vorhanden sind, und erstellt eine lokale Datenbank für den mobilen Client.
  • Die Dbinit führt diese Schritte aus:
    Verbinden mit dem Server. Die Dbinit fragt den Namen des lokalen mobilen Clients, das Kennwort für den mobilen Client und die Adresse des entfernten Servers bei dem Benutzer ab (der mobile Benutzer sollte diese Informationen von seinem oder ihrem Aktualisierer, z. B. dem MIS-Personal, dem Hersteller oder dem Datenbankadministrator erhalten). Die Datenbankinitialisierung stellt eine Verbindung mit dem entfernten Server her und überprüft den Namen des mobilen Clients, den Benutzer und das Kennwort.
    Ausführen der Versionsprüfung und Herunterladen von Aktualisierungssätzen. Die Dbinit führt anschließend eine Versionsprüfung aus, um sicherzustellen, dass alle erforderlichen Softwarekomponenten auf dem lokalen Gerät vorhanden sind. Die Dbinit lädt zunächst die erforderlichen Versionen (d. h. die kompilierten Informationen) von dem Docking-Server herunter. Die Dbinit vergleicht die erforderlichen Versionen mit den Versionen auf dem lokalen Gerät. Wenn eine oder mehrere Versionen nicht übereinstimmen, lädt die Dbinit anschließend Informationen über verfügbare Aktualisierungssätze herunter. Die Dbinit sucht im Anschluss nach anzuwendenden Aktualisierungssätzen und lädt die Aktualisierungssätze in das lokale Eingangsverzeichnis herunter.
    Herunterladen der Extrakt-Speicherauszugsdatei. Die Dbinit lädt die Datenbankextrakt-Speicherauszugsdatei in das lokale Eingangsverzeichnis herunter.
    Erstellen der Treiberdatei. Die Dbinit erstellt eine Upgrade-Wizard-Treiberdatei, um die Aktualisierungssätze auf das lokale Gerät anzuwenden und die lokale Datenbank unter Verwendung der Datenbankextrakt-Speicherauszugsdatei zu erstellen.
    Ausführen des Upgrade-Wizards. Die Dbinit ruft den Upgrade-Wizard auf, um die Aktualisierungssätze anzuwenden und die lokale Datenbank zu initialisieren.
  • Wenn die Initialisierung erfolgreich verläuft, startet der Upgrade-Wizard das aufrufende Programm anschließend neu.
  • Automatische Initialisierung von dem Client aus
  • Wenn ein mobiler Benutzer den Client für die lokale Datenbank ausführt, prüft der Client, ob die lokale Datenbankdatei vorhanden ist. Wenn die lokale Datenbank nicht vorhanden ist, fragt der Client beim Benutzer ab, ob er eine lokale Datenbank initialisieren möchte. Falls er dies möchte, ruft der Client die Dbinit auf, um die lokale Datenbank zu erstellen und darüber hinaus sicher zu stellen, dass alle Softwarekomponenten auf dem neuesten Stand sind.
  • Versionsprüfung
  • Zu Beginn jeder Synchronisierungssitzung prüft der Docking-Client, ob ein Datenbankauszug oder eine Datenbankschema-Aktualisierung anstehen. Der Grund dafür ist, dass der Docking-Client zu Beginn der Docking-Sitzung eine Schemaversionsprüfung ausführen muss, da der Docking-Client wissen muss, ob er Transaktionen auf die Serverdaten bank hochladen kann oder die Transaktionen verwerfen muss. Der Docking-Client muss darüber hinaus wissen, ob er eine Dbinit ausführen muss, um die lokale Datenbank erneut zu initialisieren.
  • Nachdem der Docking-Client eine Verbindung mit dem Docking-Server hergestellt hat, fragt der Docking-Client den Docking-Server nach den Serverdatenbankschema-Versionen. Es gibt drei mögliche Ergebnisse:
    Hauptschemaänderung. Wenn die Versionen des Haupt- und des Unterschemas der lokalen Datenbank und der Serverdatenbank nicht übereinstimmen, ist eine erneute Datenbankinitialisierung „erforderlich". Eine Änderung in den Versionen des Haupt- oder des Unterschemas bedeutet, dass in der Serverdatenbank eine Hauptschemaänderung stattgefunden hat. Der Docking-Client verwirft alle zum Hochladen anstehenden Transaktionen. Der Docking-Client benachrichtigt den mobilen Benutzer und ruft den Upgrade-Wizard auf, um die lokale Datenbank zu initialisieren und Softwarekomponenten zu aktualisieren (falls zu aktualisierende Komponenten vorhanden sind). Wenn kein Datenbankextrakt verfügbar ist, zeigt der Docking-Client eine Fehlermeldung an, die den mobilen Benutzer auffordert, sich mit dem Aktualisierer, z. B. dem Datenbankadministrator, in Verbindung zu setzen, um den Docking-Client erneut zu extrahieren.
    Anstehende Dbinit: Falls keine Hauptschemaänderung vorliegt und der Aktualisierer, z. B. der Datenbankadministrator, den Docking-Client erneut extrahiert hat, muss der Docking-Client anschließend die lokale Datenbank erneut initialisieren. Der Docking-Client speichert alle zum Hochladen anstehenden Transaktionen in einer Datei im Eingangsverzeichnis mit der Bezeichnung dbinit.dx. Der Docking-Client ruft den Upgrade-Wizard auf, um die neue lokale Datenbank zu erstellen und jegliche neue Softwarekomponenten zu aktualisieren. Nach dem Initialisieren der lokalen Datenbank ruft der Upgrade-Wizard ein Dienstprogramm für die Datenzusammenführung (dmutl.exe) auf, um die gespeicherten anstehenden Transaktionen in dbinit.dx auf die lokale Datenbank anzuwenden. Dmutl.exe wendet die Transaktionen auf die lokale Datenbank an und protokolliert neue auf die Serverdatenbank hochzuladende Transaktionen, als ob der mobile Benutzer alle Transaktionen erneut eingegeben hätte.
    Unterschemaänderung. Falls keine Hauptschemaänderung und keine anstehende dbinit vorliegt, sychronisiert anschließend der Docking-Client den Docking-Client. Letztendlich wendet der Docking-Client eine Transaktion zum Aktualisieren der erforderlichen Version der Schema-Softwarekomponente an. Diese Aktualisierung veranlasst den Docking-Client, eine Versionsprüfung auszuführen, und veranlasst schließlich den Upgrade-Wizard, einen Aktualisierungssatz zum Aktualisieren der lokalen Datenbank anzuwenden.
  • Initialisieren einer regionalen Datenbank
  • Der Aktualisierer, z. B. der Datenbankadministrator, an der regionalen Datenbank führt ein eigenständiges Datenbank-Initialisierungsprogramm aus, um eine regionale Datenbank zu initialisieren. Das Programm stellt eine Verbindung mit dem entfernten Server her und lädt die Datenbankextrakt-Archivdatei von dem Ausgangsverzeichnis herunter. Das Programm ruft anschließend den Upgrade-Wizard auf, um die regionale Datenbank zu initialisieren.
  • Ersetzen einer regionalen Datenbank
  • Wenn der Aktualisierer, z. B. der Datenbankadministrator, an dem HQ-Server einen Datenbankextrakt für eine vorhandene regionale Datenbank erstellt, muss der Aktualisierer an der regionalen Datenbank die regionale Datenbank erneut initialisieren. Zu Beginn jeder Synchronisierungssitzung prüft ein Replikations-Agent, ob eine Datenbankextrakt-Archivdatei für die regionale Datenbank ansteht. Falls ja, benachrichtigt der Replikations-Agent den Aktualisierer und wird beendet. Der Aktualisierer muss das eigenständige Datenbank-Initialisierungsprogramm manuell aufrufen, um eine regionale Datenbank zu initialisieren.
  • Der Schema-Aktualisierungssatz besteht aus einem oder mehreren der folgenden Elemente:
    Einer DDL-Datei zum Vornehmen von Schemaänderungen
    DAT-Dateien zum Installieren von Initialdaten
    Repimexp-Dateien zum Installieren des Repository
    SQL-Skripten zum Ausführen von besonderen Aktualisierungsschritten, zum Umwandeln von Daten und dergleichen
    einem SQL-Skript zum Aktualisieren von in einer S_APP_VER-Tabelle gespeicherten Versionsnummern
    Dateien zum Aktualisieren von Softwarekomponenten. Dies umfasst das Hinzufügen, Löschen und Aktualisieren von Softwarekomponenten-Informationen. Die Datei muss mindestens die erforderlichen Versionen der Komponenten fortschreiben (Es muss z. B. die neue Version von Hilfsprogrammen für das neue Schema verwendet wenden).
    Dateien zum Installieren von Aktualisierungssätzen zum Definieren. Zum Beispiel Aktualisierungssätze zum Installieren einer neuen Version von Hilfsprogrammen, des Servers und dergleichen.
  • Installieren des Schemas an Kundenstandorten
  • Der Aktualisierer, z. B. der Datenbankadministrator, erhält die CD oder andere Medien und wendet den Aktualisierungssatz auf die Test-/Konfigurationsdatenbank an. Vor dem Anwenden des Aktualisierungssatzes beendet der Aktualisierer zunächst alle Programme, sowohl verbundene Benutzer als auch Serverinstanzen. Anschließend führt er oder sie den Upgrade-Wizard aus, um den Aktualisierungssatz auf die Testdatenbank anzuwenden.
  • Der Aktualisierungssatz führt die folgenden Schritte aus:
    Er nimmt Schemaänderungen vor.
    Er importiert Initialdaten.
    Er führt repimexp.exe zum Importieren des neuen Repository aus.
    Er führt SQL-Skripte zum Durchführen von besonderen Aktualisierungsschritten, zum Umwandeln von Daten und dergleichen aus.
    Er aktualisiert die Versionsnummern.
    Er führt Dateien zum Aktualisieren der Softwarekomponententabellen aus.
    Er führt Dateien zum Installieren von definierten Aktualisierungssätzen aus.
  • Zugreifen auf die Datenbank nach einer Aktualisierung
  • An dieser Stelle verfügt die Test-/Konfigurationsdatenbank über das neue Schema, und die erforderlichen Versionen der Softwarekomponenten sind auf die neuen Versionen eingestellt. Jedes Programm, das eine Verbindung mit der Serverdatenbank herstellt, muss einen oder mehrere Aktualisierungssätze anwenden, um die neuen erforderlichen Versionen zu erhalten. Wenn sich zum Beispiel der Aktualisierer, z. B. der Datenbankadministrator, bei der Serverdatenbank anmeldet, sollte die für die Anmeldung verwendete Software eine Nichtübereinstimmung der Versionen erkennen und versuchen, zu aktualisieren oder die Aktualisierung aufzurufen. Der Aktualisierer verfügt über zwei Möglichkeiten, auf die neue Hilfsprogrammversion zu aktualisieren; wenn ein Aktualisierungssatz vorhanden ist, den Aktualisierungssatz herunterzuladen und ihn auf das lokale Gerät anzuwenden.
  • Installieren der neuen Version von der CD-ROM. Anschließend das Verwenden der Version für die Serverdatenbank. Der Aktualisierer, z. B. der Datenbankadministrator, muss diese Option anwenden, wenn zum ersten Mal Software auf dem lokalen Gerät installiert wird.
  • Wenn der Aktualisierer, z. B. der Datenbankadministrator, die Aktualisierungen von Programmen ausführen lassen möchte, kann er oder sie Aktualisierungssätze zum Aktualisieren der verschiedenen Softwarekomponenten registrieren. Anderenfalls kann er oder sie jedes Gerät durch Installieren von der CD-ROM manuell aktualisieren.
  • Anpassen und Testen
  • Der Aktualisierer, z. B. der Datenbankadministrator, kann lokale Installationen auf diese drei Arten anpassen:
    Mit Datenbankerweiterungen wie zum Beispiel neuen Erweiterungstabellen, Erweiterungsspalten oder Indizes.
    Mit Konfigurationsänderungen wie zum Beispiel neuen CDF-Dateien, CFG-Dateien oder Berichtdateien.
    Mit Fremdsoftwareänderungen wie zum Beispiel neuen Versionen von Microsoft Word, Adobe Acrobat und dergleichen.
  • Kunden führen ein eindeutig definiertes Verfahren zum Erstellen und Verteilen dieser Art von Anpassungen aus. Alle diese Anpassungen verursachen keine Hauptschemaänderung; folglich erfordern sie keine erneute Erstellung eines Datenbankextrakts.
  • Schritt 1: Durchführen der Konfigurationsänderungen in der Serverdatenbank. Der Aktualisierer, z. B. der Datenbankadministrator, verwendet Programme zum Anpassen von Endbenutzerinstallationen für deren Standort und zum Zusammenführen des Repository des Kunden mit einem neuen Repository.
  • Um Konfigurationsänderungen während der Aktualisierung der Version oder des Schemas durchzuführen, müssen neue .CDF-Dateien generiert werden. Dies erfolgt unter Verwendung eines Editors zum Anpassen von CFG-Dateien und eines DBMS-Programms wie zum Beispiel Microsoft Access zum Anpassen von Berichten. Microsoft Help Editor oder dergleichen kann zum Anpassen der Hilfedateien verwendet werden.
  • Programme in dem Aktualisierungssatz vergleichen Versionen und erkennen automatisch die Notwendigkeit, beim nächsten Start eine Aktualisierung anzuwenden. Das System, das unsere Erfindung ausführt, aktualisiert verbundene Benutzer. Auf ähnliche Weise aktualisiert der Server Anwendungsserver oder, falls vorhanden, aktualisiert ein Docking-Client lokale Datenbanken. Ein Replikations-Agent aktualisiert regionale Datenbanken.
  • Das System lädt die erforderlichen Aktualisierungssätze herunter und wendet die Aktualisierung auf das lokale Gerät an. Wenn eine Datenbankänderung die Haupt- oder Unterschemaversionen geändert hat, initialisiert das Aktualisierungssystem die mobile oder regionale Datenbank automatisch.
  • Ein weiterer Aspekt unseres Systems ist die automatische Einstellung der erforderlichen Versionen von Softwarekomponenten. Alternativ kann der Aktualisierer, z. B. der Datenbankadministrator, die erforderlichen Versionen fortschreiben und Aktualisierungen einer oder mehrerer Softwarekomponenten initiieren. In einer vernetzten Umgebung sollte der Akualisierer sehr sorgfältig vorgehen, wenn er Änderungen an der Auflistung von erforderlichen Versionen vornimmt, da Fortschreibungen an dieser Datei Programme an allen Standorten veranlassen können, Aktualisierungen aufzurufen.
  • In den meisten Fällen ist der Anwendungsserver selbstaktualisierend. Das heißt, der Aktualisierer, z. B. der Datenbankadministrator, braucht nicht einzugreifen, um eine Aktualisierung zu erkennen und anzuwenden. Es gibt jedoch Ausnahmen. Falls der Aktualisierungssatz einen Benutzereingriff erfordert, sollte die Aktualisierungssoftware warten, bis der Aktualisierer eine Eingabe vornimmt.
  • In ähnlicher Weise gilt, wenn ein Datenbankauszug zum Beispiel für eine regionale Datenbank ansteht, muss der Server jeden Zugriff auf die regionale Datenbank beenden, sicherstellen, dass die Einrichtung zum Zusammenführen von Transaktionen alle anstehendenden .dx-Dateien von mobilen Clients erfolgreich zusammengeführt hat, und einen Datenbank-Initialisierungsprozess initiieren, um die regionale Datenbank erneut zu initialisieren.
  • Die Software-Aktualisierungsprogramme der bevorzugten Ausführungsform der Erfindung erkennen Aktualisierungen automatisch und wenden sie nach Bedarf an, um auf allen Geräten die korrekten Versionen der Softwarekomponenten aufrechtzuerhalten. Benutzer brauchen nicht manuell nach Aktualisierungen zu suchen und sie anzuwenden. Dies gilt insbesondere für Benutzer, die über ein LAN oder WAN verbunden sind und für die Aktualisierungen unproblematisch verlaufen. Der Client erkennt Aktualisierungen automatisch und wendet sie nach Bedarf an. Wenn eine Aktualisierung erkannt wird, benachrichtigt der Client den Benutzer der Softwarekomponenten über die Aktualisierung, regt den Benutzer an, die Aktualisierung anzuwenden und fordert den Benutzer auf, die Aktualisierung zu starten. Das System lädt automatisch die entsprechenden Aktualisierungssätze auf die lokale Festplatte herunter, falls der Aktualisierungssatz noch nicht auf der lokalen Festplatte vorhanden ist.
  • Nachdem der Aktualisierungssatz auf dem lokalen Gerät verfügbar ist, ruft der Client den Upgrade-Wizard auf, um die Aktualisierung anzuwenden. Der Upgrade-Wizard zeigt die Elemente des Aktualisierungssatzes an und fordert den Benutzer auf, die Aktualisierung zu starten. Der Upgrade-Wizard startet die Verarbeitung der Elemente des Aktualisierungssatzes und informiert den Benutzer regelmäßig über den Fortschritt. Wenn der Upgrade-Wizard beendet ist, startet er das ursprüngliche Programm neu.
  • Auch für mobile Benutzer verlaufen Aktualisierungen unproblematisch. Mobile Benutzer brauchen die Datenbankinitialisierung nicht ausdrücklich aufzurufen. Der Versuch, den Client für die lokale Datenbank zu starten, ohne dass eine lokale Datenbank verfügbar ist, ruft automatisch eine Datenbankinitialisierung auf, um die lokale Datenbank zu erstellen. Dbinit stellt darüber hinaus sicher, dass alle Softwarekomponenten auf dem lokalen Gerät auf dem neuesten Stand sind.
  • Mobile Benutzer können Aktualisierungssätze früher als notwendig herunterladen, indem sie zu dem Aktualisierungssatz-Bildschirm navigieren und den Download der Aktualisierungssatz-Archivdatei in der nächsten Synchronisierungssitzung anfordern.
  • Die Aktualisierungssoftware führt zu Beginn jeder Synchronisierungssitzung eine Versionsprüfung aus. Wenn eine Aktualisierung erkannt wird, benachrichtigt der Client den Benutzer der Softwarekomponenten über die Aktualisierung, regt den Benutzer an, die Aktualisierung anzuwenden und fordert den Benutzer auf, die Aktualisierung zu starten, und lädt automatisch die entsprechenden Aktualisierungssätze auf die lokale Festplatte herunter, falls der Aktualisierungssatz noch nicht auf der lokalen Festplatte vorhanden ist.
  • Nachdem der Aktualisierungssatz auf dem lokalen Gerät verfügbar ist, ruft der Client den Upgrade-Wizard auf, um die Aktualisierung anzuwenden. Der Upgrade-Wizard zeigt die Elemente des Aktualisierungssatzes an und fordert den Benutzer auf, die Aktualisierung zu starten. Der Upgrade-Wizard startet die Verarbeitung der Elemente des Aktualisierungssatzes und informiert den Benutzer regelmäßig über den Fortschritt. Wenn der Upgrade-Wizard beendet ist, startet er das ursprüngliche Programm neu.
  • Wenn eine erneute Initialisierung erforderlich ist, ruft der Docking-Client die Dbinit auf, um die lokale Datenbank erneut zu initialisieren.
  • Bei einer Ausführungsform unserer Erfindung ermöglicht ein Komponentenbildschirm dem Aktualisierer, z. B. dem Datenbankadministrator, Softwarekomponenten zu definieren und die erforderlichen Versionen für Softwarekomponenten zu bestimmen. Dieser Bildschirm ermöglicht darüber hinaus dem Aktualisierer, Abhängigkeiten zwischen Softwarekomponenten zu bestimmen. Die Client-Softwarekomponente erfordert zum Beispiel, dass die Schemakomponente bereits installiert ist, bevor der Clients starten kann.
  • Der Komponentenbildschirm verfügt über zwei Applets: ein Softwarekomponenten- Applet, das den Namen und die erforderlichen Versionen für eine Softwarekomponente definiert, und eine Applet für erforderliche Softwarekomponenten, das die Liste anderer Softwarekomponenten definiert, die erforderlich sind, um die aktuelle Softwarekomponente zu verwenden. Dieses Applet ist ein Nachfolger des Softwarekomponenten-Applets.
  • Das Softwarekomponenten-Applet ermöglicht dem Aktualisierer, z. B. dem Datenbankadministrator, die Attribute einer Softwarekomponente einzugeben. Es kann über eines oder mehrere der folgenden Felder verfügen:
    Name (erforderlich). Der Name der Softwarekomponente.
    Kommentare (optional). Die Beschreibung der Softwarekomponente.
    Niedrigste Version (optional). Die niedrigste Version, die auf einem Gerät installiert sein muss, um diese Softwarekomponente verwenden zu können. Wenn dieser Wert NULL ist, verfügt die Softwarekomponente nicht über eine Mindestversion.
    Höchste Version (optional). Die höchste Version, die auf einem Gerät installiert sein muss, um diese Softwarekomponente verwenden zu können. Wenn dieser Wert NULL ist, verfügt die Softwarekomponente nicht über eine höchste Version. Das Applet verifiziert, dass die niedrigste Version niedriger als die höchste Version ist oder ihr gleichkommt.
    Lokalisierungsverfahren (optional). Das anzuwendende Verfahren, um den Installationsort der Softwarekomponente zu erhalten. Es handelt sich hierbei um eine Auswahlliste.
    Lokalisierungsinformationen (optional). Zusätzliche Informationen für das Lokalisierungsverfahren.
    Versionsverfahren (optional). Verfahren zum Erhalten der derzeit installierten Version der Softwarekomponente. Es handelt sich hierbei um eine Auswahlliste.
    Versionsinformationen (optional). Zusätzliche Informationen für das Versionsverfahren.
  • Das Softwarekomponenten-Applet ermöglicht dem Aktualisierer, z. B. dem Datenbankadministrator, die erforderlichen Softwarekomponenten für eine Softwarekomponente zu definieren. Dieses Applet verfügt über die folgenden Felder:
    Erforderliche Softwarekomponente (erforderlich). Der Name der erforderlichen Softwarekomponente.
    Kommentare (optional).
    Startflag (erforderlich). Gibt an, ob die erforderliche Softwarekomponente für das Starten der Softwarekomponente erforderlich ist. Einige erforderliche Softwarekomponenten werden von einer Softwarekomponente verwendet, sind jedoch nicht für den Start erforderlich. Der Client erfordert zum Beispiel Microsoft Word, wenn der Benutzer „Correspondence" einsetzt, Microsoft Word ist jedoch nicht erforderlich, wenn der Client gestartet wird.
  • Bildschirm „Aktualisierungssatz-Elementargumente".
  • Dieser Bildschirm kann verwendet werden, um die Liste der gültigen Argumente für jeden Aktualisierungssatz-Elementtyp zu definieren. Dieser Bildschirm verfügt über ein Applet:
  • Applet für Aktualisierungssatz-Elementtypargumente.
  • Dieses Applet ermöglicht dem Aktualisierer, z. B. dem Datenbankadministrator, die gültigen Argumente für einen Aktualisierungssatz-Elementtyp einzugeben. Dieses Applet verfügt über die folgenden Felder:
    Elementtyp (erforderlich). Der Typ des anzuwendenden Aktualisierungssatz-Elements. Die gültigen Typen von Aktualisierungssatz-Elementen und ihre jeweiligen Argumente bilden eine Auswahlliste.
    Sequenz (erforderlich). Ein ganze Zahl, die die Sequenz kennzeichnet, an die der Upgrade-Wizard das Argument weitergibt, um das Aktualisierungssatz-Element anzuwenden.
    Flag „Erforderlich" (erforderlich). Gibt an, ob das Argument erforderlich ist.
    Kommentare (optional). Die Beschreibung des Aktualisierungssatz-Elementtyparguments.
    Standardwert (optional). Standardwert des Arguments.
  • Aktualisierungssatz-Applet
  • Dieses Applet ermöglicht dem Aktualisierer, z. B. dem Datenbankadministrator, die Attribute eines Aktualisierungssatzes einzugeben. Dieses Applet verfügt über die folgenden Felder:
    Name (erforderlich). Der Name des Aktualisierungssatzes.
    Titel (erforderlich). Der benutzerfreundliche Name des Aktualisierungssatzes. Der Upgrade-Wizard zeigt diese Zeichenfolge auf der Titelleiste des Dialogfeldes des Upgrade-Wizard an. Dieser Wert ist standardmäßig der Name des Aktualisierungssatzes.
    Kommentare (optional). Die Beschreibung des Aktualisierungssatzes. Der Upgrade-Wizard zeigt diese Beschreibung an, wenn der Upgrade-Wizard gestartet wird.
    Status (erforderlich). Der aktuelle Status des Aktualisierungssatzes. Der Status wird beim Definieren des Aktualisierungssatzes auf „Anstehend" eingestellt. Nachdem der Aktualisierer, z. B. der Datenbankadministrator, die Schaltfläche „Freigeben" betätigt hat, ändert sich der Status in „Aktiv". Der Status ändert sich in "Inaktiv", wenn der Aktualisierer den Status ändert, z. B. die Aktion „Datensatz löschen" in dem Aktualisierungssatz auswählt.
    Aktualisierungssatz-Archivdatei (optional). Die Attribute für die angefügte Aktualisierungssatz-Archivdatei. Dies sind die Attribute, die von der Dateianlage-Unternehmenskomponente und den -rahmen verwendet werden. Mobile Benutzer können zu diesem Applet navigieren und anfordern, dass „Remote" das Aktualisierungssatz-Archiv in der nächsten Synchronisierungssitzung herunterlädt.
  • Nachdem der Aktualisierer, z. B. der Datenbankadministrator, den Aktualisierungssatz „freigibt", kann jeder mobile oder verbundene Benutzer den Aktualisierungssatz herunterladen und auf das lokale Gerät anwenden. Der Benutzer navigiert zu diesem Applet und führt einen Doppelklick auf einen Aktualisierungssatz aus. Wenn die Aktualisierungssatz-Archivdatei auf dem lokalen Gerät (d. h. für den mobilen Benutzer) nicht zugänglich ist, fragt das Applet den Benutzer, ob er eine Anforderung zum Herunterladen der Aktualisierungssatz-Archivdatei in der nächsten Synchronisierungssitzung absenden möchte. Wenn der Aktualisierungssatz auf dem lokalen Gerät bereits zugänglich ist, ruft das Applet den Upgrade-Wizard auf, um den Aktualisierungssatz auf das lokale Gerät anzuwenden. Der Upgrade-Wizard wartet, bis der Client beendet worden ist, bevor er die Aktualisierung startet.
  • Aktualisierungssatz-Elementapplet. Dieses Applet ermöglicht dem Aktualisierer, z. B. dem Datenbankadministrator, die Elemente für den Aktualisierungssatz einzugeben. Dieses Applet verfügt über die folgenden Felder:
    Sequenz (erforderlich). Eine ganze Zahl, die die Sequenz angibt, in der die Aktualisierungssatz-Elemente ausgeführt werden sollen.
    Titel (erforderlich). Der benutzerfreundliche Titel des Aktualisierungssatz-Elements. Der Upgrade-Wizard zeigt diese Zeichenfolge in der Liste der bei der Aktualisierung auszuführenden Element an.
    Kommentare (optional). Die Beschreibung des Aktualisierungssatz-Elements. Der Upgrade-Wizard zeigt diese Beschreibung an, wenn der Benutzer das Aktualisierungssatz-Element markiert.
    Schätzung des Speicherplatzes (optional). Der Speicherplatz, der für das Anwenden eines Aktualisierungssatz-Elements auf ein Gerät erforderlich ist. Der Aktualisierer, z. B. der Datenbankadministrator, stellt diese Schätzung bereit. Wenn die Schätzung NULL ist, führt der Upgrade-Wizard eine Schätzung des Speicherplatzes auf Basis einiger vordefinierter Regeln durch.
    Elementtyp (erforderlich). Der Typ des anzuwendenden Aktualisierungssatz-Elements.
  • Das Applet für Aktualisierungssatz-Elementargumente ermöglicht dem Aktualisierer, z. B. dem Datenbankadministrator, Argumente für ein Aktualisierungssatz-Element einzugeben. Die Liste der gültigen Argumente für jeden Aktualisierungssatz-Elementtyp wird in einer S_UPG_ITARG-Tabelle gespeichert. Dieses Applet erstellt Aufzeichnungen der Schnittmengen zwischen Aktualisierungssatz-Elementen und Aktualisierungssatz-Typargumenten. Dieses Applet verfügt über die folgenden Felder:
    Name (erforderlich). Der Name des Arguments.
    Kommentare (optional). Die Beschreibung des Aktualisierungssatz-Elements. Der Upgrade-Wizard zeigt diese Beschreibung an, wenn der Benutzer das Aktualisierungssatz-Element markiert.
    Argumentwert (erforderlich).
    Dateiattribut (optional). Die Attribute für an das Aktualisierungssatz-Argument angehängte Dateien. Der Aktualisierer, z. B. der Datenbankadministrator, hängt Dateien an das Aktualisierungssatz-Element an.
  • Das Aktualisierungssatz-Komponentenapplet ermöglicht dem Aktualisierer, z. B. dem Datenbankadministrator, zu definieren, welche Softwarekomponenten für diese Aktualisierung erforderlich sind. Die Version 3.1.2 kann z. B. nicht auf einem Gerät installiert werden, wenn nicht die Version 3.1.0 oder eine höhere Version bereits auf diesem bestimmten lokalen Gerät installiert ist. Dieses Applet ermöglicht darüber hinaus dem Aktualisierer, die Softwarekomponenten anzugeben, auf die sich der Aktualisierungssatz auswirkt.
  • Dieses Applet verfügt über die folgenden Felder:
    Softwarekomponente (erforderlich). Die Softwarekomponente, auf die sich dieser Aktualisierungssatz auswirkt.
    Niedrigste installierte Version (optional). Dieses Feld speichert die niedrigste Version der Softwarekomponente, die erforderlich ist, um diesen Aktualisierungssatz zu installieren. Dieses Feld kann auf NULL belassen werden, wenn der Aktualisierungssatz diese Softwarekomponente nicht benötigt.
    Höchste installierte Version (optional). Dieses Feld speichert die höchste Version der Softwarekomponente, die erforderlich ist, um diesen Aktualisierungssatz zu installieren. Dieses Feld kann auf NULL belassen werden, wenn der Aktualisierungs satz diese Softwarekomponente nicht benötigt.
    Neue installierte Version (optional). Dieses Feld speichert die neue Version der Softwarekomponente, wenn dieser Aktualisierungssatz auf ein Gerät angewendet wird. Dieses Feld kann auf NULL belassen werden, wenn der Aktualisierungssatz keine neue Version der Softwarekomponente installiert.
  • Der Dialog dieses Applets verifiziert, dass die niedrigste Version niedriger als die höchste Version ist oder ihr gleichkommt. Er verifiziert darüber hinaus, dass die neue Version höher als die höchste Version ist oder ihr gleichkommt.
  • Der Aktualisierungssatz-Wizard umfasst eine Reihe vordefinierter Dialoge, um den Aktualisierer, z. B. den Datenbankadministrator, beim Erstellen von Aktualisierungssätzen zu unterstützen, die Kunden am häufigsten benötigen. Er kann eines oder mehrere der folgenden Elemente enthalten:
  • Bildschirm 1: Auswählen des Aktualisierungssatz-Typs
    • Datenbankerweiterung. Erstellen eines Aktualisierungssatzes zum Anwenden der Datenbankerweiterungen. Der Aktualisierungssatz besteht aus zwei Aktualisierungssatz-Elementen: einer DLL-Datei zum Anwenden der Datenbankschema-Änderungen und einer DAT-Datei zum Verteilen der Repository-Datendatei an entfernte Datenbanken. Die Repository-Datendatei enthält eine Teilmenge der Repository-Tabellen, die zum Initialisieren der Lexikon-Common-Api erforderlich ist.
    • CDF-Dateien. Erstellen eines Aktualisierungssatzes zum Verteilen der neuen CDF-Dateien an alle Benutzer.
    • Berichtdateien. Erstellen eines Aktualisierungssatzes zum Verteilen der neuen Berichtdateien an alle Benutzer.
    • Hilfedateien. Erstellen eines Aktualisierungssatzes zum Verteilen der neuen Hilfedateien an alle Benutzer.
    • Beispieldatenbank. Erstellen eines Aktualisierungssatzes zum Verteilen der neuen Beispieldatenbank an alle Benutzer.
    • Fremdsoftware. Erstellen eines Aktualisierungssatzes zum Verteilen der Fremdsoftware an alle Benutzer.
  • Bildschirm 2: Vollständige oder Patchinstallation
    • Vollständige Installation.
    • Patchinstallation.
  • Bildschirm 3: Versionsinformationen
    • Eingeben der niedrigsten erforderlichen Version: Für vollständige Installationen Einstellen des Standardwerts auf NULL.
    • Eingeben der höchsten erforderlichen Version: Für vollständige Installationen Einstellen des Standardwerts auf NULL.
    • Eingeben der neuen Version: Einstellen auf die derzeit höchste Version der Softwarekomponente + 1.
    • Der Dialog verifiziert, dass die niedrigste Version niedriger als die höchste Version ist oder ihr gleichkommt. Er verifiziert darüber hinaus, dass die neue Version höher als die höchste Version ist oder ihr gleichkommt.
  • Bildschirm 4: Dateien
    • Eingeben der Quelldateien: Für vollständige Installationen Auswählen eines Verzeichnisses, das die Dateien für den Aktualisierungssatz enthält. Der Aktualisierungssatz-Wizard fügt alle Dateien in dem Verzeichnis und in Unterverzeichnissen zu dem Aktualisierungssatz hinzu.
    • Für Patchinstallationen Auswählen einer oder mehrerer Dateien, um sie zu dem Aktualisierungssatz hinzuzufügen.
    • Eingeben des Zielverzeichnisses für die Dateien.
  • Bildschirm 5: Bestätigen
    • Überprüfen der Informationen für den neuen Aktualisierungssatz und Klicken auf „OK", um den neuen Aktualisierungssatz zu erstellen. Anderenfalls Klicken auf „Abbrechen", um den Vorgang abzubrechen.
  • Eine wesentliche Komponente des Systems, das unsere Erfindung ausführt, ist der Upgrade-Wizard. Die Hauptfunktion des Upgrade-Wizards ist das Anwenden von Aktualisierungssätzen. Bei einer bevorzugten Ausführungsform unserer Erfindung verfügt der Upgrade-Wizard über eine sehr einfache Benutzeroberfläche. Wenn der Upgrade-Wizard gestartet wird, zeigt er anfangs dem Benutzer den Titel und die Beschreibung des Aktualisierungssatzes an. Nachdem der Benutzer auf „OK" oder auf eine ähnliche Schaltfläche geklickt hat, zeigt der Upgrade-Wizard dem Benutzer anschließend eine Liste von Aktualisierungssatz-Elementen an. Der Upgrade-Wizard zeigt den Titel des Aktualisierungssatz-Elements an. Wenn der Benutzer ein bestimmtes Aktualisierungssatz-Element markiert, zeigt der Upgrade-Wizard darüber hinaus die Beschreibung des ausgewählten Elements in dem unteren Rahmen an.
  • Nachdem der Benutzer die Aktualisierungssatz-Elemente überprüft hat und auf „START" oder auf eine ähnliche Schaltfläche geklickt hat, führt der Upgrade-Wizard der Reihe nach alle Aktualisierungssatz-Elemente aus. Unter Umständen zeigt eine Leistenanzeige den Fortschritt der Aktualisierung an. Der Upgrade-Wizard markiert darüber hinaus möglicherweise das Aktualisierungssatz-Element, nachdem das Element abgeschlossen ist.
  • Algorithmen und Prozeduren
  • Versionssprüfungsfunktion. Um die Version einer Softwarekomponente zu prüfen, bezieht der Upgrade-Wizard die erforderlichen Versionen von der Datenbank und die tatsächlichen Versionen von der Softwarekomponente selbst. Um zu bestimmen, welche Komponenten geprüft werden müssen, beginnt der Upgrade-Wizard bei der Grundkomponente und arbeitet sich durch das Netzwerk der erforderlichen Komponenten, um eine Liste der erforderlichen Komponenten zu erhalten.
  • Die Programme des Upgrade-Wizards rufen eine Funktion zum Ausführen der Versionsprüfung auf. Der Aufrufer gibt die „kompilierten" Komponenteninformationen weiter. Die Funktion gibt eine Liste von Softwarekomponenten, die nicht auf dem neuesten Stand sind, und die erforderlichen Versionen für jede nicht auf dem neuesten Stand befindliche Softwarekomponente zurück.
  • Die Funktion muss die Version für jede in den „kompilierten" Komponenteninformationen enthaltene Softwarekomponente prüfen. Zunächst muss die Funktion die Komponente lokalisieren. Nachdem diese lokalisiert worden ist, kann die Funktion die Version der Komponente prüfen, und die Funktion kann feststellen, ob die Komponente aktualisiert werden kann. Die CDF-Datei speichert eine Versionsnummer in der CDF-Datei. Der Aktualisierungssatz-Wizard schreibt den Wert in die CDF-Datei.
  • Die CFG-Dateien fügen ein neues Versionsattribut hinzu. Der Aktualisierungssatz-Wizard schreibt den Wert in die CFG-Datei.
  • Ermitteln, welche Aktualisierung ausgeführt werden soll. Die Aktualisierungssatz-Komponententabelle speichert Komponenten- und Versionsinformationen für einen Aktualisierungssatz. Diese Tabelle beschreibt, welche Komponenten ein Aktualisierungssatz installiert und welche Komponenten von der Aktualisierung benötigt werden. Zu erkennen, welche Aktualisierungssätze angewendet werden sollen, ist möglicherweise nicht trivial.
  • Das bevorzugte System, das unsere Erfindung ausführt, verwendet einen rekursiven Algorithmus, um nach den erforderlichen Aktualisierungssätzen zu suchen. Der Algorithmus lautet wie folgt:
    Figure 00360001
    Figure 00370001
  • Dieser Algorithmus erzeugt eine Liste von Aktualisierungssätzen, um von der derzeit installierten Version zu der erforderlichen Version zu gelangen. Falls es mehr als einen Pfad gibt, wählt die Funktion den Pfad mit der geringsten Zahl an Aktualisierungssätzen aus.
  • Upgrade-Wizard. Der Upgrade-Wizard ist ein einfaches, eigenständiges Programm, dessen alleinige Funktion darin besteht, Aktualisierungssätze auf ein lokales Gerät anzuwenden. Der Upgrade-Wizard baut keine Verbindung mit der Datenbank auf, und es ist nicht erforderlich, dass die Datenbank läuft. Der Upgrade-Wizard liest alle Parameter aus und speichert Zustandsinformationen in einfachen Dateien. Der Upgrade-Wizard muss nicht in der Lage sein, Transaktionen zusammenzuführen. Der Upgrade-Wizard kann den Implementierungsanteil von Dbinit (jedoch nicht den Übertragungsanteil) ausführen.
  • Ausführen des Upgrade-Wizards. Der Upgrade-Wizard liest zwei Typen von Dateien aus: eine Statusdatei und eine Aktualisierungs-Treiberdatei. Beide Dateitypen sind vom Menschen lesbar, so dass Unterstützungspersonal die Dateien bei Bedarf „reparieren" kann.
    Statusdatei. Die Statusdatei enthält eine Liste von Aktualisierungen, die ausgeführt werden müssen, und den Status der Aktualisierung. Die Statusdatei ist leer, wenn keine Aktualisierungen anstehen oder aktuell verarbeitet werden. Die Client- und Serverprogramme prüfen die Statusdatei während des Starts. Wenn die Statusdatei nicht leer ist, rufen sie den Upgrade-Wizard auf, um die Aktualisierung fortzusetzen.
    Treiberdatei. Der Aktualisierungstreiber enthält eine Liste von Aktualisierungssatz- Elementen, die für die Aktualisierung ausgeführt werden müssen.
  • Beim Start liest der Upgrade-Wizard die Treiberdatei und verifiziert, dass genügend Speicherplatz zur Verfügung steht, um die Aktualisierung anzuwenden. Der Upgrade-Wizard verwendet die Schätzung des Speicherplatzes, die für jedes Aktualisierungssatz-Element bereitgestellt wird. Wenn der Aktualisierer, z. B. der Datenbankadministrator, keine Schätzung bereitstellt, schätzt der Upgrade-Wizard den Speicherplatz unter Verwendung eines DUN-Algorithmus. Der Upgrade-Wizard benachrichtigt den Benutzer, wenn nicht genügend Speicherplatz auf dem lokalen Gerät vorhanden ist, um die Aktualisierungssätze anzuwenden.
  • Der Upgrade-Wizard liest anschließend die Statusdatei aus. Wenn die Statusdatei nicht leer ist, macht der Upgrade-Wizard zunächst alle Änderungen rückgängig, indem er die abgeschlossenen Aktualisierungssatz-Elemente in umgekehrter Reihenfolge ausführt.
  • Der Upgrade-Wizard schätzt den Zeitaufwand für das Anwenden der Aktualisierungssätze auf das lokale Gerät und wartet, bis der Benutzer die Aktualisierung startet. Der Upgrade-Wizard schreibt die Statusdatei fort, während er Aktionen verarbeitet. Er löscht die Änderungen an der Festplatte. Der Upgrade-Wizard speichert vor dem Ausführen jeder Aktion Daten in einem Sicherungsverzeichnis. Der Upgrade-Wizard sichert zum Beispiel vor dem Ausführen von datenbankbezogenen Aktionen die lokale Datenbank. Wenn die Aktualisierung erfolgreich abgeschlossen wird, löscht der Upgrade-Wizard alle Sicherungsdateien. Er löscht darüber hinaus die Aktualisierungsstatusdatei.
  • Aktualisieren des Upgrade-Wizards. Der Upgrade-Wizard weist keine Abhängigkeiten von anderen Programmen auf. Er lädt keine CFG-Dateien oder DLLs. Um das Aktualisieren des Upgrade-Wizards selbst zu unterstützen, gehen Programme, die den Upgrade-Wizard aufrufen, in diesen Schritten vor.
  • Prüfen, ob eine „bereite" Version der ausführbaren Datei des Upgrade-Wizards vorhanden ist.
    Wenn eine „bereite" Version vorhanden ist, Löschen der vorhandenen ausführbaren Datei des Upgrade-Wizards und Umbenennen der „bereiten" Version in die aktuelle ausführbare Datei des Upgrade-Wizards.
    Wenn keine ausführbare Datei des Upgrade-Wizards vorhanden ist, Umbenennen des Quell-Upgrade-Wizards in die ausführbare Datei des Upgrade-Wizards.
    Der Upgrade-Wizard benennt den Quell-Upgrade-Wizard in den bereiten Upgrade-Wizard um, wenn er eine Aktualisierung abschließt. Dies erfolgt bevorzugt, wenn die Aktualisierungsstatusdatei leer ist, wodurch dem Benutzer ermöglicht wird, das Format der Statusdatei zu ändern. Alternativ kann dies unmittelbar nach einer Aktualisierung erfolgen, die eine aktualisierte ausführbare Datei des Upgrade-Wizards erzeugt hat, so dass die nächste Aktualisierung die neuen Funktionen des Upgrade-Wizards und die vermutlich neue Wizard-Treiberdateisyntax nutzen kann.
  • Dieser Algorithmus gewährleistet, dass derselbe Upgrade-Wizard über die gesamte Aktualisierung hinweg eingesetzt wird, selbst wenn er nach der Installation einer neuen Version des Upgrade-Wizards neu gestartet wird.
  • Aufrufen der Versionsprüfungsfunktion. Jedes Programm ruft die Versionsprüfungsfunktion zu vordefinierten Zeiten auf.
  • Client
    • Ausführen einer Versionsprüfung für den Client beim Start. Der Client liest die erforderlichen Versionen aus der LONG-Spalte der S_UPG_COMP-Tabelle aus und gibt die Informationen an die Versionsprüfungsfunktion weiter.
  • Server
    • Beim Start startet der Server eine neue Serverkomponente – den Serverversionsprüfer – um die Versionsprüfung auszuführen. Der Serverversionsprüfer liest die erforderlichen Versionen für den Server aus der „kompilierten" LONG-Spalte der S_UPG_COMP-Tabelle aus und gibt die Informationen an die Versionsprüfungsfunktion weiter.
  • Docking-Client und Replikations-Agent
    • Zu Beginn jeder Synchronisierungssitzung erhält der Docking-Client (oder der Replikations-Agent) die Schemaversion der Serverdatenbank über eine DRL-Nachricht. Der Docking-Server liest die S_APP_VER-Tabelle der Serverdatenbank aus und sendet die Schemaversion der Serverdatenbank an den Docking-Client. Wenn die Hauptschemaversionen in der Serverdatenbank und der lokalen Datenbank sich unterscheiden oder eine Dbinit ansteht, ruft der Docking-Client die Dbinit auf, um die Datenbank erneut zu initialisieren.
    • „Data Merge" halt Ausschau nach Transaktionen, die die „kompilierte" LONG-Spalte in S_UPG_COMP aktualisieren. Für den Docking Client halt „Data Merge" Ausschau nach Änderungen an der „Client"-Komponente. Für den Replikations-Agent halt „Date Merge" Ausschau nach Änderungen an der „Server"-Komponente.
  • Sobald „Data Merge" eine Transaktion auf diese Spalte für die "beobachtete" Komponente anwendet, führt "Date Merge" die Zusammenführung von Transaktionen durch und beendet sie. Der Docking-Client führt anschließend eine Versionsprüfung durch. Der Replikations-Agent startet den Serverversionsprüfer, um die Versionsprüfungen auszuführen. Wenn eine oder mehrere erforderliche Versionen nicht übereinstimmen, sucht der Docking-Client (oder der Serverversionsprüfer) nach einem oder mehreren anzuwendenden Aktualisierungssätzen, lädt die Aktualisierungssatz-Archivdateien herunter (falls sie noch nicht auf dem lokalen Gerät zugänglich sind) und ruft den Upgrade-Wizard auf, um die Aktualisierung anzuwenden.
  • Lexikoncachedatei. Die Lexikoncachedatei (d. h. die Teilmenge des Repository, die von Serverprogrammen und dem Docking-Client benötigt wird) stellt eine „Cache"-Datei bereit, die so programmiert ist, dass sie das Lexikon in den Speicher lädt. Die Verwendung einer „Cache"-Datei beseitigt die Notwendigkeit, Lexikondaten in alle entfernten Datenbanken zu laden, verringert die Größe der entfernten Datenbanken und verringert darüber hinaus den Zeitaufwand zum Initialisieren oder Aktualisieren von entfernten Datenbanken. Es kann ein vorhandener diccache.dat-Mechanismus für die „Cache"-Datei verwendet werden. Die diccache.dat-Datei enthält ein Dateidarstellungslexikon. Im Betrieb wird eine Versionsnummer in der diccache.dat-Datei gespeichert, um die Version zu identifizieren und neue Verfahren zum Auslesen der Versionsnummer aus der diccache.dat-Datei hinzuzufügen. Die Datei befindet sich üblicherweise im Verzeichnis <_ROOT>\bin.
  • Während unsere Erfindung mit Bezug auf bestimmte bevorzugte Ausführungsformen und Ausfertigungen beschrieben worden ist, ist nicht beabsichtigt, den Umfang der Erfindung dadurch zu beschränken.

Claims (5)

  1. Verfahren für einen Servercomputer zum Verbreiten und Installieren von Software-Upgrades auf Client-Computern, das Folgendes umfasst: unter der Kontrolle des Servercomputers: Definieren des Inhalts von Softwareversions-Aktualisierungssätzen von in Client-Computern installierter Software, wobei die Softwareversion-Aktualisierungssätze jeweils in sich geschlossen sind und Dateien, Aktionen und einen Upgrade-Wizard zum Aktualisieren einer Softwarekomponente von einer Version auf eine andere Version umfassen; Schreiben des Inhalts der Softwareversions-Aktualisierungssätze in eine Datenbank im Servercomputer als ein Inhaltsverzeichnis, wobei das Inhaltsverzeichnis für jeden der Aktualisierungssätze den Inhalt dieses Aktualisierungssatzes und jedwede für eine Aktualisierung mithilfe dieses Aktualisierungssatzes erforderliche Softwarekomponente zeigt; und für jeden von mehreren Client-Computern Vergleichen des Inhaltsverzeichnisses der Softwareversion-Aktualisierungssätze mit auf diesem Client-Computer installierter Software, um einen oder mehrere Softwareversion-Aktualisierungssätze zu ermitteln, die jeweils eine Aktualisierung auf diesem Client-Computer von einer Version einer auf diesem Client-Computer aktuell installierten Softwarekomponente auf eine aktualisierte Softwarekomponentenversion bewirken; und Herstellen von Kopien der ermittelten Software-Aktualisierungssätze für diesen Client-Computer aus dem Inhaltsverzeichnis und, unter der Kontrolle jedes der mehreren Client-Computer, Ermitteln, ob Softwarekomponenten für ein Programm, das aktuell auf diesem Client-Computer läuft, auf dem neuesten Stand ist, und wenn eine oder mehrere Softwarekomponenten nicht auf dem neuesten Stand sind, Abfragen anderer installierter Softwarekomponenten auf diesem Client-Computer, um die Versionen jener nicht auf dem neuesten Stand befindlicher Softwarekomponenten, die auf diesem Client-Computer installiert sind, zu ermitteln; Benachrichtigen des Server-Computers über die ermittelten installierten Versionen der nicht auf dem neuesten Stand befindlichen Softwarekomponenten auf diesem Client-Computer; Herunterladen von Kopien der auf dem Server-Computer für diesen Client-Computer hergestellten Software-Aktualisierungssätze zum Aktualisieren der nicht auf dem neuesten Stand befindlichen Softwarekomponenten; Aufrufen, für jeden der heruntergeladenen Software-Aktualisierungssätze, des Upgrade-Wizards für diesen Software-Aktualisierungssatz auf diesem Client-Computer, um eine der nicht auf dem neuesten Stand befindlichen Softwarekomponenten auf diesem Client-Computer zu aktualisieren, wobei der Upgrade-Wizard verifiziert, dass ausreichend Festplattenspeicher auf dem Client verfügbar ist, um die Aktualisierung anzuwenden, der Upgrade-Wizard die Softwarekomponentenaktualisierung durch Durchführen der Aktionen des Aktualisierungssatzes und unter Verwendung der Dateien des Aktualisierungssatzes durchführt, der Upgrade- Wizard den Fortschritt der Aktualisierung verfolgt und, wenn während des Aktualisierens ein Fehler festgestellt wird, die Änderungen automatisch rückgängig gemacht werden, indem die Aktionen des Aktualisierungssatzes in umgekehrter Reihenfolge abgearbeitet werden und der Client-Computer wieder in einen Zustand vor der Aktualisierung versetzt wird, und nach dem Aktualisieren der nicht auf dem neuesten Stand befindlichen Softwarekomponenten Neustarten der Ausführung des Programms, um die aktualisierten Softwarekomponenten zu verwenden.
  2. Verfahren nach Anspruch 1, das Folgendes umfasst: vor dem Durchführen einer Aktualisierung einer Softwarekomponente das Erstellen einer Sicherung lokaler Dateien; Verfolgen des Fortschritts der Durchführung der Aktualisierung; Rückgängigmachen von während der Durchführung gemachten Änderungen, nachdem ein Fehler aufgetreten ist; Einleiten der Sicherung lokaler Dateien und Neustarten des Upgrades von einem Sicherungspunkt.
  3. Verfahren nach Anspruch 1, das das Überwachen des Fortschritts der Durchführung einer Aktualisierung einer Softwarekomponente auf einem Client von einem Server umfasst.
  4. Verfahren nach Anspruch 1, das das Herunterladen von einem oder mehreren Aktualisierungssätzen für Softwarekomponenten auf einem Client-Computer aufweist, bevor die Aktualisierung der Softwarekomponente auf dem Client-Computer benötigt wird.
  5. Verfahren nach Anspruch 1, bei dem das aktuell laufende Programm auf den mehreren Client-Computern Datenbankmanagement-Software ist und wobei die aktualisierten Softwarekomponenten Datenbankschemata aufweisen.
DE69938547T 1998-03-03 1999-03-03 Verfahren, system, gerät und programm zur verteilung und einführung von software-upgrade Expired - Lifetime DE69938547T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US7666798P 1998-03-03 1998-03-03
US76667P 1998-03-03
PCT/US1999/004581 WO1999045465A1 (en) 1998-03-03 1999-03-03 Method, system, apparatus and program product for distribution and instantiation of software upgrades

Publications (2)

Publication Number Publication Date
DE69938547D1 DE69938547D1 (de) 2008-05-29
DE69938547T2 true DE69938547T2 (de) 2009-06-18

Family

ID=22133477

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69938547T Expired - Lifetime DE69938547T2 (de) 1998-03-03 1999-03-03 Verfahren, system, gerät und programm zur verteilung und einführung von software-upgrade

Country Status (6)

Country Link
EP (1) EP1073955B1 (de)
JP (1) JP2002506249A (de)
AT (1) ATE392660T1 (de)
AU (1) AU2978699A (de)
DE (1) DE69938547T2 (de)
WO (1) WO1999045465A1 (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7080371B1 (en) 1998-03-03 2006-07-18 Siebel Systems, Inc. Method, system, apparatus and program product for distribution and instantiation of software upgrades
KR20010040272A (ko) * 1998-09-17 2001-05-15 요트.게.아. 롤페즈 사용자 프로파일에 근거하여 인터넷을 할 수 있는 장치의개별화된 업그레이딩
EP1096374A2 (de) * 1999-11-01 2001-05-02 Citicorp Development Center, Inc. Verfahren und System für simultane und unüberwachte Installierung von Software auf einen finanziellen Selbstbedienungstransaktionsterminal
WO2002059741A1 (en) * 1999-12-07 2002-08-01 Rwd Technologies, Inc. Dynamic application browser and database for use therewith
US7363633B1 (en) * 2000-04-24 2008-04-22 Microsoft Corporation Registering and storing dependencies among applications and objects in a computer system and communicating the dependencies to a recovery or backup service
US20030055927A1 (en) * 2001-06-06 2003-03-20 Claudius Fischer Framework for a device and a computer system needing synchronization
US9134989B2 (en) 2002-01-31 2015-09-15 Qualcomm Incorporated System and method for updating dataset versions resident on a wireless device
US6898609B2 (en) * 2002-05-10 2005-05-24 Douglas W. Kerwin Database scattering system
US7216343B2 (en) * 2002-09-20 2007-05-08 International Business Machines Corporation Method and apparatus for automatic updating and testing of software
US9092286B2 (en) 2002-12-20 2015-07-28 Qualcomm Incorporated System to automatically process components on a device
US6978452B2 (en) * 2003-04-02 2005-12-20 Beach Unlimited Llc Upgrading digital media servers
WO2005029332A1 (ja) * 2003-09-24 2005-03-31 Sony Corporation データベーススキーマ更新方法
US8626146B2 (en) 2003-10-29 2014-01-07 Qualcomm Incorporated Method, software and apparatus for performing actions on a wireless device using action lists and versioning
US7665063B1 (en) 2004-05-26 2010-02-16 Pegasystems, Inc. Integration of declarative rule-based processing with procedural programming
EP1832976A4 (de) 2004-10-12 2009-04-29 Fujitsu Ltd Softwareaktualisierungsprogramm, softwareaktualisierungseinrichtung und softwareaktualisierungsverfahren
US8335704B2 (en) 2005-01-28 2012-12-18 Pegasystems Inc. Methods and apparatus for work management and routing
US7260389B2 (en) * 2005-07-07 2007-08-21 The Boeing Company Mobile platform distributed data load management system
US8732233B2 (en) 2005-07-13 2014-05-20 The Boeing Company Integrating portable electronic devices with electronic flight bag systems installed in aircraft
US8924335B1 (en) 2006-03-30 2014-12-30 Pegasystems Inc. Rule-based user interface conformance methods
US8250525B2 (en) 2007-03-02 2012-08-21 Pegasystems Inc. Proactive performance management for multi-user enterprise software systems
CA2687883C (en) 2007-06-19 2014-07-08 Qualcomm Incorporated Methods and apparatus for dataset synchronization in a wireless environment
US8843435B1 (en) 2009-03-12 2014-09-23 Pegasystems Inc. Techniques for dynamic data processing
US8468492B1 (en) 2009-03-30 2013-06-18 Pegasystems, Inc. System and method for creation and modification of software applications
JP5346253B2 (ja) 2009-08-24 2013-11-20 株式会社日立ソリューションズ ファームウェア更新システム、及び情報機器、並びにプログラム
US8880487B1 (en) 2011-02-18 2014-11-04 Pegasystems Inc. Systems and methods for distributed rules processing
US9195936B1 (en) 2011-12-30 2015-11-24 Pegasystems Inc. System and method for updating or modifying an application without manual coding
US10469396B2 (en) 2014-10-10 2019-11-05 Pegasystems, Inc. Event processing with enhanced throughput
US10698599B2 (en) 2016-06-03 2020-06-30 Pegasystems, Inc. Connecting graphical shapes using gestures
US10698647B2 (en) 2016-07-11 2020-06-30 Pegasystems Inc. Selective sharing for collaborative application usage
US11048488B2 (en) 2018-08-14 2021-06-29 Pegasystems, Inc. Software code optimizer and method
US11635990B2 (en) 2019-07-01 2023-04-25 Nutanix, Inc. Scalable centralized manager including examples of data pipeline deployment to an edge system
US11501881B2 (en) 2019-07-03 2022-11-15 Nutanix, Inc. Apparatus and method for deploying a mobile device as a data source in an IoT system
US11567945B1 (en) 2020-08-27 2023-01-31 Pegasystems Inc. Customized digital content generation systems and methods
US11665221B2 (en) 2020-11-13 2023-05-30 Nutanix, Inc. Common services model for multi-cloud platform
US11736585B2 (en) 2021-02-26 2023-08-22 Nutanix, Inc. Generic proxy endpoints using protocol tunnels including life cycle management and examples for distributed cloud native services and applications

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155847A (en) * 1988-08-03 1992-10-13 Minicom Data Corporation Method and apparatus for updating software at remote locations
US5473772A (en) * 1991-04-02 1995-12-05 International Business Machines Corporation Automatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs
JP3140906B2 (ja) * 1994-04-12 2001-03-05 株式会社エヌ・ティ・ティ・データ システムファイルの更新及び復元方法
US5684952A (en) * 1994-07-25 1997-11-04 Apple Computer, Inc. Supervisory control system for networked multimedia workstations that provides reconfiguration of workstations by remotely updating the operating system
US5586304A (en) * 1994-09-08 1996-12-17 Compaq Computer Corporation Automatic computer upgrading
US5666501A (en) * 1995-03-30 1997-09-09 International Business Machines Corporation Method and apparatus for installing software
US5721824A (en) * 1996-04-19 1998-02-24 Sun Microsystems, Inc. Multiple-package installation with package dependencies
US6151643A (en) * 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer

Also Published As

Publication number Publication date
WO1999045465A9 (en) 1999-11-11
JP2002506249A (ja) 2002-02-26
WO1999045465A1 (en) 1999-09-10
DE69938547D1 (de) 2008-05-29
EP1073955A4 (de) 2005-05-04
EP1073955A1 (de) 2001-02-07
EP1073955B1 (de) 2008-04-16
AU2978699A (en) 1999-09-20
ATE392660T1 (de) 2008-05-15

Similar Documents

Publication Publication Date Title
DE69938547T2 (de) Verfahren, system, gerät und programm zur verteilung und einführung von software-upgrade
US7080371B1 (en) Method, system, apparatus and program product for distribution and instantiation of software upgrades
DE19836333C2 (de) Software Installation und Testen für ein gemäß einer Bestellung gebautes Computersystem
US8365164B1 (en) Portable software applications
EP1019807B1 (de) Verfahren zum ausweichen zu einem folgenden niveau einer softwareverteilung inkorporierend lokale veränderungen
US7802247B1 (en) Method and system for restoring software
US7644392B2 (en) System and method for active configuration management
US20050198630A1 (en) Relational database schema version management
DE10121790A1 (de) System und Verfahren zur Konfiguration von Softwareprodukten
US7266817B1 (en) Method and system for creating packages for multiple platforms
DE112008003861T5 (de) Systeme und Verfahren, um Software zum Herunterladen zur Verfügung zu stellen
DE10003268B4 (de) Verfahren und Vorrichtung zum Feststellen der Laufwerksbuchstaben-Bezeichnung eines CD-Rom-Laufwerks während der anfänglichen Systemvorbereitung eines Computersystems
Cisco Maintenance
Dawes et al. OCA: Oracle 10g Administration I Study Guide (1Z0-042)
Alapati et al. Oracle Database 11g: New Features for DBAs and Developers
Gittler et al. Morgan Stanley's Aurora System: Designing a Next Generation Global Production Unix Environment.
Ravikumar et al. Database Upgrade Methods
Thakker et al. Patching and Ongoing Administration
DE19922768A1 (de) Verfahren zum Installieren von Software und/oder zum Testen eines Computersystems
Gault et al. Application Bundling and Deployment
Freeman et al. Oracle8i
Covers A Practical Guide to DB2 UDB Data Replication V8
Moore et al. Oracle Services for Microsoft Transaction Server Developer’s Guide 10g Release 1 (10.1) for Windows Part No. B10114-01 Copyright© 1996, 2003 Oracle Corporation. All rights reserved. Primary Author: Janelle Simmons Contributing Author: Mark Kennedy
Bach et al. Upgrading to Oracle 12c
Jashnani et al. Oracle Database Client Installation Guide, 11g Release 2 (11.2) for HP-UX E24339-02

Legal Events

Date Code Title Description
8364 No opposition during term of opposition