DE19845610A1 - Installation, licensing, configuration management and maintenance system for component-based multi-user software systems - Google Patents

Installation, licensing, configuration management and maintenance system for component-based multi-user software systems

Info

Publication number
DE19845610A1
DE19845610A1 DE19845610A DE19845610A DE19845610A1 DE 19845610 A1 DE19845610 A1 DE 19845610A1 DE 19845610 A DE19845610 A DE 19845610A DE 19845610 A DE19845610 A DE 19845610A DE 19845610 A1 DE19845610 A1 DE 19845610A1
Authority
DE
Germany
Prior art keywords
software
computer
customer
installation
data
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.)
Withdrawn
Application number
DE19845610A
Other languages
German (de)
Inventor
Silvia Maczey
Christian Zeidler
Peter Brunner
Joerg Reuter
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.)
ABB Research Ltd Switzerland
ABB Research Ltd Sweden
Original Assignee
ABB Research Ltd Switzerland
ABB Research Ltd Sweden
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 ABB Research Ltd Switzerland, ABB Research Ltd Sweden filed Critical ABB Research Ltd Switzerland
Priority to DE19845610A priority Critical patent/DE19845610A1/en
Publication of DE19845610A1 publication Critical patent/DE19845610A1/en
Withdrawn 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/128Restricting unauthorised execution of programs involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java

Abstract

A supplier has a computer (2) with data storage (6,7) including the required data, software modules (8,9,10,11) with the required functions. A customer has a computer (1) which includes corresponding data storage (4) and a software module (5), and communicates with the supplier's computer. After a customer has confirmed his selection, the requested software components are installed via a communication network,

Description

Die Erfindung bezieht sich auf ein System zur Installation, Lizenz- und Konfigurati­ onsverwaltung und Wartung von komponentenbasierten Softwaresystemen mehrerer Nutzer (Kunden), die jeweils mittels eines Kundenrechners, der an ein Kommunikati­ onsnetz angeschlossen ist, mit einem ebenfalls an das Kommunikationsnetz ange­ schlossenen Lieferantenrechner eines Softwarelieferanten verbunden sind.The invention relates to a system for installation, license and configuration ons management and maintenance of component-based software systems of several Users (customers), each using a customer computer connected to a communicati onsnetz is connected, with a likewise connected to the communication network closed supplier computers of a software supplier are connected.

Software ist zum integralen Bestandteil moderner Arbeitsplätze und Grundvoraus­ setzung für eine effektive Zusammenarbeit in einem internationalen Unternehmen geworden. Gleichzeitig unterliegt Software in Form von Betriebssystemen, Anwen­ dungsapplikationen, Entwicklungswerkzeugen, Gerätetreibern oder Bibliotheken, in Folge kurz als Software(SW)-Komponenten zusammengefaßt, einer permanenten Weiterentwicklung.Software is an integral part of modern workplaces and a basic requirement setting for effective cooperation in an international company become. At the same time, software in the form of operating systems is subject to users applications, development tools, device drivers or libraries, in Briefly summarized as software (SW) components, a permanent one Further development.

Dies hat zur Folge, daß jeder Arbeitsplatz bei entsprechenden neuen Versionen oder Modifikation der existierenden Softwareinstallation aktualisiert werden muß. Dies geschieht in der Regel mit Hilfe entsprechender Installationsdisketten oder CDs und wird vom Fachpersonal durchgeführt. Innerhalb großer Unternehmen führt das zu zusätzlichen Infrastrukturkosten. Deshalb werden solche Arbeiten meist manuell durchgeführt oder mit Einsatz spezieller Managementwerkzeuge zentralisiert für wenige SW-Installationen durchgeführt. Ein solches Vorgehen ist jedoch für kleinere SW-Installationen, insbesondere auf Rechnern von unterschiedlichen Unternehmen ungeeignet und kostenintensiv.This has the consequence that each work station with corresponding new versions or modification of the existing software installation must be updated. This is usually done with the help of appropriate installation disks or CDs and is carried out by specialist staff. This leads within large companies at additional infrastructure costs. That is why such work is usually done manually carried out or centralized for using special management tools few software installations carried out. However, such an approach is for smaller ones  SW installations, especially on computers from different companies unsuitable and expensive.

Zusätzliche und immer häufiger auftretende Probleme der Software-Inkompatibilität aufgrund von unverträglichen oder aufeinander aufbauenden Komponenten werden dabei nicht in Betracht gezogen. Die Auflösung bzw. Vermeidung solcher Fehlinstal­ lationen wird dem Fachpersonal, in der Regel Systemadministratoren, übertragen. Auf Grund der nicht überschaubaren Menge von Softwarekomponenten und ihrer Abhängigkeit sind die Systemadministratoren nur begrenzt in der Lage dieser Auf­ gabe gerecht zu werden.Additional and increasing problems of software incompatibility due to incompatible or mutually based components not taken into account. The dissolution or avoidance of such missteps lations is transferred to the specialist staff, usually system administrators. Due to the unmanageable amount of software components and their System administrators have only limited dependency on this situation gift to do justice.

