Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND CONTROL PROGRAM FOR PROVIDING A COMPUTER SOFTWARE CODE
Document Type and Number:
WIPO Patent Application WO/2008/122505
Kind Code:
A1
Abstract:
In order to provide a computer software code, a computer is associated with a software code distribution system. Upon successful association, the computer establishes a connection to the software code distribution system. Upon successfully establishing a connection, the computer retrieves a list comprising the software code that can be installed on the computer. A software package having a control parameter file for the installation and configuration of the program code is retrieved by the computer from the software distribution system based on user selection. A software code comprised in the retrieved software package is installed and configured based on the control parameter file. State information stored in a configuration database of the software code distribution system and associated with the computer is updated.

Inventors:
KAPFER STEPHAN (DE)
Application Number:
PCT/EP2008/053477
Publication Date:
October 16, 2008
Filing Date:
March 25, 2008
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
KAPFER STEPHAN (DE)
International Classes:
G06F9/445
Domestic Patent References:
WO2002041141A22002-05-23
Foreign References:
US20030110241A12003-06-12
US6026366A2000-02-15
Attorney, Agent or Firm:
SIEMENS AKTIENGESELLSCHAFT (München, DE)
Download PDF:
Claims:

Patentansprüche

1. Verfahren zur Bereitstellung von Computerprogrammcode, bei dem - ein Rechner einem Programmcodeverteilungssystem zugeordnet wird,

— der Rechner bei erfolgreicher Zuordnung eine Verbindung zum Programmcodeverteilungssystem aufbaut,

— der Rechner bei erfolgreichem Verbindungsaufbau eine Liste mit auf dem Rechner installierbarem Programmcode abruft,

- auf eine Benutzerauswahl ein von der Liste umfaßtes Programmpaket mit einer Steuerungsparameterdatei zur Installation und Konfiguration von Programmcode durch den Rechner vom Programmcodeverteilungssystem abgerufen wird, - vom abgerufenen Programmpaket umfaßter Programmcode anhand der Steuerungsparameterdatei installiert und konfiguriert wird,

- eine in einer Konfigurationsdatenbank des Programmcodever- teilungssystems gespeicherte, dem Rechner zugeordnete Zu- Standsinformation aktualisiert wird.

2. Verfahren nach Anspruch 1, bei dem der Rechner durch einen Administrator derart konfiguriert ist, daß vom abgerufenen Programmpaket umfaßter Programmcode ohne Administratorrechte anhand der Steuerungsdatei installierbar ist.

3. Verfahren nach Anspruch 2, bei dem die Steuerungsparameterdatei mittels eines privaten Schlüs- sels einer vertrauenswürdigen Instanz digital signiert ist und die digitale Signatur vor einer Installation und/oder Konfigurierung von der Steuerungsparameterdatei zugeordnetem Programmcode überprüft wird.

4. Verfahren nach einem der Ansprüche 1 bis 3, bei dem durch die Zustandsinformation eine Software- und/oder Hardware-Konfiguration des Rechners bezeichnet wird.

5. Verfahren nach Anspruch 4, bei dem die Liste mit auf dem Rechner installierbarem Programmcode anhand der Zustandsinformation ermittelt wird.

6. Verfahren nach einem der Ansprüche 1 bis 5, bei dem durch den vom abgerufenen Programmpaket umfaßten Programmcode bereits installierter und/oder konfigurierter Programmcode aktualisiert wird.

7. Verfahren nach einem der Ansprüche 1 bis 6, bei dem der Rechner zur Zuordnung des Rechners zum Programmcodever- teilungssystem einen Server des Programmcodeverteilungssys- tems anhand eines Verzeichnisdienstes ermittelt.

8. Verfahren nach einem der Ansprüche 1 bis 7, bei dem der Rechner dem Programmcodeverteilungssystem durch Installation eines Software-Agenten auf dem Rechner zugeordnet wird.

9. Verfahren nach einem der Ansprüche 1 bis 8, bei dem das Programmcodeverteilungssystem zumindest einen Server umfaßt, der die Konfigurationsdatenbank verwaltet.

10. Steuerungsprogramm zur Bereitstellung von Computerprogrammcode, wobei das Steuerungsprogramm in einen Arbeitspei- eher eines Rechners ladbar ist und zumindest einen Codeabschnitt aufweist, bei dessen Ausführung

- eine Zuordnung des Rechners zu einem Programmcodeverteilungssystem veranlaßt wird,

- der Rechner bei erfolgreicher Zuordnung eine Verbindung zum ProgrammcodeverteilungsSystem aufbaut,

