-
Die Erfindung betrifft ein Computersystem sowie eine Speichervorrichtung mit darauf gespeicherten, ausführbaren Programmcode zur Durchführung eines Verfahren zum Aktualisieren von Softwarekomponenten eines Computersystems, bei dem eine Mehrzahl von Aktualisierungspaketen von wenigstens einer vorbestimmten Netzwerkquelle heruntergeladen und zur Aktualisierung von Softwarekomponenten des Computersystems verwendet werden.
-
Verfahren zum Aktualisieren von Softwarekomponenten eines Computersystems sind vielfach bekannt. Durch die ständig zunehmende Komplexität von Computersystemen und darauf ablaufenden Softwarekomponenten besteht ein hoher Bedarf an der Aktualisierung von Softwarekomponenten. Durch die Aktualisierung der Softwarekomponenten werden beispielsweise neu bekannt gewordene Sicherheitslücken geschlossen oder die Funktionalität der Softwarekomponenten erweitert.
-
Bei den Softwarekomponenten kann es sich um Teile einer Anwendersoftware oder eines Betriebssystems, hardwarenahe Softwarekomponenten, wie insbesondere eine Treibersoftware, oder sogenannte Firmwarekomponenten handeln, die in einem nichtflüchtigen Speicher einer Hardwarekomponente selbst gespeichert sind.
-
Praktisch jeder Hersteller von Softwarekomponenten stellt Mittel zur Aktualisierung der von ihm bereitgestellten Softwarekomponenten bereit. Beispielsweise stellen Hersteller von Hardwarekomponenten üblicherweise sogenannte Flashprogramme zum Aktualisieren eines programmierbaren Flashspeichers mit einer aktualisierten Firmwareversion bereit. Hersteller von Treibern, Betriebssystemen und/oder Anwendungsprogrammen stellen in der Regel Dienstprogramme zur Aktualisierung einzelner oder mehrerer Softwarekomponenten der von ihnen hergestellten Programme bereit.
-
Durch die Vielzahl von in einem Computersystem enthaltenen Softwarekomponenten einerseits und die zunehmende Häufigkeit deren Aktualisierung andererseits nimmt der Aufwand für die Wartung eines Computersystems, insbesondere die Laufendhaltung der darauf installierten Softwarekomponenten, stetig zu. Dies ist insbesondere bei Servercomputern störend, die in der Regel ununterbrochen im Betrieb sind und somit nur begrenzt für Wartungsarbeiten zur Verfügung stehen. Zudem verursacht das manuelle Einspielen von Aktualisierungspaketen auf Seiten eines Administrators oder Nutzers eines Computersystems einen hohen Zeitaufwand.
-
Aufgabe der vorliegenden Erfindung ist es daher, Vorrichtungen zu beschreiben, die eine Aktualisierung von Softwarekomponenten eines Computersystems vereinfachen. Bevorzugt soll die beschriebene Lösung sowohl den Arbeitsaufwand eines Administrators als auch die Systembelastung des Computersystems selbst reduzieren.
-
Hierzu wird ein Verfahren zum Aktualisieren von Softwarekomponenten eines Computersystems beschrieben. Das Verfahren umfasst die folgenden Schritte:
- – Herunterladen einer Mehrzahl von Aktualisierungspaketen von wenigstens einer vorbestimmten Netzwerkquelle durch einen Serviceprozessor des Computersystems, der unabhängig von einem Hauptprozessor und einem Betriebssystem des Computersystems betreibbar ist,
- – Zusammenstellen der heruntergeladenen Aktualisierungspakete zu einem Datenvolumen,
- – Herstellen einer Datenverbindung zwischen einem unter Kontrolle des Betriebssystems ausgeführten Agentendienst und dem zusammengestellten Datenvolumen
- – und Aktualisieren von Softwarekomponenten basierend auf der Mehrzahl von Aktualisierungspaketen des zusammengestellten Datenvolumens durch den Agentendienst.
-
Gemäß dem oben genannten Verfahren wird der Aufwand zur Aktualisierung des Computersystems zwischen einem Serviceprozessor und einem Agentendienst, der unter einem Betriebssystem des Computersystems abläuft, aufgeteilt. Insbesondere erledigt der Serviceprozessor das oftmals zeitaufwändige Herunterladen der Aktualisierungspakete von wenigstens einer Netzwerkquelle und stellt diese für den Agentendienst zusammen. Währenddessen kann das Betriebssystem des Computersystems ungestört und ohne zusätzliche Belastung seines Hauptprozessors weiterlaufen. Nachdem die Mehrzahl von Aktualisierungspaketen zu einem Datenvolumen zusammengestellt wurde, übernimmt der Agentendienst die Aktualisierung der betroffenen Softwarekomponenten unter Kontrolle des Betriebssystems. Auf diese Weise können eine Vielzahl von Aktualisierungen gemeinsam und bei Bedarf automatisch durchgeführt werden. Durch Vorsehung des Agentendienstes können dabei Softwarekomponenten des Betriebssystems indirekt durch den Serviceprozessor aktualisiert werden.
-
In wenigstens einer Variante umfasst das Verfahren zusätzlich das Herunterladen einer ersten Liste mit verfügbaren Aktualisierungspaketen von einem Aktualisierungsserver durch den Serviceprozessor, wobei die erste Liste Metadaten über die verfügbaren Aktualisierungspakete enthält. Die in der ersten Liste enthaltenen Metadaten werden mit korrespondierenden Metadaten von auf dem Computersystem installierten Softwarekomponenten verglichen. Nachfolgend wird basierend auf dem Vergleich eine zweite Liste mit zu aktualisierenden Softwarekomponenten, die in dem Computersystem enthalten sind, erstellt. Der Serviceprozessor lädt die Aktualisierungspakete entsprechen der zweiten Liste herunter.
-
In einer alternativen Variante werden zunächst in dem Computersystem installierte Softwarekomponenten ermittelt. Nachfolgend wird eine Liste der ermittelten Softwarekomponenten erstellt, wobei die erste Liste Metadaten über die ermittelten Softwarekomponenten enthält, und Aktualisierungspakete basierend auf der erstellten Liste von einem Aktualisierungsserver heruntergeladen.
-
Durch ein Vorgehen gemäß einer dieser Varianten kann im Vorfeld der Aktualisierung basierend auf entsprechenden Metadaten ermittelt werden, für welche Softwarekomponenten des Computersystems eine Aktualisierung zur Verfügung steht. Nur solche Aktualisierungspakete werden dann von dem Serviceprozessor heruntergeladen und in dem Datenvolumen zusammengestellt. Bei den Metadaten kann es sich beispielsweise um eindeutige Namen der Softwarekomponenten, Versionsinformation, ein letztes Aktualisierungsdatum handeln.
-
In wenigstens einer Variante umfasst das Zusammenstellen des Datenvolumens das Erstellen eines Abbilds eines virtuellen Speichermediums in einem mit dem Serviceprozessor verbundenen Speicher und ein Einbinden des erstellten Abbilds als virtuelles Speicherlaufwerk in das Betriebssystem. Durch die Einbindung des Datenvolumens als Speichermedium eines virtuellen Speicherlaufwerks kann das Betriebssystem auf die Aktualisierungspakete zugreifen als wären diese auf einem lokalen Laufwerk des Computersystems gespeichert. Die Vorsehung weiterer Softwarekomponenten auf Seiten des Betriebssystems zum Zugriff auf die Aktualisierungspakete ist daher nicht erforderlich.
-
In wenigstens einer Variante wird wenigstens einer der Schritte des Herunterladens, Zusammenstellens, Herstellens und Aktualisierens durch eine Zeitplanungskomponente des Serviceprozessors ausgelöst. Durch ein derartiges Vorgehen kann eine regelmäßige, automatische Aktualisierung des Computersystems gewährleistet werden.
-
Durch das beschriebene Verfahren können Anwendungssoftwarekomponenten, Betriebssystemkomponenten, Treibersoftwarekomponenten und/oder Firmwarekomponenten des Computersystems aktualisiert werden.
-
Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein Computersystem beschrieben. Das Computersystem umfasst einen Hauptprozessor zum Ausführen eines Betriebssystems und eines darin ablaufenden Agentendienstes. Das Computersystem umfasst des Weiteren einen unabhängig von dem Hauptprozessor und dem Betriebssystem betreibbaren Serviceprozessor. Dabei ist der Serviceprozessor dazu eingerichtet, eine Mehrzahl von Aktualisierungspaketen für das Computersystem zu laden und zu einem Datenvolumen zusammenzustellen, und der Agentendienst ist dazu eingerichtet, eine Datenverbindung mit dem zusammengestellten Datenvolumen herzustellen und Softwarekomponenten des Computersystems basierend auf der Mehrzahl von Aktualisierungspaketen des zusammengestellten Datenvolumens zu aktualisieren.
-
Das Computersystem gemäß dem ersten Aspekt ermöglicht im Wesentlichen die Durchführung des oben genannten Verfahrens.
-
In wenigstens einer Ausgestaltung umfasst das Computersystem wenigstens eine erste Speichervorrichtung zum Speichern des Betriebssystems und wenigstens eine von der ersten Speichervorrichtung unabhängig betreibbare, mit dem Serviceprozessor gekoppelte zweite Speichervorrichtung zum Speichern des Datenvolumens. Durch die Vorsehung einer zweiten Speichervorrichtung, die mit dem Serviceprozessor gekoppelt ist, kann eine negative Beeinflussung einer ersten Speichervorrichtung, insbesondere einer Speichervorrichtung zum Speichern des Betriebssystems des Computersystems, während des Herunterladens vermieden werden. Zudem ist ein Herunterladen auch dann möglich, wenn der Serviceprozessor keinen Zugriff auf die erste Speichervorrichtung besitzt oder diese abgeschaltet ist.
-
In wenigstens einer Ausgestaltung ist der Serviceprozessor dazu eingerichtet, ein Abbild eines Speichermediums in der zweiten Speichervorrichtung zu speichern und das gespeicherte Abbild als in ein virtuelles Speicherlaufwerk eingelegtes Speichermedium für das Betriebssystem bereitzustellen.
-
Beispielsweise wird das gespeicherte Abbild als Datenträger eines virtuellen Speicherlaufwerks mit einer Nurlesebetriebsart bereitgestellt, insbesondere eines CD- oder DVD-Laufwerks. Die Bereitstellung des Datenvolumens als Speichermedium eines virtuellen CD- oder DVD-Laufwerks ermöglicht eine einfache, standardkonforme Integration des Datenvolumens in das Betriebssystem. Zudem wird die Integrität des Datenvolumens durch die damit verbundene Nurlesebetriebsart sichergestellt.
-
Bei der zweiten Speichervorrichtung handelt es sich in wenigstens einer Ausgestaltung um einen nicht flüchtigen Massenspeicher. Beispielsweise kann ein fest mit dem Computersystem verbundener Flashspeicherbaustein oder eine wechselbare Flashspeicherkarte als zweite Speichervorrichtung dienen. Derartige Speichervorrichtungen sind verhältnismäßig kostengünstig und können auf einfache Weise auf einer Systemplatine des Computersystems angeordnet werden.
-
Gemäß einem zweiten Aspekt der Erfindung wird eine Speichervorrichtung mit darauf gespeicherten, ausführbaren Programmcode beschrieben, wobei beim Ausführen des Programmcodes durch einen Serviceprozessor eines Computersystems wenigstens die folgenden Schritte durch den Serviceprozessor durchgeführt werden:
- – Herunterladen einer Mehrzahl von Aktualisierungspaketen unabhängig von einem Hauptprozessor und einem Betriebssystem des Computersystems,
- – Zusammenstellen der heruntergeladenen Aktualisierungspakete zu einem Datenvolumen und
- – Emulieren einer Standardschnittstelle zum Zugriff auf das Datenvolumen durch einen unter Kontrolle des Betriebssystems ablaufenden Agentendienst.
-
Der ausführbare Programmcode der Speichervorrichtung gemäß dem zweiten Aspekt dient insbesondere zur Programmierung eines Serviceprozessors zur Durchführung des oben genannten Verfahrens bzw. zum Aufbau eines Computersystems gemäß dem ersten Aspekt.
-
Weitere vorteilhafte Ausgestaltungen der Erfindung sind in den angehängten Schutzansprüchen sowie der nachfolgenden Beschreibung von Ausführungsbeispielen offenbart.
-
Die Erfindung wird nachfolgend anhand von Ausführungsbeispielen unter Bezugnahme auf die angehängten Figuren im Detail beschrieben. In den Figuren zeigen:
-
1 eine schematische Darstellung eines Computersystems gemäß einer Ausgestaltung der Erfindung,
-
2 eine schematische Darstellung von Komponenten eines Serviceprozessors,
-
3 eine schematische Darstellung des Zusammenspiels zwischen dem Serviceprozessor und einem Agentendienst und
-
4 ein Ablaufdiagramm eines Verfahrens zum Aktualisieren von Softwarekomponenten.
-
1 zeigt ein Computersystem 1 gemäß einer Ausgestaltung der Erfindung. Insbesondere handelt es sich bei dem Computersystem 1 gemäß 1 um einen sogenannten Servercomputer, wie er beispielsweise in Rechenzentren eingesetzt wird. Das Computersystem 1 umfasst eine Systemkomponente 2 mit mehreren darauf verbauten Komponenten. Beispielsweise handelt es sich bei der Systemkomponente 2 um eine Hauptplatine des Computersystems 1.
-
Auf der Systemkomponente 2 sind im Ausführungsbeispiel ein Hauptprozessor 3 sowie ein Serviceprozessor 4 angeordnet. Bei dem Hauptprozessor 3 handelt es sich beispielsweise um einen leistungsfähigen Mikroprozessor der Firma Intel, beispielsweise einen Intel® Xeon® Prozessor. Bei dem Serviceprozessor 4 handelt es sich beispielsweise um einen sogenannten intelligenten Remote-Management-Controller (iRMC). Solche Serviceprozessoren sind teilweise auch unter dem englischen Begriff „baseboard management controller” (BMC) oder dem deutschen Begriff „Systemmanagementbaustein” (SMB) bekannt. Der Serviceprozessor 4 dient unter anderem zur Überwachung des korrekten Betriebs des Computersystems 1 sowie zur Durchführung von Fernwartungsaufgaben unabhängig von dem Hauptprozessor 3. Beispielsweise kann das Computersystem 1 unter Verwendung des Serviceprozessors 4 über ein Managementnetzwerk ein- oder ausgeschaltet werden.
-
Der Hauptprozessor 3 und der Serviceprozessor 4 sind über ein oder mehrere Bussysteme oder Koppelelemente mit weiteren Komponenten des Computersystems 1 verbunden. Im Ausführungsbeispiel dient ein Chipsatz 5 zum Verbinden des Hauptprozessors 3 und des Serviceprozessors 4 mit einem Speicherbaustein für ein Basic Input Output System, BIOS, 6, einem Eingabe/Ausgabe-Controller 7 und einem Netzwerkcontroller 8.
-
Des Weiteren ist der Serviceprozessor 4 im Ausführungsbeispiel über eine dedizierte Verbindung 9 mit einer Speicherkarte 10 verbunden. Im Ausführungsbeispiels handelt es sich dabei um eine sogenannte microSD-Flashspeicherkarte gemäß dem Industriestandard SDHC der SD Card Association (http://www.sdcard.org). Alternativ kann auch eine sogenannte eMMC-Karte oder ein anderes nichtflüchtiges Speichermedium, wie beispielsweise ein fest mit der Systemkomponente verbundenen Flash-Speicher, Verwendung finden. Die Speicherkarte 10 dient zur nichtflüchtigen Speicherung von umfangreichen Daten des Serviceprozessors 4, beispielsweise im Umfang von 16 GB.
-
Der Netzwerkcontroller 8 des Computersystems 1 ist mit einem Datennetzwerk 11, beispielsweise einem lokalen Ethernet-Firmennetzwerk, verbunden. Darüber hinaus ist der Serviceprozessor 4 entweder über einen weiteren, optionalen Netzwerkcontroller 12 oder über den Chipsatz 5 und den Netzwerkcontroller 8 mit demselben Datennetzwerk 11 oder einem gesonderten Managementnetzwerk 13 verbunden. Bei dem Managementnetzwerk 13 kann es sich beispielsweise auch um ein virtuelles Netzwerk handeln, das auf demselben physikalischen Netzwerk aufbaut wie das Datennetzwerk 11.
-
Das Computersystem 1 umfasst des Weiteren ein Massenspeicherlaufwerk 14, das mit dem Eingabe-Ausgabe-Controller 7 verbunden ist. Auf dem Massenspeicherlaufwerk 14 ist im Ausführungsbeispiel insbesondere ein Betriebssystem 15 für das Computersystem 1 gespeichert. Bei dem Betriebssystem 15 handelt es sich um ein sogenanntes Host-Betriebssystem, wie beispielsweise Microsoft Windows Server 2012, unter dem Nutzanwendungen des Computersystems 1 ablaufen.
-
Darüber hinaus umfasst das Computersystem 1 einen Hauptspeicher 16, in den Programmcode und zugehörige Daten zur Abarbeitung durch den Hauptprozessor 3 geladen werden. Weitere Komponenten des Computersystems 1, wie beispielsweise eine Stromversorgung, sind aus Gründen der Übersichtlichkeit in der 1 nicht dargestellt.
-
Zum besseren Verständnis der Erfindung werden anhand der 2 nachfolgend die wesentlichen Komponenten der Hard- und Softwarearchitektur des Serviceprozessors 4 beschrieben.
-
Der Serviceprozessor 4 dient zur Wartung des Computersystems 1 während unterschiedlichen Phasen, zum Beispiel bei dessen Ersteinrichtung und Aktualisierung. Zentrale Komponente dessen Firmware ist eine sogenannte Application Framework Library 20, die über ein in der 2 nicht dargestelltes Service-Betriebssystem diverse Laufzeit-Dienste für auf dem Serviceprozessors 4 ablaufende Softwarekomponenten bereitstellt. Im Ausführungsbeispiel läuft auf dem Serviceprozessor 4 eine für eingebettete Systeme angepasste Distribution des freien Betriebssystems Linux ab, das unabhängig von dem Betriebssystem 15 des Hauptprozessors 3 läuft. Über die Application Framework Library 20 können einzelne Softwaremodule zentral auf unterschiedliche Ressourcen des Serviceprozessors 4 zugreifen. Hierzu steht eine Mehrzahl von Bibliotheken 21 bis 24 bereit. Unter anderem erlaubt die Application Framework Library 20 den Zugriff auf eine XML-Bibliothek 21, eine Datenbankbibliothek 22, eine virtuelle Speichermedien-Bibliothek 23 und eine IPMI-Bibliothek 24 zur Systemverwaltung. Über die IPMI-Bibliothek 24 können beispielsweise Einstellungen des BIOS 6 ausgelesen oder verändert werden.
-
Die Application Framework Library 20 erlaubt des Weiteren Zugriffe über eine Netzwerkschnittstelle 25 auf das Managementnetzwerk 13. Die Zugriffe über die Netzwerkschnittstelle 25 können beispielsweise über die bekannten http- oder ftp-Protokolle stattfinden. Die Netzwerkschnittstelle 25 dient beispielsweise zum Herunterladen von umfangreichen Daten von einem Aktualisierungsserver wie später beschrieben. Darüber hinaus stellt die Application Framework Library 20 ein Kommunikationsinterface 26 zwischen dem Serviceprozessor 4 und einem Agentendienst 28 über eine PCIe-Schnittstelle 27 bereit. Bei dem Kommunikationsinterface kann es sich beispielsweise um eine logische, proprietäre SCSI-Schnittstelle handeln, über die herstellerspezifische Befehle ausgetauscht werden. Über das Kommunikationsinterface 26 beziehungsweise die physische PCIe-Schnittstelle 27 können insbesondere umfangreiche Daten zwischen dem Serviceprozessor 4 und der damit verbundenen Speicherkarte 10 und dem auf dem Hauptprozessor 3 ablaufenden Agentendienst 28 ausgetauscht werden, wie später im Einzelnen beschrieben ist. Des Weiteren kann für das BIOS 6 über die PCIe-Schnittstelle 27 eine USB-Bootvorrichtung emuliert werden, die zum alternativen Starten des Computersystems 1 dienen kann.
-
Bei dem Agentendienst 28 handelt es sich um eine verhältnismäßig kleine Softwarekomponente, die unter Kontrolle des Betriebssystems 15 beispielsweise als lokaler Dienst oder Dämon-Prozess abläuft. Da der Agentendienst 28 selbst die Vorsehung weiterer, hardware- oder dienstspezifischer Softwarekomponenten, wie beispielsweise Treiberkomponenten zum Programmieren einzelner Firmwarekomponenten ersetzt, wird er bisweilen auch als „agentenloser Dienst” (englisch: „agentless service”) bezeichnet.
-
Im in der 2 dargestellten Ausführungsbeispiel greifen drei unterschiedliche Softwarekomponenten des Serviceprozessors 4 auf die Application Framework Library 20 zu. Eine erste Komponente 29 dient insbesondere zur Durchführung einer Systemüberwachung. Sie umfasst unter anderem einen RAID-Manager 30 zur Verwaltung und Überwachung von Speichermedien. Eine zweite Komponente in Form eines Aktualisierungsmanagers 31 ist für das Besorgen von Aktualisierungspaketen (englisch: „updates”) zuständig. Eine weitere Komponente in Form eines Installations-Managers 32 dient zur Installation von durch den Aktualisierungsmanager 31 besorgten Aktualisierungspaketen.
-
Die Komponenten 29 bis 32 sowie andere Softwarekomponenten des Serviceprozessors 4 können über die Application Framework Library 20 auf ein Dateisystem 33 der Speicherkarte 10 zugreifen. Auf der Speicherkarte 10 sind im Ausführungsbeispiel unterschiedliche Datenvolumen 34, 35 und 36 (englisch: „data volume”) gespeichert. Unter einem Datenvolumen werden in diesem Zusammenhang logisch zusammenhängend gespeicherte Daten bzw. Dateien verstanden. Beispielsweise handelt es sich dabei um ein Datenträgervolumen der Speicherkarte 10, eine Datei mit einem Abbild eines virtuellen Datenträgers oder ein Archiv mit zusammengehörigen Dateien. Bei den Datenvolumen 34 und 35 handelt es sich um Abbilder eines ersten virtuellen Datenträgers mit einem Aktualisierungskatalog beziehungsweise eines zweiten virtuellen Datenträgers mit darin gespeicherten Aktualisierungspaketen. Bei den Datenvolumen 36 handelt es sich um Abbilder unterschiedlicher bootfähiger, virtueller Datenträger, wie beispielsweise die Abbilder von bootfähigen CDs oder DVDs. Des Weiteren ist auf der Speicherkarte 10 noch eine Inventarliste 37 oder Datenbank mit Inventarinformationen des Computersystems 1 gespeichert. Die Inventarliste 37 enthält Informationen zu jeder in dem Computersystem 1 verbauten Komponente sowie zusätzlich Informationen zu der installierten Software beziehungsweise Firmware dieser Komponenten.
-
Die Softwarekomponenten 29, 31 und 32 werden über eine webbasierte grafische Benutzerschnittstelle 38 von einem Systemadministrator verwaltet. Hierzu kann der Systemadministrator beispielsweise über das Managementnetzwerk 13 auf die Benutzerschnittstelle 38 zugreifen.
-
Unter Bezugnahme auf die 3 und 4 wird nachfolgend ein Verfahren zum Aktualisieren von Softwarekomponenten des Computersystems 1 im Detail beschrieben. Die nachfolgend beschriebenen Verfahrensschritte S1 bis S4 sowie S8 bis S12 können unabhängig von dem Betrieb des Betriebssystem 15 durchgeführt werden, das heißt bei ein- oder ausgeschalteten Computersystem 1. Dies hat unter anderem den Vorteil, dass der mit diesen Schritten verbundene Aufwand nicht zu einer Beeinflussung der Leistung des Hautprozessors 3 führt. Die übrigen Verfahrensschritte S5 bis S7 und S13 bis S14 erfordern eine Zusammenarbeit zwischen dem Serviceprozessor 4 und dem unter dem Betriebssystem 15 ablaufenden Agentendienst 28. Deshalb wird das Verfahren im Folgenden auch als „Online-Update” bezeichnet, wobei der Begriff „Online” sich hier auf den aktiven Zustand des Host-Betriebssystems 15 bezieht.
-
In einem ersten Schritt S1 wird eine Anforderung zum Durchführen einer Aktualisierung erkannt. Die Anforderung kann beispielsweise manuell von einem Administrator über die grafische Benutzerschnittstelle 38 ausgelöst werden. Alternativ ist es auch möglich, durch einen sogenannten Scheduler eine zeitgesteuerte Aktualisierung von Softwarekomponenten auszulösen. Im Ausführungsbeispiel ist der Serviceprozessor 4 dazu eingerichtet, in regelmäßigen zeitlichen Abständen, beispielsweise einmal am Tag, das Verfahren zum Aktualisieren von Softwarekomponenten zu starten.
-
In einem Schritt S2 wird bei dem beschriebenen Online-Update zunächst eine erste Liste in Form eines Katalogs von zur Verfügung stehenden Aktualisierungspaketen 40 geladen. Im Ausführungsbeispiel kontaktiert der Serviceprozessor 4 hierfür über ein Managementnetzwerk 13 einen vorbestimmten, sogenannten Repository- oder Aktualisierungsserver 41 des Herstellers des Computersystems 1. Alternativ kann auch ein über eine Konfigurationsschnittstelle 42 vorgegebener, anderer Aktualisierungsserver, beispielsweise ein lokaler Server innerhalb eines geschlossenen Unternehmensnetzwerks, ausgewählt werden. Gemäß der beschriebenen Ausgestaltung wird in diesem Schritt eine Katalogdatei mit sämtlichen auf dem Aktualisierungsserver 41 zur Verfügung stehenden Aktualisierungspaketen 40 geladen.
-
In einer alternativen Ausgestaltung werden lediglich Aktualisierungspakete 40 für ein gegebenes Computermodell oder eine gegebene Modellserie geladen. Beispielsweise kann vor dem Schritt S2 eine von dem Hersteller des Computersystems 1 vergebene und dauerhaft in dem Serviceprozessor 4 gespeicherte Produktkennung zusammen mit einer Anfrage zum Herunterladen des Katalogs von zur Verfügung stehenden Aktualisierungspaketen 40 an den Aktualisierungsserver 41 übertragen werden.
-
Der Katalog oder die darin enthaltene Liste mit zur Verfügung stehenden Aktualisierungspaketen 40 wird in dem ersten Datenvolumens 34 auf der Speicherkarte 10 gespeichert.
-
Nachfolgend wird das Datenvolumen 34 als Speichermedium eines virtuellen Speicherlaufwerks über die SCSI-Schnittstelle angeboten. Hierzu wird das in dem Datenvolumen 34 enthaltene Abbild über die virtuelle Speichermedienbibliothek 23 in einen Teil des Dateisystem 33 eingebunden (englisch: „mounted”), auf den der Agentendienst 28 über das Kommunikationsinterface 26 Zugriff hat. Der Inhalt des Datenvolumens 34 erscheint damit unter dem Betriebssystem 15 wie eine in ein internes CD- oder DVD-Laufwerk eingelegter Datenträger mit entsprechendem Inhalt. Hierzu reicht auf Seiten des Betriebssystems 15 ein gewöhnlicher USB-Treiber, der standardmäßig in den meisten aktuellen Betriebssystemen wie Microsoft Windows oder Linux enthalten ist. Somit müssen auf Seiten des Betriebssystems 15 keine weiteren Treiber installiert werden.
-
Das Verfahren gemäß der beschriebenen Ausführungsform unterscheidet zwischen Aktualisierungspaketen 40 einer ersten Gruppe, die Hardwarekomponenten des Computersystems 1 betreffen, und Aktualisierungspakete 40 einer zweiten Gruppe, die andere Softwarekomponenten des Computersystems 1 betreffen. Ein Beispiel der ersten Gruppe sind insbesondere sogenannte Firmware-Updates einschließlich des BIOS 6 und der Firmware des Serviceprozessors 4 selbst. Ein Beispiel der zweiten Gruppe sind Aktualisierungspakete 40, die Anwendungs-, Betriebssystem- und Treiberkomponenten betreffen, die typischer weise auf dem Massenspeicherlaufwerk 14 gespeichert sind und/oder unter Kontrolle des Betriebssystems 15 ausgeführt werden.
-
Eine Aktualisierung einer Firmwarekomponente des BIOS 6 oder einer sonstigen Firmwarekomponente wird im Ausführungsbeispiel direkt durch den Serviceprozessor 4 durchgeführt. Hierzu vergleicht der Serviceprozessor im Schritt S3 zunächst eine Versionsnummer von vorhandenen Firmwarekomponenten mit einer Versionsnummer die als Teil des Katalogs für ein zur Verfügung stehendes Aktualisierungspaket 40 übertragen wurde. Stellt der Aktualisierungsmanager 31 dabei fest, dass eine Aktualisierung für eine vorhandene Firmwarekomponente zur Verfügung steht, wird diese in einem Schritt S4 einer zweiten Liste von zu beschaffenen Aktualisierungspaketen 40 hinzugefügt. Die Schritte S3 und S4 werden für sämtliche Firmwarekomponenten des Computersystems 1 und/oder sämtliche in dem Katalog enthaltenen Metadaten von zur Verfügung stehenden Aktualisierungspaketen 40 durchgeführt.
-
Vorher, nachher oder parallel zu den Schritten S3 und S4 überprüft ein Aktualisierungsdienst 43 des Agentendienstes 28 die Metadaten der zweiten Gruppe von zur Verfügung stehenden Aktualisierungspaketen 40. Hierfür bindet er in einem Schritt S5 das von dem Serviceprozessor 4 emulierte virtuelle Speicherlaufwerk in die Umgebung des Betriebssystems 15 ein. Demensprechend kann er über normale Dateisystemoperation auf das in dem Datenvolumen 34 gespeicherte Abbild mit dem Katalog und der ersten Liste wie auf einen gewöhnlichen, lokalen Datenträger des Computersystems 1 zugreifen.
-
In einem nachfolgenden Schritt S6 vergleicht eine Versionsvergleichskomponente 44 anhand einer lokalen Konfigurationsdatenbank 45 des Betriebssystems 15 oder sonstigen Metadaten Versionen von auf dem Computersystem 1 installierten Softwarekomponenten mit Versionen der gemäß dem Katalog zur Verfügung stehenden Aktualisierungspaketen 40. Werden dabei zu aktualisierende Softwarekomponenten identifiziert, signalisiert der Aktualisierungsdienst 43 dies über einen Funktionsaufruf zurück an den Aktualisierungsmanager 31 des Serviceprozessors 4. Durch den Aktualisierungsmanager 31 werden dann in einem Schritt S7 auch solche Aktualisierungspakete 40 zu der zweiten Liste von zu beschaffenden Aktualisierungspaketen 40 hinzugefügt, die von der Versionsvergleichskomponente 44 identifiziert wurden.
-
Zu einem Zeitpunkt, der entweder unmittelbar auf die Schritt S4 oder S7 folgt oder, wie bezüglich des Schritts S1 oben ausgeführt, manuell von einem Administrator oder einer Zeitplanungskomponente (englisch: „scheduler”) bestimmt wird, wird im Schritt S8 die eigentliche Aktualisierung von Softwarekomponenten ausgelöst.
-
Hierzu werden in einem Schritt S9 die in den Schritten S4 und S7 bestimmten Aktualisierungspakete 40 in einer Aktualisierungsliste gespeichert. In einem nachfolgenden Schritt S10 beschafft eine Aktualisierungssteuerung 46 zunächst die zugehörigen Aktualisierungspakete 40 der ersten Gruppe von dem Aktualisierungsserver 41. Hierzu arbeitet eine Ladekomponente 47 die im Schritt S9 erstellte Liste ab. Im Ausführungsbeispiel handelt es sich dabei um das bekannte Hilfsprogramm wget.
-
Nachfolgend werden in einem Schritt S11 die betroffenen Firmwarekomponenten des Computersystems 1 aktualisiert. Die Aktualisierung findet im Ausführungsbeispiel direkt unter Kontrolle des Aktualisierungsmanagers 31 in an sich bekannter Weise durch Programmieren der zugehörigen Speicherbausteine mit einer aktualisierten Firmware oder Teilen davon statt. Alternativ ist es auch möglich, Firmwarekomponenten durch den Agentendienst 28 unter Kontrolle des Betriebssystems 15 zu aktualisieren, wie nachfolgend für die anderen Softwarekomponenten der zweiten Gruppe beschrieben.
-
In einem Schritt S12 werden zumindest die Aktualisierungspakete 40 der zweiten Gruppe, die betriebssystemabhängige Softwarekomponenten betreffen, von dem Serviceprozessor 4 heruntergeladen und auf der Speicherkarte 10 gespeichert. Dabei werden die Aktualisierungspakete 40 in dem Abbild des zweiten Datenvolumens 35 gespeichert. Bevorzugt liegen die Aktualisierungspakete 40 als durch den Aktualisierungsdienst 43 oder das Betriebssystem 15 verarbeitbare beziehungsweise ausführbare Aktualisierungspakete vor. Wurde das Abbild des Datenvolumens 35 erfolgreich zusammengestellt, wird dies wie oben beschrieben eingebunden und als aktuelles Speichermedium des virtuellen Speicherlaufwerks für das Computersystem 1 zur Verfügung gestellt. Nach einer entsprechenden Signalisierung an den Agentendienst 28 bindet dieser daher im Schritt S13 das zweite Datenvolumen in die Betriebssystemumgebung ein.
-
Nachfolgend werden die in dem Abbild des Datenvolumens 35 enthaltenen Aktualisierungspakete 40 durch den Agentendienst 28 im Schritt S14 ausgeführt. Dabei werden beispielsweise auf einer Festplatte 14 gespeicherte Softwarekomponenten des Betriebssystems 15, zugehöriger Treiber oder Anwendungsprogramme durch eine Aktualisierungskomponente 48 des Aktualisierungsdienstes 43 entsprechend den Aktualisierungspaketen 40 im aktualisiert. In dem beschriebenen Ausführungsbeispiel findet die Aktualisierung im Hintergrund statt, das heißt bei weiter laufenden Anwendungen und Diensten des Computersystems 1. Sofern Kernelkomponenten des Betriebssystems 15 von der Aktualisierung betroffen sind, wird das Betriebssystem 15 nach Abschluss der Aktualisierung gegebenenfalls durch den Agentendienst 28 oder den Serviceprozessor 4 neu gestartet.
-
In einer abgewandelten Ausführungsform entfallen die Schritte S2 bis S7 ganz oder teilweise. Beispielsweise können durch den Serviceprozessor 4 anhand einer Typbezeichnung alle potentiell relevanten Aktualisierungspakete 40 ohne Zusammenarbeit mit dem Agentendienst 28 ermittelt werden. Des Weiteren kann eine Erkennung der installierten Komponenten auch nur einmalig durchgeführt und das Ergebnis an geeigneter Stelle, beispielsweise in der Inventarliste 37, gespeichert werden. Selbstverständlich ist es auch möglich, dass die vorhandenen Komponenten von einem Administrator manuell oder dem Aktualisierungsserver 41 automatisch vorgegeben werden. In allen diesen Fällen wird der Aktualisierungsdienst 28 erst bei der Installation der Aktualisierungspakete 40 in den Schritten S13 und S14 tätig. In diesen Fällen führt die Aktualisierungskomponente 48 gegebenenfalls zum Zeitpunkt der Installation einen Versionsvergleich durch, um die Installation falscher Aktualisierungen zu verhindern.
-
Bezugszeichenliste
-
- 1
- Computersystem
- 2
- Systemkomponente
- 3
- Hauptprozessor
- 4
- Serviceprozessor
- 5
- Chipsatz
- 6
- Basic Input Output System (BIOS)
- 7
- Eingabe/Ausgabe-Controller
- 8
- (erster) Netzwerkcontroller
- 9
- Verbindung
- 10
- Speicherkarte
- 11
- Datennetzwerk
- 12
- (zweiter) Netzwerkcontroller
- 13
- Managementnetzwerk
- 14
- Massenspeicherlaufwerk
- 15
- Betriebssystem
- 16
- Hauptspeicher
- 20
- Application Framework Library
- 21
- XML-Bibliothek
- 22
- Datenbankbibliothek
- 23
- virtuelle Speichermedienbibliothek
- 24
- IPMI-Bibliothek
- 25
- Netzwerkschnittstelle
- 26
- Kommunikationsinterface
- 27
- PCIe-Schnittstelle
- 28
- Agentendienst
- 29
- Systemüberwachungskomponente
- 30
- RAID-Manager
- 31
- Aktualisierungsmanager
- 32
- Installationsmanager
- 33
- Dateisystem
- 34
- Datenvolumen (Abbild eines ersten Datenträgers)
- 35
- Datenvolumen (Abbild eines zweiten Datenträgers)
- 36
- Datenvolumen (Abbild eines bootfähigen Datenträgers)
- 37
- Inventarliste
- 38
- grafische Benutzerschnittstelle
- 40
- Aktualisierungspaket
- 41
- Aktualisierungsserver
- 42
- Konfigurationsschnittstelle
- 43
- Aktualisierungsdienst
- 44
- Versionsvergleichskomponente
- 45
- Konfigurationsdatenbank (des Betriebssystems)
- 46
- Aktualisierungssteuerung
- 47
- Ladekomponente
- 48
- Aktualisierungskomponente
- S1–S14
- Verfahrensschritte
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- Industriestandard SDHC der SD Card Association (http://www.sdcard.org) [0032]