Die Verteilung von neuen Versionen kommerzieller Software wird heute noch größ­ tenteils durch Versenden von CDs realisiert. Die Softwareversionen sind oft abhän­ gig von anderen Drittanbieterprodukten und von bestimmten Rechnerkonfiguratio­ nen, so daß Systemadministratoren dafür sorgen müssen, daß alle Voraussetzun­ gen für eine erfolgreiche Installation der erworbenen Software erfüllt sind. Die Kom­ plexität der Abhängigkeiten verschiedener Softwareprogramme untereinander nimmt noch dadurch zu, daß größere Softwaresysteme in kleinere Komponenten zerlegt werden, die einzeln installierbar sind, jedoch nicht beliebig miteinander kombiniert werden können.The distribution of new versions of commercial software is still growing today partly realized by sending CDs. The software versions are often dependent gig from other third-party products and certain computer configurations system administrators must ensure that all requirements are met conditions for a successful installation of the purchased software. The Com complexity of the dependencies between different software programs even more so that larger software systems are broken down into smaller components that can be installed individually, but not combined with each other in any way can be.

Die Ressourcen der einzelnen Softwareversionen sind in einem Konfigurationsma­ nagementsystem abgelegt. Ist eine Softwareversion erstellt und soweit getestet, daß sie den gestellten Qualitätsanforderungen entspricht, dann kann sie an die Kunden verteilt werden. Dazu werden alle zu dieser Version gehörenden Dateien aus dem Konfigurationsmanagementsystem herausgelesen und mit Hilfe von Werkzeugen wie z. B. Installshield Express zu installierbaren Paketen geschnürt. Abhängigkeiten zu anderen Softwarekomponenten werden in Release Notes dokumentiert. Diese Installationspakete werden dann zusammen mit den Release Notes auf CDs gepreßt und an die Kunden verteilt. Die Kunden müssen nun anhand der Release Notes und mit Hilfe der Serviceteams der Softwarelieferanten die geeignete Konfiguration ermit­ teln. The resources of the individual software versions are in one configuration management system. Is a software version created and tested so far that it meets the quality requirements, then it can be sent to the customer be distributed. For this purpose, all files belonging to this version from the Configuration management system read out and using tools such as B. Installshield Express bundled into installable packages. Dependencies other software components are documented in release notes. This Installation packages are then pressed together with the release notes on CDs and distributed to customers. Customers must now use the release notes and with the help of the service teams of the software suppliers determine the appropriate configuration teln.  

Die Installation von Software über das Internet wird auch heute bereits von einigen Firmen eingesetzt. Dabei werden jedoch keine Lizenz- oder Konfigurationsprüfungen durchgeführt. Deshalb wird diese Methode heute hauptsächlich bei Freeware oder Sharewareprodukten angewandt.The installation of software over the Internet is already used by some today Companies. However, there are no license or configuration checks carried out. Therefore, this method is mainly used for freeware or Shareware products applied.

Die Komplexität der Abhängigkeiten von Softwarekomponenten/versionen erschwert die richtige Auswahl der zu installierenden Komponenten. Eine in sich konsistente Kombination von Komponentenversionen zu finden, kann selbst bei Kenntnis aller Abhängigkeiten ein aufwendiger Prozeß werden. Hat man alle nötigen Komponenten bestimmt, sind die entsprechenden CDs zu erwerben, was u. U. zeitaufwendig sein kann.The complexity of the dependencies on software components / versions complicates the correct selection of the components to be installed. A consistent one Finding a combination of component versions can be done even with knowledge of all Dependencies can be a complex process. You have all the necessary components determined, the corresponding CDs are to be purchased, which u. U. time consuming can.

Die Idee, das Internet für solche Installation zu verwenden, ist nicht neu, und so existieren einige Produkte auf dem Markt, die Teilfunktionalitäten zur Verfügung stellen. Eine Marktanalyse hat ergeben, daß die verfügbaren Werkzeuge im We­ sentlichen in zwei Kategorien einzuteilen sind. Einige unterstützen die "Push"-Methode, d. h. die Softwareversionen werden auf den Kundenrechner ge­ spielt, sobald sie verfügbar sind. Im Gegensatz dazu geht bei der "Pull"-Methode die Initiative vom Kunden aus, der sich eine neue Version einer Komponente auf seinen Rechner "zieht".The idea of using the Internet for such an installation is not new, and such there are some products on the market that have partial functionalities available put. A market analysis has shown that the tools available in We are divided into two categories. Some support it "Push" method, i. H. the software versions are ge on the customer computer plays as soon as they are available. In contrast, the "pull" method is Initiative from the customer looking for a new version of a component on his Computer "pulls".

Alle existierenden Produkte, die Internet als Verteilungsmedium benutzen (siehe nachstehende Referenzliste), bieten jedoch keine oder nur begrenzte Möglichkeiten an, die Abhängigkeiten der Softwarekomponenten zu definieren.All existing products that use the Internet as a distribution medium (see reference list below), however, offer no or only limited possibilities to define the dependencies of the software components.