— der Rechner bei erfolgreichem Verbindungsaufbau eine Liste mit auf dem Rechner installierbarem Programmcode abruft, — auf eine Benutzerauswahl ein von der Liste umfaßtes Programmpaket mit einer Steuerungsparameterdatei zur Installation und Konfiguration von Programmcode durch den Rechner vom Programmcodeverteilungssystem abgerufen wird,

- vom abgerufenen Programmpaket umfaßter Programmcode anhand der Steuerungsparameterdatei installiert und konfiguriert wird,

— eine Aktualisierung einer in einer Konfigurationsdatenbank des Programmcodeverteilungssystems gespeicherten, dem Rechner zugeordneten Zustandsinformation veranlaßt wird, wenn das Steuerungsprogramm auf dem Rechner abläuft.

Description:

Beschreibung

Verfahren und Steuerungsprogramm zur Bereitstellung von Com- puterprogrammcode

Bereitstellung und Verteilung von Computerprogrammcode für Anwendungen oder Dienste ist häufig ein komplexer Vorgang. Bisher sind zwar immer leistungsfähigere Verfahren entwickelt worden, um die Realisierung einer Installation zu vereinfa- chen und zu standardisieren. Allerdings überfordern viele dieser Verfahren Computernutzer, die lediglich über einschränkte Computerkenntnisse oder Benutzerrechte verfügen.

Da ein Erfolg einer Installation eine zwingende Voraussetzung für ein Funktionieren mitunter sicherheitsrelevanter Programme ist, nehmen speziell qualifizierte Mitarbeiter oder Dienstleister in Organisationen mit einer großen Anzahl zu verwaltender Computer Installations- und Konfigurationsaufgaben wahr. Dadurch werden gewöhnliche Computerbenutzer von diesen Aufgaben entlastet. Trotz dieser Maßnahmen ist in vielen Fällen immer noch ein hoher personeller Aufwand erforderlich. Aus diesem Grund wird angestrebt, Installations- und Konfigurationsaufgaben so weit wie möglich im Rahmen einer Softwareverteilung zu automatisieren.

Softwareverteilung zielt somit auf eine vollautomatische Erstinstallation, Konfiguration und Wartung einer großen Anzahl von Computern mit minimalem Aufwand ab. Weitere Anforderungen sind störungsarmer und sicherer Betrieb. Diese Ziele lassen sich mit heute verfügbaren Systemen zur Softwareverteilung erreichen, mit denen beispielsweise durch einen Administrator mehr als 10.000 Computer verwaltet werden können.

Kritisch ist dabei jedoch Netzwerk- und Serverbelastung. Bisherige Ansätze zur Begrenzung der Netzwerk- und Serverbelastung sehen beispielsweise eine Aufteilung durch ein Software- Rollout betroffener Computer oder Anwender in Teilgruppen vor, an die sukzessive die bereitzustellende Software verteilt wird.

