DE19836381A1 - Datenbank zur Erleichterung der Installation von Software und des Testens für ein gemäß einer Bestellung gebautes Computersystem - Google Patents
Datenbank zur Erleichterung der Installation von Software und des Testens für ein gemäß einer Bestellung gebautes ComputersystemInfo
- Publication number
- DE19836381A1 DE19836381A1 DE19836381A DE19836381A DE19836381A1 DE 19836381 A1 DE19836381 A1 DE 19836381A1 DE 19836381 A DE19836381 A DE 19836381A DE 19836381 A DE19836381 A DE 19836381A DE 19836381 A1 DE19836381 A1 DE 19836381A1
- Authority
- DE
- Germany
- Prior art keywords
- family
- component
- attribute
- software installation
- computer systems
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3696—Methods or tools to render software testable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/64—Retargetable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2247—Verification or detection of system hardware configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99948—Application of database or data structure, e.g. distributed, multimedia, or image
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
- Information Transfer Between Computers (AREA)
Description
Diese Anmeldung ist mit der weiteren anhängigen US-Patentanmeldung 08/919,959 mit dem
Titel "Software installation and testing for a build-to-order computer system" (Software
Installation und Testen für ein gemäß einer Bestellung gebautes Computersystem) der
Erfinder Richard D. Amberg, Roger W. Wong, Michael A. Brundridge verwandt, die hiermit
durch Verweis in ihrer Gesamtheit in die vorliegende Anmeldung mitaufgenommen ist.
Diese Anmeldung ist mit der weiteren anhängigen US-Patentanmeldung 08/920,773 mit dem
Titel "Software installation and testing for a build-to-order computer system" (Software
Installation und Testen für ein gemäß einer Bestellung gebautes Computersystem) der
Erfinder Richard D. Amberg, Roger W. Wong, Michael A. Brundridge verwandt, die hiermit
durch Verweis in ihrer Gesamtheit in die vorliegende Anmeldung mitaufgenommen ist.
Die vorliegende Erfindung betrifft ein Diagnoseverfahren für Computersysteme und
insbesondere ein Verfahren zur Festlegung der zeitlichen Reihenfolge von Software-In
stallations und/oder Testschritten für ein Computersystem.
Personalcomputersysteme im allgemeinen und IBM-kompatible Computersysteme im
besonderen sind weit verbreitet, um für viele Bereiche der Gesellschaft Rechnerleistung zur
Verfügung zu stellen. Ein Personalcomputersystem kann als ein auf einem Tisch oder auf dem
Boden angeordneter oder auch tragbarer Mikrocomputer definiert sein, der eine Systemeinheit
umfaßt, die einen Systemprozessor und zugehörigen flüchtigen und nichtflüchtigen Speicher,
einen Bildschirm, eine Tastatur, ein oder mehrere Diskettenlaufwerke, einen
Festplattenspeicher und einen optionalen Drucker hat.
Es ist bekannt, Software zu installieren und Tests auf Computersystemen durchzuführen,
bevor sie an Firmen oder einzelne Kunden versandt werden. Das Ziel der Softwareinstallation
und des Testens ist es, auf effiziente Weise ein brauchbares und zuverlässiges
Computersystem herzustellen, das fehlerfrei und betriebsfertig an Firmen und einzelne
Kunden geliefert werden kann. Das Testen entdeckt und analysiert im allgemeinen Fehler, die
sowohl in der Hardware als auch in der Software des Computersystems auftreten. Tests der
Hardware des Computers können Diagnose von Hardwarekomponenten wie z. B. des
Prozessors, des Speichers, der Festplatte, einer Audioeinrichtung, Grafikeinrichtung, der
Tastatur, der Maus und des Druckers einschließen. Im Rahmen der Softwareinstallation wird
häufig ein gewünschtes Paket Software auf den Computer gespielt, passende
Umgebungsvariablen für den Computer gesetzt und passende Initialisierungsdateien für die
installierte Software erzeugt. Im Rahmen des Softwaretestens wird häufig sichergestellt, daß
die gewünschte Version der Software auf dem Computersystem installiert worden ist, und daß
passende Treiber auf dem Computersystem vorhanden sind.
In der Industrie ist es bekannt, während der Herstellung Software zu installieren und
Computersysteme zu testen, indem ein festgelegtes Verfahren durchgeführt wird, bevor sie zu
den Kunden versandt werden. Dazu wird beispielsweise eine Diskette erzeugt, die bestimmte
Diagnosetests für bestimmte Typen von Computersystemen enthält. Auf dieser Diskette sind
lange, häufig komplizierte, Batchdateien (Stapelverarbeitungsdateien), die die
Softwareinstallation und die Diagnose-Prozesse steuern. Die Diskette enthält ferner alle
ausführbaren Dateien zur Durchführung von Tests auf dem gekauften Computersystem.
Jedes Computersystem wird bei der Herstellung mit einer entsprechenden Kopie dieser
Disketten versehen. Diese Disketten begleiten die Computersysteme während der Herstellung
innerhalb der Fabrik, wobei auf dem jeweiligen Computersystem Tests entsprechend der
Reihenfolge in der Batchdatei durchgeführt werden. Wenn bei diesem Verfahren eine
Veränderung vorgenommen werden muß, wird die Batchdatei entsprechend verändert, indem
Teile des Codes der Batchdatei hinzugefügt oder entfernt werden. Diese Veränderung der
Batchdatei führt zu einer entsprechenden Änderung der Testparameter (einschließlich der
Reihenfolge, in der die Tests durchgeführt werden) für jedes nachfolgend gebaute
Computersystem, da jedes Computersystem das Diagnoseverfahren gemäß der gleichen
Batchdatei durchläuft.
Obwohl Diagnoseverfahren dieser Art sich bis zu einem gewissen Grad als brauchbar
erwiesen haben, um die Zuverlässigkeit von Computersystemen vor dem Versenden zu
erhöhen, sind dennoch Verbesserungen möglich. So übersteigen beispielsweise die
Batchdateien und die ausführbaren Dateien der Diagnosetests häufig die Speicherkapazitäten
einer Diskette, da das Testen immer komplizierter und gründlicher wird. Außerdem ist es
häufig schwierig oder unmöglich, die Test- und Softwareinstallationsverfahren auf ein
einzelnes, gemäß einer Bestellung gebautes Computersystem oder für eine bestimmte Familie
von Computersystemen abzustimmen, ohne das Testen für andere Computersysteme oder -fa
milien zu verändern. Darüberhinaus ist es schwierig oder unmöglich, die Reihenfolge der
Softwareinstallation oder des Testens für ein einzelnes, gemäß einer Bestellung gebautes
Computersystem oder für eine bestimmte Familie von Computersystemen zu ändern, ohne die
Reihenfolge für andere Computersysteme und -familien zu ändern. Schließlich macht es die
häufig komplizierte Natur der Struktur der verwendeten Batchdateien manchmal schwierig für
den Hersteller, Fehler zu suchen oder die Verfahren zum Testen und zur Softwareinstallation
schnell und effizient zu warten. Es wäre daher wünschenswert, ein verbessertes Verfahren für
die Installation von Software und zum Testen von Computersystemen zu schaffen, bevor sie
an die Kunden versandt werden.
Eine Vorrichtung zum Installieren von Software auf einem Computersystem umfaßt eine
Schrittabelle und eine Komponententabelle. Die Schrittabelle enthält eine Gruppe von
Softwareinstallationsschritten, die verschiedenen Komponenten von im wesentlichen allen
hergestellten Computersystemen gemeinsam sind. Die Komponententabelle enthält eine
Gruppe von im wesentlichen allen möglichen Komponenten, die die hergestellten
Computersysteme enthalten. In einer bevorzugten Ausführungsform entspricht das
Computersystem einer Familie von Computersystemen, und die Vorrichtung enthält ferner
eine Familienbezugtabelle (family relation table) und eine Familienkomponentenbezugtabelle
(family component relation table). Die Familienbezugtabelle identifiziert die Beziehung
zwischen einer Gruppe von Softwareinstallationsschritten und jeder Familie von
Computersystemen, die hergestellt wird. Die Familienkomponentenbezugtabelle identifiziert
die Beziehung zwischen der Familie von Computersystemen und der Gruppe von
Komponenten. Die Familienschrittbezugtabelle identifiziert die Beziehung zwischen einer
Komponente und einer Gruppe von Softwareinstallationsschritten, die für die entsprechende
Komponente geeignet sind.
Gemäß einer weiteren bevorzugten Ausführungsform betrifft die Erfindung eine Vorrichtung,
um eine Vielzahl von Schritten zu schaffen, wobei ein Schritt einem entsprechendem
Komponentendescriptor zugeordnet ist und eine entsprechende Reihenfolgenummer umfaßt.
Der Komponentendescriptor beschreibt eine entsprechende Komponente eines
Computersystems. Die Vorrichtung umfaßt eine Schrittabelle und eine Komponententabelle.
Die Schrittabelle enthält eine Gruppe von Softwareinstallationsschritten, die im wesentlichen
allen Computersystemen, die hergestellt werden, gemeinsam sind. Die Komponententabelle
enthält eine Gruppe von im wesentlichen allen möglichen Komponenten, die
Computersysteme, die hergestellt werden, enthalten.
Die beschriebene Vorrichtung schafft somit ein effektives Softwareinstallieren und
Computertesten, das eine direkte Fehlersuche und eine Anpassung von gemäß einer
Bestellung gebauten Computersystemen ermöglicht. Der modulare Aufbau der Vorrichtung
ermöglicht vorteilhafter Weise eine elementare Wartung eines Testsystems und die schnelle
Erzeugung von Schritten für neue Computersysteme und -familien.
Die genannten Ziele werden ebenso wie weitere Ziele, Eigenschaften und Vorteile der
Erfindung weiter beschrieben und leichter verständlich mit der folgenden detaillierten
Beschreibung der bevorzugten Ausführungsformen.
Fig. 1 zeigt schematisch die Softwareinstallation und das Testen.
Fig. 2 zeigt schematisch die Softwareinstallation und das Testen gemäß einer weiteren
Ausführungsform.
Fig. 3a zeigt ein Flußdiagramm zur Umwandlung einer Bestellung eines Computers in eine
Systemdescriptorenliste gemäß der vorliegenden Erfindung.
Fig. 3b zeigt einen Teil einer beispielhaften Computerbestellung, einer Base-Assembly-Re
corddatei (BAR) bzw. Basis-Zusammenbau-Listendatei und der Systemdescriptorenliste.
Fig. 4 zeigt ein Flußdiagramm zum Erzeugen und zur Verfügungstellen einer Schrittfolge.
Fig. 5 zeigt ein detaillierteres Flußdiagramm zur Erzeugung einer Schrittfolge.
Fig. 6 zeigt die Struktur einer Datenbank.
Fig. 7 zeigt ein Flußdiagramm zur Änderung einer Systemdescriptorenliste und der
Schrittfolge.
Fig. 8 zeigt ein Beispiel einer Schrittdatei bevor sie ausgeführt wird.
Fig. 9 zeigt eine beispielhafte Schrittdatei, nachdem sie ausgeführt worden ist.
Fig. 10 zeigt ein Flußdiagramm des Betriebs eines Programms zur Ausführung einer
Schrittfolge.
Fig. 11 zeigt ein detaillierteres Flußdiagramm des Betriebs des Programms aus Fig. 10 zur
Ausführung einer Schrittfolge.
Im folgenden wird eine besonders bevorzugte Ausführungsform zur Durchführung der
Erfindung detailliert beschrieben. Die Beschreibung soll erläuternd sein und nicht als
Begrenzung verstanden werden. In den Figuren werden gleiche oder ähnliche Elemente mit
denselben Bezugszeichen bezeichnet. In der Beschreibung ist ein Modul als ein Befehl oder
eine Gruppe von Befehlen definiert.
Fig. 1 zeigt eine schematische Zeichnung des Systems 90 zum Softwareinstallieren und zum
Testen. Im Betrieb wird die Bestellung 92 aufgegeben, um ein gemäß einer Bestellung
gebautes Zielcomputersystem 160 zu kaufen. Das Zielsystem 160 soll so hergestellt werden,
daß es eine Vielzahl von Hardware- und Softwarekomponenten enthält. Das Zielsystem 160
kann beispielsweise eine Festplatte einer bestimmten Marke umfassen, einen bestimmten
Monitor, einen Prozessor einer bestimmten Marke und eine bestimmte Version eines
Betriebssystems. Bevor das Zielsystem 160 an den Kunden versandt wird, wird die Vielzahl
der Komponenten installiert und getestet. Diese Softwareinstallierung und das Testen liefert
vorteilhafterweise ein zuverlässig arbeitendes Computersystem, das betriebsbereit ist, sobald
es vom Kunden empfangen wird.
Da unterschiedliche Familien von Computersystemen und unterschiedliche einzelne
Komponenten eines Computers verschiedene Softwareinstallations- und Testschritte
benötigen, ist es notwendig, festzulegen, welche Tests auf dem Zielsystem 160 ausgeführt
werden müssen und in welcher Reihenfolge diese Tests ausgeführt werden sollen, um einen
effektiven Softwareinstallation- und Testprozeß zu erreichen. Der Schritterzeuger 140 ist ein
Computersystem, das konfiguriert ist, um die Softwareinstallation- und die Testschritte, die
auf dem Zielsystem 160 ausgeführt werden sollen, in eine Reihenfolge zu bringen. Um die
Softwareinstallation- und/oder die Testschritte in eine Reihenfolge zu bringen, liest der
Schritterzeuger 140 und insbesondere das Reihenfolgeprogramm 204, das auf dem
Schritterzeuger 140 läuft, zuerst eine Vielzahl von Komponentendescriptoren aus der
Descriptordatei 96. Die Descriptordatei 96 wird durch das Umwandeln einer Bestellung 92
geschaffen, die einem gewünschten Computersystem mit den gewünschten Komponenten
entspricht. Die Umwandlung erfolgt dabei über das Umwandlungsmodul 94 in ein von einem
Computer lesbares Format.
Komponentendescriptoren sind computerlesbare Beschreibungen der Komponenten des
Zielsystems 160, dessen Komponenten durch die Bestellung 92 festgelegt sind. In der
bevorzugten Ausführungsform sind die Komponentendescriptoren in einer Descriptordatei
enthalten, die Systemdescriptorenliste genannt wird. Dabei handelt es sich um eine
computerlesbare Datei, die eine Liste der Komponenten, seien es Hardware- oder
Softwarekomponenten, enthält, die auf dem Zielsystem 160 installiert werden sollen.
Nachdem das Reihenfolgeprogramm 204 die Vielzahl der Komponentendescriptoren gelesen
hat, ruft es über die Netzwerkverbindung 110 aus der Datenbank 100 eine Vielzahl von
Softwareinstallation- und/oder Testschritten ab, die den Komponentendescriptoren
entsprechen. Die Netzwerkverbindung 110 kann irgendeine bekannte Netzwerkverbindung
sein, z. B. ein LAN (Local Area Network), ein Intranet oder das Internet. Die in der Datenbank
100 enthaltende Information kann durch die mit dem Pfeil 130 dargestellte Änderung
aktualisiert werden.
Nachdem das Reihenfolgeprogramm 204 die für das Zielsystem 160 passenden
Softwareinstallation- und/oder Testschritte abgerufen hat, bringt es die Schritte in eine
vorbestimmte Reihenfolge gemäß den einem einzelnen Schritt entsprechenden
Reihenfolgenummern. Nachdem die für das Zielsystem 160 notwendigen Schritte angeordnet
worden sind, schreibt das Reihenfolgeprogramm 204 eine Serie von Ausgangsdateien auf die
Schrittdiskette 150. In der Ausführungsform, das in Fig. 1 dargestellt ist, enthalten die
Ausgangsdateien Textdateien mit Befehlszeilen zur Ausführung der passenden
Softwareinstallation- und/oder Testschritte auf dem Zielsystem 160. Die Ausführung wird in
einer vorbestimmten Reihenfolge gemäß den einem einzelnen Schritt entsprechenden
Reihenfolgenummern durchgeführt. Die Schrittdiskette 150 begleitet das Zielsystem 160 in
der Fabrik, wo die Tests direkt von der Schrittdiskette 150 oder alternativ vom Server 190
ausgeführt werden können, der mit dem Zielsystem 160 über die Netzwerkverbindung 180
verbunden ist. Vorzugsweise ist die Netzwerkverbindung 180 ein eigenständiges
Netzwerkgerät, das in einen entsprechenden Anschluß des Zielcomputersystems gesteckt
wird. Nach der Durchführung der Softwareinstallation- und Testschritte werden die
Ergebnisse der Installation und der Tests über die Netzwerkverbindung 180 auf dem Server
190 protokolliert.
Fig. 2 ist eine schematische Darstellung des Softwareinstallation- und Testsystems 192
entsprechend einer weiteren Ausführungsform der vorliegenden Erfindung. Ein Kunde gibt
eine Bestellung 92 auf, um ein gemäß einer Bestellung gebautes Zielcomputersystem 160 zu
kaufen. Das Zielsystem 160 wird so hergestellt, daß es eine Vielzahl von Komponenten
enthält, wobei es sich bei den Komponenten um Hardware- und/oder Softwarekomponenten
handeln kann. Bevor das Zielsystem 160 an den Kunden versandt wird, wird die Vielzahl der
Komponenten installiert und getestet. Diese Installation und das Testen erzeugt
vorteilhafterweise ein zuverlässiges, arbeitendes Computersystem, das betriebsbereit ist,
sobald es vom Kunden empfangen worden ist.
Um die Softwareinstallation- und Testschritte in eine Reihenfolge zu bringen, liest das
Reihenfolgeprogramm 204 eine Vielzahl von Komponentendescriptoren aus der
Descriptordatei 96. Die Bestellung 92 wird mit dem Umwandlungsmodul 94 in die
Descriptordatei 96 umgewandelt. Die Komponentendescriptoren sind computerlesbare
Beschreibungen der Komponenten des Zielsystems 160. In der bevorzugten Ausführungsform
sind die Komponentendescriptoren in einer Descriptordatei enthalten, die
Systemdescriptorenliste genannt wird. Dabei handelt es sich um eine computerlesbare Datei,
die eine Liste mit jeder Komponente enthält, sei es eine Hardware- oder eine
Softwarekomponente, die auf dem Zielsystem 160 installiert werden soll. Die
Systemdescriptorenliste kann direkt auf dem Server 202 gespeichert werden. Das
Reihenfolgeprogramm 204 ruft eine Vielzahl von Softwareinstallation- und/oder Testschritten
entsprechend den Komponentendescriptoren aus der Datenbank 100 ab. Nachdem das
Reihenfolgeprogramm 204 die passenden Softwareinstallation- und/oder Testschritte für das
Zielsystem 160 abgerufen hat, bringt es die Schritte in eine vorbestimmte Reihenfolge gemäß
den einem einzelnen Schritt entsprechenden Reihenfolgenummern. Nachdem das
Reihenfolgeprogramm 204 die Schritte, die für das Zielsystem 160 benötigt werden, in eine
Reihenfolge gebracht hat, steuert es die Ausführung der Softwareinstallation- und der
Testschritte auf dem Zielsystem 160 in einer vorbestimmten Reihenfolge über die
Netzwerkverbindungen 195 und 180. Bevorzugt ist die Netzwerkverbindung 200, ein
eigenständiges Netzwerkgerät, das in einen entsprechenden Anschluß des Zielsystems 160
gesteckt werden kann. Das Netzwerk 195 kann irgendeine bekannte
Kommunikationsverbindung sein. Nach der Durchführung der Softwareinstallation- und/oder
der Testschritte werden die Ergebnisse der Installation und der Tests über die
Netzwerkverbindung 200 auf dem Server 202 protokolliert oder in einer geeigneten
Datenbank gespeichert. Wie aus der Abbildung hervorgeht, ist ein separates Computersystem
zur Schritterzeugung 140 aus Fig. 1 nicht notwendig. Ferner wird keine Schrittdiskette 150
gebraucht. Statt dessen wird nur die Startdiskette 220 gebraucht, die konfiguriert ist, um das
Zielsystem 160 zu starten, und die das Zielsystem 160 in der Fabrik begleitet.
Nachdem die Softwareinstallation- und Testsysteme allgemein beschrieben worden sind, wird
im folgenden der Betrieb der in Fig. 1 und Fig. 2 gezeigten Systeme detaillierter
beschrieben.
Fig. 3a zeigt den bevorzugten Vorgang, durch den eine Bestellung für ein Computersystem
in eine computerlesbare Systemdescriptorenliste umgewandelt wird. Genauer dargestellt, wird
an der Einheit 300 eine Bestellung für ein Zielcomputersystem aufgenommen. Diese
Bestellung kann irgendeine Form haben. Z.B. sind unterschiedliche Bestellformate möglich,
ebenso wie unterschiedliche Bestellübertragungsmechanismen. So können z. B. Bestellungen
für ein Computersystem per Telefon aufgegeben werden, per Post oder über
Computernetzwerke (z. B. das Internet). Unabhängig von den Vorrichtungen zur Aufnahme
der Bestellung oder der Form der Bestellung enthält die Bestellung den Typ des
Zielcomputersystems, das ein Kunde kaufen möchte und möglicherweise eine explizite
Auflistung der speziellen Komponenten, die das Zielcomputersystem gemäß den Wünschen
des Kunden enthalten soll. Nachdem die Bestellung aufgenommen worden ist, wird die
Steuerung an das Übertragungsmodul 310 übergeben, mit dem die Bestellung des
Zielcomputersystems über ein Computernetzwerk an ein Herstellungssystem (nicht gezeigt)
übertragen wird, das das Zielcomputersystem herstellt. Die Bestellung des
Zielcomputersystems wird auch an das Softwareinstallation- und Testsystem geliefert, wo es
an ein Umwandlungsprogramm im Modul 320 weitergeleitet wird. Das im Modul 310
verwendete Computernetzwerk kann irgendeine Art von bekanntem Netzwerk sein.
Das Umwandlungsprogramm wandelt die Bestellung des Zielcomputersystems in eine Liste
um, die für den Herstellungsprozeß brauchbar ist. Genauer dargestellt, wandelt das
Umwandlungsprogramm die Computerbestellung zuerst in Modul 330 in eine Liste um, die
BAR-Datei genannt wird. Die BAR-Datei enthält vorzugsweise eine eindeutige Kennung, die
das spezielle Zielcomputersystem, das gerade hergestellt wird, identifiziert. Die BAR-Datei
enthält ferner eine detaillierte Liste der Komponenten, seien es Hardware- und
Softwarekomponenten, die das Zielsystem enthalten soll. Ferner enthält die BAR-Datei
vorzugsweise herstellerspezifische Teilenummern oder andere nützliche Kennungen für jede
Komponente. Schließlich kann die BAR-Datei kundenspezifische Informationen, wie z. B. den
Namen, die Adresse und die Telefonnummer enthalten.
Nach der Erzeugung der BAR-Datei im Modul 330 wird im Modul 340 eine
Systemdescriptorenliste erzeugt. Eine Systemdescriptorenliste ist gemäß der bevorzugten
Ausführungsform eine computerlesbare Datei, die Hardware- und Softwarekomponenten
beschreibt, die das Zielsystem enthalten soll. In einer bevorzugten Ausführungsform enthält
die Systemdescriptorenliste eine Liste der Komponenten des Zielsystems in einem Format,
das Hardwaremarken bzw. Hardwaretags, Softwaremarken, Informationsmarken und
Kommentare enthält. Eine Hardwaremarke zeigt dem Reihenfolgeprogramm 204 an, daß die
Information, die der Marke folgt, sich auf eine Hardwarekomponente bezieht. Die
Softwaremarke zeigt entsprechend, daß die Information, die der Marke folgt, sich auf eine
Softwarekomponente bezieht. Die Informationsmarke zeigt an, daß allgemeine Information
folgt. Kommentare ermöglichen es, verschiedene Einträge mit in die Systemdescriptorenliste
aufzunehmen, die von dem Reihenfolgeprogramm 204 ignoriert werden. Vorzugsweise ist die
Systemdescriptorenliste eine Textdatei, die von Menschen gelesen werden kann und leicht zu
verstehen ist. Solch eine Datei erlaubt vorteilhafterweise eine einfache Fehlersuche und die
einfache Wartung des Installations- und Testvorgangs. Es versteht sich, daß die
Systemdescriptorenliste irgendeine Liste von eindeutigen Kennungen sein kann, die einer
eindeutigen Gruppe von Bezeichnungen (Token) entsprechen. So kann in einem einfachen
Beispiel die Systemdescriptorenliste eine Liste von Teilenummern sein.
Fig. 3b zeigt eine beispielhafte Zielcomputersystembestellung 350, eine entsprechende
BAR-Datei 360 und eine entsprechende Systemdescriptorenliste 370. Die Bestellung 350 des
Zielcomputersystems enthält den Namen der Computerfamilie, in diesem Beispiel die Familie
"X". Ferner enthält die Bestellung 350 eines Zielcomputersystems drei beispielhafte
Hardwarekomponenten, darunter einen Pentium-Prozessor, eine Festplatte und einen Monitor.
Die BAR-Datei 360 entsteht, indem die Bestellung 350 des Zielcomputersystems durch ein
Umwandlungsprogramm geschickt wird, wie in Modul 320 von Fig. 3a dargestellt. Die
BAR-Datei 360 enthält eine eindeutige Kennung für ein bestimmtes Zielcomputersystem
innerhalb der Familie "X". Die BAR-Datei 360 enthält ebenfalls herstellerspezifische
Teilenummern für alle Komponenten, die in der Bestellung des Zielcomputersystems
aufgelistet sind. Ferner enthält die BAR-Datei 360 eine Kennung, die die gewünschte Anzahl
jeder Komponente angibt, sowie eine Textbeschreibung jeder Komponente, die das
Zielcomputersystem enthalten soll. Das System 90 verwendet die BAR-Datei 360, um die
Systemdescriptorenliste 370 zu erzeugen.
Wie dargestellt, enthält die Systemdescriptorenliste 370 auch die eindeutige Kennung für das
spezielle Zielcomputersystem innerhalb der Familie "X". Darüberhinaus enthält die
Systemdescriptorenliste 370 geeignete Marken, die hier anzeigen, daß es sich bei dem
Prozessor, der Festplatte und dem Monitor jeweils um Hardware- und nicht um
Softwarekomponenten handelt. Die Systemdescriptorenliste 370 beschreibt diese
Komponenten in einer Textbeschreibung. Die beispielhafte Systemdescriptorenliste 370
enthält zusätzlich eine Softwaremarke, die anzeigt, daß eine bestimmte Software auf dem
Zielcomputersystem, das zur Familie "X" gehört, installiert oder getestet werden soll. Die
Softwaremarke kann beispielsweise anzeigen, daß ein bestimmtes, für den Pentium-Prozessor
geeignetes Betriebssystem immer auf die Festplatte des Zielcomputersystems, das zur Familie
"X" gehört, installiert werden soll.
In Fig. 4 ist das bevorzugte allgemeine Verfahren zur Anordnung der Softwareinstallation- und
der Testschritte dargestellt. Im Modul 400 wird eine eindeutige Kennung des
Zielcomputersystems für das Zielcomputersystem 160 erzeugt. In der Ausführungsform, die
in Fig. 1 dargestellt ist, erzeugt ein Anwender, der am Computersystem 140 zur
Schritterzeugung sitzt, die eindeutige Kennung (d. h. BAR-Kennung, die als
Nachverfolgungscode dient) für das Reihenfolgeprogramm 204 des Schritterzeugers 140.
Alternativ dazu wird in der Ausführungsform von Fig. 2 die eindeutige Kennung
automatisch in das Reihenfolgeprogramm 204 eingelesen, nachdem die Bestellung des
Zielcomputersystems aufgenommen worden ist.
Im Modul 410 wird eine Systemdescriptorenliste, die der BAR-Kennung entspricht, ausfindig
gemacht. In der Ausführungsform von Fig. 1 wird die Systemdescriptorenliste entweder über
die Netzwerkverbindung 110 oder die Netzwerkverbindung 195 gefunden. In der
Ausführungsform von Fig. 2 wird die Systemdescriptorenliste über die Netzwerkverbindung
195 gefunden. Im Modul 420 wird die aufgefundene Systemdescriptorenliste an das
Reihenfolgeprogramm 204 übergeben. In der Ausführungsform nach Fig. 1 läuft das
Reihenfolgeprogramm auf dem Computersystem 140 zur Schritterzeugung, während in der
Ausführungsform nach Fig. 2 das Reihenfolgeprogramm auf dem Server 202 läuft. Das
Reihenfolgeprogramm 204 arbeitet zusammen mit der Datenbank 100 (der Fig. 1 und 2),
um die Softwareinstallation- und Testschritte für das Zielcomputersystem 160 in Reihenfolge
anzuordnen. Wenn die für ein bestimmtes Zielcomputersystem geeigneten
Softwareinstallation- und Testschritte in Reihenfolge angeordnet sind, erzeugt das
Reihenfolgeprogramm 204 Ausgangsdateien, wie im Modul 430 dargestellt.
In der in Fig. 1 dargestellten Ausführungsform werden die Ausgangsdateien vorzugsweise in
sechs einzelnen Dateien auf die Schrittdiskette 150 (vgl. Fig. 1) geschrieben. Diese Dateien
beinhalten (1) eine Schrittdatei, (2) eine Setenv.bat-Datei, (3) eine
Qt.txt-Datei, (4) eine
Et.txt-Datei, (5) eine Etlast.txt-Datei und (6) eine Ft.txt-Datei. Vorzugsweise ist die
Schrittdatei eine ASCII-Textdatei, die eine Liste der passenden Befehlszeilen zur
Durchführung der Softwareinstallation- und Testschritte für das Zielcomputersystem, das
bestellt wird, enthält. In einer bevorzugten Ausführungsform enthält die Schrittdatei auch
Befehle in einer Schleife. Genauer dargestellt, erlaubt die Schrittdatei, daß Befehle für eine
bestimmte Anzahl von Iterationen oder für eine bestimmte Zeitdauer wiederholt werden.
Solch ein Format ermöglicht es vorteilhafterweise, daß die Softwareinstallation- oder
Testschritte in einer kontrollierten berechneten Art und Weise wiederholt werden. Die
Setenv.bat-Datei setzt bevorzugt Umgebungsvariablen in dem Zielcomputersystem. Es
versteht sich dabei, daß in einer Betriebsweise nur die Schrittdatei und die Setenv.bat-Datei
notwendig sind zum Installieren und Testen. Die Schrittdatei und die Setenv.bat-Dateien sind
ASCII-Textscriptdateien, die eine Liste von geeigneten Befehlszeilen zur Durchführung der
Installation und der Testschritte für das Zielcomputersystem enthalten. Die Qt.txt.-, Et.txt.-,
Etlast.txt.- und Ft.txt-Dateien sind vorzugsweise alle ASCII-Textdateien, die eine Liste von
passenden Befehlszeilen enthalten zur Durchführung der Softwareinstallation und der
Testschritte für das Zielcomputersystem in der Quick Test- (Qt), der Extended Test1- (Et), der
Extended Test2- (Etlast), und der Final Test- (Ft) Phase der Herstellung des
Zielcomputersystems.
In der Ausführungsform von Fig. 2 werden hingegen die Ausgangsdateien nicht auf eine
Schrittdiskette, wie in Fig. 1 dargestellt, geschrieben. Statt dessen liegen die
Ausgangsdateien auf dem Server 202 oder dem Server 190, wo sie dazu verwendet werden,
die Durchführung der Softwareinstallation und/oder der Testschritte auf dem
Zielcomputersystem 160 zu steuern.
Fig. 5 zeigt ein detaillierteres Schema des Betriebs des Reihenfolgeprogramms 204, das in
den Fig. 1 und 2 dargestellt ist. Im Modul 500 wird dem Reihenfolgeprogramm 204 eine
Systemdescriptorenliste, die dem Zielcomputersystem 160 entspricht, geliefert. Im Modul 510
wird ein Komponentendescriptor aus der Systemdescriptorenliste gelesen. Jeder
Komponentendescriptor beschreibt eine entsprechende Komponente, sei es eine Hard
ware- oder eine Softwarekomponente des Zielcomputersystems.
Die Zeile in der Systemdescriptorenliste (vgl. Fig. 3b), die den Pentium-Prozessor im Modul
370 enthält, ist ein Beispiel für einen Komponentendescriptor. Im Modul 520 erzeugt das
Reihenfolgeprogramm 204 eine Vielzahl von abgeleiteten Objekten, die der Vielzahl von
Komponenten des Zielcomputersystems 160 entsprechen. In der bevorzugten
Ausführungsform werden diese abgeleiteten Objekte dazu verwendet, um Informationen, die
aus der Datenbank 100 stammen, über die Softwareinstallation- und Testschritte zu speichern,
die auf dem Zielcomputersystem 160 ausgeführt werden müssen. Im Modul 550 werden die
Softwareinstallation- und Testschritte, die zu den entsprechenden Komponenten des
Zielcomputersystems 160 gehören, aus der Datenbank 100 abgerufen und in dem passenden
abgeleiteten Objekt gespeichert. In der Ausführungsform von Fig. 1 werden die Schritte über
die Netzwerkverbindung 110 abgerufen, während in der Ausführungsform gemäß Fig. 2 die
Schritte direkt vom Server 202 abgerufen werden können. Um zu beschreiben, wie die
Schritte aus der Datenbank 100 in der bevorzugten Ausführungsform abgerufen werden, muß
die bevorzugte Struktur dieser Datenbank beschrieben werden.
Fig. 6 zeigt die Struktur der Datenbank 100. Die Datenbank 100 ordnet der Abfolge von
Softwareinstallation- und/oder Testschritten in einer vorbestimmten Reihenfolge Familien
von Computersystemen zu. Die Datenbank 100 ist ferner dafür konfiguriert, Komponenten
von Computersystemen Familien von Computersystemen zuzuordnen. Weiter ordnet die
Datenbank 100 Softwareinstallation- und/oder Testschritte Komponenten von
Computersystemen zu. Die Datenbank 100 ist bevorzugt eine relationale Datenbank. Die
Datenbank 100 enthält mehrere Tabellen, die jeweils Attribute enthalten, die dazu geeignet
sind, die oben genannten Zuordnungen zu erzeugen.
Die Datenbank 100 enthält eine Schrittabelle, bzw. step-table 102, eine
Systemfamilientabelle, bzw. sysFamily-table 104, eine Sys_step_seq Tabelle 106, eine
Komponententabelle 108, eine Sys_Comp Tabelle 112 und eine Comp_Step Tabelle 114. In
der bevorzugten Ausführungsform enthält jede Tabelle eine Liste von Attributen, wobei die
unterstrichenen Attribute als ein primärer Schlüssel dienen.
Die Schrittabelle 102 enthält eine Gruppe von Softwareinstallation- und Testschritten, die
gemeinsam für verschiedene Komponenten von allen Computerfamilien verwendet werden. In
der bevorzugten Struktur hat die Schrittabelle 102 Attribute, die die "StepID", "Phase",
"Name", "Befehl" bzw. "cmd", "Befehlstyp", bzw. "cmdType", "AfterCode" und
"MaxInstance" umfassen. "StepID" ist eine eindeutige Identifizierungsnummer für jede
Softwareinstallation oder jeden Testschritt. "Phase" gibt an, in welcher Phase der Herstellung
der Schritt ausgeführt werden soll. "Phase" ist beispielsweise eine Ganzzahlvariable, die
entsprechend vier Phasen der Computersystemherstellung gewählt wird. Die vier Phasen
bestehen dabei aus: (1) Quick Test, (2) Extended Test1, (3) Extended Test2 und (4) Final
Test. "Name" ist eine Zeichenkette, die einen Namen zuordnet, der den Schritt beschreibt.
"Befehl" ist eine Zeichenkette, die eine ausführbare Befehlszeile zur Durchführung der
Softwareinstallation oder des Testschrittes auf dem Zielsystem 160 (gezeigt in den Fig. 1
und 2) zuordnet. "AfterCode" ist eine Kennung, die festlegt, ob ein Anhalten oder Neustart
des Systems notwendig ist, nachdem die Softwareinstallation oder der Testschritt
durchgeführt worden ist. "MaxInstance" ist eine Kennung, die die maximale Anzahl von
erlaubten Wiederholungen des Schritts anzeigt. "ClassID", schließlich, identifiziert einen
bestimmten Komponententyp, der dem Softwareinstallation- oder Testschritt zugeordnet wird.
Die Systemfamilientabelle 104 identifiziert jede Familie von Computersystemen mit einer
Kennzeichnungsganzzahl, die in dem Attribut "SysID" spezifiziert ist. In der
Systemfamilientabelle ist ferner eine Zeichenkette enthalten, die den Namen der Familie
angibt.
Die Sys_Step_Seq Tabelle 106 ist eine relationale Tabelle, die Relationen zwischen der
Schrittabelle 102 und der Systemfamilientabelle 104 enthält. Die Sys_Step_Seq Tabelle 106
enthält eine Kennzeichnungsganzzahl der Familie, die in dem Attribut "SysID" für eine
spezielle Familie von Computersystemen (aus der Systemfamilientabelle 104) spezifiziert ist,
eine Kennzeichnungsganzzahl des Schrittes, die in dem Attribut "StepID" spezifiziert ist (aus
der Schrittabelle 102), die eine spezielle Gruppe von Schritten identifiziert, die für diese
Familie geeignet sind, und eine Reihenfolgenummer. Die Reihenfolgenummer ist
vorzugsweise in dem Attribut "SeqNum" enthalten, das eine vorbestimmte Reihenfolge
darstellt, in der die zu einer speziellen Familie gehörenden Schritte ausgeführt werden sollen.
Die Reihenfolgenummer wird durch Testingenieure festgelegt und ist eindeutig innerhalb
jeder Herstellungsphase. Sie wird gewählt, um für ein spezielles Zielsystem möglichst
effizient zu sein. Es versteht sich, daß auch andere Verfahren zur Festlegung der
Reihenfolgenummer verwendet werden können.
Die Komponententabelle 108 enthält alle möglichen Komponenten, die in dem hergestellten
Computersystem enthalten sind. Die Attribute dieser Tabelle sind vorzugsweise "CompID",
die jeder Komponente eine Variable zuordnet, "NameDesc", die jeder Komponente eine
Zeichenkette als Namen zuordnet und "ClassID", die den Komponententyp bezeichnet (z. B.
Festplatte, CD-Rom Laufwerk).
Die Sys_Comp Tabelle 112 ist eine relationale Tabelle, die Relationen zwischen einer Familie
von Computersystemen und einer Gruppe von Komponenten beinhaltet, die in dieser Familie
enthalten sein können. Die Attribute der Sys_Comp Tabelle 112 umfassen eine
Kennzeichnungsganzzahl der Computerfamilie, die im Attribut "SysID" (aus der
Systemfamilientabelle 104) spezifiziert ist und einer Kennzeichnungsganzzahl der
Komponente, die im Attribut "CompID" (aus der Komponententabelle 108) spezifiziert ist.
Die Comp_Step Tabelle 114 ist eine relationale Tabelle, die Relationen zwischen einer
Komponente und einer Gruppe von Softwareinstallation- und Testschritten enthält, die für
diese Komponente geeignet sind. Die Attribute der Comp_Step Tabelle 114 beinhalten eine
Komponenten-Kennzeichnungsganzzahl, die im Eintrag "CompID" (aus der
Komponententabelle 108) spezifiziert ist und eine Schritt-Kennzeichnungsganzzahl, die im
Attribut "StepID" (aus der Schrittabelle 102) spezifiziert ist.
Das beispielhafte Zielcomputersystem, das in Fig. 3b dargestellt ist, wird dazu verwendet,
um zu erläutern, wie der oben beschriebene Aufbau der Datenbank dazu verwendet wird, um
Softwareinstallation- und Testschritte abzurufen. Die Kennung für die Computerfamilie in
der Systemdescriptorenliste, die die Familie "X" identifiziert, wird der "SysID" zugeordnet,
die der Familie "X" in der Systemfamilientabelle 104 entspricht. Die Komponententabelle
108 wird verwendet, um zu überprüfen, ob die Komponenten des Zielcomputersystems, die in
der Bestellung des Zielcomputersystems aufgelistet sind, zulässig sind. Anders ausgedrückt
heißt das, daß das Reihenfolgeprogramm und die Datenbank bestimmen, ob der Prozessor, die
Festplatte, der Monitor und die Software, die in der Systemdescriptorenliste aus Fig. 3b
enthalten sind, entsprechende Einträge und entsprechende Ganzzahlen, spezifiziert durch die
"CompID" in der Komponententabelle 108 haben. Wenn eine Komponente nicht zulässig ist
(d. h. wenn eine Komponente in der Systemdescriptorenliste nicht in der Komponententabelle
108 enthalten ist), wird eine Fehlermarke gesetzt. Die Sys_Comp Tabelle 112 ist eine
relationale Tabelle, die Abbildungen aus der Komponententabelle 108 und der
Systemfamilientabelle 104 enthält. Die Sys_Comp Tabelle 112 enthält alle zulässigen
Komponenten, die in einem Zielcomputersystem, das zur Familie "X" gehört, enthalten sein
können. Die Sys_Comp Tabelle 112 kann daher dazu verwendet werden, um zu überprüfen,
ob alle Komponenten des Zielsystems zulässig sind. Mit anderen Worten legen das
Reihenfolgeprogramm und die Datenbank fest, ob der Prozessor, die Festplatte, der Monitor
und die Software, die in der Systemdescriptorenliste aus Fig. 3b enthalten sind,
entsprechende Relationen in der Sys_Comp Tabelle 112 haben. Wenn eine Komponente nicht
zulässig ist, d. h. wenn eine Komponente in der Systemdescriptorenliste nicht in einem
Zielsystem, das zur Familie "X" gehört, enthalten sein kann, wird eine Fehlermarke gesetzt.
In der relationalen Sys_Step_Seq Tabelle 106 liegen die Abbildungen von der Schrittabelle
102 und der Systemfamilientabelle 104. Die Sys_Step_Seq Tabelle 106 enthält sämtliche
Softwareinstallation- und Testschritte, die zulässigerweise auf dem Zielcomputersystem, das
zur Familie "X" gehört, ausgeführt werden können. Außerdem werden in dieser
Sys_Step_Seq Tabelle 106 jedem Softwareinstallation- und Testschritt Reihenfolge- und
Phasennummern zugeordnet. Diese Reihenfolge- und Phasennummern stellen die richtige
Reihenfolge dar, in der Schritte für eine spezielle Familie von Computersystemen ausgeführt
werden sollen. Die Sys_Step_Seq Tabelle 106 enthält daher eine Liste von Schritten, die auf
Zielcomputersystemen der Familie "X" ausgeführt werden sollen, ebenso wie die
Reihenfolge- und Phasennummern, die die vorbestimmte Reihenfolge darstellen, in der die
Schritte ausgeführt werden sollen.
Die Comp_Step Tabelle 114 ist eine relationale Tabelle, die Abbildungen aus der
Komponententabelle 108 und der Schrittabelle 102 enthält. Die Comp_Step Tabelle 114
enthält die Softwareinstallation- und Testschritte, die für den Prozessor, die Festplatte, den
Monitor und die Software des Zielcomputersystems ausgeführt werden sollen.
Um die Softwareinstallation- und Testschritte abzurufen, die zu den entsprechenden
Komponenten gehören, die das Zielsystem enthalten soll, wird eine Verbindungsoperation auf
die Sys_Comp Tabelle 112 und die Comp_Step Tabelle 114 angewendet, um eine
Zwischenmenge zu erhalten, die Schritte auflistet, die auf den Komponenten des
Zielcomputersystems 160 ausgeführt werden sollen.
Die Verbindungsoperation resultiert in einer Liste von Schritten, die auf dem Prozessor, der
Festplatte, dem Monitor und der Software, die in der Systemdescriptorenliste aufgeführt sind,
die in Fig. 3b gezeigt ist, ausgeführt werden sollen. Das Ergebnis der Verbindung der
Sys_Comp Tabelle 112 und der Comp_Step Tabelle 114 wird daraufhin mit der
Sys_Step_Seq Tabelle 106 verbunden, die alle Schritte für die Familie "X" enthält. Das
Ergebnis dieser Verbindungsoperation enthält die Reihenfolgeinformation in der Form von
Reihenfolgenummern und Phasennummern, wobei die Reihenfolgenummern für jede
spezielle Phase eindeutig sind. Damit liefert die Verbindung der drei Tabellen Sys_Comp
Tabelle 112, Comp_Step Tabelle 114 und Sys_Step_Seq Tabelle 106 die geeigneten
Softwareinstallation- und Testschritte ebenso wie die Reihenfolgeinformation in der Form von
Reihenfolge- und Phasennummern zur Installierung und/oder zum Testen von Software auf
dem Zielcomputersystem 160.
Wenn das Ergebnis der ersten Verbindungsoperation (die Verbindung der Sys_Comp Tabelle
112 und der Comp_Step Tabelle 114) eine leere Menge ist, wird eine Fehlerbedingung
gesetzt, weil eine leere Menge bedeutet, daß eine Komponente, die das Zielsystem enthalten
soll, nicht zu der Familie gehört, die in der Systemdescriptorenliste aufgeführt ist. Dies wird
an einem Beispiel erläutert. Angenommen eine Systemdescriptorenliste zeigt korrekt an, daß
ein Zielcomputersystem zur Familie "Y" gehört. Ferner sei jedoch angenommen, daß die
Systemdescriptorenliste fälschlicherweise anzeigt, daß eine Festplatte (Festplatte "Z"), die zu
Zielsystemen in der Familie "X" gehört, im Zielsystem der Familie "Y" enthalten sein soll. In
diesem Fall enthält die Comp_Step Tabelle 114 Schritte, die zu einer Festplatte "Z" gehören.
Die Sys_Comp Tabelle 112 enthält Komponenten, die zur Familie "Y" gehören. Das
Verbinden der Comp_Step Tabelle 114 mit der Sys_Comp Tabelle 112 erzeugt daher die leere
Menge, da die Festplatte "Z" keine Komponente ist, die der Familie "Y" zugeordnet ist (sie ist
statt dessen nur der Familie "X" zugeordnet). Wie aus dem obigen Beispiel ersichtlich,
ermöglicht die bevorzugte Struktur der Datenbank vorteilhafterweise, sicherzustellen, daß ein
Zielsystem einer bestimmten Familie nur Komponenten enthält, die für diese Familie geeignet
sind.
Nachdem die den Komponenten zugeordneten Schritte, die in dem Zielsystem enthalten sein
sollen, aufgefunden worden sind (vgl. Fig. 5) bereitet das Reihenfolgeprogramm 204 die
Umgebungsvariablen für das Zielcomputersystem im Modul 560 vor, indem es die
Systemdescriptorenliste liest und eine Umgebungsdatei erzeugt, die den Komponenten
entsprechen, die im Zielsystem enthalten sein sollen. So wird beispielsweise die
Systemdescriptorenliste, die in Fig. 3b dargestellt ist, gelesen und eine Umgebungsvariable
wie "set cpu=pentium" kann vorbereitet werden entsprechend der Hardwarekomponente
Prozessor der Systemdescriptorenliste.
Im Modul 570 aus Fig. 5 wird die Vielzahl der aufgefundenen Softwareinstallation- und
Testschritte, die durch die Verbindung der drei Tabellen aufgefunden sind, wie bereits oben
beschrieben, in eine vorbestimmte Reihenfolge gebracht. Dieses Anordnen richtet sich nach
den entsprechenden Reihenfolge- und Phasennummern, um eine Schrittfolge zu erzeugen. Das
Anordnen selbst kann durch die Anwendung eines der zahlreichen bekannten Sortierverfahren
erreicht werden.
Im Modul 580 erzeugt das Reihenfolgeprogramm 204 Ausgangsdateien. Wie bereits erwähnt,
werden die Ausgangsdateien in der Ausführungsform, die in Fig. 1 dargestellt ist,
vorzugsweise in sechs einzelnen Dateien auf die Schrittdiskette 150 (vgl. Fig. 1)
geschrieben. Diese Dateien beinhalten (1) eine Schriftdatei, (2) eine Setenv.bat-Datei, (3) eine
Qt.txt-Datei, (4) eine Et.txt-Datei, (5) eine Etlast.txt-Datei und (6) eine Ft.txt-Datei.
Vorzugsweise ist die Schrittdatei eine ASCII-Text-Datei. In einer bevorzugten
Ausführungsform enthält die Schrittdatei auch Befehle in einer Schleife. Genauer dargestellt
erlaubt die Schrittdatei, daß Befehle für eine bestimmte Anzahl von Iterationen oder über eine
bestimmte Zeitdauer hinweg wiederholt werden. Die Setenv.bat-Datei setzt die
Umgebungsvariablen in dem Zielcomputersystem. Die Schrittdatei enthält die Schritte, die
entsprechend während der Quick Test (Qt)-, Extended Test1 (Et)-, Extended Test2 (Etlast)- und
der Final Test (Ft)-Phasen der Herstellung des Zielcomputersystems durchgeführt
werden. In der in Fig. 2 gezeigten Ausführungsform werden die Ausgangsdateien hingegen
nicht auf eine Schrittdiskette, wie in Fig. 1 gezeigt, geschrieben. Statt dessen verbleiben die
Ausgangsdateien auf dem Server 202 oder dem Server 190, wo sie dazu verwendet werden
können, die Ausführung der Softwareinstallation- und Testschritte auf dem
Zielcomputersystem 160 zu steuern.
Unter erneuter Bezugnahme auf die Fig. 1 und 2 zeigt der Pfeil 130, daß an der Datenbank
100 Änderungen vorgenommen werden können. Wenn beispielsweise eine neue Familie von
Computersystemen erzeugt wird, kann die Datenbank 100 entsprechend verändert werden.
Genauer dargestellt, heißt das, daß der neuen Familie eine neue Familienkennung in der
"SysID" der Systemfamilientabelle 104 zugeordnet wird und daß einem Namensattribut der
Systemfamilientabelle 104 ein Name für die neue Familie zugeordnet wird. Eine Liste von
Softwareinstallationsschritten und Testschritten wird der Sys_Step_Seq Tabelle 106
hinzugefügt, wobei diese Schritte darstellen, welche Schritte in welcher vorbestimmten
Reihenfolge auf der neuen Computersystemfamilie ausgeführt werden müssen. Wenn die neue
Familie von Computersystemen mit bereits existierenden Familien Gemeinsamkeiten hat, ist
es wahrscheinlich, daß die Einträge für die bereits existierende Familie in der Sys_Step_Seq
Tabelle 106 verändert werden können, um Einträge für die neue Familie zu erzeugen. Wenn
irgendwelche neuen Schritte für die neue Familie von Computersystemen erzeugt werden
müssen, werden diese Schritte der Schrittabelle 102 hinzugefügt. Sollte die neue Familie von
Computersystemen neue Komponenten aufweisen, werden diese in ähnlicher Weise der
Komponententabelle 108 hinzugefügt. Die Comp_Step Tabelle 114 wird aktualisiert, um jeder
der Komponenten der neuen Familie von Computersystemen passende Schritte zur
Softwareinstallation und zum Testen zuzuordnen. Wenn die neue Familie nur Komponenten
verwendet, die bereits in der Datenbank vorhanden sind, muß diese Tabelle nicht verändert
werden. Die Sys_Comp Tabelle 112 wird aktualisiert, damit eine Liste der zulässigen
Komponenten, die in der neuen Familie enthalten sein können, in der Datenbank vorhanden
ist. Insbesondere ist es nötig, die "SysID" des neuen Computersystems der "CompID" jeder
zulässigen Komponente zuzuordnen. Auch dieser Vorgang kann durchgeführt werden, indem
ein bereits existierender Eintrag für ältere Familien von Computersystemen kopiert und dann
geändert wird.
Es versteht sich, daß in der Struktur einer Datenbank gemäß der bevorzugten
Ausführungsform bestimmte wesentliche Vorteile liegen. Insbesondere der modulare Aufbau
der Datenbank ermöglicht vorteilhafterweise das Einrichten von Softwareinstallation- und
Testschritten für neue Familien von Computersystemen. Zusätzlich können die
Softwareinstallation- und Testschritte für eine bestimmte Familie von Computersystemen
oder für eine bestimmte Komponente geändert werden, unabhängig von anderen
Softwareinstallation- und Testschritten.
Fig. 7 zeigt, wie eine Systemdescriptorenliste und eine Schrittfolge angepaßt werden
können, um modulare Veränderungen bei der erfindungsgemäßen Softwareinstallation und
dem Testen zu ermöglichen. Im Modul 600 wird eine Systemdescriptorenliste erzeugt. Im
Modul 610 wird die Systemdescriptorenliste verändert unter Verwendung einer Anpassung
bzw. eines Patchs der Systemdescriptorenliste. In der bevorzugten Ausführungsform ist diese
Anpassung modular aufgebaut und erlaubt, daß die Anpassung für ein bestimmtes
Zielcomputersystem, eine besondere Familie von Computersystemen oder eine besondere
Komponente erzeugt wird. Wenn beispielsweise ein Hersteller eine bestimmte Marke einer
Festplatte gegen eine andere für eine bestimmte Familie von Computersystemen an einem
bestimmten Tag austauschen will, kann eine Anpassung gebildet werden, die alle
Systemdescriptorenlisten verändert, die die zu ersetzende Festplatte enthalten und die die
Ersetzung im Modul 610 durchführen. Im Modul 620 wird, wie oben beschrieben, eine
Schrittfolge festgelegt. Im Modul 630 wird die Schrittfolge verändert unter Verwendung einer
Schrittfolgeanpassung. In der bevorzugten Ausführungsform ist diese Anpassung modular
aufgebaut und ermöglicht dadurch, daß Anpassungen für ein besonderes Zielcomputersystem,
eine besondere Familie von Computersystemen oder für eine besondere Komponente erzeugt
werden. Wenn z. B. ein Hersteller einen bestimmten Testschritt vor einem anderen für eine
bestimmte Komponente an einem bestimmten Tag durchführen möchte, kann eine Anpassung
gebildet werden, die alle Schrittfolgen verändert, die die Schritte enthält, deren Reihenfolge
verändert werden soll und die entsprechend die Reihenfolge der Durchführung im Modul 640
verändert.
Im folgenden wird die Ausfürung der Schrittfolge auf dem Zielsystem 160 beschrieben. Die
Softwareinstallation- und Testschritte werden auf dem Zielcomputersystem 160 unter
Verwendung eines Programmes durchgeführt, das die Schrittfolge liest, interpretiert und
entsprechend dem Zielcomputersystem ausführt. In der bevorzugten Ausführungsform wird
dieses Programm "Runstep" genannt und befindet sich auf der Schrittdiskette 150 in der
Ausführungsform gemäß Fig. 1 und auf dem Server 202 in der Ausführungsform gemäß
Fig. 2.
Fig. 8 zeigt einen Ausschnitt einer Schrittfolge, die in einer Schrittdatei vor der Ausführung
der Softwareinstallation- und Testschritte enthalten ist. Wie bereits erwähnt, beinhaltet die
Schrittfolge Befehle zur Installation von Software und/oder zum Testen des gemäß einer
Bestellung gebauten Zielcomputersystems. Die Schrittfolge in der Schrittdatei erlaubt
zusätzlich, daß Befehle für eine definierte Anzahl von Iterationen oder für eine bestimmte
Zeitdauer wiederholt werden. Ferner kann die Schrittdatei Bemerkungen enthalten, die vom
Runstep-Programm ignoriert werden. In der Schrittdatei werden Markierungen 800
verwendet, um Felder der Schrittfolge voneinander zu trennen. Die Einheiten 810 sind
Befehle zum Testen des Zielcomputersystems 160. Die Befehle enthalten beispielsweise einen
Befehl zum Testen des Speichers und zum Testen eines SCSI-Gerätes
(Kleincomputersystemschnittstelle). Wie aus der Figur zu erkennen, kann jeder Befehl
Schalter wie ein "o" enthalten, die für die bestimmte Testumgebung geeignet sind. Die
Einheit 820 ist eine Bemerkung, die vom Runstep-Programm ignoriert wird. Die Einheit 810c
ist ein Befehl, der eine zeitliche Schleife durchläuft. In der bevorzugten Ausführungsform
bezeichnet der Befehl "begin_time_loop" den Startpunkt der Schleife. Der Befehl
"end_time_loop" bezeichnet den Endpunkt einer Schleife. Der "begin_time_loop" Befehl
wird mit einem Eintrag kombiniert, der die Zeitdauer für die Iteration in der Schleife festlegt.
In diesem Beispiel wird der Befehl 810c für 1 Stunde und 30 Minuten ausgeführt. Die Einheit
810d ist ein Befehl, der entsprechend einer Anzahl von Iterationen in einer Schleife
wiederholt wird. In der bevorzugten Ausführungsform weist der, begin_iterate_loop" Befehl
das Runstep-Programm an, eine Wiederholungsschleife durchzuführen. Der "end_iterate_loop"
Befehl bezeichnet das Ende der Schleifenbefehle. In diesem Beispiel wird der Befehl 810d
dreimal ausgeführt.
Wenn das Runstep-Programm die Schrittfolge ausführt, erzeugt es Zeitmarken in der
Schrittdatei, die die Fehlersuche erleichtern und es erlauben, den Vorgang der
Softwareinstallation und des Testens nachzuverfolgen.
Fig. 9 zeigt einen Ausschnitt aus der Schrittfolge in Fig. 8, nachdem die Schritte ausgeführt
worden sind. Wie bereits erläutert, fügt das Runstep-Programm Zeitmarken in die Schrittfolge
ein. Die Einheit 830 zeigt den Zeitpunkt des Beginns des Speichertests und die Einheit 832
zeigt, zu welchem Zeitpunkt der Test beendet worden ist. Die Einheit 834 zeigt, zu welchem
Zeitpunkt die letzte Iteration des Tests begonnen hat. Die Einheiten 836 und 838 zeigen, wann
der scsiHD-Test begonnen bzw. geendet hat. Die Einheit 840 bestätigt, daß die
Wiederholungsschleife dreimal durchgeführt worden ist. Die Einheiten 842 und 844,
schließlich, zeigen, wann die letzte Wiederholung des scsiCD-Tests begonnen bzw. geendet
hat. Das Einfügen der Zeitmarken neben dem ausgeführten Befehl erleichtert die effiziente
Fehlersuche und das Nachverfolgen der Softwareinstallation und des Testens.
Fig. 10 zeigt den bevorzugten allgemeinen Ablauf des Runstep-Programms. Das Runstep-Pro
gramm 860 läuft in einer Schleife zusammen mit einer Runstep-Batch-Datei 870. Das
Runstep-Programm 860 liest und interpretiert einen Schritt in einer Schrittfolge und schreibt
den Befehl, der ausgeführt werden soll, aus der Schrittfolge in die Batchdatei 870. Die
Batchdatei 870 läuft dann ab und führt den Schritt auf dem Zielcomputersystem 160 aus.
Nach Abschluß des Schrittes wird die Steuerung von der Batchdatei wieder an das Run
step-Programm 860 übergeben, das daraufhin die nächste Zeile der Schrittfolge liest und
interpretiert.
Fig. 11 zeigt ein detaillierteres Bild des Ablaufs des Runstep-Programms. Wie im Modul
900 dargestellt, überprüft das Runstep-Programm zuerst, ob eine Datei mit Namen
Re_Run.bat vorhanden ist. Eine Re_Run.bat-Datei wird erzeugt, bevor irgendein Befehl einer
Schrittfolge ausgeführt wird und wird nach der erfolgreichen Durchführung des Befehls
entfernt. Das Vorhandensein einer Re_Run.bat-Datei zeigt dem Runstep-Programm im Modul
900 an, daß der letzte Befehl nicht erfolgreich beendet worden ist. Somit wirkt die
Re_Run.bat-Datei als eine Ausführungsstartanzeige. Wenn die Re_Run.bat-Datei vorhanden
ist, wird der Anwender im Modul 904 gefragt, ob der Vorgang der Softwareinstallation und
des Testens fortgesetzt werden soll oder ob er es vorzieht, eine Fehlersuche durchzuführen.
Wenn der Anwender die Fortsetzung wählt, wird die Steuerung an das Ausführungsmodul
928 übergeben, wo die Runstep.bat-Datei erneut ausgeführt wird (dies ist die Standardoption,
wenn keine der beiden Möglichkeiten mit Bestätigung ausgewählt worden ist). Wenn die
Option der Fehlersuche gewählt wird, wird auf bekannte Weise eine Fehlersuche
durchgeführt.
Wenn die Re_Run.bat-Datei nicht existiert, stellt das Runstep-Programm fest, daß der letzte
Befehl richtig ausgeführt worden ist, und die Steuerung wird an das Modul 910 übergeben, in
dem eine Zeile der Schrittfolge, die vorzugsweise in einer Schrittdatei enthalten ist, gelesen
wird. Das Runstep-Programm liest diese Zeile und entscheidet im Modul 912, ob eine
Anfangs- oder Endzeitmarke vorhanden ist. Wenn eine Anfangs- oder Endzeitmarke
vorhanden ist, entscheidet das Runstep-Programm im Modul 914, ob nur eine
Anfangszeitmarke für die Zeile vorhanden ist, die das Runstep-Programm gerade liest. Wenn
nur eine Anfangszeitmarke vorhanden ist, geht das Runstep-Programm im Modul 916 davon
aus, daß ein Softwareinstallation- oder Testschritt gerade beendet worden ist und fügt eine
Endzeitmarke im Modul 918 ein. Nach dem Einfügen der Endzeitmarke wird die Steuerung
an das Modul 900 übergeben.
Wenn mehr als nur eine Anfangszeitmarke für die Zeile vorhanden ist, die das Run
step-Programm gerade liest, entscheidet das Runstep-Programm im Modul 906, ob sowohl eine
Anfangs- als auch eine Endzeitmarke vorhanden ist. In diesem Fall geht das Runstep-Pro
gramm im Modul 908 davon aus, daß der Schritt ausgeführt worden ist, und die Steuerung
wird an das Modul 900 übergeben. Wenn das Runstep-Programm im Modul 912 keiner
Anfangs- oder Endzeitmarke begegnet, fügt das Runstep-Programm im Modul 920 eine
Anfangszeitmarke ein und bereitet die Ausführung des Schrittes der Zer1e der Schrittfolge vor,
die das Runstep-Programm gerade liest.
Im Modul 922 entscheidet das Runstep-Programm, ob der auszuführende Befehl auf einem
lokalen Laufwerk gespeichert ist (die Schrittdatei steuert, welches Laufwerk in dem System
das lokale Laufwerk ist). Das lokale Laufwerk kann beispielsweise die Schrittdiskette sein,
eine Festplatte des Zielsystems, ein RAM-Laufwerk des Zielsystems oder ein
Netzwerklaufwerk. Wenn der Befehl nicht auf einem lokalen Laufwerk vorhanden ist, geht
das Runstep-Programm davon aus, daß der auszuführende Test auf einem Server irgendwo im
Netzwerk vorhanden ist. Das Runstep-Programm entscheidet im Modul 932, ob das Runstep-Pro
gramm bereits mit diesem Netzwerk verbunden ist. Wenn dies nicht der Fall ist, baut das
Runstep-Programm im Modul 936 einen Befehl in die Runstep.bat-Datei ein, um sich am
Netzwerk anzumelden. Dadurch wird eine Netzwerkverbindung hergestellt, bevor die
Runstep.bat-Datei den Schritt auf dem Zielcomputer 160 über die Netzwerkverbindung 180
ausführt.
Nach dem Modul 936 wird die Steuerung an das Modul 926 übergeben. Wenn das Run
step-Programm bereits beim Netzwerk angemeldet ist, entfernt das Runstep-Programm im Modul
934 den Befehl aus der Runstep.bat-Datei, sich am Netzwerk anzumelden, da ein zusätzlicher
Anmeldeschritt überflüssig ist, wenn bereits eine Netzwerkverbindung existiert. Die
Steuerung wird dann an das Modul 926 übergeben. Wenn der auszuführende Schritt auf der
Schrittdiskette 150 vorhanden ist, muß das Runstep-Programm sich nicht am Netzwerk
anmelden. Im Modul 924 entfernt daher das Runstep-Programm den Befehl aus der
Runstep.bat-Datei für das Anmelden beim Netzwerk. Die Steuerung wird dann an das Modul
926 übergeben. Im Modul 926 fügt das Runstep-Programm den passenden Befehl, der
ausgeführt werden soll, in die Runstep.bat-Datei und in die Re_Run.bat-Datei ein. Der auf
diese Art eingefügte Befehl wird aus der Schrittfolge entnommen, die vorzugsweise in der
Schrittdatei enthalten ist. Im Modul 928 wird der Schritt ausgeführt, indem die Run
step.bat-Datei abläuft. Bei Erfolg wird die Re_Run.bat-Datei gelöscht. Wenn der Schritt nicht
erfolgreich ausgeführt worden ist, wird die Re_Run.bat-Datei nicht gelöscht und die
Steuerung wird an den Fehlerzustand 929 übergeben. Danach wird die Steuerung an das
Modul 900 zurückgegeben, so daß eine weitere Zeile aus der Schrittfolge gelesen werden
kann. Dieser Vorgang setzt sich fort, bis alle Softwareinstallation- und Testschritte vollständig
ausgeführt worden sind.
Mit Ausführung der Schrittfolge ist das Zielsystem getestet und die Software installiert. In der
Ausfürungsform von Fig. 1 wird eine ausgewählte Anzahl von Tests direkt von der
Schrittdiskette 150 ausgeführt. Die Mehrzahl der Tests läuft jedoch vom Server 190 ab über
die Netzwerkverbindung 180. Das Ausführen der Tests über den Server 190 hebt
vorteilhafterweise die Begrenzungen auf, die durch Speicherkapazitäten von Disketten, wie
z. B. der Schrittdiskette 150, gegeben sind.
In der Ausführungsform gemäß Fig. 2 werden die Schritte über den Server 190 über die
Netzwerkverbindung 180 ausgeführt. Eine Diskette, hier die Startdiskette 220, wird nur
gebraucht, um das Zielcomputersystem 160 zu starten. Solch ein System erleichtert
vorteilhafterweise die Installation der Software und das Testen.
Unter erneuter Bezugnahme auf die Fig. 1 und 2 zeigt der Pfeil 210, daß die Ergebnisse
der Softwareinstallation und des Testens entweder auf dem Server 190 oder dem Server 202
protokolliert werden können. Die Ergebnisse beinhalten vorzugsweise, ob alle Schritte
erfolgreich durchgeführt worden sind und was für Arten von Fehlern (falls vorhanden)
aufgetreten sind.
Das Protokollieren der Ergebnisse kann das simple Speichern oder Schreiben einer
veränderten Version der Schrittdatei nach der Durchfürung der Schrittfolge beeinhalten, da
die Schrittdatei, wie oben diskutiert, durch das Runstep-Programm mit Zeitmarken versehen
wird. Dieses System ermöglicht vorteilhafterweise eine verbesserte Fehlersuche während der
Herstellung von Computersystemen.
Obwohl bestimmte Ausführungsformen der vorliegenden Erfindung gezeigt und beschrieben
worden sind, ist es für den Fachmann offensichtlich, daß Änderungen und Modifizierungen
durchgeführt werden können, ohne den Bereich der Erfindung zu verlassen. Die folgenden
Ansprüche umfassen daher mit ihrem Bereich solche Veränderungen und Modifizierungen,
die in den Bereich dieser Erfindung fallen.
Claims (18)
1. Vorrichtung zur Installierung von Software auf einem Computersystem, die umfaßt:
eine Schrittabelle, wobei die Schrittabelle eine Gruppe von Softwareinstallations schritten enthält, die verschiedenen Komponenten von im wesentlichen allen Computersystemen, die hergestellt werden, gemeinsam sind; und
eine Komponententabelle, wobei die Komponententabelle eine Gruppe von im wesentlichen allen möglichen Komponenten enthält, die Computersysteme, die hergestellt werden, beinhalten.
eine Schrittabelle, wobei die Schrittabelle eine Gruppe von Softwareinstallations schritten enthält, die verschiedenen Komponenten von im wesentlichen allen Computersystemen, die hergestellt werden, gemeinsam sind; und
eine Komponententabelle, wobei die Komponententabelle eine Gruppe von im wesentlichen allen möglichen Komponenten enthält, die Computersysteme, die hergestellt werden, beinhalten.
2. Vorrichtung nach Anspruch 1, bei der die Schrittabelle ein
Schrittidentifizierungsattribut enthält, wobei das Schrittidentifizierungsattribut eine
eindeutige Identifizierung für jeden Software- oder Testschritt ist.
3. Vorrichtung nach Anspruch 1, bei der die Schrittabelle ein Phasenattribut enthält,
wobei das Phasenattribut angibt, in welcher Phase der Herstellung ein Schritt ausgeführt
werden soll.
4. Vorrichtung nach Anspruch 1, bei der die Schrittabelle ein Befehlsattribut enthält,
wobei das Befehlsattribut einer ausführbaren Befehlszeile zur Durchführung eines
Softwareinstallationsschrittes entspricht.
5. Vorrichtung nach Anspruch 1, bei der die Schrittabelle ein AfterCode-Attribut enthält,
wobei das AfterCode-Attribut kennzeichnet, ob ein Anhalten oder ein Neustart benötigt
ist, nachdem der entsprechende Schritt ausgeführt worden ist.
6. Vorrichtung nach Anspruch 1, bei der die Schrittabelle eine MaximunInstance-Attribut
enthält wobei das MaximunInstance-Attribut die maximale Anzahl anzeigt, die ein
entsprechender Schritt ablaufen kann.
7. Vorrichtung nach Anspruch 1, bei der die Schrittabelle ein
Klassenidentifizierungsattribut enthält, wobei das Klassenidentifizierungsattribut eine
Komponente identifiziert, die einem Softwareinstallation- oder Testschritt zugeordnet
ist.
8. Vorrichtung nach Anspruch 1, bei der die Komponententabelle ein Komponenten
identifizierungsattribut enthält, wobei das Komponentenidentifizierungsattribut jede
Komponente innerhalb der Komponententabelle identifiziert.
9. Vorrichtung nach Anspruch 1, bei der die Komponententabelle ein Klassen
identifizierungsattribut enthält, wobei das Klassenidentifizierungsattribut eine
Komponentenklasse identifiziert.
10. Vorrichtung nach Anspruch 1, bei der das Computersystem einer Familie von
Computersystemen entspricht; und weiter aufweist:
eine Familienbezugstabelle, wobei die Familienbezugstabelle die Beziehung zwischen einer Gruppe von Softwareinstallationsschritten und jeder Familie von Computersystemen, die hergestellt werden, identifiziert;
eine Familienkomponentenbezugstabelle, wobei die Familienkomponenten bezugstabelle die Beziehung zwischen der Familie von Computersystemen und der Gruppe von Komponenten identifiziert; und
eine Familienschrittbezugstabelle, wobei die Familienschrittbezugstabelle die Beziehung zwischen einer Komponente und einer Gruppe von Softwareinstallationsschritten, die für eine entsprechende Komponente geeignet sind, identifiziert.
eine Familienbezugstabelle, wobei die Familienbezugstabelle die Beziehung zwischen einer Gruppe von Softwareinstallationsschritten und jeder Familie von Computersystemen, die hergestellt werden, identifiziert;
eine Familienkomponentenbezugstabelle, wobei die Familienkomponenten bezugstabelle die Beziehung zwischen der Familie von Computersystemen und der Gruppe von Komponenten identifiziert; und
eine Familienschrittbezugstabelle, wobei die Familienschrittbezugstabelle die Beziehung zwischen einer Komponente und einer Gruppe von Softwareinstallationsschritten, die für eine entsprechende Komponente geeignet sind, identifiziert.
11. Vorrichtung nach Anspruch 1 0, bei der die Familienbezugstabelle ein
Familienidentifizierungsattribut enthält, das eine spezielle Familie von
Computersystemen identifiziert.
12. Vorrichtung nach Anspruch 10, bei der die Familienbezugstabelle ein
Schrittidentifizierungsattribut enthält, das eine spezielle Gruppe von Schriften
identifiziert, die für eine spezielle Familie geeignet sind.
13. Vorrichtung nach Anspruch 10, bei der die Familienbezugstabelle eine
Reihenfolgenummer enthält, die jeder Familie entspricht, wobei die
Reihenfolgenummer eine vorbestimmte Reihenfolge darstellt, in der Schritte, die einer
Familie zugeordnet sind, ausgeführt werden sollen.
14. Vorrichtung nach Anspruch 10, bei der die Familienkomponentenbezugstabelle die
Beziehung zwischen einem Attribut, das eine Computerfamilie identifiziert und einem
Attribut, das eine Komponente identifiziert, festlegt.
15. Vorrichtung nach Anspruch 10, bei der die Familienkomponentenbezugstabelle die
Beziehung zwischen einem Komponentenidentifizierungsattribut und einem
Schrittidentifizierungsattribut festlegt.
16. Vorrichtung nach Anspruch 1, weiter aufweisend:
eine Familientabelle, wobei die Familientabelle die Familie von Computersystemen mit einem Namen identifiziert.
eine Familientabelle, wobei die Familientabelle die Familie von Computersystemen mit einem Namen identifiziert.
17. Vorrichtung zum Schaffen einer Vielzahl von Schritten, bei der ein Schritt einem
entsprechenden Komponentendescriptor zugeordnet ist, und eine entsprechende
Reihenfolgenummer enthält, wobei ein Komponentendescriptor eine entsprechende
Komponente eines Computersystems beschreibt, wobei die Vorrichtung umfaßt:
eine Schrittabelle, wobei die Schrittabelle eine Gruppe von Softwareinstallationsschritten enthält, die verschiedenen Komponenten von im wesentlichen allen Computersystemen, die hergestellt werden, gemeinsam sind;
eine Komponententabelle, wobei die Komponententabelle eine Gruppe von im wesentlichen allen möglichen Komponenten enthält, die im wesentlichen alle Computersysteme, die hergestellt werden, enthalten.
eine Schrittabelle, wobei die Schrittabelle eine Gruppe von Softwareinstallationsschritten enthält, die verschiedenen Komponenten von im wesentlichen allen Computersystemen, die hergestellt werden, gemeinsam sind;
eine Komponententabelle, wobei die Komponententabelle eine Gruppe von im wesentlichen allen möglichen Komponenten enthält, die im wesentlichen alle Computersysteme, die hergestellt werden, enthalten.
18. Vorrichtung nach Anspruch 17, bei der das Computersystem einer Familie von
Computersystemen entspricht und weiter aufweist:
eine Familienbezugstabelle, wobei die Familienbezugstabelle die Beziehung zwischen einer Gruppe von Softwareinstallationsschritten und einer Familie von Computersystemen, die hergestellt werden, identifiziert;
eine Familienkomponentenbezugstabelle, wobei die Familienkomponentenbezugs tabelle die Beziehung der Familie von Computersystemen und der Gruppe von Komponenten identifiziert;
eine Familienschrittbezugstabelle, wobei die Familienschrittbezugstabelle die Beziehung zwischen einer Komponente und einer Gruppe von Softwareinstallationsschritten identifiziert, die für die entsprechende Komponente geeignet sind.
eine Familienbezugstabelle, wobei die Familienbezugstabelle die Beziehung zwischen einer Gruppe von Softwareinstallationsschritten und einer Familie von Computersystemen, die hergestellt werden, identifiziert;
eine Familienkomponentenbezugstabelle, wobei die Familienkomponentenbezugs tabelle die Beziehung der Familie von Computersystemen und der Gruppe von Komponenten identifiziert;
eine Familienschrittbezugstabelle, wobei die Familienschrittbezugstabelle die Beziehung zwischen einer Komponente und einer Gruppe von Softwareinstallationsschritten identifiziert, die für die entsprechende Komponente geeignet sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/921,438 US5963743A (en) | 1997-08-29 | 1997-08-29 | Database for facilitating software installation and testing for a build-to-order computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19836381A1 true DE19836381A1 (de) | 1999-03-18 |
DE19836381C2 DE19836381C2 (de) | 2003-04-24 |
Family
ID=25445431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19836381A Expired - Lifetime DE19836381C2 (de) | 1997-08-29 | 1998-08-11 | Vorrichtung zur Installierung von Software auf einem Computersystem |
Country Status (14)
Country | Link |
---|---|
US (1) | US5963743A (de) |
JP (2) | JP4216372B2 (de) |
KR (1) | KR100655124B1 (de) |
CN (2) | CN1148655C (de) |
AU (1) | AU742509B2 (de) |
BR (1) | BR9802223A (de) |
DE (1) | DE19836381C2 (de) |
FR (1) | FR2767946B1 (de) |
GB (1) | GB2329050B (de) |
HK (1) | HK1071610A1 (de) |
IT (1) | IT1303245B1 (de) |
MY (1) | MY114953A (de) |
SG (1) | SG68066A1 (de) |
TW (1) | TW455815B (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19922767A1 (de) * | 1999-05-18 | 2000-12-07 | Dell Usa Lp | Verfahren zum Installieren von Software und/oder zum Testen eines Computersystems |
DE19922766A1 (de) * | 1999-05-18 | 2000-12-07 | Dell Usa Lp | Vorrichtung zur Verwendung bei der Herstellung eines Computersystems |
Families Citing this family (121)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6247128B1 (en) * | 1997-07-22 | 2001-06-12 | Compaq Computer Corporation | Computer manufacturing with smart configuration methods |
US6301707B1 (en) * | 1997-09-30 | 2001-10-09 | Pitney Bowes Inc. | Installing software based on a profile |
US6910047B1 (en) | 1997-10-01 | 2005-06-21 | Pitney Bowes Inc. | Method and system for changing rating data via internet or modem in a carrier management system |
US6873978B1 (en) | 1997-10-01 | 2005-03-29 | Pitney Bowes Inc. | Event interface for a carrier manager system |
US6182275B1 (en) * | 1998-01-26 | 2001-01-30 | Dell Usa, L.P. | Generation of a compatible order for a computer system |
US6615406B1 (en) | 1998-04-08 | 2003-09-02 | Dell Usa, L.P. | Apparatus for use in the manufacture of a computer system |
US6279156B1 (en) * | 1999-01-26 | 2001-08-21 | Dell Usa, L.P. | Method of installing software on and/or testing a computer system |
US6327706B1 (en) * | 1998-04-08 | 2001-12-04 | Dell Usa, L.P. | Method of installing software on and/or testing a computer system |
US6092189A (en) * | 1998-04-30 | 2000-07-18 | Compaq Computer Corporation | Channel configuration program server architecture |
US6859924B1 (en) | 1998-06-04 | 2005-02-22 | Gateway, Inc. | System restore apparatus and method employing virtual restore disk |
US6775829B1 (en) | 1998-06-04 | 2004-08-10 | Gateway, Inc. | Method for configuring software for a build to order system |
US6690984B1 (en) | 1998-06-04 | 2004-02-10 | Gateway, Inc. | System and method for assembly integration |
US6922831B1 (en) * | 1998-06-04 | 2005-07-26 | Gateway Inc. | Method and system for providing software utilizing a restore medium and a network |
US6735757B1 (en) | 1998-06-04 | 2004-05-11 | Gateway, Inc. | Apparatus and method for checking component compatibility in a build to order computer system |
US6795814B1 (en) * | 1998-06-04 | 2004-09-21 | Gateway, Inc. | System and method for CMOS integration |
US6804663B1 (en) * | 1998-09-21 | 2004-10-12 | Microsoft Corporation | Methods for optimizing the installation of a software product onto a target computer system |
US6370686B1 (en) * | 1998-09-21 | 2002-04-09 | Microsoft Corporation | Method for categorizing and installing selected software components |
US6219836B1 (en) * | 1998-10-14 | 2001-04-17 | International Game Technology | Program management method and apparatus for gaming device components |
US6226792B1 (en) * | 1998-10-14 | 2001-05-01 | Unisys Corporation | Object management system supporting the use of application domain knowledge mapped to technology domain knowledge |
US6282594B1 (en) * | 1998-10-15 | 2001-08-28 | Dell Usa, L.P. | Pallet, system and method for use in testing and/or installing software onto a personal computer system unit |
US6377253B1 (en) * | 1998-11-30 | 2002-04-23 | Micron Technology, Inc. | System tour generator |
US6317877B1 (en) | 1998-11-30 | 2001-11-13 | Micron Technology, Inc. | System tour generator |
US6347371B1 (en) * | 1999-01-25 | 2002-02-12 | Dell Usa, L.P. | System and method for initiating operation of a computer system |
US6370641B1 (en) * | 1999-01-26 | 2002-04-09 | Dell Usa, L.P. | Method and apparatus for determining the drive letter assignment of a CD-ROM drive during initial system setup of a computer system |
US6928644B1 (en) | 1999-04-13 | 2005-08-09 | Gateway Inc. | Method for configuring software for a build to order system |
US6421671B1 (en) | 1999-04-30 | 2002-07-16 | Dell Products L.P. | Method and system for automated distribution of software |
DE19922768A1 (de) * | 1999-05-18 | 2000-12-07 | Dell Usa Lp | Verfahren zum Installieren von Software und/oder zum Testen eines Computersystems |
US6937997B1 (en) | 1999-06-02 | 2005-08-30 | Eastman Kodak Company | Configuring and purchasing imaging devices |
US8046270B2 (en) * | 2000-05-19 | 2011-10-25 | Eastman Kodak Company | System and method for providing image products and/or services |
US7111317B1 (en) * | 2000-03-24 | 2006-09-19 | Eastman Kodak Company | Method for providing image goods and/or services to a customer |
US6836617B1 (en) | 2000-03-24 | 2004-12-28 | Eastman Kodak Company | Purchasing configured photographic film products |
US7587337B1 (en) | 2000-03-24 | 2009-09-08 | Eastman Kodak Company | Leasing configured camera system |
US6760708B1 (en) | 1999-08-19 | 2004-07-06 | Dell Products L.P. | Method and system for migrating stored data to a build-to-order computing system |
US6606716B1 (en) | 1999-10-06 | 2003-08-12 | Dell Usa, L.P. | Method and system for automated technical support for computers |
US6560726B1 (en) | 1999-08-19 | 2003-05-06 | Dell Usa, L.P. | Method and system for automated technical support for computers |
US6535915B1 (en) * | 1999-09-24 | 2003-03-18 | Dell Usa, L.P. | Automatic reduction of data noise in installation packages for a computer system |
US6598223B1 (en) * | 1999-10-06 | 2003-07-22 | Dell Usa, L.P. | Method and system for installing and testing build-to-order components in a defined configuration computer system |
US6539499B1 (en) | 1999-10-06 | 2003-03-25 | Dell Usa, L.P. | Graphical interface, method, and system for the provision of diagnostic and support services in a computer system |
US6563698B1 (en) | 1999-10-06 | 2003-05-13 | Dell Usa, L.P. | System and method for providing a computer system with a detachable component |
US6574615B1 (en) | 1999-10-06 | 2003-06-03 | Dell Usa, L.P. | System and method for monitoring support activity |
US6564220B1 (en) | 1999-10-06 | 2003-05-13 | Dell Usa, L.P. | System and method for monitoring support activity |
US6556431B1 (en) | 1999-10-06 | 2003-04-29 | Dell Usa, L.P. | System and method for converting alternating current into direct current |
US6317316B1 (en) | 1999-10-06 | 2001-11-13 | Dell Usa, L.P. | Method and system for integrated personal computer components |
US6539372B1 (en) * | 1999-11-17 | 2003-03-25 | International Business Machines Corporation | Method for providing automated user assistance customized output in the planning, configuration, and management of information systems |
US6513045B1 (en) * | 1999-11-17 | 2003-01-28 | International Business Machines Corporation | Method and an apparatus for providing cross product automated user assistance in the planning, configuration, and management of information systems |
US6957425B1 (en) * | 1999-11-30 | 2005-10-18 | Dell Usa, L.P. | Automatic translation of text files during assembly of a computer system |
US6581169B1 (en) * | 1999-12-08 | 2003-06-17 | Inventec Corporation | Method and device for automatic computer testing on a plurality of computers through a local area network |
GB2357169B (en) * | 1999-12-10 | 2002-06-05 | Inventec Corp | Automatic monitoring system on software installation for computers on the product line |
US7424444B1 (en) | 1999-12-20 | 2008-09-09 | Dell Usa, L.P. | Apparatus and method for configuring computers |
US6854009B1 (en) * | 1999-12-22 | 2005-02-08 | Tacit Networks, Inc. | Networked computer system |
US6631606B2 (en) | 2000-01-18 | 2003-10-14 | Dell Products L.P. | System and method for accommodating atypical customer requirements in a mass customization manufacturing facility |
US6892104B2 (en) * | 2000-01-18 | 2005-05-10 | Dell Products L.P. | System and method for manufacturing products according to customer orders |
US6711798B2 (en) | 2000-01-18 | 2004-03-30 | Dell Products L.P. | Method for manufacturing products according to customer orders |
IL140142A0 (en) * | 2000-02-23 | 2002-02-10 | Ibm | Method and system for identifying a failing device during boot |
US6772192B1 (en) * | 2000-02-29 | 2004-08-03 | Hewlett-Packard Development Company, L.P. | Software download and distribution via image building and multicast |
US7231359B2 (en) * | 2000-03-24 | 2007-06-12 | Eastman Kodak Company | Configuring image storage devices to enable imaging services |
US7155713B1 (en) * | 2000-04-27 | 2006-12-26 | Microsoft Corporation | Componentized operating system |
US6691253B1 (en) * | 2000-05-10 | 2004-02-10 | Dell Usa L.P. | System and method for sequencing and performing very high speed software downloads concurrent with system testing in an automated production environment |
US6681391B1 (en) * | 2000-06-21 | 2004-01-20 | Microsoft Corporation | Method and system for installing software on a computer system |
US20020092004A1 (en) * | 2000-07-26 | 2002-07-11 | Lee John Michael | Methods and systems for automatically generating software applications |
US6785805B1 (en) | 2000-08-08 | 2004-08-31 | Vi Technology, Inc. | Network-based configuration method for systems integration in test, measurement, and automation environments |
US6938243B1 (en) * | 2000-09-22 | 2005-08-30 | Dell Products L.P. | Diagnostic architecture for use with an interface between an operating system and platform firmware |
US7264050B2 (en) * | 2000-09-22 | 2007-09-04 | Weatherford/Lamb, Inc. | Method and apparatus for controlling wellbore equipment |
US6907597B1 (en) * | 2000-10-13 | 2005-06-14 | Ati International Srl | Method and apparatus for constructing an executable program in memory |
US6955170B1 (en) | 2000-10-27 | 2005-10-18 | 3M Innovative Properties Company | Automated respirator fit testing method and system |
US6487522B1 (en) | 2000-11-01 | 2002-11-26 | Dell Products, L.P. | System and method for selectively executing a computer program based on the presence of associated hardware |
US7206828B1 (en) * | 2000-11-10 | 2007-04-17 | Microsoft Corporation | Location-based scenarios to facilitate selection of system configuration |
JP4774145B2 (ja) * | 2000-11-24 | 2011-09-14 | 富士通株式会社 | 構造化文書圧縮装置および構造化文書復元装置並びに構造化文書処理システム |
US20020154114A1 (en) * | 2000-11-30 | 2002-10-24 | Christensen Thomas Kragh | Method and system for customising build-to-order products |
US6694206B2 (en) | 2001-01-25 | 2004-02-17 | Dell Products L.P. | Method and system for manufacturing and servicing a computing product with the assistance of a wireless communication subsystem attached to a peripheral port |
US6567714B2 (en) * | 2001-01-26 | 2003-05-20 | Dell Products L.P. | Method and system for manufacturing a computer system with the assistance of a wireless information network |
US6853978B2 (en) | 2001-02-23 | 2005-02-08 | Power Measurement Ltd. | System and method for manufacturing and configuring intelligent electronic devices to order |
US7085824B2 (en) * | 2001-02-23 | 2006-08-01 | Power Measurement Ltd. | Systems for in the field configuration of intelligent electronic devices |
US6529797B2 (en) | 2001-03-05 | 2003-03-04 | Dell Products L.P. | System and method for automatically releasing collections of goods for shipment |
US6611727B2 (en) | 2001-03-05 | 2003-08-26 | Dell Products L.P. | Method and system for simulating production within a manufacturing environment |
US6505094B2 (en) | 2001-03-05 | 2003-01-07 | Dell Products L.P. | System and method for shipping items from a distribution facility |
US6615092B2 (en) | 2001-03-05 | 2003-09-02 | Dell Products L.P. | Method, system and facility for controlling resource allocation within a manufacturing environment |
US6634506B2 (en) | 2001-03-05 | 2003-10-21 | Dell Products L.P. | Reusable container management system and method |
US6560509B2 (en) | 2001-03-05 | 2003-05-06 | Dell Products L.P. | System and method for automated management of a distribution facility |
US6816746B2 (en) | 2001-03-05 | 2004-11-09 | Dell Products L.P. | Method and system for monitoring resources within a manufacturing environment |
EP1265133A1 (de) * | 2001-06-07 | 2002-12-11 | Siemens Aktiengesellschaft | Verfahren zum Laden von Software auf mehrere Prozessoren |
US20020188938A1 (en) * | 2001-06-11 | 2002-12-12 | Dong Mimi Chu | System and method for providing application software for a peripheral device |
US20030014137A1 (en) * | 2001-07-16 | 2003-01-16 | Stephanus Saputro | Method and system for selecting a set of filter coefficients in a build-to-order computer system |
JP4134536B2 (ja) * | 2001-07-27 | 2008-08-20 | 株式会社日立製作所 | 情報機器の取引方法 |
GB2383854B (en) * | 2001-09-06 | 2005-06-22 | Sun Microsystems Inc | Method for checking a computer system configuration |
US20030055932A1 (en) * | 2001-09-19 | 2003-03-20 | Dell Products L.P. | System and method for configuring a storage area network |
US6962306B2 (en) * | 2002-07-15 | 2005-11-08 | West Ronald R | Units for storing flexible elongated objects |
US20040162857A1 (en) * | 2003-02-14 | 2004-08-19 | Butts David A. | System for managing and dynamically recreating factory environments |
US20040210676A1 (en) * | 2003-04-19 | 2004-10-21 | Noto Gary Patrick | System for Calculating minimum images to service customer orders |
US7266820B2 (en) * | 2003-08-14 | 2007-09-04 | Dell Products L.P. | Trunked customized connectivity process for installing software onto an information handling system |
US7562346B2 (en) * | 2003-09-02 | 2009-07-14 | Microsoft Corporation | Software componentization for building a software product |
US20050050320A1 (en) * | 2003-09-02 | 2005-03-03 | Microsoft Corporation | Branding framework |
US7360212B2 (en) * | 2003-10-09 | 2008-04-15 | Dell Products L.P. | Build automation and verification for modular servers |
US20050097548A1 (en) * | 2003-10-31 | 2005-05-05 | Dillenburg Brian J. | Systems and methods for developing and distributing software components |
US20050177828A1 (en) * | 2004-02-05 | 2005-08-11 | Graham Christoph J. | Restore media build automation |
TW200535602A (en) * | 2004-04-16 | 2005-11-01 | Hon Hai Prec Ind Co Ltd | A system and method for testing motherboards automatically |
JP4572093B2 (ja) * | 2004-07-06 | 2010-10-27 | 日本電気株式会社 | システム構築ガイドシステム |
US20060123415A1 (en) * | 2004-12-03 | 2006-06-08 | Dandekar Shree A | System for distributing middleware applications on information handling system |
US7271996B2 (en) | 2004-12-03 | 2007-09-18 | Electro Industries/Gauge Tech | Current inputs interface for an electrical device |
US7882317B2 (en) * | 2004-12-06 | 2011-02-01 | Microsoft Corporation | Process isolation using protection domains |
US8020141B2 (en) * | 2004-12-06 | 2011-09-13 | Microsoft Corporation | Operating-system process construction |
US7600232B2 (en) | 2004-12-07 | 2009-10-06 | Microsoft Corporation | Inter-process communications employing bi-directional message conduits |
US7451435B2 (en) * | 2004-12-07 | 2008-11-11 | Microsoft Corporation | Self-describing artifacts and application abstractions |
CN100349119C (zh) * | 2004-12-30 | 2007-11-14 | 杭州华三通信技术有限公司 | 软件安装与集成的方法 |
US8849968B2 (en) | 2005-06-20 | 2014-09-30 | Microsoft Corporation | Secure and stable hosting of third-party extensions to web services |
US8065204B2 (en) * | 2005-09-29 | 2011-11-22 | Sony Corporation | System and method for software integration and factory deployment |
US20070094495A1 (en) * | 2005-10-26 | 2007-04-26 | Microsoft Corporation | Statically Verifiable Inter-Process-Communicative Isolated Processes |
US8074231B2 (en) * | 2005-10-26 | 2011-12-06 | Microsoft Corporation | Configuration of isolated extensions and device drivers |
US20070266371A1 (en) * | 2005-12-30 | 2007-11-15 | Ramakrishnan Suraj | Multiple correction requests occurring from a single request |
US8032898B2 (en) | 2006-06-30 | 2011-10-04 | Microsoft Corporation | Kernel interface with categorized kernel objects |
US20080040127A1 (en) * | 2006-08-14 | 2008-02-14 | Carol Jean Williams | Customer Customized Resource Media |
US7877746B2 (en) * | 2006-09-21 | 2011-01-25 | Vringo Inc. | Personalized installation files |
JP2008139916A (ja) * | 2006-11-30 | 2008-06-19 | Canon Inc | 情報処理装置、情報処理装置の制御方法、および情報処理装置の制御プログラム |
US20080244507A1 (en) * | 2007-03-30 | 2008-10-02 | Microsoft Corporation | Homogeneous Programming For Heterogeneous Multiprocessor Systems |
US8789063B2 (en) * | 2007-03-30 | 2014-07-22 | Microsoft Corporation | Master and subordinate operating system kernels for heterogeneous multiprocessor systems |
US7558642B2 (en) * | 2007-04-27 | 2009-07-07 | International Business Machines Corporation | Method, apparatus, and product for optimizing manufacturing tests by integrating part and test objects in the same order configuration application |
CN101453416A (zh) * | 2007-11-30 | 2009-06-10 | 国际商业机器公司 | 用于远程程序安装的包预取的服务节点、网络及其方法 |
JP5293344B2 (ja) * | 2009-03-30 | 2013-09-18 | 株式会社リコー | 画像処理装置、ソフトウェア配信システム、インストール処理方法およびプログラム |
CN104516739B (zh) * | 2015-01-05 | 2018-01-19 | 税友软件集团股份有限公司 | 第三方软件集成的方法及系统 |
US11204749B2 (en) * | 2016-09-20 | 2021-12-21 | Apple Inc. | State machines for installation management |
CN107341003B (zh) * | 2017-06-15 | 2020-08-07 | 百富计算机技术(深圳)有限公司 | 定制系统实现方法、计算机设备和存储介质 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4590557A (en) * | 1983-09-12 | 1986-05-20 | Pitney Bowes Inc. | Method and apparatus for controlling software configurations in data processing systems |
US4803683A (en) * | 1985-08-30 | 1989-02-07 | Hitachi, Ltd. | Method and apparatus for testing a distributed computer system |
US4916637A (en) * | 1987-11-18 | 1990-04-10 | International Business Machines Corporation | Customized instruction generator |
US5263148A (en) * | 1988-09-09 | 1993-11-16 | Compaq Computer Corporation | Method and apparatus for configuration of computer system and circuit boards |
US5291585A (en) * | 1991-07-29 | 1994-03-01 | Dell Usa, L.P. | Computer system having system feature extension software containing a self-describing feature table for accessing I/O devices according to machine-independent format |
EP0541875A1 (de) * | 1991-11-15 | 1993-05-19 | International Business Machines Corporation | Verfahren zur Erleichterung der Konfiguration von Programmen |
JP2716906B2 (ja) * | 1992-03-27 | 1998-02-18 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US5361358A (en) * | 1992-08-07 | 1994-11-01 | International Business Machines Corporation | System and method for installing program code for operation from multiple bootable operating systems |
EP0592079A2 (de) * | 1992-09-20 | 1994-04-13 | Sun Microsystems, Inc. | Automatisierte Softwareinstallierung und Betriebsumgebungskonfigurierung in einem Rechnersystem |
US5432941A (en) * | 1992-10-13 | 1995-07-11 | Microsoft Corporation | Method and system for dynamically configuring a software system using configuration groups |
JPH06332674A (ja) * | 1993-05-24 | 1994-12-02 | Hitachi Ltd | プログラムの自動インストールシステム |
BR9402027A (pt) * | 1993-05-28 | 1994-12-13 | Xerox Corp | Processo para gerenciar uma configuração e assegurar compatibilidade entre componentes num sistema de computação, e, processo para eliminar incompatibilidades entre software residente e software de migração num sistema de computador automatizado |
JPH0764771A (ja) * | 1993-08-26 | 1995-03-10 | Seiko Epson Corp | プログラム登録装置および登録方法 |
CN1046361C (zh) * | 1993-11-25 | 1999-11-10 | 日东工器株式会社 | 计算机系统 |
JP3386232B2 (ja) * | 1994-07-15 | 2003-03-17 | 富士通株式会社 | テスト計算機システム |
US5668992A (en) * | 1994-08-01 | 1997-09-16 | International Business Machines Corporation | Self-configuring computer system |
JPH0887460A (ja) * | 1994-09-19 | 1996-04-02 | Seiko Epson Corp | インストールシステム |
US5794052A (en) * | 1995-02-27 | 1998-08-11 | Ast Research, Inc. | Method of software installation and setup |
JPH0944375A (ja) * | 1995-07-26 | 1997-02-14 | Hitachi Ltd | テストプログラムの自動テスト項目選択方式 |
US5745568A (en) * | 1995-09-15 | 1998-04-28 | Dell Usa, L.P. | Method of securing CD-ROM data for retrieval by one machine |
GB2309104B (en) * | 1996-01-11 | 2000-06-07 | Ibm | Preloading software onto a computer system |
KR100191269B1 (ko) * | 1996-08-23 | 1999-06-15 | 윤종용 | 하드 디스크를 이용한 컴퓨터 시스템의 검사 방법 |
-
1997
- 1997-08-29 US US08/921,438 patent/US5963743A/en not_active Expired - Lifetime
-
1998
- 1998-06-25 BR BR9802223-7A patent/BR9802223A/pt not_active Application Discontinuation
- 1998-07-14 SG SG1998001794A patent/SG68066A1/en unknown
- 1998-07-15 JP JP20100198A patent/JP4216372B2/ja not_active Expired - Lifetime
- 1998-07-16 KR KR1019980028798A patent/KR100655124B1/ko not_active Expired - Lifetime
- 1998-07-23 GB GB9816126A patent/GB2329050B/en not_active Expired - Lifetime
- 1998-07-24 MY MYPI98003389A patent/MY114953A/en unknown
- 1998-07-27 TW TW087112265A patent/TW455815B/zh not_active IP Right Cessation
- 1998-08-11 DE DE19836381A patent/DE19836381C2/de not_active Expired - Lifetime
- 1998-08-21 FR FR9810620A patent/FR2767946B1/fr not_active Expired - Lifetime
- 1998-08-21 IT IT1998TO000721A patent/IT1303245B1/it active IP Right Grant
- 1998-08-21 AU AU80886/98A patent/AU742509B2/en not_active Expired
- 1998-08-28 CN CNB981188052A patent/CN1148655C/zh not_active Expired - Lifetime
- 1998-08-28 CN CN03160103.0A patent/CN1525325B/zh not_active Expired - Lifetime
-
2005
- 2005-02-28 HK HK05101708.6A patent/HK1071610A1/xx not_active IP Right Cessation
-
2008
- 2008-05-07 JP JP2008121290A patent/JP4681025B2/ja not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19922767A1 (de) * | 1999-05-18 | 2000-12-07 | Dell Usa Lp | Verfahren zum Installieren von Software und/oder zum Testen eines Computersystems |
DE19922766A1 (de) * | 1999-05-18 | 2000-12-07 | Dell Usa Lp | Vorrichtung zur Verwendung bei der Herstellung eines Computersystems |
Also Published As
Publication number | Publication date |
---|---|
TW455815B (en) | 2001-09-21 |
JPH11161476A (ja) | 1999-06-18 |
DE19836381C2 (de) | 2003-04-24 |
GB9816126D0 (en) | 1998-09-23 |
KR100655124B1 (ko) | 2007-07-09 |
BR9802223A (pt) | 1999-10-13 |
CN1525325A (zh) | 2004-09-01 |
MY114953A (en) | 2003-02-28 |
JP4681025B2 (ja) | 2011-05-11 |
JP4216372B2 (ja) | 2009-01-28 |
GB2329050B (en) | 2003-02-19 |
CN1211006A (zh) | 1999-03-17 |
FR2767946B1 (fr) | 2005-10-28 |
IE980485A1 (en) | 1999-03-10 |
JP2008243224A (ja) | 2008-10-09 |
KR19990023214A (ko) | 1999-03-25 |
IT1303245B1 (it) | 2000-11-02 |
CN1148655C (zh) | 2004-05-05 |
GB2329050A (en) | 1999-03-10 |
AU742509B2 (en) | 2002-01-03 |
FR2767946A1 (fr) | 1999-03-05 |
ITTO980721A0 (it) | 1998-08-21 |
AU8088698A (en) | 1999-03-11 |
HK1071610A1 (en) | 2005-07-22 |
GB2329050A8 (en) | 1999-04-16 |
CN1525325B (zh) | 2010-04-28 |
SG68066A1 (en) | 1999-10-19 |
ITTO980721A1 (it) | 2000-02-21 |
US5963743A (en) | 1999-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19836381C2 (de) | Vorrichtung zur Installierung von Software auf einem Computersystem | |
DE19836328C2 (de) | Software Installation und Testen für ein gemäß einer Bestellung gebautes Computersystem | |
DE19836333C2 (de) | Software Installation und Testen für ein gemäß einer Bestellung gebautes Computersystem | |
DE19964588B4 (de) | Verfahren und System zum Herstellen eines Zielcomputersystems | |
DE69823682T2 (de) | Verfahren und gerät zur analyse von daten | |
EP1176482B1 (de) | Verfahren und Computerprogramm zum Herstellen einer Regelung oder Steuerung | |
DE3783042T2 (de) | System zur automatisierung von testen. | |
DE69903313T2 (de) | Softwareverteilung durch einen abbildungsbauer | |
DE60021066T2 (de) | Prüfung eines Softwarepakets | |
DE69937332T2 (de) | Verfahren und Gerät zur Software-Entwicklung | |
DE10121790B4 (de) | Softwarekonfigurationsverfahren zur Verwendung in einem Computersystem | |
DE60001916T2 (de) | Plattformunabhängige speicherabbild analysearchitektur zur programmfehlerbeseitigung | |
DE69932371T2 (de) | Verschiebbare Instrumentationskennzeichen für die Prüfung und die Fehlerbeseitigung eines Computerprogramms | |
DE10004822B4 (de) | System und Verfahren zur Identifizierung und zum beschleunigten Zugriff auf Online-Dienste | |
DE69712560T2 (de) | System zur Konfiguration von vorkonfigurierten Programmen auf vernetzten offenen Systemen in einer verteilten Umgebung und Verfahren zur Durchführung dieses Systems | |
DE69735628T2 (de) | Verfahren und system zum auswählen eines informationssatzes in einem informationsverarbeitungssystem und lokale station in einem solchen system | |
DE69618864T2 (de) | Informationsverwaltungseinrichtung zum effizienten Verwalten von Multimedia-Titeln in einem Klient-Server-Netzwerk | |
DE10220938A1 (de) | Ein Verfahren und ein System zum Prüfen einer Unternehmenskonfiguration | |
DE4235193A1 (de) | Netzwerksystem und zugehoeriges softwareverwaltungsverfahren | |
DE102008006648A1 (de) | Simulatorentwicklungssystem und Simulatorentwicklungsverfahren | |
DE19922767A1 (de) | Verfahren zum Installieren von Software und/oder zum Testen eines Computersystems | |
DE3689502T2 (de) | System und Verfahren zur Programmstrukturierung durch Datentabellenübersetzung. | |
EP1241570A2 (de) | Automatisierte Versions-Analyse von zu einer Softwareapplikation gehörenden Softwarekomponenten | |
DE69700817T2 (de) | Programmierbare Optionen zum Einhängen von Datenträgern in einem Rechnersystem | |
DE19922768A1 (de) | Verfahren zum Installieren von Software und/oder zum Testen eines Computersystems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8125 | Change of the main classification |
Ipc: G06F 9/44 |
|
8304 | Grant after examination procedure | ||
8364 | No opposition during term of opposition | ||
R071 | Expiry of right |