Referenzliste (Web-Pages)Reference list (web pages)

  • 1. netDeploy (http://www.osa.com/products/netdploy),1. netDeploy (http://www.osa.com/products/netdploy),
  • 2. NobleNet (http://www.noblenet.com/web.htm),2. NobleNet (http://www.noblenet.com/web.htm),
  • 3. BackWeb (http://www.backweb.com/),3. BackWeb (http://www.backweb.com/),
  • 4. Castanet (http://www.marimba.com/three/),4. Castanet (http://www.marimba.com/three/),
  • 5. Tivoli TME Software Distribution (http://www.tivoli.com/o_products/html/swdist_ds­ html),5. Tivoli TME Software Distribution (http://www.tivoli.com/o_products/html/swdist_ds html),
  • 6. WinInstall (http://www.seagatesoftware.com/wininstall/) und6. WinInstall (http://www.seagatesoftware.com/wininstall/) and
  • 7. InstallFromTheWeb (http://www.installshield.com/iftw/default.asp)7. InstallFromTheWeb (http://www.installshield.com/iftw/default.asp)

Eine andere Klasse von Hilfsprogrammen, die eine Konfigurationsdefinition von komplexen Anwendungsstrukturen unterstützen, bietet jedoch keine Installationsun­ terstützung für Softwareinstallationen. Zudem konzentrieren sich diese Hilfspro­ gramme auf die Konfiguration von konstruktiv erzeugten Elementen z. B. Elektromo­ tor, Hauskonstruktion, Fabrikkongifuration. Die besonderen Anforderungen, die eine Softwareinstallation voraussetzt, können diese Werkzeuge nicht leisten.Another class of utilities that have a configuration definition of support complex application structures, but does not offer any installation support for software installations. In addition, these aid programs are concentrated gram on the configuration of constructively generated elements such. B. Elektromo gate, house construction, factory configuration. The special requirements that a Assuming software installation, these tools cannot perform.

Der Erfindung liegt die Aufgabe zugrunde, eine Plättform für die Verteilung und In­ stallation von komponentenbasierter Software bei gleichzeitiger rechnergestützter Konfigurationsverwaltung der durchgeführten Installationen sowie der Überprüfung ihrer Konsistenz zu schaffen. Unter Konsistenz ist hierbei der wechselwirkungsfreie und fehlerfreie Betrieb der unterschiedlichen Softwarekomponenten zu verstehen.The invention has for its object a platform for the distribution and In Installation of component-based software with simultaneous computer-aided Configuration management of the installations carried out and the verification to create their consistency. The consistency here is the interaction-free one and understand the error-free operation of the different software components.

Diese Aufgabe wird gelöst durch ein System zur Installation, Lizenz- und Konfigura­ tionsverwaltung und Wartung von komponentenbasierten Softwaresystemen mehre­ rer Nutzer (Kunden), die jeweils mittels eines Kundenrechners, der an ein Kommu­ nikationsnetz angeschlossen ist, mit einem ebenfalls an das Kommunikationsnetz angeschlossenen Lieferantenrechner eines Softwarelieferanten verbunden sind, wobei das System die im Anspruch 1 angegebenen Merkmale aufweist. Vorteilhafte Ausgestaltungen sind in weiteren Ansprüchen angegeben.This task is solved by a system for installation, license and configuration management and maintenance of component-based software systems more rer users (customers), each by means of a customer computer connected to a commu is connected to the communication network connected supplier computers of a software supplier are connected, wherein the system has the features specified in claim 1. Beneficial Refinements are specified in further claims.

Das erfindungsgemäße Konzept vereinigt beide vorbeschriebenen Hilfsprogramm­ klassen (Installation über das Internet und Lizenz- und Konfigurationsverwal­ tung/Konfigurationskonsistenzüberprüfung) und realisiert einen Ansatz der erweite­ rungsfähig und kosteneffizient für die Installation von feingranularen Softwarekom­ ponenten einsetzbar ist.The concept according to the invention combines the two auxiliary programs described above classes (installation via the Internet and license and configuration manager device / configuration consistency check) and realizes an extended approach capable and cost-effective for the installation of fine-grained software components can be used.

Das System ermöglicht eine automatisierte Installation von SW-Komponenten auf­ grund von Kundenanforderungen. Es ermöglicht insbesondere, die Komponenten eines Softwaresystems über das Internet zu installieren, und dabei die Komponen­ tenauswahl des Kunden auf Konsistenz und Lizenzen zu überprüfen. Dabei wird auch der aktuelle Zustand des Zielrechners mit einbezogen. Der Kunde bekommt eine Rückmeldung darüber, ob seine Auswahl inkonsistent ist, ob noch weitere In­ stallationen oder ggf. auch Deinstallationen erforderlich sind, damit die gewünsch­ ten Komponenten installiert werden können. Sind alle Abhängigkeitskriterien erfüllt, dann können die gewünschten Komponenten über das Internet installiert werden. Es werden dabei sowohl die Abhängigkeiten der Komponenten eines Systems unter­ einander als auch die Abhängigkeiten zu Drittanbieterkomponenten berücksichtigt. Die Installationspakete der Komponenten können entweder dynamisch aus dem Konfigurationsmanagement erzeugt werden, wenn sie benötigt werden, oder bei Freigabe einer Version einer Komponente erstellt werden.The system enables automated installation of software components due to customer requirements. In particular, it enables the components installing a software system over the Internet, and the components Check customer selection for consistency and licenses. Doing so the current state of the target computer is also included. The customer gets feedback on whether his selection is inconsistent, whether there are any other In  installations or possibly uninstallations are required so that the desired components can be installed. If all dependency criteria are met, the desired components can then be installed over the Internet. It are both the dependencies of the components of a system each other and the dependencies on third-party components. The installation packages of the components can either be dynamic from the Configuration management can be generated when needed or at Release of a version of a component can be created.

Es gibt im Wesentlichen zwei Szenarien für den Einsatz: der hier beschriebenen Er­ findung: Zum einen kann ein Kunde sich damit eine käuflich erworbene Konfigurati­ on eines Softwaresystems installieren oder aktualisieren, zum anderen sind damit aber auch schnelle Testinstallationen während einer Evaluierungsphase durch po­ tentielle Kunden möglich.There are essentially two scenarios for use: the Er described here finding: On the one hand, a customer can use it to purchase a configuration that has been purchased install or update on a software system, on the other hand with it but also quick test installations during an evaluation phase by po potential customers possible.

Die System-Software läßt sich grob in zwei Teile untergliedern. Es gibt einen Client­ teil, der auf dem Kundenrechner läuft, auf dem die Softwarekomponenten installiert werden sollen. Dieser Teil kommuniziert mit dem Benutzer, ermittelt die aktuelle Konfiguration des Rechners und nimmt die eigentlichen Installationen vor. Darüber hinaus gibt es einen Serverteil, der auf das Wissen der Anwendung über Komponen­ tenversionen, deren Abhängigkeiten untereinander, über die Kunden und ihre Lizen­ zen, über die Installationspakete der Komponenten und über Konfigurationen der Kundenrechner zugreifen kann. Dieser Serverteil beantwortet Anfragen des Clients und aktualisiert sein Wissen, wenn sich eine Konfiguration eines Kundenrechners geändert hat.The system software can be roughly divided into two parts. There is a client part that runs on the customer computer on which the software components are installed should be. This part communicates with the user, determines the current one Configuration of the computer and does the actual installation. About that There is also a server part that relies on the knowledge of the application about components versions, their interdependencies, about customers and their licensees zen, about the installation packages of the components and about configurations of the Customer computer can access. This server part answers requests from the client and updates his knowledge when there is a configuration of a customer computer has changed.

Eine weitere Beschreibung der Erfindung erfolgt anhand eines in Zeichnungsfiguren dargestellten Ausführungsbeispiels.A further description of the invention is given with reference to a figure in the drawing illustrated embodiment.

Fig. 1 zeigt schematisiert das Gesamtsystem, Fig. 1 shows schematically the overall system,

Fig. 2 die Architektur einer Realisierungsform unter Einsatz bekannter Software­ werkzeuge. Fig. 2, the architecture of an implementation form using known software tools.

Fig. 1 zeigt das Gesamtsystem mit einem Kundenrechner 1, der mehrfach im System vorhanden ist, und einem Lieferantenrechner 2, die über ein Kommunikationsnetz 3 verbunden sind, das beispielsweise das Internet oder ein Intranet sein kann. Fig. 1 shows the overall system with a client computer 1 which is several times in the system, and a supplier computer 2, which are connected via a communication network 3, which may be for example the Internet or an intranet.

Der Lieferantenrechner 2 enthält
The supplier computer 2 contains

  • - einen ersten Datenspeicher 6 mit auf den jeweiligen Nutzer bezogenen Nutzer- Identifikationsdaten, Lizenzdaten und aktuellen Saftware-Konfigurationsdaten,a first data memory 6 with user identification data, license data and current juice product configuration data related to the respective user,
  • - einen zweiten Datenspeicher 7 mit zur Installation zur Verfügung stehenden Softwarekomponenten,a second data memory 7 with software components available for installation,
  • - ein erstes Software-Modul 8 mit Funktionen zur Authentifizierung des jeweili­ gen Nutzers,a first software module 8 with functions for authenticating the respective user,
  • - ein zweites Software-Modul 9 mit Funktionen zur Lizenzverwaltung,a second software module 9 with functions for license management,
  • - ein drittes Software-Modul 10 mit Funktionen zur Konfigurationsverwaltung, und- A third software module 10 with functions for configuration management, and
  • - ein viertes Software-Modul 11 mit Funktionen zur Durchführung der Installation von Softwarekomponenten.- A fourth software module 11 with functions for performing the installation of software components.

Der Kundenrechner 1 enthält
The customer computer 1 contains

  • - einen dritten Datenspeicher 4 mit einem, nach Durchführung einer Erstinstalla­ tion installierten Softwaresystem, unda third data memory 4 with a software system installed after performing an initial installation, and
  • - ein fünftes Software-Modul 5 mit Funktionen zur Kommunikation mit dem Liefe­ rantenrechner 2, insbesondere zur Übertragung von Daten zur Authentifizie­ rung und zur Übertragung von Information über die aktuelle Konfiguration der installierten Softwarekomponenten.- A fifth software module 5 with functions for communication with the supplier computer 2 , in particular for the transmission of data for authentication and for the transmission of information about the current configuration of the installed software components.

Eine typische Arbeitsweise des in Fig. 1 gezeigten Systems wird nachstehend bei­ spielhaft für einen Fall beschrieben, in dem eine neue SW-Komponente über das Kommunikationsnetz installiert wird. Die einzelnen Schritte des Installationsvorgangs sind:
A typical operation of the system shown in Fig. 1 is described below by way of example for a case in which a new software component is installed over the communication network. The individual steps of the installation process are:

  • 1. Authentifizierung des Kunden durch Benutzerkennung und Paßwort1. Authentication of the customer by user ID and password
  • 2. Aufbereitung der Übersicht über die vom Kunden lizensierten Komponenten der Anwendung.2. Preparation of the overview of the components of the Application.
  • 3. Abgleich der Lizenzrechte mit den beim Kunden bereits installierten Komponen­ ten, die im spezifischen Kundenprofil sowohl beim Kunden lokal wie auch auf der Serverseite (Lieferantenrechner) gespeichert sind.3. Comparison of the license rights with the components already installed at the customer ten in the specific customer profile, both locally and at the customer Server side (supplier computer) are saved.
  • 4. Anzeige der möglichen Installationen.4. Display of possible installations.
  • 5. Auswahl der Komponenten vom Kunden, die installiert werden sollen. Bereits installierte Komponenten werden zur erneuten Installation nicht angeboten.5. Selection of components by the customer to be installed. Already installed components are not offered for reinstallation.
  • 6. Das Konfigurationsmodul überprüft, ob die ausgewählten Komponenten in den jeweiligen Versionen zusammen installiert werden können und meldet eventuelle Konflikte mit bereits installierten Komponenten oder innerhalb der getätigten Auswahl. Komponenten, die notwendig sind für gewählte Komponenten (Abhängigkeitsbeziehung) aber nicht vom Benutzer ausgewählt wurden, werden automatisch hinzu genommen. Dies betrifft auch die Aktualisierung von bereits installierten Komponenten.6. The configuration module checks whether the selected components in the respective versions can be installed together and reports any Conflicts with components already installed or within the ones already made Selection. Components that are necessary for selected components (Dependency relationship) but not selected by the user automatically added. This also applies to the update of already installed components.
  • 7. Es wird eine Auflistung der ausgewählten und notwendigen Komponenten in der Reihenfolge, wie diese installiert werden müssen, generiert.7. There will be a listing of the selected and necessary components in the Order of how these must be installed is generated.
  • 8. Der Benutzer initiiert anschließend den Installationsvorgang für jede Komponen­ te, damit eventuelle Konfigurationsoptionen der einzelnen Komponenten vom Benutzer wahrgenommen werden können.8. The user then initiates the installation process for each component te, so that possible configuration options of the individual components from Users can be noticed.

Fig. 2 zeigt eine bevorzugte Realisierung des in Fig. 1 dargestellten Systems. FIG. 2 shows a preferred implementation of the system shown in FIG. 1.

SystemarchitekturSystem architecture

Die Benutzerschnittstelle, über die der Kunde mit dem System kommuniziert, sollte den Benutzern mit möglichst geringem Installationsaufwand zur Verfügung gestellt werden und wird deshalb mit Hilfe eines Applets realisiert. Die Installation eines der de facto standard Java-fähigen Web-Browsern (Netscape bzw. Internet Explorer) wird vorausgesetzt. Dieses Applet übermittelt Daten wie z. B. die Kennung und das Paßwort eines Kunden an den Server. Auf diesem Web Server laufen Servlets, die die Benutzerauthentifikation überprüfen, indem sie auf Benutzerverwaltungsdaten zugreifen, die in Datenbanken gespeichert werden. Der Zugriff auf die Datenbanken erfolgt über die JDBC-ODBC Schnittstelle (JDBC: Java Database Connectivity; ODBC: Open Database Connectivitiy). Die Servlets geben entweder Daten an das Applet zurück, wie z. B. Informationen über die Lizenzen des Kunden, oder sie er­ zeugen eine Webseite, die das Installieren von Softwarekomponenten ermöglicht. Die Informationen über die Abhängigkeiten von Komponentenversionen sind eben­ falls in der Datenbank abgelegt.The user interface through which the customer communicates with the system should made available to users with as little installation effort as possible are and will therefore be implemented with the help of an applet. Installation of one of the de facto standard Java-capable web browsers (Netscape or Internet Explorer) is being expected. This applet transmits data such as B. the identifier and that A customer's password to the server. Servlets run on this web server  verify user authentication by pointing to user management information access that are stored in databases. Access to the databases takes place via the JDBC-ODBC interface (JDBC: Java Database Connectivity; ODBC: Open Database Connectivity). The servlets either give data to the Applet back, such as B. Information about the customer's licenses, or them create a website that enables the installation of software components. The information about the dependencies of component versions is flat if stored in the database.

Fig. 2 zeigt das in eine Html-Seite eingebettete Applet, das das Rechnerprofil des Kundenrechners liest. Auf der Serverseite sieht man Servlets. Das Authentification Servlet ist verantwortlich für die Überprüfung der Kundenidentität und des Paßworts. Das License Configurator Servlet ist verantwortlich für die Ermittlung der Lizenzen des Kunden. Dazu greifen diese beiden Servlets auf die beiden Tabellen Customer ID Table und License Table zu. Die Lizenzen werden an das Applet zurückgeschickt, welches daraufhin dem Kunden bestimmte Komponenten zur Installation anbietet. Ein weiteres Servlet, das Configuration Servlet überprüft die Auswahl des Kunden auf Konsistenz, indem es auf die Tabellen Dependency Table und Exclusion Table zugreift. Ein entsprechendes Feedback wird an das Applet geschickt. Hat der Kunde eine konsistente Menge an Komponentenversionen ausgewählt, dann wird vom Servlet Configuration Repository Sendet eine Html-Seite (Html: Hyper Text Markup Language) generiert, die einen Installationsknopf pro Komponente enthält. Die Pfadnamen der Installationspakete entnimmt das Servlet der Tabelle Version Table. Fig. 2 shows the embedded into an HTML page applet that reads the computer profile of the client computer. On the server side you can see servlets. The Authentication Servlet is responsible for verifying customer identity and password. The License Configurator Servlet is responsible for determining the customer's licenses. To do this, these two servlets access the two tables Customer ID Table and License Table. The licenses are sent back to the applet, which then offers the customer certain components for installation. Another servlet, the Configuration Servlet, checks the customer's selection for consistency by accessing the Dependency Table and Exclusion Table. Appropriate feedback is sent to the applet. If the customer has selected a consistent set of component versions, the Servlet Configuration Repository Sends generates an HTML page (HTML: Hyper Text Markup Language) that contains one installation button per component. The servlet takes the path names of the installation packages from the Version Table.

Das Paketieren der KomponentenThe packaging of the components

Um das Installieren einzelner Komponenten über das Internet möglichst einfach handhaben zu können, wird das kommerzielle Produkt InstallFromTheWeb der Fir­ ma Installshield verwendet. Mit Hilfe dieses Produkts werden die Komponenten zu installierbaren Softwarepaketen geschnürt. Ein Plugin von InstallFromTheWeb sorgt innerhalb des Web Browsers des Kunden dafür, daß die Installation der Pakete über das Internet vom Browser aus angestoßen werden kann. Die einzelnen installierba­ ren Softwarepakte können sich auf verschiedenen Webservern befinden, denn zu jeder Komponentenversion ist die URL (Uniform Resource Locator), unter der das entsprechende Paket zu finden ist, in einer Datenbanktabelle abgelegt. To install individual components over the Internet as easily as possible the commercial product InstallFromTheWeb from Fir ma installshield used. With the help of this product, the components become installable software packages put together. A plugin from InstallFromTheWeb provides within the customer’s web browser for ensuring that the packages are installed via the Internet can be started from the browser. The individual installable Software packages can be located on different web servers, because too Each component version is the URL (Uniform Resource Locator) under which the corresponding package can be found, stored in a database table.  

Die Komponentenpakete können vom Entwicklerteam erzeugt werden oder dyna­ misch, sobald sie benötigt werden. Dazu holt sich das System die erforderlichen Ressourcen aus einem Konfigurationsmanagementsystem.The component packages can be created by the development team or dyna mix as soon as they are needed. The system gets the necessary ones for this Resources from a configuration management system.

Vorteile der SystemarchitekturAdvantages of the system architecture

Die Verwendung eines Java Applets hat den Vorteil, daß kein Client des hier be­ schriebenen Systems auf dem Kundenrechner installiert werden muß, vorausge­ setzt, es ist ein Java-fähiger Browser installiert, der JDK 1.1 unterstützt. Der Kunde, der dieses System durch Aufruf der entsprechenden Webseite aufruft, hat automa­ tisch immer die neuste Version des Clients zur Verfügung.The use of a Java applet has the advantage that no client of the be written system must be installed on the customer computer, vorge a Java-capable browser is installed that supports JDK 1.1. The customer, who calls this system by calling up the corresponding website has automa the latest version of the client is always available.

Der Einsatz von Servlets vereinfacht die Zugriffe auf die Datenbank, und ermöglicht den Einsatz der JDBC-ODBC Schnittstelle. Servlets stellen eine ideale Plattform zur Realisierung der Serverkomponente dieses Systems in Java dar. Die Kommunikati­ on zwischen Applets und Servlets läßt sich einfach in Java programmieren.The use of servlets simplifies and enables access to the database the use of the JDBC-ODBC interface. Servlets provide an ideal platform Realization of the server component of this system in Java. The communicati on between applets and servlets is easy to program in Java.

Claims (6)

1. System zur Installation, Lizenz- und Konfigurationsverwaltung und War­ tung von komponentenbasierten Softwaresystemen mehrerer Nutzer (Kunden), die jeweils mittels eines Kundenrechners (1), der an ein Kommunikationsnetz (3) ange­ schlossen ist, mit einem ebenfalls an das Kommunikationsnetz (3) angeschlosse­ nen Lieferantenrechner (2) eines Softwarelieferanten verbunden sind, wobei
  • a) der Lieferantenrechner (2)
    • 1. einen ersten Datenspeicher (6) mit auf den jeweiligen Nutzer bezogenen Nutzer-Identifikationsdaten, Lizenzdaten und aktuellen Software- Konfigurationsdaten,
    • 2. einen zweiten Datenspeicher (7) mit zur Installation zur Verfügung ste­ henden Softwarekomponenten,
    • 3. ein erstes Software-Modul (8) mit Funktionen zur Authentifizierung des jeweiligen Nutzers,
    • 4. ein zweites Software-Modul (9) mit Funktionen zur Lizenzverwaltung,
    • 5. ein drittes Software-Modul (10) mit Funktionen zur Konfigurationsverwal­ tung, und
    • 6. ein viertes Software-Modul (11) mit Funktionen zur Durchführung der In­ stallation von Softwarekomponenten enthält, und
  • b) die Kundenrechner (1) jeweils
    • 1. einen dritten Datenspeicher (4) mit Information über das beim jeweiligen Kunden installierte Softwaresystem, und
    • 2. ein fünftes Software-Modul (5) mit Funktionen zur Kommunikation mit dem Lieferantenrechner (2), insbesondere zur Übertragung von Daten zur Au­ thentifizierung und zur Übertragung von Information über die aktuelle Konfiguration der installierten Softwarekomponenten, enthalten, und
  • c) der Lieferantenrechner (2) mittels der unter a) aufgeführten Daten und Funktionen dafür eingerichtet ist,
    • 1. nach einer erfolgten Identifizierung des jeweiligen Nutzers, die - unter Be­ rücksichtigung der gespeicherten Lizenz- und Konfigurationsinformation - ihm erlaubten Installationen zu ermitteln und zur Auswahl durch den Nut­ zer zu dessen Kundenrechner (1) zu übertragen,
    • 2. nach einer übermittelten Softwarekomponenten-Auswahl eine Kompatibili­ tätsprüfung unter Berücksichtigung der bereits installierten Softwarekom­ ponenten durchzuführen, dabei gegebenenfalls zusätzlich benötigte Soft­ warekomponenten zu ermitteln und zum Kundenrechner (1) zwecks dorti­ ger Anzeige zu übertragen,
    • 3. nach einer vom Nutzer bestätigten oder korrigierten Auswahl die angefor­ derte Installation von Softwarekomponenten über das Kommunikations­ netz (3) im Kundenrechner (1) auszuführen.
1. System for installation, license and configuration management and maintenance of component-based software systems of several users (customers), each using a customer computer ( 1 ) connected to a communication network ( 3 ), with one also to the communication network ( 3 ) Connected supplier computer ( 2 ) of a software supplier, where
  • a) the supplier computer ( 2 )
    • 1. a first data memory ( 6 ) with user identification data, license data and current software configuration data related to the respective user,
    • 2. a second data memory ( 7 ) with software components available for installation,
    • 3. a first software module ( 8 ) with functions for authenticating the respective user,
    • 4. a second software module ( 9 ) with functions for license management,
    • 5. a third software module ( 10 ) with functions for configuration management, and
    • 6. contains a fourth software module ( 11 ) with functions for carrying out the installation of software components, and
  • b) the customer computers ( 1 ) each
    • 1. a third data memory ( 4 ) with information about the software system installed at the respective customer, and
    • 2. contain a fifth software module ( 5 ) with functions for communication with the supplier computer ( 2 ), in particular for the transmission of data for authentication and for the transmission of information about the current configuration of the installed software components, and
  • c) the supplier computer ( 2 ) is set up for this using the data and functions listed under a),
    • 1. after the respective user has been identified, to determine which installations are permitted, taking into account the stored license and configuration information, and to transmit them to the customer's computer ( 1 ) for selection by the user,
    • 2. after a transmitted software component selection, carry out a compatibility check taking into account the already installed software components, thereby determining any additional software components required and transmitting them to the customer computer ( 1 ) for display there,
    • 3. after a selection confirmed or corrected by the user, the required installation of software components via the communication network ( 3 ) in the customer computer ( 1 ).