Windows Update (siehe http://www.windowsupdate.com) und Java Web Start ermöglichen eine automatisierte Aktualisierung von Programm- bzw. Systemkomponenten. Jedoch wird die Aktualisierung nicht zentral von einem Softwareverteilungssystem gesteuert, sondern dezentral vom jeweiligen Rechner angestoßen. Zudem erfordert die Aktualisierung Administratorrechte.

Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ein Verfahren zur Bereitstellung von Computerprogrammcode zu schaffen, das ein reduzierte Netzwerk- und Serverbelastung ermöglicht, sowie eine geeignete Implementierung des Verfahrens anzugeben.

Diese Aufgabe wird erfindungsgemäß durch ein Verfahren mit den in Anspruch 1 angegebenen Merkmalen und ein Steuerungsprogramm mit den in Anspruch 10 angegebenen Merkmalen gelöst. Vorteilhafte Weiterbildungen sind in den abhängigen Ansprü- chen angegeben.

Erfindungsgemäß wird zur Bereitstellung von Computerprogrammcode ein Rechner zunächst einem Programmcodeverteilungssystem zugeordnet. Bei erfolgreicher Zuordnung baut der Rechner eine Verbindung zum Programmcodeverteilungssystem auf. Bei erfolgreichem Verbindungsaufbau ruft der Rechner eine Liste mit auf dem Rechner installierbarem Programmcode ab. Auf eine Benutzerauswahl wird ein von der Liste umfaßtes Programmpaket mit einer Steuerungsparameterdatei zur Installation und Konfigu-

ration von Programmcode durch den Rechner vom Programmcode- verteilungssystem abgerufen. Vom abgerufenen Programmpaket umfaßter Programmcode wird anhand der Steuerungsparameterdatei installiert und konfiguriert. Eine in einer Konfigurati- onsdatenbank des Programmcodeverteilungssystems gespeicherte, dem Rechner zugeordnete Zustandsinformation wird aktualisiert. Auf diese Weise werden lange Verzögerungen bei einer Bereitstellung von Computerprogrammcode infolge stark wachsender Nutzer- bzw. Rechnerzahlen vermieden.

Vorzugsweise ist der Rechner durch einen Administrator derart konfiguriert, daß vom abgerufenen Programmpaket umfaßter Programmcode ohne Administratorrechte anhand der Steuerungsdatei installierbar ist. Die Steuerungsparameterdatei kann mittels eines privaten Schlüssels einer vertrauenswürdigen Instanz digital signiert sein und die digitale Signatur vor einer Installation und/oder Konfigurierung von der Steuerungsparameterdatei zugeordnetem Programmcode überprüft werden. Auf diese Weise kann eine Ausbreitung von Schadprogrammen, wie Vi- ren, Würmern oder Trojanern, behindert werden.

Entsprechend einer vorteilhaften Weiterbildung der vorliegenden Erfindung wird durch die Zustandsinformation eine Software- und/oder Hardware-Konfiguration des Rechners bezeich- net. Auf diese Weise kann die Liste mit auf dem Rechner installierbarem Programmcode anhand der Zustandsinformation ermittelt werden.

Durch den vom abgerufenen Programmpaket umfaßten Programmcode kann auch bereits installierter und/oder konfigurierter Programmcode aktualisiert werden. Damit ist die Anwendung der vorliegenden Erfindung nicht auf Erstinstallationen beschränkt .

Zur Zuordnung des Rechners zum Programmcodeverteilungssystem kann der Rechner einen Server des Programmcodeverteilungssys- tems anhand eines Verzeichnisdienstes ermitteln. Alternativ oder zusätzlich kann der Rechner dem Programmcodeverteilungs- System durch Installation eines Software-Agenten auf dem

Rechner zugeordnet werden. Auf diese Weise läßt sich eine Zuordnung zwischen Rechner und Programmcodeverteilungssystem effizient realisieren.

Vorteilhafterweise umfaßt das Programmcodeverteilungssystem zumindest einen Server, der die Konfigurationsdatenbank verwaltet. Damit ergibt sich ein einfacher Systemaufbau.

Das erfindungsgemäße Verfahren wird vorzugsweise durch ein Steuerungsprogramm implementiert, das in einen Arbeitspeicher eines Rechners ladbar ist und zumindest einen Codeabschnitt aufweist, bei dessen Ausführung zunächst eine Zuordnung des Rechners zu einem Programmcodeverteilungssystem veranlaßt wird. Außerdem baut der Rechner bei erfolgreicher Zuordnung eine Verbindung zum Programmcodeverteilungssystem auf, und bei erfolgreichem Verbindungsaufbau ruft der Rechner eine Liste mit auf dem Rechner installierbarem Programmcode ab. Auf eine Benutzerauswahl wird ein von der Liste umfaßtes Programmpaket mit einer Steuerungsparameterdatei zur Installati- on und Konfiguration von Programmcode durch den Rechner vom Programmcodeverteilungssystem abgerufen, und vom abgerufenen Programmpaket umfaßter Programmcode wird anhand der Steuerungsparameterdatei installiert und konfiguriert. Abschließend wird eine Aktualisierung einer in einer Konfigurations- datenbank des Programmcodeverteilungssystems gespeicherten, dem Rechner zugeordneten Zustandsinformation veranlaßt, wenn das Steuerungsprogramm auf dem Rechner abläuft.

Die vorliegende Erfindung wird nachfolgend anhand der Zeichnung näher erläutert. Es zeigt die

Figur ein Anwendungsumfeld für eine erfindungsgemäße Be- reitstellung von Computerprogrammcode.

Das in der Figur dargestellte Anwendungsumfeld umfaßt einen Client-Rechner 10, für den Computerprogrammcode bereitgestellt werden soll, und ein Programmcodeverteilungssystem 20 zur Bereitstellung von Computerprogrammcode. Das Programmcodeverteilungssystem 20 basiert auf einem üblichen Software Management System und weist einen Web-Server 21 als Schnittstelle zu verwalteten Client-Rechnern und einen Datenbank- Server 22 mit einer zugeordneten Datenbank 23 auf, in der u.a. Konfigurations- und Lizenzdaten für die verwalteten

Client-Rechner gespeichert sind. Der Client-Rechner 10 und das Programmcodeverteilungssystem 20 sind über ein nicht näher dargestelltes Datennetz, beispielsweise das Internet oder ein Firmen-Intranet, miteinander verbunden. Das Datennetz dient zur übertragung von Installationspaketen und Konfigurationsdaten .

Im Programmcodeverteilungssystem 20 nimmt ein Administrator computerunterstützt Systembetrieb, -pflege und -konfiguration wahr. Einem Benutzer am Client-Rechner 10 werden benötigte

Anwendungen automatisch installiert und konfiguriert. Die Anwendungen werden Softwareherstellern geliefert, die hierfür geeignete Installationsprogramme bereitstellen. Die Installationsprogramme werden durch einen Paketierer oder den Admi- nistrator in Pakete verpackt, die eine oder mehrere Anwendungen umfassen können. Art der Installation und Konfiguration werden durch einen Produktverantwortlichen des Programmcode- verteilungssystems 20 oder den Administrator festgelegt.

Für eine Behebung von Störungen oder Problemen des Benutzers des Client-Rechners 10 ist ein Support vorgesehen, der vom Administrator Informationen über die Konfiguration des Client-Rechners 10 erhält und aufbereitete Störungsmeldungen nach einer Ursacheneingrenzung zur Lösung an den Administrator weiterleitet.

Zur Bereitstellung von Computerprogrammcode wird zunächst der Client-Rechner 10 zum Programmcodeverteilungssystem 20 zuge- ordnet. Hierzu wird anhand eines Verzeichnisdienstes ein Server des Programmcodeverteilungssystems ermittelt, der einen Programmcodeverteilungsdienst verfügbar macht (Schritt 1). Im vorliegenden Anwendungsbeispiel wird der Programmcodeverteilungsdienst vom Web-Server 21 des Programmcodeverteilungssys- tems 20 verfügbar gemacht. Nach Installation eines vom Web- Server 21 bereitgestellten Software-Agenten auf dem Client- Rechner (Schritt 2), wird die Zuordnung des Client-Rechners 10 zum Programmcodeverteilungssystem 20 abgeschlossen (Schritt 3) . Als Software-Agent wird üblicherweise ein Compu- terprogramm bezeichnet, das autonom in Koordination mit anderen Automatisierungskomponenten definierte Aufgaben wahrnimmt und ggf. adaptiv an andere Software-Agenten oder Automatisierungskomponenten delegiert oder von diesen übernimmt.

Nach erfolgreicher Zuordnung kann der Client-Rechner 10 eine Verbindung zum Programmcodeverteilungssystem 20 aufbauen. Der Web-Server 21 ermittelt nach aufgebauter Verbindung eine die eine Software- und Hardware-Konfiguration des Client-Rechners 10 bezeichnende Zustandsinformation (Schritt 4) . Die ermit- telte Zustandsinformation wird in einer vom Datenbank-Server 22 verwalteten Konfigurationsdatenbank gespeichert.

Anhand der Zustandsinformation ermittelt das Programmcodever- teilungssystem 20 außerdem eine Liste mit auf dem Rechner installierbarem Programmcode und erstellt dementsprechend ein Installationspaket (Schritt 5) . Dieses Installationspaket wird jedoch nicht im wesentlichen unmittelbar nach Erstellung durch das Programmcodeverwaltungssystems 20 entsprechend einem Push-Verfahren an den Client-Rechner 10 übermittelt. Statt dessen wird das erstellte Installationspaket lediglich abrufbar für den Client-Rechner 10 bereitgestellt.

Der Web-Server 21 stellt für den Client-Rechner 10 eine Liste mit für den Client-Rechner 10 verfügbaren Installationspaketen bereit. Auf eine Benutzerauswahl wird zumindest ein von der Liste umfaßtes Installationspaket durch den Client- Rechner 10 vom Programmcodeverteilungssystem 20 abgerufen

(Schritt 6) . Das Installationspaket umfaßt eine Steuerungsparameterdatei zur Installation und Konfiguration von Programmcode. Anhand der Steuerungsparameterdatei wird dann vom abgerufenen Installationspaket umfaßter Programmcode installiert und konfiguriert. Durch das abgerufene Installationspaket kann auch bereits installierter bzw. konfigurierter Programmcode aktualisiert werden. Abschließend wird die in der Konfigurationsdatenbank gespeicherte, dem Client-Rechner 10 zugeordnete Zustandsinformation aktualisiert (Schritt 7).

Vorteilhafterweise ist der Client-Rechner 10 durch einen Administrator derart konfiguriert, daß vom abgerufenen Installationspaket umfaßter Programmcode ohne Administratorrechte anhand der Steuerungsdatei installierbar ist. Um eine Instal- lation nicht freigegebener Installationspakete zu unterbinden, ist die Steuerungsparameterdatei mittels eines privaten Schlüssels einer vertrauenswürdigen Instanz digital signiert.

Vor einer Installation oder Konfigurierung von der Steuerungsparameterdatei zugeordnetem Programmcode wird die digitale Signatur überprüft. Bei negativem überprüfungsergebnis wird eine Installation des vom Installationspaket umfaßten Programmcodes verhindert.

Eine restriktive Vergabe von Berechtigungen an Anwender trägt dazu bei, die Vielfalt verwendeter Software zu minimieren, wodurch wiederum der Konfigurationsaufwand minimiert wird. wie eben gerade möglich. Vorteilhafterweise sollten Anwendern so wenig Rechte wie nötig eingeräumt werden, selber Programme auf ihren Computern zu installieren. Dies kann durch den oben beschriebenen Ansatz erreicht werden.

Das beschriebene Verfahren wird bevorzugt durch ein Steuerungsprogramm implementiert, das in einen Arbeitsspeicher eines Rechners ladbar ist und zumindest einen Codeabschnitt aufweist, bei dessen Ausführung die oben genannten Schritte ausgeführt bzw. veranlaßt werden, wenn das Steuerungsprogramm auf dem Rechner abläuft.

Bevor auf dem Client-Rechner 10 Anwendungen installiert werden, wird zunächst ein Betriebssystem auf dem Client-Rechner 10 installiert. Dies kann entweder mittels CD oder DVD in- stalliert werden oder mittels Netzwerkinstallation. Bei einer Netzwerkinstallation lädt das BIOS des Client-Rechners 10 über das Datennetz für die Betriebssysteminstallation benötigte Programme und veranlaßt deren Ausführung.

Auf dem Client-Rechner 10 zu installierende Anwendungen sind in Installationspakete verpackt. Dateien der Anwendungen werden in einer Archivdatei komprimiert zusammengestellt, die zusätzlich zur Installation der Anwendungen erforderliche Programme umfaßt.

Für Microsoft Windows basierte Anwendungen kann dabei die MSI-Technologie verwendet werden, bei der das Setupprogramm bereits im Betriebssystem integriert ist. Ein Installationspaket umfaßt vorteilhafterweise nur die notwendigen Dateien der Anwendungen und eine Steuerungsdatei, die dem Betriebssystem mitteilt, welche Aktionen zur Installation durchzuführen sind.

Oft sind Anwender mit einer Konfiguration einer Anwendung überfordert, wodurch zusätzliche Sicherheitsrisiken entstehen können, beispielsweise infolge einer unbeabsichtigten Deaktivierung eines Virenscanners. Fehlerhafte Anwendungskonfigurationen sind sogar die häufigste Ursache für Störungen bei einer Nutzung von Anwendungen.

Daher sollten Anwendungen, nachdem sie durch eine Softwareverteilung installiert wurden, sobald wie möglich konfiguriert werden. Dabei werden Parameter einer Anwendung festgelegt, beispielsweise Verweise auf andere Computer, Pfade oder Lizenzschlüssel. Bei den Parametern kann es sich einerseits um generelle Parameter handeln, die für alle Anwender einer Applikation festgelegt werden, oder um Parameter, die für jeden Anwender der Applikation separat konfiguriert werden.

Daß der Client-Rechner 10 nach Installation und Konfiguration dem Programmcodeverteilungssystem eine Meldung über Erfolg oder Mißerfolg durchgeführter Aktionen übermittelt, ermöglicht eine aktive Störungsbeseitigung. Außerdem sind derartige Meldungen für einen Soll-/Ist-Abgleich äußerst wertvoll, so daß auch lizenzrechtlichen Aspekten bei einer erfolgreichen oder fehlgeschlagenen Installation Rechnung getragen werden kann.

Für ein effizientes Konfigurationsmanagement sollten Anwender bzw. Computer entsprechend Anforderungsprofilen zu Gruppen zusammengefaßt werden. Auf diese Weise kann per Software Management zu verteilende Software einheitlich für alle Mit- glieder einer Gruppe installiert und konfiguriert werden, was den Installations- und Konfigurationsaufwand im Vergleich zu individuellen Lösungen erheblich reduziert.

Die Anwendung der vorliegenden Erfindung ist nicht auf das hier beschriebene Ausführungsbeispiel beschränkt.