2. System nach Anspruch 1, dadurch gekennzeichnet, daß das fünfte Soft­ ware-Modul (5) des Kundenrechners (1) dafür eingerichtet ist, nach einer Installati­ on neuer Softwarekomponenten eine Rückmeldung der aktuellen Konfiguration zum Lieferantenrechner (2) durchzuführen.2. System according to claim 1, characterized in that the fifth software module ( 5 ) of the customer computer ( 1 ) is set up to carry out a feedback of the current configuration to the supplier computer ( 2 ) after an installation of new software components. 3. System nach einem der vorstehenden Ansprüche, dadurch gekennzeich­ net, daß im Kundenrechner (1) ein Java-fähiger Web-Browser installiert ist und eine mit Hilfe eines Applets realisierte Benutzerschnittstelle vorhanden ist, wobei das Applet dafür eingerichtet ist, Kennungs-Daten und Paßwort an den Lieferanten­ rechner (2) zu übermitteln, der als Web-Server ausgeführt ist.3. System according to one of the preceding claims, characterized in that a Java-capable web browser is installed in the customer computer ( 1 ) and a user interface implemented with the aid of an applet is present, the applet being set up for identification data and Password to the supplier computer ( 2 ), which is designed as a web server. 4. System nach Anspruch 3, dadurch gekennzeichnet, daß das erste Soft­ ware-Modul (8) des Lieferantenrechners (2) durch ein Servlet gebildet ist, das auf dem Web-Server läuft und dafür eingerichtet ist, die Nutzer-Authentifizierung durchzuführen und dabei auf Nutzerverwaltungsdaten zuzugreifen, die im ersten Datenspeicher (6) gespeichert sind.4. System according to claim 3, characterized in that the first software module ( 8 ) of the supplier computer ( 2 ) is formed by a servlet that runs on the web server and is set up to carry out the user authentication and thereby to access user management data stored in the first data memory ( 6 ). 5. System nach Anspruch 4, dadurch gekennzeichnet, daß auch die weite­ ren Software-Module (9, 10, 11) des Lieferantenrechners (2) durch Servlets gebildet sind, die auf Daten zugreifen, die im ersten Datenspeicher (6) gespeichert sind.5. System according to claim 4, characterized in that the wide ren software modules ( 9 , 10 , 11 ) of the supplier computer ( 2 ) are formed by servlets that access data stored in the first data memory ( 6 ). 6. System nach Anspruch 5, dadurch gekennzeichnet, daß das vierte Soft­ ware-Modul (11) des Lieferantenrechners (2) dafür eingerichtet ist, auf den zweiten Datenspeicher (7) zuzugreifen.6. System according to claim 5, characterized in that the fourth software module ( 11 ) of the supplier computer ( 2 ) is set up to access the second data memory ( 7 ).
DE19845610A 1998-10-05 1998-10-05 Installation, licensing, configuration management and maintenance system for component-based multi-user software systems Withdrawn DE19845610A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19845610A DE19845610A1 (en) 1998-10-05 1998-10-05 Installation, licensing, configuration management and maintenance system for component-based multi-user software systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19845610A DE19845610A1 (en) 1998-10-05 1998-10-05 Installation, licensing, configuration management and maintenance system for component-based multi-user software systems

Publications (1)

Publication Number Publication Date
DE19845610A1 true DE19845610A1 (en) 2000-04-06

Family

ID=7883309

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19845610A Withdrawn DE19845610A1 (en) 1998-10-05 1998-10-05 Installation, licensing, configuration management and maintenance system for component-based multi-user software systems

Country Status (1)

Country Link
DE (1) DE19845610A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1164523A2 (en) * 2000-06-08 2001-12-19 Siemens Aktiengesellschaft Method and arrangement for the secure use of a service
WO2002005184A2 (en) * 2000-07-10 2002-01-17 Critical Devices, Inc. Method and system for software inventory management using a global central repository
EP1300792A3 (en) * 2001-07-20 2003-09-03 Siemens Aktiengesellschaft Computer based method and system for monitoring the use of licenses
EP1521395A1 (en) * 2003-09-30 2005-04-06 Siemens Aktiengesellschaft Method for licensing and/or access authorisation for software modules in a switching device
GB2436156A (en) * 2006-03-07 2007-09-19 Medicsight Plc Digital medical image processing
DE102021202412A1 (en) 2021-03-12 2022-09-15 Robert Bosch Gesellschaft mit beschränkter Haftung Method for providing one or more applications to at least one machine

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69202575T2 (en) * 1991-11-27 1996-01-25 Icl Systems Ab METHOD AND DEVICE FOR REDUCING THE QUANTITY OF DATA FOR SOFTWARE INSTALLATION.
EP0809182A1 (en) * 1996-05-20 1997-11-26 Nec Corporation Application software distribution system and method, and medium storing application software distributing program
WO1998007085A1 (en) * 1996-08-13 1998-02-19 Ben Smith, Inc. System and method for distributing software over a network
US5845077A (en) * 1995-11-27 1998-12-01 Microsoft Corporation Method and system for identifying and obtaining computer software from a remote computer

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69202575T2 (en) * 1991-11-27 1996-01-25 Icl Systems Ab METHOD AND DEVICE FOR REDUCING THE QUANTITY OF DATA FOR SOFTWARE INSTALLATION.
US5845077A (en) * 1995-11-27 1998-12-01 Microsoft Corporation Method and system for identifying and obtaining computer software from a remote computer
EP0809182A1 (en) * 1996-05-20 1997-11-26 Nec Corporation Application software distribution system and method, and medium storing application software distributing program
WO1998007085A1 (en) * 1996-08-13 1998-02-19 Ben Smith, Inc. System and method for distributing software over a network

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1164523A2 (en) * 2000-06-08 2001-12-19 Siemens Aktiengesellschaft Method and arrangement for the secure use of a service
EP1164523A3 (en) * 2000-06-08 2006-10-11 Siemens Aktiengesellschaft Method and arrangement for the secure use of a service
WO2002005184A2 (en) * 2000-07-10 2002-01-17 Critical Devices, Inc. Method and system for software inventory management using a global central repository
WO2002005184A3 (en) * 2000-07-10 2003-10-30 Critical Devices Inc Method and system for software inventory management using a global central repository
EP1300792A3 (en) * 2001-07-20 2003-09-03 Siemens Aktiengesellschaft Computer based method and system for monitoring the use of licenses
US7222367B2 (en) 2001-07-20 2007-05-22 Siemens Aktiengesellschaft System for computer-aided monitoring of the use of licenses
EP1521395A1 (en) * 2003-09-30 2005-04-06 Siemens Aktiengesellschaft Method for licensing and/or access authorisation for software modules in a switching device
WO2005043816A1 (en) * 2003-09-30 2005-05-12 Siemens Aktiengesellschaft Method for licensing and/or authorizing access to software modules in a switching device
US7707646B2 (en) 2003-09-30 2010-04-27 Siemens Aktiengesellschaft Method for licensing and/or authorizing access to software modules in a switching device
GB2436156A (en) * 2006-03-07 2007-09-19 Medicsight Plc Digital medical image processing
DE102021202412A1 (en) 2021-03-12 2022-09-15 Robert Bosch Gesellschaft mit beschränkter Haftung Method for providing one or more applications to at least one machine

Similar Documents

Publication Publication Date Title
DE10004822B4 (en) System and method for identifying and accelerating access to online services
DE60010906T2 (en) METHOD FOR TESTING WEB BASED SOFTWARE OBJECTS
EP1176482B1 (en) Method and computer program for generating a regulation or control system
DE69832786T2 (en) DEVICE AND METHOD FOR IDENTIFYING CLIENTS THAT ACCESS NETWORK SITES
DE102006032108B4 (en) System and method for a multi-site test execution
DE102008012843A1 (en) Enterprise data management
DE19951060A1 (en) Integral automatic customer identification when connecting to customer web site involves using system-specific content from token substitution program installed on hard disc
WO2006066880A1 (en) System and method for automatically actualising functionalities in a distributed network
DE10065579A1 (en) Method and apparatus for automatically processing business contract information for a licensed end user application
WO2006066881A2 (en) System and method for automatically creating, installing and configuring extensions of functionalities in the system nodes of a distributed network
DE10309246B4 (en) Procedure for event management
EP1657670A1 (en) System and method for the control of the state and progress of technical processes or a technical project
DE19845610A1 (en) Installation, licensing, configuration management and maintenance system for component-based multi-user software systems
EP1010052B1 (en) Method for controlling distribution and use of software products with network-connected computers
EP2483775A1 (en) Method and arrangement for installing and configuring a computer system
DE10357831A1 (en) System as well as a procedure for the re-engineering of object model components for the generating of web services
DE10118064A1 (en) Access control method for data network by requesting password if content is determined to be access-restricted from content marker e.g. in HTML
DE10118801A1 (en) System development process, development process for functional units, development support system and storage medium for storing corresponding programs
EP2191407A2 (en) Method for testing a version of a software product to be executed or installed on a first device
DE112018002344T5 (en) DEVELOPMENT SUPPORT DEVICE
EP0825525B1 (en) Method for supporting the creation of objects
DE102011055905A1 (en) Method for testing software in e.g. personal, involves storing entire or part of test software and/or test components in central database, where entire or part of software and/or components is downloaded for test procedure from data base
DE102007040405B3 (en) Method and device for generating and / or using a generic web service
DE102019129762B3 (en) Process and system for the implementation of an identity and access management system
EP1353259A1 (en) Method of upgrading and licensing computer programs and computer system therefor

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8110 Request for examination paragraph 44
8128 New person/name/address of the agent

Representative=s name: MARKS, F., DIPL.-ING. PAT.-ING., PAT.-ANW., 40595

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20140501